diff --git a/.github/workflows/ccpp.yml b/.github/workflows/aunit_tests.yml similarity index 82% rename from .github/workflows/ccpp.yml rename to .github/workflows/aunit_tests.yml index e935ac829..fc5faa1a4 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/aunit_tests.yml @@ -1,4 +1,4 @@ -name: C/C++ CI +name: AUnit Tests on: [push] @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-18.04 steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Setup run: | @@ -17,9 +17,12 @@ jobs: git clone https://github.com/bxparks/AceButton git clone https://github.com/bxparks/AceRoutine git clone https://github.com/bxparks/AUnit + git clone https://github.com/bxparks/AceUtils + - name: Verify examples run: | make -C examples + - name: Verify tests run: | make -C tests diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/python_tools.yml similarity index 86% rename from .github/workflows/pythonpackage.yml rename to .github/workflows/python_tools.yml index adf331641..2f96780c0 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/python_tools.yml @@ -1,7 +1,7 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions -name: Python package +name: Python Tools on: push: @@ -12,30 +12,34 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-18.04 strategy: matrix: python-version: [3.7, 3.8] steps: - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} + - name: Install dependencies run: | python -m pip install --upgrade pip - # pip install -r requirements.txt - pip install flake8 mypy pytz python-dateutil + pip install -r tools/requirements.txt + - name: Lint with flake8 run: | cd tools make flake8 + - name: Type checking with MyPy run: | cd tools make mypy + - name: Test with unittest run: | cd tools diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml new file mode 100644 index 000000000..419f4b1f5 --- /dev/null +++ b/.github/workflows/validation.yml @@ -0,0 +1,70 @@ +# See the following for information on how to setup the Python workflow for a +# single version: +# https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions + +name: Validation Tests + +on: [push] + +jobs: + build: + + runs-on: ubuntu-18.04 + + # Tried to use + # https://github.com/actions/checkout#Checkout-multiple-repos-side-by-side, + # but it looks like GITHUB_WORKSPACE is set to + # /home/runner/work/AceTime/AceTime, so if path is set to 'main' as + # suggested in the article, then the repos is set to + # /home/runner/work/Acetime/AceTime/main/AceTime, which is really + # confusing. Instead, use 'cd ..' to go up a level and call 'git clone' + # manually. + steps: + - name: Checkout AceTime + uses: actions/checkout@v2 + + - name: Checkout 3rd Party Repos + run: | + cd .. + git clone https://github.com/bxparks/UnixHostDuino + git clone https://github.com/bxparks/AUnit + git clone https://github.com/eggert/tz + git clone https://github.com/HowardHinnant/date + + - name: Install libcurl4-openssl-dev + run: | + sudo apt update + sudo apt install -y libcurl4-openssl-dev + + - name: Set up Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: '3.7' + + - name: Display Python version + run: python -c "import sys; print(sys.version)" + + - name: Install Python Dependencies + run: | + python -m pip install --upgrade pip + pip install -r tools/requirements.txt + + - name: Build compare_cpp + run: | + cd tools/compare_cpp + make + + # Run just BasicHinnantDateTest and ExtendedHinnantDateTest. When a new + # TZDB version comes out, the Python pytz, dateutil, and Java validation + # tests will always fail because they depend on the obsolete TZ database on + # the hosted Operating System. + + - name: BasicHinnantDateTest + run: | + make -C tests/validation/BasicHinnantDateTest + make -C tests/validation/BasicHinnantDateTest runtests + + - name: ExtendedHinnantDateTest + run: | + make -C tests/validation/ExtendedHinnantDateTest + make -C tests/validation/ExtendedHinnantDateTest runtests diff --git a/CHANGELOG.md b/CHANGELOG.md index dac669012..7fbdec237 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,29 @@ # Changelog * Unreleased +* 1.1.1 (2020-10-18, TZ DB version 2020c) + * Add documentation for using the `PrintStr` class from the AceUtils + library (https://github.com:bxparks/AceUtils) on the various `printTo()` + methods. The string content can be retrieved using the + `PrintStr::getCstr()` method which returns a normal `const char*` + C-string. The `PrintStr` class replaces an earlier, unreleased version + that was called `CstrPrint`. + * Add 'Validation Tests' GitHub workflow for running + `tests/validation/*Test`. + * Create `blacklist.json` file for each `compare_xxx` tools, to disable + validation checks for DST or abbreviations due to bugs in the 3rd party + libraries. + * Add `ValidationScope` enum to provide better control over whether the + DST or abbrev fields are validated. + * Print better diagnostic messages when `tests/validation` fails in + `BasicTransitionTest` and `ExtendedTransitionTest` classes. + * Upgrade target version numbers of 3rd party libraries used for + tests/validation: pytz from 2019.3 to 2020.1, JDK 11.0.6 to 11.0.8. + * Upgrade to TZDB 2020c. + * Restrict GitHub Actions workflow to run just BasicHinnantDateTest and + ExtendedHinnantDateTest, because the other Python and Java tests break + every time a new TZDB version comes out. + * Add `DEVELOPER.md` file containing notes mostly for myself. * 1.1 (2020-04-25, TZ DB version 2020a) * Fix broken links in `README.md`. * Fix typos in `USER_GUIDE.md` and update its version number to 1.0 as it diff --git a/DEVELOPER.md b/DEVELOPER.md new file mode 100644 index 000000000..98804ed54 --- /dev/null +++ b/DEVELOPER.md @@ -0,0 +1,182 @@ +# Developer Notes + +Information which are useful for developers and maintainers of the AceTime +library. + +## Zone DB Files + +As explained in the README.md, the AceTime library comes with 2 versions of the +[TZ Data](https://www.iana.org/time-zones): + +* `src/ace_time/zonedb/*`: files used by the `BasicZoneProcessor` class +* `src/ace_time/zonedbx/*`: files used by the `ExtendedZoneProcessor` class + +There are 2 main files in these directories: + +* `zone_infos.h', `zone_infos.cpp` +* `zone_policies.h`, `zone_policies.cpp` + +The format and meaning of these files are probably best explained in the header +files: + +* `src/ace_time/internal/ZoneInfo.h` +* `src/ace_time/internal/ZonePolicy.h` + +Some of the tricky encoding schemes were created to preserve resolution, while +keeping the binary size of the data structures as small as possible. For +example, these files are able to support DST transitions with a 1-minute +resolution, but the DST offsets have only a 15-minute resolution. Fortunately, +these limitations are sufficient to represent all time zones since about 1972. + +Other bits of information are added by the code generator as comments in the +generated files and some of these are explained below. + +### `zone_infos.h` + +This file contains one entry of the `basic::ZoneInfo` or +`extended::ZoneInfo` data structure for each supported time zone. + +The zone identifier is named `kZone{region}_{city}`, where the +`{region}_{city}` comes directly from the TZ Database. Some minor character +transformations are applied to create an valid C++ identifier. For example, all +dashes `-` are converted to underscore `_`. + +The `kTzDatabaseVersion` string constant identifies the version of the TZ +Database that was used to generate these files, e.g. "2019a". + +The `kZoneContext` variable points to an instance of `common::ZoneContext` +which identifies the `startYear` and `endYear` of the current database. These +will normally be 2000 and 2050 respectively, but a custom version of the +zonedb files could be generated whose startYear and endYear could be smaller (to +produce smaller ZoneDB files). + +Near end of the `zone_info.h` file, we list the zones which were +deliberately excluded by the tool. + +Also at the end of the `zone_info.h` file, there may be warnings about +known inaccuracies for a particular zone. + +### `zone_infos.cpp` + +Each zone entry in the `zone_info.cpp` contains a comment section that +describes some metadata about the given entry. For example, the entry for +`zonedb::kZoneEraAmerica_Los_Angeles` contains the following, showing how +much memory it will consume on the 8-bit Arduino controllers and the 32-bit +Arduino controllers: + +* `// Zone name: America/Los_Angeles` +* `// Era count: 1` +* `// Strings: 24` +* `// Memory (8-bit): 43` +* `// Memory (32-bit): 53` + +### `zone_policies.h` + +An entry in `zone_info.cpp` may refer to a zone policy defined in +`zone_policies.h`. For example, the `kZoneAmerica_Los_Angeles` has a pointer +to a `kPolicyUS` data structure which is defined in `zone_policies.h`. + +Each policy entry starts with a comment secion that contains some metadata +about the policy. For example: +``` +// Policy name: US +// Rule count: 5 +// Memory (8-bit): 51 +// Memory (32-bit): 55 +``` +Just like `zone_infos.cpp`, the Memory section describes the amount of static +RAM consumed by the particular `ZonePolicy` data structure (and associated +`ZoneRule`. + +## Upgrading ZoneInfo Files to a New TZDB Version + +About 2-4 times a year, a new TZDB version is released. Here are some notes +(mostly for myself) on how to create a new release after a new TZDB version is +available. + +* Update the TZDB repo (https://github.com/eggert/tz). This should be a + sibling to the `AceTime` repo (since it will cause the least problems + for various internal scripts): + * `$ cd ../tz` + * `$ git pull` + * Check that the correct tag is pulled (e.g. `2020c` tag if that's the + version that we want to upgrade to). +* Update the Hinnant date repo (https://github.com:HowardHinnant/date). This + should be a sibling to the `AceTime` repo: + * `$ cd ../date` + * `$ git pull` +* Verify that `AceTime` and Hinnant `date` agree with each other using the + same TZDB version. + * BasicHinnantDateTest + * `$ cd tests/validation/BasicHinnantDateTest` + * Update the `TZ_VERSION` variable in the `Makefile` with the commit tag + of the new TZDB version. (e.g. `TZ_VERSION = 2020c`). + * `$ make clean` + * `$ make` + * `$ ./BasicHinnantDateTest.out | grep failed` + * There should be no failures: `TestRunner summary: 268 passed, 0 + failed, 0 skipped, 0 timed out, out of 268 test(s).` + * ExtendedHinnantDateTest + * `$ cd tests/validation/ExtendedHinnantDateTest` + * Update the `TZ_VERSION` variable in the `Makefile` with the commit tag + of the new TZDB version. (e.g. `TZ_VERSION = 2020c`). + * `$ make clean` + * `$ make` + * `$ ./ExtendedHinnantDateTest.out | grep failed` + * There should be no failures: `TestRunner summary: 387 passed, 0 + failed, 0 skipped, 0 timed out, out of 387 test(s).` +* Update the `src/ace_time/zonedb` and `zonedbx` zone info files: + * zonedb + * `$ cd src/ace_time/zonedb` + * Update the `TZ_VERSION` in the `Makefile`. + * `$ make clean` + * `$ make` + * zonedbx + * `$ cd src/ace_time/zonedbx` + * Update the `TZ_VERSION` in the `Makefile`. + * `$ make clean` + * `$ make` +* Update the CHANGELOG.md. +* Commit the changes to git + * `$ git add ...` + * `$ git commit -m "..."` + +There are 6 other validation tests in `tests/validation` that compare AceTime +with other 3rd party librarties (Python pytz, Python dateutil, and Java date). +Unfortunately, they all seem to use the underlying TZDB version provided by the +Operating System, and I have not been able to figure out how to manually update +this dependency manually. When a new TZDB is released, all of these other tests +will fail until the underying timezone database of the OS is updated. + +## Release Process + +* Update and commit the version numbers in various files: + * `src/AceTime.h` + * `README.md` + * `USER_GUIDE.md` + * `docs/doxygen.cfg` + * `library.properties` + * `CHANGELOG.md` + * `$ git commit -m "..."` +* Update and commit the Doxygen docs. This is done as a separate git commit + because the Doxygen changes are often so large that they obscure all other + important changes to the code base: + * `$ cd docs` + * `$ make clean` + * `$ make` + * `$ git add .` + * `$ git commit -m "..."` +* Merge the `develop` branch into `master`. + * Normally I do this with a PR on GitHub to keep an audit trail. + * Go to https://github.com/bxparks/AceTime. + * Create a Pull Request from `develop` to `master` + * Approve and merge the PR. +* Create a new Release. + * Go to https://github.com/bxparks/AceTime + * Click on "Releases" + * Click on "Draft a new release" + * Enter a tag version (e.g. 'v1.2`), targeting the `master` branch. + * Enter the release title. + * Enter the release notes. I normally just copy and paste the latest changes + from `CHANGELOG.md`. + * Click Publish release. diff --git a/README.md b/README.md index 06cec18f9..e1e179f4d 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,9 @@ Conversion from an epochSeconds to date-time components including timezone * 2.8 microseconds on an ESP32, * 6 microseconds on a Teensy 3.2. -**Version**: 1.1 (2020-04-25, TZ DB version 2020a) +**Version**: 1.1.1 (2020-10-18, TZ DB version 2020c) + +**Changelog**: [CHANGELOG.md](CHANGELOG.md) ## Examples @@ -508,10 +510,6 @@ I will occasionally test on the following hardware as a sanity check: * Teensy 3.2 (72 MHz ARM Cortex-M4) * Mini Mega 2560 (Arduino Mega 2560 compatible, 16 MHz ATmega2560) -## Changelog - -See [CHANGELOG.md](CHANGELOG.md). - ## License [MIT License](https://opensource.org/licenses/MIT) diff --git a/USER_GUIDE.md b/USER_GUIDE.md index e71f8a50b..fb6005bf9 100644 --- a/USER_GUIDE.md +++ b/USER_GUIDE.md @@ -2,7 +2,7 @@ See the [README.md](README.md) for introductory background. -Version: 1.1 (2020-04-25, TZ DB version 2020a) +Version: 1.1.1 (2020-10-18, TZ DB version 2020c) ## Installation @@ -1622,6 +1622,48 @@ The IANA TZ Database is updated continually. As of this writing, the latest stable version is 2019b. When a new version of the database is released, it is relatively easy to regenerate the `zonedb/` and `zonedbx/` zoneinfo files. +### Print To String + +Many classes provide a `printTo(Print&)` method which prints a human-readable +string to the given `Print` object. Any subclass of the `Print` class can be +passed into these methods. The most familiar is the global the `Serial` object +which prints to the serial port. + +The AceUtils library (https://github.com:bxparks/AceUtils) provides a +subclass of `Print` called `PrintStr` which allows printing to an in-memory +buffer. The contents of the in-memory buffer can be retrieved as a normal +c-string using the `PrintStr::getCstr()` method. + +Instances of the `PrintStr` object is expected to be created on the stack. The +object will be destroyed automatically when the stack is unwound after returning +from the function where this is used. The size of the buffer on the stack is +provided as a compile-time constant. For example, `PrintStr<32>` creates an +object with a 32-byte buffer on the stack. + +An example usage looks like this: + +```C++ +#include +#include + +using namespace ace_time; +using namespace print_str; +... +{ + TimeZone tz = TimeZone::forTimeOffset(TimeOffset::forHours(-8)); + ZonedDateTime dt = ZonedDateTime::forComponents( + 2018, 3, 11, 1, 59, 59, tz); + + PrintStr<32> printStr; // 32-byte buffer + dt.printTo(printStr); + const char* cstr = printStr.getCstr(); + + // do stuff with cstr... + + printStr.flush(); // needed only if this will be used again +} +``` + ## Mutations Mutating the date and time classes can be tricky. In fact, many other diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..6c998f81b --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,5 @@ +html: + doxygen doxygen.cfg > /tmp/doxygen.out + +clean: + rm -rf html diff --git a/docs/doxygen.cfg b/docs/doxygen.cfg index 8d6efd9a5..8fa601ed7 100644 --- a/docs/doxygen.cfg +++ b/docs/doxygen.cfg @@ -38,7 +38,7 @@ PROJECT_NAME = "AceTime" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.1 +PROJECT_NUMBER = 1.1.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/docs/html/AceTime_8h_source.html b/docs/html/AceTime_8h_source.html index 90a4cf43e..b7c9c3bd7 100644 --- a/docs/html/AceTime_8h_source.html +++ b/docs/html/AceTime_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/AceTime.h Source File +AceTime: /home/brian/src/AceTime/src/AceTime.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */
AceTime.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
13 #ifndef ACE_TIME_ACE_TIME_H
14 #define ACE_TIME_ACE_TIME_H
15 
16 #include "ace_time/common/compat.h"
17 #include "ace_time/common/common.h"
18 #include "ace_time/common/DateStrings.h"
19 #include "ace_time/internal/ZoneContext.h"
20 #include "ace_time/internal/ZoneInfo.h"
21 #include "ace_time/internal/ZonePolicy.h"
22 #include "ace_time/zonedb/zone_policies.h"
23 #include "ace_time/zonedb/zone_infos.h"
24 #include "ace_time/zonedb/zone_registry.h"
25 #include "ace_time/zonedbx/zone_policies.h"
26 #include "ace_time/zonedbx/zone_infos.h"
27 #include "ace_time/zonedbx/zone_registry.h"
28 #include "ace_time/ZoneRegistrar.h"
29 #include "ace_time/LocalDate.h"
30 #include "ace_time/local_date_mutation.h"
31 #include "ace_time/LocalTime.h"
32 #include "ace_time/LocalDateTime.h"
33 #include "ace_time/TimeOffset.h"
34 #include "ace_time/time_offset_mutation.h"
35 #include "ace_time/OffsetDateTime.h"
36 #include "ace_time/ZoneProcessor.h"
37 #include "ace_time/BasicZoneProcessor.h"
38 #include "ace_time/ExtendedZoneProcessor.h"
39 #include "ace_time/ZoneProcessorCache.h"
40 #include "ace_time/ZoneManager.h"
41 #include "ace_time/TimeZoneData.h"
42 #include "ace_time/TimeZone.h"
43 #include "ace_time/BasicZone.h"
44 #include "ace_time/ExtendedZone.h"
45 #include "ace_time/ZonedDateTime.h"
46 #include "ace_time/zoned_date_time_mutation.h"
47 #include "ace_time/TimePeriod.h"
48 #include "ace_time/time_period_mutation.h"
49 #include "ace_time/clock/Clock.h"
50 #include "ace_time/clock/NtpClock.h"
51 #include "ace_time/clock/DS3231Clock.h"
52 #include "ace_time/clock/UnixClock.h"
53 #include "ace_time/clock/SystemClock.h"
54 #include "ace_time/clock/SystemClockLoop.h"
55 #include "ace_time/clock/SystemClockCoroutine.h"
56 
57 // Version format: xxyyzz == "xx.yy.zz"
58 #define ACE_TIME_VERSION 10100
59 #define ACE_TIME_VERSION_STRING "1.1"
60 
61 #endif
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
13 #ifndef ACE_TIME_ACE_TIME_H
+
14 #define ACE_TIME_ACE_TIME_H
+
15 
+
16 #include "ace_time/common/compat.h"
+
17 #include "ace_time/common/common.h"
+
18 #include "ace_time/common/DateStrings.h"
+
19 #include "ace_time/internal/ZoneContext.h"
+
20 #include "ace_time/internal/ZoneInfo.h"
+
21 #include "ace_time/internal/ZonePolicy.h"
+
22 #include "ace_time/zonedb/zone_policies.h"
+
23 #include "ace_time/zonedb/zone_infos.h"
+
24 #include "ace_time/zonedb/zone_registry.h"
+
25 #include "ace_time/zonedbx/zone_policies.h"
+
26 #include "ace_time/zonedbx/zone_infos.h"
+
27 #include "ace_time/zonedbx/zone_registry.h"
+
28 #include "ace_time/ZoneRegistrar.h"
+
29 #include "ace_time/LocalDate.h"
+
30 #include "ace_time/local_date_mutation.h"
+
31 #include "ace_time/LocalTime.h"
+
32 #include "ace_time/LocalDateTime.h"
+
33 #include "ace_time/TimeOffset.h"
+
34 #include "ace_time/time_offset_mutation.h"
+
35 #include "ace_time/OffsetDateTime.h"
+
36 #include "ace_time/ZoneProcessor.h"
+
37 #include "ace_time/BasicZoneProcessor.h"
+
38 #include "ace_time/ExtendedZoneProcessor.h"
+
39 #include "ace_time/ZoneProcessorCache.h"
+
40 #include "ace_time/ZoneManager.h"
+
41 #include "ace_time/TimeZoneData.h"
+
42 #include "ace_time/TimeZone.h"
+
43 #include "ace_time/BasicZone.h"
+
44 #include "ace_time/ExtendedZone.h"
+
45 #include "ace_time/ZonedDateTime.h"
+
46 #include "ace_time/zoned_date_time_mutation.h"
+
47 #include "ace_time/TimePeriod.h"
+
48 #include "ace_time/time_period_mutation.h"
+
49 #include "ace_time/clock/Clock.h"
+
50 #include "ace_time/clock/NtpClock.h"
+
51 #include "ace_time/clock/DS3231Clock.h"
+
52 #include "ace_time/clock/UnixClock.h"
+
53 #include "ace_time/clock/SystemClock.h"
+
54 #include "ace_time/clock/SystemClockLoop.h"
+
55 #include "ace_time/clock/SystemClockCoroutine.h"
+
56 
+
57 // Version format: xxyyzz == "xx.yy.zz"
+
58 #define ACE_TIME_VERSION 10101
+
59 #define ACE_TIME_VERSION_STRING "1.1.1"
+
60 
+
61 #endif
+ diff --git a/docs/html/BasicZoneProcessor_8cpp_source.html b/docs/html/BasicZoneProcessor_8cpp_source.html index 3b5ee4b41..9e3fc21fa 100644 --- a/docs/html/BasicZoneProcessor_8cpp_source.html +++ b/docs/html/BasicZoneProcessor_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/BasicZoneProcessor.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/BasicZoneProcessor.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
BasicZoneProcessor.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #include <Print.h>
7 #include "BasicZone.h"
8 #include "BasicZoneProcessor.h"
9 
10 namespace ace_time {
11 
12 void BasicZoneProcessor::printTo(Print& printer) const {
13  printer.print(BasicZone(mZoneInfo.zoneInfo()).name());
14 }
15 
16 void BasicZoneProcessor::printShortTo(Print& printer) const {
17  printer.print(BasicZone(mZoneInfo.zoneInfo()).shortName());
18 }
19 
20 }
21 
void printTo(Print &printer) const override
Print a human-readable identifier (e.g.
- -
A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful ...
Definition: BasicZone.h:22
-
void printShortTo(Print &printer) const override
Print a short human-readable identifier (e.g.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #include <Print.h>
+
7 #include "BasicZone.h"
+
8 #include "BasicZoneProcessor.h"
+
9 
+
10 namespace ace_time {
+
11 
+
12 void BasicZoneProcessor::printTo(Print& printer) const {
+
13  printer.print(BasicZone(mZoneInfo.zoneInfo()).name());
+
14 }
+
15 
+
16 void BasicZoneProcessor::printShortTo(Print& printer) const {
+
17  printer.print(BasicZone(mZoneInfo.zoneInfo()).shortName());
+
18 }
+
19 
+
20 }
+
21 
+
A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful ...
Definition: BasicZone.h:22
+
void printTo(Print &printer) const override
Print a human-readable identifier (e.g.
+
void printShortTo(Print &printer) const override
Print a short human-readable identifier (e.g.
diff --git a/docs/html/BasicZoneProcessor_8h_source.html b/docs/html/BasicZoneProcessor_8h_source.html index b49eb0c2a..f208ecddc 100644 --- a/docs/html/BasicZoneProcessor_8h_source.html +++ b/docs/html/BasicZoneProcessor_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/BasicZoneProcessor.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/BasicZoneProcessor.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
BasicZoneProcessor.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_BASIC_ZONE_PROCESSOR_H
7 #define ACE_TIME_BASIC_ZONE_PROCESSOR_H
8 
9 #include <string.h> // strchr()
10 #include <stdint.h>
11 #include "internal/ZonePolicy.h"
12 #include "internal/ZoneInfo.h"
13 #include "internal/Brokers.h"
14 #include "common/logging.h"
15 #include "TimeOffset.h"
16 #include "LocalDate.h"
17 #include "OffsetDateTime.h"
18 #include "ZoneProcessor.h"
19 
20 #define ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG 0
21 
22 class BasicZoneProcessorTest_priorYearOfRule;
23 class BasicZoneProcessorTest_compareRulesBeforeYear;
24 class BasicZoneProcessorTest_findLatestPriorRule;
25 class BasicZoneProcessorTest_findZoneEra;
26 class BasicZoneProcessorTest_init_primitives;
27 class BasicZoneProcessorTest_init;
28 class BasicZoneProcessorTest_setZoneInfo;
29 class BasicZoneProcessorTest_createAbbreviation;
30 class BasicZoneProcessorTest_calcStartDayOfMonth;
31 class BasicZoneProcessorTest_calcRuleOffsetMinutes;
32 
33 namespace ace_time {
34 
35 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
37 
38 namespace basic {
39 
55 struct Transition {
63  static const uint8_t kAbbrevSize = 6 + 1;
64 
71 
82 
84  acetime_t startEpochSeconds;
85 
91  int16_t offsetMinutes;
92 
94  int16_t deltaMinutes;
95 
97  int8_t yearTiny;
98 
104  uint8_t month;
105 
114 
116  void log() const {
117  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
118  logging::printf("(%d/%d)", yearTiny, month);
119  if (sizeof(acetime_t) == sizeof(int)) {
120  logging::printf("; stEps: %d", startEpochSeconds);
121  } else {
122  logging::printf("; stEps: %ld", startEpochSeconds);
123  }
124  logging::printf("; offMin: %d", offsetMinutes);
125  logging::printf("; abbrev: %s", abbrev);
126  if (! rule.isNull()) {
127  logging::printf("; r.fromYear: %d", rule.fromYearTiny());
128  logging::printf("; r.toYear: %d", rule.toYearTiny());
129  logging::printf("; r.inMonth: %d", rule.inMonth());
130  logging::printf("; r.onDayOfMonth: %d", rule.onDayOfMonth());
131  }
132  logging::printf("\n");
133  }
134  }
135 };
136 
138 struct MonthDay {
139  uint8_t month;
140  uint8_t day;
141 };
142 
144 inline int8_t compareYearMonth(int8_t aYear, uint8_t aMonth,
145  int8_t bYear, uint8_t bMonth) {
146  if (aYear < bYear) return -1;
147  if (aYear > bYear) return 1;
148  if (aMonth < bMonth) return -1;
149  if (aMonth > bMonth) return 1;
150  return 0;
151 }
152 
153 } // namespace basic
154 
205  public:
210  explicit BasicZoneProcessor(const basic::ZoneInfo* zoneInfo = nullptr):
211  ZoneProcessor(kTypeBasic),
212  mZoneInfo(zoneInfo) {}
213 
215  const void* getZoneInfo() const override {
216  return mZoneInfo.zoneInfo();
217  }
218 
219  uint32_t getZoneId() const override { return mZoneInfo.zoneId(); }
220 
221  TimeOffset getUtcOffset(acetime_t epochSeconds) const override {
222  const basic::Transition* transition = getTransition(epochSeconds);
223  int16_t minutes = (transition)
225  return TimeOffset::forMinutes(minutes);
226  }
227 
228  TimeOffset getDeltaOffset(acetime_t epochSeconds) const override {
229  const basic::Transition* transition = getTransition(epochSeconds);
230  int16_t minutes = (transition)
231  ? transition->deltaMinutes : TimeOffset::kErrorMinutes;
232  return TimeOffset::forMinutes(minutes);
233  }
234 
235  const char* getAbbrev(acetime_t epochSeconds) const override {
236  const basic::Transition* transition = getTransition(epochSeconds);
237  return (transition) ? transition->abbrev : "";
238  }
239 
269  OffsetDateTime getOffsetDateTime(const LocalDateTime& ldt) const override {
270  // Only a single local variable of OffsetDateTime used, to allow Return
271  // Value Optimization (and save 20 bytes of flash for WorldClock).
272  OffsetDateTime odt;
273  bool success = init(ldt.localDate());
274  if (success) {
275  // 0) Use the UTC epochSeconds to get intial guess of offset.
276  acetime_t epochSeconds0 = ldt.toEpochSeconds();
277  auto offset0 = getUtcOffset(epochSeconds0);
278 
279  // 1) Use offset0 to get the next epochSeconds and offset.
280  odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset0);
281  acetime_t epochSeconds1 = odt.toEpochSeconds();
282  auto offset1 = getUtcOffset(epochSeconds1);
283 
284  // 2) Use offset1 to get the next epochSeconds and offset.
285  odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset1);
286  acetime_t epochSeconds2 = odt.toEpochSeconds();
287  auto offset2 = getUtcOffset(epochSeconds2);
288 
289  // If offset1 and offset2 are equal, then we have an equilibrium
290  // and odt(1) must equal odt(2), so we can just return the last odt.
291  if (offset1 == offset2) {
292  // pass
293  } else {
294  // Pick the later epochSeconds and offset
295  acetime_t epochSeconds;
296  TimeOffset offset;
297  if (epochSeconds1 > epochSeconds2) {
298  epochSeconds = epochSeconds1;
299  offset = offset1;
300  } else {
301  epochSeconds = epochSeconds2;
302  offset = offset2;
303  }
304  odt = OffsetDateTime::forEpochSeconds(epochSeconds, offset);
305  }
306  } else {
307  odt = OffsetDateTime::forError();
308  }
309 
310  return odt;
311  }
312 
313  void printTo(Print& printer) const override;
314 
315  void printShortTo(Print& printer) const override;
316 
318  void log() const {
319  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
320  if (!mIsFilled) {
321  logging::printf("*not initialized*\n");
322  return;
323  }
324  logging::printf("mYearTiny: %d\n", mYearTiny);
325  logging::printf("mNumTransitions: %d\n", mNumTransitions);
326  for (int i = 0; i < mNumTransitions; i++) {
327  logging::printf("mT[%d]=", i);
328  mTransitions[i].log();
329  }
330  }
331  }
332 
352  static basic::MonthDay calcStartDayOfMonth(int16_t year, uint8_t month,
353  uint8_t onDayOfWeek, int8_t onDayOfMonth) {
354  if (onDayOfWeek == 0) return {month, (uint8_t) onDayOfMonth};
355 
356  if (onDayOfMonth >= 0) {
357  // Convert "last{Xxx}" to "last{Xxx}>={daysInMonth-6}".
358  uint8_t daysInMonth = LocalDate::daysInMonth(year, month);
359  if (onDayOfMonth == 0) {
360  onDayOfMonth = daysInMonth - 6;
361  }
362 
363  auto limitDate = LocalDate::forComponents(year, month, onDayOfMonth);
364  uint8_t dayOfWeekShift = (onDayOfWeek - limitDate.dayOfWeek() + 7) % 7;
365  uint8_t day = (uint8_t) (onDayOfMonth + dayOfWeekShift);
366  if (day > daysInMonth) {
367  // TODO: Support shifting from Dec to Jan of following year.
368  day -= daysInMonth;
369  month++;
370  }
371  return {month, day};
372  } else {
373  onDayOfMonth = -onDayOfMonth;
374  auto limitDate = LocalDate::forComponents(year, month, onDayOfMonth);
375  int8_t dayOfWeekShift = (limitDate.dayOfWeek() - onDayOfWeek + 7) % 7;
376  int8_t day = onDayOfMonth - dayOfWeekShift;
377  if (day < 1) {
378  // TODO: Support shifting from Jan to Dec of the previous year.
379  month--;
380  uint8_t daysInPrevMonth = LocalDate::daysInMonth(year, month);
381  day += daysInPrevMonth;
382  }
383  return {month, (uint8_t) day};
384  }
385  }
386 
387  private:
388  friend class ::BasicZoneProcessorTest_priorYearOfRule;
389  friend class ::BasicZoneProcessorTest_compareRulesBeforeYear;
390  friend class ::BasicZoneProcessorTest_findLatestPriorRule;
391  friend class ::BasicZoneProcessorTest_findZoneEra;
392  friend class ::BasicZoneProcessorTest_init_primitives;
393  friend class ::BasicZoneProcessorTest_init;
394  friend class ::BasicZoneProcessorTest_setZoneInfo;
395  friend class ::BasicZoneProcessorTest_createAbbreviation;
396  friend class ::BasicZoneProcessorTest_calcStartDayOfMonth;
397  friend class ::BasicZoneProcessorTest_calcRuleOffsetMinutes;
398 
399  template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
400  friend class ZoneProcessorCacheImpl; // setZoneInfo()
401 
412  static const uint8_t kMaxCacheEntries = 5;
413 
419  static const acetime_t kMinEpochSeconds = INT32_MIN + 1;
420 
421  // Disable copy constructor and assignment operator.
422  BasicZoneProcessor(const BasicZoneProcessor&) = delete;
423  BasicZoneProcessor& operator=(const BasicZoneProcessor&) = delete;
424 
425  bool equals(const ZoneProcessor& other) const override {
426  const auto& that = (const BasicZoneProcessor&) other;
427  return getZoneInfo() == that.getZoneInfo();
428  }
429 
441  void setZoneInfo(const void* zoneInfo) override {
442  if (mZoneInfo.zoneInfo() == zoneInfo) return;
443 
444  mZoneInfo = basic::ZoneInfoBroker((const basic::ZoneInfo*) zoneInfo);
445  mYearTiny = LocalDate::kInvalidYearTiny;
446  mIsFilled = false;
447  mNumTransitions = 0;
448  }
449 
451  const basic::Transition* getTransition(acetime_t epochSeconds) const {
452  LocalDate ld = LocalDate::forEpochSeconds(epochSeconds);
453  bool success = init(ld);
454  return (success) ? findMatch(epochSeconds) : nullptr;
455  }
456 
485  bool init(const LocalDate& ld) const {
486  int8_t yearTiny = ld.yearTiny();
487  if (ld.month() == 1 && ld.day() == 1) {
488  yearTiny--;
489  }
490  if (isFilled(yearTiny)) {
491  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
492  logging::printf("init(): %d (using cached %d)\n",
493  ld.yearTiny(), yearTiny);
494  }
495  return true;
496  } else {
497  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
498  logging::printf("init(): %d (new year %d)\n",
499  ld.yearTiny(), yearTiny);
500  }
501  }
502 
503  mYearTiny = yearTiny;
504  mNumTransitions = 0; // clear cache
505 
506  if (yearTiny + LocalDate::kEpochYear < mZoneInfo.startYear() - 1
507  || mZoneInfo.untilYear() < yearTiny + LocalDate::kEpochYear) {
508  return false;
509  }
510 
511  basic::ZoneEraBroker priorEra = addTransitionPriorToYear(yearTiny);
512  basic::ZoneEraBroker currentEra = addTransitionsForYear(
513  yearTiny, priorEra);
514  addTransitionAfterYear(yearTiny, currentEra);
515  calcTransitions();
516  calcAbbreviations();
517 
518  mIsFilled = true;
519 
520  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
521  log();
522  }
523 
524  return true;
525  }
526 
528  bool isFilled(int8_t yearTiny) const {
529  return mIsFilled && (yearTiny == mYearTiny);
530  }
531 
538  basic::ZoneEraBroker addTransitionPriorToYear(int8_t yearTiny) const {
539  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
540  logging::printf("addTransitionPriorToYear(): %d\n", yearTiny);
541  }
542 
543  const basic::ZoneEraBroker era = findZoneEra(mZoneInfo, yearTiny - 1);
544 
545  // If the prior ZoneEra has a ZonePolicy), then find the latest rule
546  // within the ZoneEra. Otherwise, add a Transition using a rule==nullptr.
547  basic::ZoneRuleBroker latest = findLatestPriorRule(
548  era.zonePolicy(), yearTiny);
549  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
550  logging::printf("addTransitionsPriorToYear(): adding latest prior ");
551  if (latest.isNull()) {
552  logging::printf("ZR(null)\n");
553  } else {
554  logging::printf("ZR[%d,%d]\n",
555  latest.fromYearTiny(), latest.toYearTiny());
556  }
557  }
558  addTransition(yearTiny - 1, 0 /*month*/, era, latest);
559 
560  return era;
561  }
562 
568  static basic::ZoneRuleBroker findLatestPriorRule(
569  basic::ZonePolicyBroker zonePolicy, int8_t yearTiny) {
570  basic::ZoneRuleBroker latest;
571  if (zonePolicy.isNull()) return latest;
572 
573  uint8_t numRules = zonePolicy.numRules();
574  for (uint8_t i = 0; i < numRules; i++) {
575  const basic::ZoneRuleBroker rule = zonePolicy.rule(i);
576  // Check if rule is effective prior to the given year
577  if (rule.fromYearTiny() < yearTiny) {
578  if ((latest.isNull()) ||
579  compareRulesBeforeYear(yearTiny, rule, latest) > 0) {
580  latest = rule;
581  }
582  }
583  }
584 
585  return latest;
586  }
587 
589  static int8_t compareRulesBeforeYear(int8_t yearTiny,
590  const basic::ZoneRuleBroker a, const basic::ZoneRuleBroker b) {
591  return basic::compareYearMonth(
592  priorYearOfRule(yearTiny, a), a.inMonth(),
593  priorYearOfRule(yearTiny, b), b.inMonth());
594  }
595 
604  static int8_t priorYearOfRule(int8_t yearTiny,
605  const basic::ZoneRuleBroker rule) {
606  if (rule.toYearTiny() < yearTiny) {
607  return rule.toYearTiny();
608  }
609  return yearTiny - 1;
610  }
611 
616  basic::ZoneEraBroker addTransitionsForYear(
617  int8_t yearTiny, basic::ZoneEraBroker priorEra) const {
618  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
619  logging::printf("addTransitionsForYear(): %d\n", yearTiny);
620  }
621 
622  const basic::ZoneEraBroker era = findZoneEra(mZoneInfo, yearTiny);
623 
624  // If the ZonePolicy has no rules, then add a Transition which takes
625  // effect at the start time of the current year.
626  const basic::ZonePolicyBroker zonePolicy = era.zonePolicy();
627  if (zonePolicy.isNull()) {
628  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
629  logging::printf("addTransitionsForYear(): adding ZE.untilY=%d\n",
630  era.untilYearTiny());
631  }
632  addTransition(yearTiny, 0 /*month*/, era, basic::ZoneRuleBroker());
633  return era;
634  }
635 
636  if (era.zoneEra() != priorEra.zoneEra()) {
637  // The ZoneEra has changed, so we need to find the Rule in effect at
638  // the start of the current year of the current ZoneEra. This may be a
639  // rule far in the past, but shift the rule forward to {year, 1, 1}.
640  basic::ZoneRuleBroker latestPrior = findLatestPriorRule(
641  era.zonePolicy(), yearTiny);
642  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
643  logging::printf(
644  "addTransitionsForYear(): adding latest prior ");
645  if (latestPrior.isNull()) {
646  logging::printf("ZR(null)\n");
647  } else {
648  logging::printf("ZR[%d,%d]\n",
649  latestPrior.fromYearTiny(), latestPrior.toYearTiny());
650  }
651  }
652  addTransition(yearTiny, 1 /*month*/, era, latestPrior);
653  }
654 
655  // Find all directly matching transitions (i.e. the [from, to] overlap
656  // with the current year) and add them to mTransitions, in sorted order
657  // according to the ZoneRule::inMonth field.
658  uint8_t numRules = zonePolicy.numRules();
659  for (uint8_t i = 0; i < numRules; i++) {
660  const basic::ZoneRuleBroker rule = zonePolicy.rule(i);
661  if ((rule.fromYearTiny() <= yearTiny) &&
662  (yearTiny <= rule.toYearTiny())) {
663  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
664  logging::printf(
665  "addTransitionsForYear(): adding rule ");
666  if (rule.isNull()) {
667  logging::printf("ZR(null)\n");
668  } else {
669  logging::printf("ZR[%d,%d]\n",
670  rule.fromYearTiny(), rule.toYearTiny());
671  }
672  }
673  addTransition(yearTiny, 0 /*month*/, era, rule);
674  }
675  }
676 
677  return era;
678  }
679 
681  void addTransitionAfterYear(int8_t yearTiny,
682  basic::ZoneEraBroker currentEra) const {
683  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
684  logging::printf("addTransitionAfterYear(): %d\n", yearTiny);
685  }
686 
687  const basic::ZoneEraBroker eraAfter = findZoneEra(
688  mZoneInfo, yearTiny + 1);
689 
690  // If the current era is the same as the following year, then we'll just
691  // assume that the latest ZoneRule carries over to Jan 1st of the next
692  // year. tzcompiler.py guarantees no ZoneRule occurs on Jan 1st.
693  if (currentEra.zoneEra() == eraAfter.zoneEra()) {
694  return;
695  }
696 
697  // If the ZoneEra did change, find the latest transition prior to
698  // {yearTiny + 1, 1, 1}, then shift that Transition to Jan 1st of the
699  // following year.
700  basic::ZoneRuleBroker latest = findLatestPriorRule(
701  eraAfter.zonePolicy(), yearTiny + 1);
702  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
703  logging::printf(
704  "addTransitionsAfterYear(): adding latest prior ");
705  if (latest.isNull()) {
706  logging::printf("ZR(null)\n");
707  } else {
708  logging::printf("ZR[%d,%d]\n",
709  latest.fromYearTiny(), latest.toYearTiny());
710  }
711  }
712  addTransition(yearTiny + 1, 1 /*month*/, eraAfter, latest);
713  }
714 
738  void addTransition(int8_t yearTiny, uint8_t month, basic::ZoneEraBroker era,
739  basic::ZoneRuleBroker rule) const {
740 
741  // If a zone needs more transitions than kMaxCacheEntries, the check below
742  // will cause the DST transition information to be inaccurate, and it is
743  // highly likely that this situation would be caught in the
744  // 'tests/validation' unit tests. Since these unit tests pass, I feel
745  // confident that those zones which need more than kMaxCacheEntries are
746  // already filtered out by tzcompiler.py.
747  //
748  // Ideally, the tzcompiler.py script would explicitly remove those zones
749  // which need more than kMaxCacheEntries Transitions. But this would
750  // require a Python version of the BasicZoneProcessor, and unfortunately,
751  // zone_specifier.py implements only the ExtendedZoneProcessor algorithm
752  // An early version of zone_specifier.py may have implemented something
753  // close to BasicZoneProcessor, and it may be available in the git
754  // history. But it seems like too much work right now to try to dig that
755  // out, just to implement the explicit check for kMaxCacheEntries. It
756  // would mean maintaining another version of zone_specifier.py.
757  if (mNumTransitions >= kMaxCacheEntries) return;
758 
759  // insert new element at the end of the list
760  mTransitions[mNumTransitions] = createTransition(
761  yearTiny, month, era, rule);
762  mNumTransitions++;
763 
764  // perform an insertion sort based on ZoneRule.inMonth()
765  for (uint8_t i = mNumTransitions - 1; i > 0; i--) {
766  basic::Transition& left = mTransitions[i - 1];
767  basic::Transition& right = mTransitions[i];
768  // assume only 1 rule per month
769  if (basic::compareYearMonth(left.yearTiny, left.month,
770  right.yearTiny, right.month) > 0) {
771  basic::Transition tmp = left;
772  left = right;
773  right = tmp;
774  }
775  }
776  }
777 
783  static basic::Transition createTransition(int8_t yearTiny, uint8_t month,
785  int16_t deltaMinutes;
786  char letter;
787  uint8_t mon;
788  if (rule.isNull()) {
789  mon = 1; // RULES is either '-' or 'hh:mm' so takes effect in Jan
790  deltaMinutes = era.deltaMinutes();
791  letter = '\0';
792  } else {
793  mon = rule.inMonth();
794  deltaMinutes = rule.deltaMinutes();
795  letter = rule.letter();
796  }
797  // Clobber the month if specified.
798  if (month != 0) {
799  mon = month;
800  }
801  int16_t offsetMinutes = era.offsetMinutes() + deltaMinutes;
802 
803  return {
804  era,
805  rule,
806  0 /*epochSeconds*/,
808  deltaMinutes,
809  yearTiny,
810  mon,
811  {letter} /*abbrev*/
812  };
813  }
814 
820  static basic::ZoneEraBroker findZoneEra(
821  basic::ZoneInfoBroker info, int8_t yearTiny) {
822  for (uint8_t i = 0; i < info.numEras(); i++) {
823  const basic::ZoneEraBroker era = info.era(i);
824  if (yearTiny < era.untilYearTiny()) return era;
825  }
826  // Return the last ZoneEra if we run off the end.
827  return info.era(info.numEras() - 1);
828  }
829 
837  void calcTransitions() const {
838  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
839  logging::printf("calcTransitions():\n");
840  }
841 
842  // Set the initial startEpochSeconds to be -Infinity
843  basic::Transition* prevTransition = &mTransitions[0];
844  prevTransition->startEpochSeconds = kMinEpochSeconds;
845 
846  for (uint8_t i = 1; i < mNumTransitions; i++) {
847  basic::Transition& transition = mTransitions[i];
848  const int16_t year = transition.yearTiny + LocalDate::kEpochYear;
849 
850  if (transition.rule.isNull()) {
851  // If the transition is simple (has no named rule), then the
852  // ZoneEra applies for the entire year (since BasicZoneProcessor
853  // supports only whole year in the UNTIL field). The whole year UNTIL
854  // field has an implied 'w' suffix on 00:00, we don't need to call
855  // calcRuleOffsetMinutes() with a 'w', we can just use the previous
856  // transition's offset to calculate the startDateTime of this
857  // transition.
858  //
859  // Also, when transition.rule == nullptr, the mNumTransitions should
860  // be 1, since only a single transition is added by
861  // addTransitionsForYear().
862  const int16_t prevOffsetMinutes = prevTransition->offsetMinutes;
864  year, 1, 1, 0, 0, 0,
865  TimeOffset::forMinutes(prevOffsetMinutes));
866  transition.startEpochSeconds = startDateTime.toEpochSeconds();
867  } else {
868  // In this case, the transition points to a named ZonePolicy, which
869  // means that there could be multiple ZoneRules associated with the
870  // given year. For each transition, determine the startEpochSeconds,
871  // and the effective offset code.
872 
873  // Determine the start date of the rule.
874  const basic::MonthDay monthDay = calcStartDayOfMonth(
875  year, transition.month, transition.rule.onDayOfWeek(),
876  transition.rule.onDayOfMonth());
877 
878  // Determine the offset of the 'atTimeSuffix'. The 'w' suffix
879  // requires the offset of the previous transition.
880  const int16_t prevOffsetMinutes = calcRuleOffsetMinutes(
881  prevTransition->offsetMinutes,
882  transition.era.offsetMinutes(),
883  transition.rule.atTimeSuffix());
884 
885  // startDateTime
886  const uint16_t minutes = transition.rule.atTimeMinutes();
887  const uint8_t atHour = minutes / 60;
888  const uint8_t atMinute = minutes % 60;
890  year, monthDay.month, monthDay.day,
891  atHour, atMinute, 0 /*second*/,
892  TimeOffset::forMinutes(prevOffsetMinutes));
893  transition.startEpochSeconds = startDateTime.toEpochSeconds();
894  }
895 
896  prevTransition = &transition;
897  }
898  }
899 
906  static int16_t calcRuleOffsetMinutes(int16_t prevEffectiveOffsetMinutes,
907  int16_t currentBaseOffsetMinutes, uint8_t atSuffix) {
908  if (atSuffix == basic::ZoneContext::kSuffixW) {
909  return prevEffectiveOffsetMinutes;
910  } else if (atSuffix == basic::ZoneContext::kSuffixS) {
911  return currentBaseOffsetMinutes;
912  } else { // 'u', 'g' or 'z'
913  return 0;
914  }
915  }
916 
918  void calcAbbreviations() const {
919  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
920  logging::printf("calcAbbreviations():\n");
921  }
922 
923  for (uint8_t i = 0; i < mNumTransitions; i++) {
924  calcAbbreviation(&mTransitions[i]);
925  }
926  }
927 
929  static void calcAbbreviation(basic::Transition* transition) {
930  createAbbreviation(
931  transition->abbrev,
933  transition->era.format(),
934  transition->deltaMinutes,
935  transition->abbrev[0]);
936  }
937 
986  static void createAbbreviation(char* dest, uint8_t destSize,
987  const char* format, int16_t deltaMinutes, char letter) {
988  // Check if FORMAT contains a '%'.
989  if (strchr(format, '%') != nullptr) {
990  // Check if RULES column empty, therefore no 'letter'
991  if (letter == '\0') {
992  strncpy(dest, format, destSize - 1);
993  dest[destSize - 1] = '\0';
994  } else {
995  copyAndReplace(dest, destSize, format, '%', letter);
996  }
997  } else {
998  // Check if FORMAT contains a '/'.
999  const char* slashPos = strchr(format, '/');
1000  if (slashPos != nullptr) {
1001  if (deltaMinutes == 0) {
1002  uint8_t headLength = (slashPos - format);
1003  if (headLength >= destSize) headLength = destSize - 1;
1004  memcpy(dest, format, headLength);
1005  dest[headLength] = '\0';
1006  } else {
1007  uint8_t tailLength = strlen(slashPos+1);
1008  if (tailLength >= destSize) tailLength = destSize - 1;
1009  memcpy(dest, slashPos+1, tailLength);
1010  dest[tailLength] = '\0';
1011  }
1012  } else {
1013  // Just copy the FORMAT disregarding the deltaMinutes and letter.
1014  strncpy(dest, format, destSize - 1);
1015  dest[destSize - 1] = '\0';
1016  }
1017  }
1018  }
1019 
1025  static void copyAndReplace(char* dst, uint8_t dstSize, const char* src,
1026  char oldChar, char newChar) {
1027  while (*src != '\0' && dstSize > 0) {
1028  if (*src == oldChar) {
1029  if (newChar == '-') {
1030  src++;
1031  } else {
1032  *dst = newChar;
1033  dst++;
1034  src++;
1035  dstSize--;
1036  }
1037  } else {
1038  *dst++ = *src++;
1039  dstSize--;
1040  }
1041  }
1042 
1043  if (dstSize == 0) {
1044  --dst;
1045  }
1046  *dst = '\0';
1047  }
1048 
1050  const basic::Transition* findMatch(acetime_t epochSeconds) const {
1051  const basic::Transition* closestMatch = nullptr;
1052  for (uint8_t i = 0; i < mNumTransitions; i++) {
1053  const basic::Transition* m = &mTransitions[i];
1054  if (closestMatch == nullptr || m->startEpochSeconds <= epochSeconds) {
1055  closestMatch = m;
1056  }
1057  }
1058  return closestMatch;
1059  }
1060 
1061  basic::ZoneInfoBroker mZoneInfo;
1062 
1063  mutable int8_t mYearTiny = LocalDate::kInvalidYearTiny;
1064  mutable bool mIsFilled = false;
1065  mutable uint8_t mNumTransitions = 0;
1066  mutable basic::Transition mTransitions[kMaxCacheEntries];
1067 };
1068 
1069 }
1070 
1071 #endif
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
-
ZoneEraBroker era
The ZoneEra that matched the given year.
-
const char * getAbbrev(acetime_t epochSeconds) const override
Return the time zone abbreviation at epochSeconds.
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
Definition: LocalDate.h:241
- -
void log() const
Used only for debugging.
-
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
-
static const uint8_t kAbbrevSize
Longest abbreviation currently seems to be 5 characters (https://www.timeanddate.com/time/zones/) but...
-
char abbrev[kAbbrevSize]
The calculated effective time zone abbreviation, e.g.
-
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
-
BasicZoneProcessor(const basic::ZoneInfo *zoneInfo=nullptr)
Constructor.
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
static const uint8_t kSuffixW
Represents &#39;w&#39; or wall time.
Definition: ZoneContext.h:13
-
uint8_t month
Month of the transition.
-
The result of calcStartDayOfMonth().
-
virtual const void * getZoneInfo() const =0
Return the opaque zoneInfo.
-
uint32_t getZoneId() const override
Return the unique stable zoneId.
-
static OffsetDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset timeOffset)
Factory method using separated date, time, and UTC offset fields.
-
acetime_t startEpochSeconds
The calculated transition time of the given rule.
-
Data broker for accessing ZonePolicy.
Definition: Brokers.h:154
-
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
-
int8_t yearTiny
Year of the Transition.
-
int16_t deltaMinutes
The deltaMinutes from "standard time" at the start of transition.
-
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
-
ZoneRuleBroker rule
The Zone transition rule that matched for the the given year.
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
-
const LocalDate & localDate() const
Return the LocalDate.
-
TimeOffset getDeltaOffset(acetime_t epochSeconds) const override
Return the DST delta offset at epochSeconds.
-
const void * getZoneInfo() const override
Return the underlying ZoneInfo.
-
void log() const
Used only for debugging.
-
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database...
-
static LocalDate forEpochSeconds(acetime_t epochSeconds)
Factory method using the number of seconds since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:157
-
The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb...
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
Data structure that defines the start of a specific UTC offset as described by the matching ZoneEra a...
-
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that &#39;does not exist&#39;...
Definition: LocalDate.h:45
-
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const override
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone...
-
static const int16_t kErrorMinutes
Sentinel value that represents an error.
Definition: TimeOffset.h:59
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day)
Factory method using separated year, month and day fields.
Definition: LocalDate.h:106
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
-
static const uint8_t kSuffixS
Represents &#39;s&#39; or standard time.
Definition: ZoneContext.h:16
-
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
-
static uint8_t daysInMonth(int16_t year, uint8_t month)
Return the number of days in the current month.
Definition: LocalDate.h:222
-
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
-
static basic::MonthDay calcStartDayOfMonth(int16_t year, uint8_t month, uint8_t onDayOfWeek, int8_t onDayOfMonth)
Calculate the actual (month, day) of the expresssion (onDayOfWeek >= onDayOfMonth) or (onDayOfWeek <=...
-
Data broker for accessing ZoneEra.
Definition: Brokers.h:213
-
Data broker for accessing ZoneRule.
Definition: Brokers.h:66
-
int16_t offsetMinutes
The total effective UTC offset minutes at the start of transition, including DST offset.
-
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
TimeOffset getUtcOffset(acetime_t epochSeconds) const override
Return the total UTC offset at epochSeconds, including DST offset.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_BASIC_ZONE_PROCESSOR_H
+
7 #define ACE_TIME_BASIC_ZONE_PROCESSOR_H
+
8 
+
9 #include <string.h> // strchr()
+
10 #include <stdint.h>
+
11 #include "internal/ZonePolicy.h"
+
12 #include "internal/ZoneInfo.h"
+
13 #include "internal/Brokers.h"
+
14 #include "common/logging.h"
+
15 #include "TimeOffset.h"
+
16 #include "LocalDate.h"
+
17 #include "OffsetDateTime.h"
+
18 #include "ZoneProcessor.h"
+
19 
+
20 #define ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG 0
+
21 
+
22 class BasicZoneProcessorTest_priorYearOfRule;
+
23 class BasicZoneProcessorTest_compareRulesBeforeYear;
+
24 class BasicZoneProcessorTest_findLatestPriorRule;
+
25 class BasicZoneProcessorTest_findZoneEra;
+
26 class BasicZoneProcessorTest_init_primitives;
+
27 class BasicZoneProcessorTest_init;
+
28 class BasicZoneProcessorTest_setZoneInfo;
+
29 class BasicZoneProcessorTest_createAbbreviation;
+
30 class BasicZoneProcessorTest_calcStartDayOfMonth;
+
31 class BasicZoneProcessorTest_calcRuleOffsetMinutes;
+
32 
+
33 namespace ace_time {
+
34 
+
35 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+ +
37 
+
38 namespace basic {
+
39 
+
55 struct Transition {
+
63  static const uint8_t kAbbrevSize = 6 + 1;
+
64 
+ +
71 
+ +
82 
+
84  acetime_t startEpochSeconds;
+
85 
+
91  int16_t offsetMinutes;
+
92 
+
94  int16_t deltaMinutes;
+
95 
+
97  int8_t yearTiny;
+
98 
+
104  uint8_t month;
+
105 
+ +
114 
+
116  void log() const {
+
117  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
118  logging::printf("(%d/%d)", yearTiny, month);
+
119  if (sizeof(acetime_t) == sizeof(int)) {
+
120  logging::printf("; stEps: %d", startEpochSeconds);
+
121  } else {
+
122  logging::printf("; stEps: %ld", startEpochSeconds);
+
123  }
+
124  logging::printf("; offMin: %d", offsetMinutes);
+
125  logging::printf("; abbrev: %s", abbrev);
+
126  if (! rule.isNull()) {
+
127  logging::printf("; r.fromYear: %d", rule.fromYearTiny());
+
128  logging::printf("; r.toYear: %d", rule.toYearTiny());
+
129  logging::printf("; r.inMonth: %d", rule.inMonth());
+
130  logging::printf("; r.onDayOfMonth: %d", rule.onDayOfMonth());
+
131  }
+
132  logging::printf("\n");
+
133  }
+
134  }
+
135 };
+
136 
+
138 struct MonthDay {
+
139  uint8_t month;
+
140  uint8_t day;
+
141 };
+
142 
+
144 inline int8_t compareYearMonth(int8_t aYear, uint8_t aMonth,
+
145  int8_t bYear, uint8_t bMonth) {
+
146  if (aYear < bYear) return -1;
+
147  if (aYear > bYear) return 1;
+
148  if (aMonth < bMonth) return -1;
+
149  if (aMonth > bMonth) return 1;
+
150  return 0;
+
151 }
+
152 
+
153 } // namespace basic
+
154 
+ +
205  public:
+
210  explicit BasicZoneProcessor(const basic::ZoneInfo* zoneInfo = nullptr):
+ +
212  mZoneInfo(zoneInfo) {}
+
213 
+
215  const void* getZoneInfo() const override {
+
216  return mZoneInfo.zoneInfo();
+
217  }
+
218 
+
219  uint32_t getZoneId() const override { return mZoneInfo.zoneId(); }
+
220 
+
221  TimeOffset getUtcOffset(acetime_t epochSeconds) const override {
+
222  const basic::Transition* transition = getTransition(epochSeconds);
+
223  int16_t minutes = (transition)
+ +
225  return TimeOffset::forMinutes(minutes);
+
226  }
+
227 
+
228  TimeOffset getDeltaOffset(acetime_t epochSeconds) const override {
+
229  const basic::Transition* transition = getTransition(epochSeconds);
+
230  int16_t minutes = (transition)
+
231  ? transition->deltaMinutes : TimeOffset::kErrorMinutes;
+
232  return TimeOffset::forMinutes(minutes);
+
233  }
+
234 
+
235  const char* getAbbrev(acetime_t epochSeconds) const override {
+
236  const basic::Transition* transition = getTransition(epochSeconds);
+
237  return (transition) ? transition->abbrev : "";
+
238  }
+
239 
+
269  OffsetDateTime getOffsetDateTime(const LocalDateTime& ldt) const override {
+
270  // Only a single local variable of OffsetDateTime used, to allow Return
+
271  // Value Optimization (and save 20 bytes of flash for WorldClock).
+
272  OffsetDateTime odt;
+
273  bool success = init(ldt.localDate());
+
274  if (success) {
+
275  // 0) Use the UTC epochSeconds to get intial guess of offset.
+
276  acetime_t epochSeconds0 = ldt.toEpochSeconds();
+
277  auto offset0 = getUtcOffset(epochSeconds0);
+
278 
+
279  // 1) Use offset0 to get the next epochSeconds and offset.
+
280  odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset0);
+
281  acetime_t epochSeconds1 = odt.toEpochSeconds();
+
282  auto offset1 = getUtcOffset(epochSeconds1);
+
283 
+
284  // 2) Use offset1 to get the next epochSeconds and offset.
+
285  odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset1);
+
286  acetime_t epochSeconds2 = odt.toEpochSeconds();
+
287  auto offset2 = getUtcOffset(epochSeconds2);
+
288 
+
289  // If offset1 and offset2 are equal, then we have an equilibrium
+
290  // and odt(1) must equal odt(2), so we can just return the last odt.
+
291  if (offset1 == offset2) {
+
292  // pass
+
293  } else {
+
294  // Pick the later epochSeconds and offset
+
295  acetime_t epochSeconds;
+
296  TimeOffset offset;
+
297  if (epochSeconds1 > epochSeconds2) {
+
298  epochSeconds = epochSeconds1;
+
299  offset = offset1;
+
300  } else {
+
301  epochSeconds = epochSeconds2;
+
302  offset = offset2;
+
303  }
+
304  odt = OffsetDateTime::forEpochSeconds(epochSeconds, offset);
+
305  }
+
306  } else {
+
307  odt = OffsetDateTime::forError();
+
308  }
+
309 
+
310  return odt;
+
311  }
+
312 
+
313  void printTo(Print& printer) const override;
+
314 
+
315  void printShortTo(Print& printer) const override;
+
316 
+
318  void log() const {
+
319  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
320  if (!mIsFilled) {
+
321  logging::printf("*not initialized*\n");
+
322  return;
+
323  }
+
324  logging::printf("mYearTiny: %d\n", mYearTiny);
+
325  logging::printf("mNumTransitions: %d\n", mNumTransitions);
+
326  for (int i = 0; i < mNumTransitions; i++) {
+
327  logging::printf("mT[%d]=", i);
+
328  mTransitions[i].log();
+
329  }
+
330  }
+
331  }
+
332 
+
352  static basic::MonthDay calcStartDayOfMonth(int16_t year, uint8_t month,
+
353  uint8_t onDayOfWeek, int8_t onDayOfMonth) {
+
354  if (onDayOfWeek == 0) return {month, (uint8_t) onDayOfMonth};
+
355 
+
356  if (onDayOfMonth >= 0) {
+
357  // Convert "last{Xxx}" to "last{Xxx}>={daysInMonth-6}".
+
358  uint8_t daysInMonth = LocalDate::daysInMonth(year, month);
+
359  if (onDayOfMonth == 0) {
+
360  onDayOfMonth = daysInMonth - 6;
+
361  }
+
362 
+
363  auto limitDate = LocalDate::forComponents(year, month, onDayOfMonth);
+
364  uint8_t dayOfWeekShift = (onDayOfWeek - limitDate.dayOfWeek() + 7) % 7;
+
365  uint8_t day = (uint8_t) (onDayOfMonth + dayOfWeekShift);
+
366  if (day > daysInMonth) {
+
367  // TODO: Support shifting from Dec to Jan of following year.
+
368  day -= daysInMonth;
+
369  month++;
+
370  }
+
371  return {month, day};
+
372  } else {
+
373  onDayOfMonth = -onDayOfMonth;
+
374  auto limitDate = LocalDate::forComponents(year, month, onDayOfMonth);
+
375  int8_t dayOfWeekShift = (limitDate.dayOfWeek() - onDayOfWeek + 7) % 7;
+
376  int8_t day = onDayOfMonth - dayOfWeekShift;
+
377  if (day < 1) {
+
378  // TODO: Support shifting from Jan to Dec of the previous year.
+
379  month--;
+
380  uint8_t daysInPrevMonth = LocalDate::daysInMonth(year, month);
+
381  day += daysInPrevMonth;
+
382  }
+
383  return {month, (uint8_t) day};
+
384  }
+
385  }
+
386 
+
387  private:
+
388  friend class ::BasicZoneProcessorTest_priorYearOfRule;
+
389  friend class ::BasicZoneProcessorTest_compareRulesBeforeYear;
+
390  friend class ::BasicZoneProcessorTest_findLatestPriorRule;
+
391  friend class ::BasicZoneProcessorTest_findZoneEra;
+
392  friend class ::BasicZoneProcessorTest_init_primitives;
+
393  friend class ::BasicZoneProcessorTest_init;
+
394  friend class ::BasicZoneProcessorTest_setZoneInfo;
+
395  friend class ::BasicZoneProcessorTest_createAbbreviation;
+
396  friend class ::BasicZoneProcessorTest_calcStartDayOfMonth;
+
397  friend class ::BasicZoneProcessorTest_calcRuleOffsetMinutes;
+
398 
+
399  template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+
400  friend class ZoneProcessorCacheImpl; // setZoneInfo()
+
401 
+
412  static const uint8_t kMaxCacheEntries = 5;
+
413 
+
419  static const acetime_t kMinEpochSeconds = INT32_MIN + 1;
+
420 
+
421  // Disable copy constructor and assignment operator.
+
422  BasicZoneProcessor(const BasicZoneProcessor&) = delete;
+
423  BasicZoneProcessor& operator=(const BasicZoneProcessor&) = delete;
+
424 
+
425  bool equals(const ZoneProcessor& other) const override {
+
426  const auto& that = (const BasicZoneProcessor&) other;
+
427  return getZoneInfo() == that.getZoneInfo();
+
428  }
+
429 
+
441  void setZoneInfo(const void* zoneInfo) override {
+
442  if (mZoneInfo.zoneInfo() == zoneInfo) return;
+
443 
+
444  mZoneInfo = basic::ZoneInfoBroker((const basic::ZoneInfo*) zoneInfo);
+
445  mYearTiny = LocalDate::kInvalidYearTiny;
+
446  mIsFilled = false;
+
447  mNumTransitions = 0;
+
448  }
+
449 
+
451  const basic::Transition* getTransition(acetime_t epochSeconds) const {
+
452  LocalDate ld = LocalDate::forEpochSeconds(epochSeconds);
+
453  bool success = init(ld);
+
454  return (success) ? findMatch(epochSeconds) : nullptr;
+
455  }
+
456 
+
485  bool init(const LocalDate& ld) const {
+
486  int8_t yearTiny = ld.yearTiny();
+
487  if (ld.month() == 1 && ld.day() == 1) {
+
488  yearTiny--;
+
489  }
+
490  if (isFilled(yearTiny)) {
+
491  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
492  logging::printf("init(): %d (using cached %d)\n",
+
493  ld.yearTiny(), yearTiny);
+
494  }
+
495  return true;
+
496  } else {
+
497  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
498  logging::printf("init(): %d (new year %d)\n",
+
499  ld.yearTiny(), yearTiny);
+
500  }
+
501  }
+
502 
+
503  mYearTiny = yearTiny;
+
504  mNumTransitions = 0; // clear cache
+
505 
+
506  if (yearTiny + LocalDate::kEpochYear < mZoneInfo.startYear() - 1
+
507  || mZoneInfo.untilYear() < yearTiny + LocalDate::kEpochYear) {
+
508  return false;
+
509  }
+
510 
+
511  basic::ZoneEraBroker priorEra = addTransitionPriorToYear(yearTiny);
+
512  basic::ZoneEraBroker currentEra = addTransitionsForYear(
+
513  yearTiny, priorEra);
+
514  addTransitionAfterYear(yearTiny, currentEra);
+
515  calcTransitions();
+
516  calcAbbreviations();
+
517 
+
518  mIsFilled = true;
+
519 
+
520  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
521  log();
+
522  }
+
523 
+
524  return true;
+
525  }
+
526 
+
528  bool isFilled(int8_t yearTiny) const {
+
529  return mIsFilled && (yearTiny == mYearTiny);
+
530  }
+
531 
+
538  basic::ZoneEraBroker addTransitionPriorToYear(int8_t yearTiny) const {
+
539  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
540  logging::printf("addTransitionPriorToYear(): %d\n", yearTiny);
+
541  }
+
542 
+
543  const basic::ZoneEraBroker era = findZoneEra(mZoneInfo, yearTiny - 1);
+
544 
+
545  // If the prior ZoneEra has a ZonePolicy), then find the latest rule
+
546  // within the ZoneEra. Otherwise, add a Transition using a rule==nullptr.
+
547  basic::ZoneRuleBroker latest = findLatestPriorRule(
+
548  era.zonePolicy(), yearTiny);
+
549  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
550  logging::printf("addTransitionsPriorToYear(): adding latest prior ");
+
551  if (latest.isNull()) {
+
552  logging::printf("ZR(null)\n");
+
553  } else {
+
554  logging::printf("ZR[%d,%d]\n",
+
555  latest.fromYearTiny(), latest.toYearTiny());
+
556  }
+
557  }
+
558  addTransition(yearTiny - 1, 0 /*month*/, era, latest);
+
559 
+
560  return era;
+
561  }
+
562 
+
568  static basic::ZoneRuleBroker findLatestPriorRule(
+
569  basic::ZonePolicyBroker zonePolicy, int8_t yearTiny) {
+
570  basic::ZoneRuleBroker latest;
+
571  if (zonePolicy.isNull()) return latest;
+
572 
+
573  uint8_t numRules = zonePolicy.numRules();
+
574  for (uint8_t i = 0; i < numRules; i++) {
+
575  const basic::ZoneRuleBroker rule = zonePolicy.rule(i);
+
576  // Check if rule is effective prior to the given year
+
577  if (rule.fromYearTiny() < yearTiny) {
+
578  if ((latest.isNull()) ||
+
579  compareRulesBeforeYear(yearTiny, rule, latest) > 0) {
+
580  latest = rule;
+
581  }
+
582  }
+
583  }
+
584 
+
585  return latest;
+
586  }
+
587 
+
589  static int8_t compareRulesBeforeYear(int8_t yearTiny,
+
590  const basic::ZoneRuleBroker a, const basic::ZoneRuleBroker b) {
+
591  return basic::compareYearMonth(
+
592  priorYearOfRule(yearTiny, a), a.inMonth(),
+
593  priorYearOfRule(yearTiny, b), b.inMonth());
+
594  }
+
595 
+
604  static int8_t priorYearOfRule(int8_t yearTiny,
+
605  const basic::ZoneRuleBroker rule) {
+
606  if (rule.toYearTiny() < yearTiny) {
+
607  return rule.toYearTiny();
+
608  }
+
609  return yearTiny - 1;
+
610  }
+
611 
+
616  basic::ZoneEraBroker addTransitionsForYear(
+
617  int8_t yearTiny, basic::ZoneEraBroker priorEra) const {
+
618  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
619  logging::printf("addTransitionsForYear(): %d\n", yearTiny);
+
620  }
+
621 
+
622  const basic::ZoneEraBroker era = findZoneEra(mZoneInfo, yearTiny);
+
623 
+
624  // If the ZonePolicy has no rules, then add a Transition which takes
+
625  // effect at the start time of the current year.
+
626  const basic::ZonePolicyBroker zonePolicy = era.zonePolicy();
+
627  if (zonePolicy.isNull()) {
+
628  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
629  logging::printf("addTransitionsForYear(): adding ZE.untilY=%d\n",
+
630  era.untilYearTiny());
+
631  }
+
632  addTransition(yearTiny, 0 /*month*/, era, basic::ZoneRuleBroker());
+
633  return era;
+
634  }
+
635 
+
636  if (era.zoneEra() != priorEra.zoneEra()) {
+
637  // The ZoneEra has changed, so we need to find the Rule in effect at
+
638  // the start of the current year of the current ZoneEra. This may be a
+
639  // rule far in the past, but shift the rule forward to {year, 1, 1}.
+
640  basic::ZoneRuleBroker latestPrior = findLatestPriorRule(
+
641  era.zonePolicy(), yearTiny);
+
642  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
643  logging::printf(
+
644  "addTransitionsForYear(): adding latest prior ");
+
645  if (latestPrior.isNull()) {
+
646  logging::printf("ZR(null)\n");
+
647  } else {
+
648  logging::printf("ZR[%d,%d]\n",
+
649  latestPrior.fromYearTiny(), latestPrior.toYearTiny());
+
650  }
+
651  }
+
652  addTransition(yearTiny, 1 /*month*/, era, latestPrior);
+
653  }
+
654 
+
655  // Find all directly matching transitions (i.e. the [from, to] overlap
+
656  // with the current year) and add them to mTransitions, in sorted order
+
657  // according to the ZoneRule::inMonth field.
+
658  uint8_t numRules = zonePolicy.numRules();
+
659  for (uint8_t i = 0; i < numRules; i++) {
+
660  const basic::ZoneRuleBroker rule = zonePolicy.rule(i);
+
661  if ((rule.fromYearTiny() <= yearTiny) &&
+
662  (yearTiny <= rule.toYearTiny())) {
+
663  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
664  logging::printf(
+
665  "addTransitionsForYear(): adding rule ");
+
666  if (rule.isNull()) {
+
667  logging::printf("ZR(null)\n");
+
668  } else {
+
669  logging::printf("ZR[%d,%d]\n",
+
670  rule.fromYearTiny(), rule.toYearTiny());
+
671  }
+
672  }
+
673  addTransition(yearTiny, 0 /*month*/, era, rule);
+
674  }
+
675  }
+
676 
+
677  return era;
+
678  }
+
679 
+
681  void addTransitionAfterYear(int8_t yearTiny,
+
682  basic::ZoneEraBroker currentEra) const {
+
683  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
684  logging::printf("addTransitionAfterYear(): %d\n", yearTiny);
+
685  }
+
686 
+
687  const basic::ZoneEraBroker eraAfter = findZoneEra(
+
688  mZoneInfo, yearTiny + 1);
+
689 
+
690  // If the current era is the same as the following year, then we'll just
+
691  // assume that the latest ZoneRule carries over to Jan 1st of the next
+
692  // year. tzcompiler.py guarantees no ZoneRule occurs on Jan 1st.
+
693  if (currentEra.zoneEra() == eraAfter.zoneEra()) {
+
694  return;
+
695  }
+
696 
+
697  // If the ZoneEra did change, find the latest transition prior to
+
698  // {yearTiny + 1, 1, 1}, then shift that Transition to Jan 1st of the
+
699  // following year.
+
700  basic::ZoneRuleBroker latest = findLatestPriorRule(
+
701  eraAfter.zonePolicy(), yearTiny + 1);
+
702  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
703  logging::printf(
+
704  "addTransitionsAfterYear(): adding latest prior ");
+
705  if (latest.isNull()) {
+
706  logging::printf("ZR(null)\n");
+
707  } else {
+
708  logging::printf("ZR[%d,%d]\n",
+
709  latest.fromYearTiny(), latest.toYearTiny());
+
710  }
+
711  }
+
712  addTransition(yearTiny + 1, 1 /*month*/, eraAfter, latest);
+
713  }
+
714 
+
738  void addTransition(int8_t yearTiny, uint8_t month, basic::ZoneEraBroker era,
+
739  basic::ZoneRuleBroker rule) const {
+
740 
+
741  // If a zone needs more transitions than kMaxCacheEntries, the check below
+
742  // will cause the DST transition information to be inaccurate, and it is
+
743  // highly likely that this situation would be caught in the
+
744  // 'tests/validation' unit tests. Since these unit tests pass, I feel
+
745  // confident that those zones which need more than kMaxCacheEntries are
+
746  // already filtered out by tzcompiler.py.
+
747  //
+
748  // Ideally, the tzcompiler.py script would explicitly remove those zones
+
749  // which need more than kMaxCacheEntries Transitions. But this would
+
750  // require a Python version of the BasicZoneProcessor, and unfortunately,
+
751  // zone_specifier.py implements only the ExtendedZoneProcessor algorithm
+
752  // An early version of zone_specifier.py may have implemented something
+
753  // close to BasicZoneProcessor, and it may be available in the git
+
754  // history. But it seems like too much work right now to try to dig that
+
755  // out, just to implement the explicit check for kMaxCacheEntries. It
+
756  // would mean maintaining another version of zone_specifier.py.
+
757  if (mNumTransitions >= kMaxCacheEntries) return;
+
758 
+
759  // insert new element at the end of the list
+
760  mTransitions[mNumTransitions] = createTransition(
+
761  yearTiny, month, era, rule);
+
762  mNumTransitions++;
+
763 
+
764  // perform an insertion sort based on ZoneRule.inMonth()
+
765  for (uint8_t i = mNumTransitions - 1; i > 0; i--) {
+
766  basic::Transition& left = mTransitions[i - 1];
+
767  basic::Transition& right = mTransitions[i];
+
768  // assume only 1 rule per month
+
769  if (basic::compareYearMonth(left.yearTiny, left.month,
+
770  right.yearTiny, right.month) > 0) {
+
771  basic::Transition tmp = left;
+
772  left = right;
+
773  right = tmp;
+
774  }
+
775  }
+
776  }
+
777 
+
783  static basic::Transition createTransition(int8_t yearTiny, uint8_t month,
+
784  basic::ZoneEraBroker era, basic::ZoneRuleBroker rule) {
+
785  int16_t deltaMinutes;
+
786  char letter;
+
787  uint8_t mon;
+
788  if (rule.isNull()) {
+
789  mon = 1; // RULES is either '-' or 'hh:mm' so takes effect in Jan
+
790  deltaMinutes = era.deltaMinutes();
+
791  letter = '\0';
+
792  } else {
+
793  mon = rule.inMonth();
+
794  deltaMinutes = rule.deltaMinutes();
+
795  letter = rule.letter();
+
796  }
+
797  // Clobber the month if specified.
+
798  if (month != 0) {
+
799  mon = month;
+
800  }
+
801  int16_t offsetMinutes = era.offsetMinutes() + deltaMinutes;
+
802 
+
803  return {
+
804  era,
+
805  rule,
+
806  0 /*epochSeconds*/,
+
807  offsetMinutes,
+
808  deltaMinutes,
+
809  yearTiny,
+
810  mon,
+
811  {letter} /*abbrev*/
+
812  };
+
813  }
+
814 
+
820  static basic::ZoneEraBroker findZoneEra(
+
821  basic::ZoneInfoBroker info, int8_t yearTiny) {
+
822  for (uint8_t i = 0; i < info.numEras(); i++) {
+
823  const basic::ZoneEraBroker era = info.era(i);
+
824  if (yearTiny < era.untilYearTiny()) return era;
+
825  }
+
826  // Return the last ZoneEra if we run off the end.
+
827  return info.era(info.numEras() - 1);
+
828  }
+
829 
+
837  void calcTransitions() const {
+
838  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
839  logging::printf("calcTransitions():\n");
+
840  }
+
841 
+
842  // Set the initial startEpochSeconds to be -Infinity
+
843  basic::Transition* prevTransition = &mTransitions[0];
+
844  prevTransition->startEpochSeconds = kMinEpochSeconds;
+
845 
+
846  for (uint8_t i = 1; i < mNumTransitions; i++) {
+
847  basic::Transition& transition = mTransitions[i];
+
848  const int16_t year = transition.yearTiny + LocalDate::kEpochYear;
+
849 
+
850  if (transition.rule.isNull()) {
+
851  // If the transition is simple (has no named rule), then the
+
852  // ZoneEra applies for the entire year (since BasicZoneProcessor
+
853  // supports only whole year in the UNTIL field). The whole year UNTIL
+
854  // field has an implied 'w' suffix on 00:00, we don't need to call
+
855  // calcRuleOffsetMinutes() with a 'w', we can just use the previous
+
856  // transition's offset to calculate the startDateTime of this
+
857  // transition.
+
858  //
+
859  // Also, when transition.rule == nullptr, the mNumTransitions should
+
860  // be 1, since only a single transition is added by
+
861  // addTransitionsForYear().
+
862  const int16_t prevOffsetMinutes = prevTransition->offsetMinutes;
+
863  OffsetDateTime startDateTime = OffsetDateTime::forComponents(
+
864  year, 1, 1, 0, 0, 0,
+
865  TimeOffset::forMinutes(prevOffsetMinutes));
+
866  transition.startEpochSeconds = startDateTime.toEpochSeconds();
+
867  } else {
+
868  // In this case, the transition points to a named ZonePolicy, which
+
869  // means that there could be multiple ZoneRules associated with the
+
870  // given year. For each transition, determine the startEpochSeconds,
+
871  // and the effective offset code.
+
872 
+
873  // Determine the start date of the rule.
+
874  const basic::MonthDay monthDay = calcStartDayOfMonth(
+
875  year, transition.month, transition.rule.onDayOfWeek(),
+
876  transition.rule.onDayOfMonth());
+
877 
+
878  // Determine the offset of the 'atTimeSuffix'. The 'w' suffix
+
879  // requires the offset of the previous transition.
+
880  const int16_t prevOffsetMinutes = calcRuleOffsetMinutes(
+
881  prevTransition->offsetMinutes,
+
882  transition.era.offsetMinutes(),
+
883  transition.rule.atTimeSuffix());
+
884 
+
885  // startDateTime
+
886  const uint16_t minutes = transition.rule.atTimeMinutes();
+
887  const uint8_t atHour = minutes / 60;
+
888  const uint8_t atMinute = minutes % 60;
+
889  OffsetDateTime startDateTime = OffsetDateTime::forComponents(
+
890  year, monthDay.month, monthDay.day,
+
891  atHour, atMinute, 0 /*second*/,
+
892  TimeOffset::forMinutes(prevOffsetMinutes));
+
893  transition.startEpochSeconds = startDateTime.toEpochSeconds();
+
894  }
+
895 
+
896  prevTransition = &transition;
+
897  }
+
898  }
+
899 
+
906  static int16_t calcRuleOffsetMinutes(int16_t prevEffectiveOffsetMinutes,
+
907  int16_t currentBaseOffsetMinutes, uint8_t atSuffix) {
+
908  if (atSuffix == basic::ZoneContext::kSuffixW) {
+
909  return prevEffectiveOffsetMinutes;
+
910  } else if (atSuffix == basic::ZoneContext::kSuffixS) {
+
911  return currentBaseOffsetMinutes;
+
912  } else { // 'u', 'g' or 'z'
+
913  return 0;
+
914  }
+
915  }
+
916 
+
918  void calcAbbreviations() const {
+
919  if (ACE_TIME_BASIC_ZONE_PROCESSOR_DEBUG) {
+
920  logging::printf("calcAbbreviations():\n");
+
921  }
+
922 
+
923  for (uint8_t i = 0; i < mNumTransitions; i++) {
+
924  calcAbbreviation(&mTransitions[i]);
+
925  }
+
926  }
+
927 
+
929  static void calcAbbreviation(basic::Transition* transition) {
+
930  createAbbreviation(
+
931  transition->abbrev,
+ +
933  transition->era.format(),
+
934  transition->deltaMinutes,
+
935  transition->abbrev[0]);
+
936  }
+
937 
+
986  static void createAbbreviation(char* dest, uint8_t destSize,
+
987  const char* format, int16_t deltaMinutes, char letter) {
+
988  // Check if FORMAT contains a '%'.
+
989  if (strchr(format, '%') != nullptr) {
+
990  // Check if RULES column empty, therefore no 'letter'
+
991  if (letter == '\0') {
+
992  strncpy(dest, format, destSize - 1);
+
993  dest[destSize - 1] = '\0';
+
994  } else {
+
995  copyAndReplace(dest, destSize, format, '%', letter);
+
996  }
+
997  } else {
+
998  // Check if FORMAT contains a '/'.
+
999  const char* slashPos = strchr(format, '/');
+
1000  if (slashPos != nullptr) {
+
1001  if (deltaMinutes == 0) {
+
1002  uint8_t headLength = (slashPos - format);
+
1003  if (headLength >= destSize) headLength = destSize - 1;
+
1004  memcpy(dest, format, headLength);
+
1005  dest[headLength] = '\0';
+
1006  } else {
+
1007  uint8_t tailLength = strlen(slashPos+1);
+
1008  if (tailLength >= destSize) tailLength = destSize - 1;
+
1009  memcpy(dest, slashPos+1, tailLength);
+
1010  dest[tailLength] = '\0';
+
1011  }
+
1012  } else {
+
1013  // Just copy the FORMAT disregarding the deltaMinutes and letter.
+
1014  strncpy(dest, format, destSize - 1);
+
1015  dest[destSize - 1] = '\0';
+
1016  }
+
1017  }
+
1018  }
+
1019 
+
1025  static void copyAndReplace(char* dst, uint8_t dstSize, const char* src,
+
1026  char oldChar, char newChar) {
+
1027  while (*src != '\0' && dstSize > 0) {
+
1028  if (*src == oldChar) {
+
1029  if (newChar == '-') {
+
1030  src++;
+
1031  } else {
+
1032  *dst = newChar;
+
1033  dst++;
+
1034  src++;
+
1035  dstSize--;
+
1036  }
+
1037  } else {
+
1038  *dst++ = *src++;
+
1039  dstSize--;
+
1040  }
+
1041  }
+
1042 
+
1043  if (dstSize == 0) {
+
1044  --dst;
+
1045  }
+
1046  *dst = '\0';
+
1047  }
+
1048 
+
1050  const basic::Transition* findMatch(acetime_t epochSeconds) const {
+
1051  const basic::Transition* closestMatch = nullptr;
+
1052  for (uint8_t i = 0; i < mNumTransitions; i++) {
+
1053  const basic::Transition* m = &mTransitions[i];
+
1054  if (closestMatch == nullptr || m->startEpochSeconds <= epochSeconds) {
+
1055  closestMatch = m;
+
1056  }
+
1057  }
+
1058  return closestMatch;
+
1059  }
+
1060 
+
1061  basic::ZoneInfoBroker mZoneInfo;
+
1062 
+
1063  mutable int8_t mYearTiny = LocalDate::kInvalidYearTiny;
+
1064  mutable bool mIsFilled = false;
+
1065  mutable uint8_t mNumTransitions = 0;
+
1066  mutable basic::Transition mTransitions[kMaxCacheEntries];
+
1067 };
+
1068 
+
1069 }
+
1070 
+
1071 #endif
+
static const uint8_t kAbbrevSize
Longest abbreviation currently seems to be 5 characters (https://www.timeanddate.com/time/zones/) but...
+
static basic::MonthDay calcStartDayOfMonth(int16_t year, uint8_t month, uint8_t onDayOfWeek, int8_t onDayOfMonth)
Calculate the actual (month, day) of the expresssion (onDayOfWeek >= onDayOfMonth) or (onDayOfWeek <=...
+
int8_t yearTiny
Year of the Transition.
+
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
Data broker for accessing ZoneRule.
Definition: Brokers.h:66
+
ZoneEraBroker era
The ZoneEra that matched the given year.
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone.
+
Data broker for accessing ZoneEra.
Definition: Brokers.h:213
+
int16_t deltaMinutes
The deltaMinutes from "standard time" at the start of transition.
+
The result of calcStartDayOfMonth().
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
+ +
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const override
+
static LocalDate forEpochSeconds(acetime_t epochSeconds)
Factory method using the number of seconds since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:157
+
BasicZoneProcessor(const basic::ZoneInfo *zoneInfo=nullptr)
Constructor.
+
Data structure that defines the start of a specific UTC offset as described by the matching ZoneEra a...
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+
void printTo(Print &printer) const override
Print a human-readable identifier (e.g.
+
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
+
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that 'does not exist'.
Definition: LocalDate.h:45
+
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
+
TimeOffset getUtcOffset(acetime_t epochSeconds) const override
Return the total UTC offset at epochSeconds, including DST offset.
+
char abbrev[kAbbrevSize]
The calculated effective time zone abbreviation, e.g.
+
TimeOffset getDeltaOffset(acetime_t epochSeconds) const override
Return the DST delta offset at epochSeconds.
+
int16_t offsetMinutes
The total effective UTC offset minutes at the start of transition, including DST offset.
+
uint8_t month
Month of the transition.
+
const LocalDate & localDate() const
Return the LocalDate.
+
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
+
static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day)
Factory method using separated year, month and day fields.
Definition: LocalDate.h:106
+
const char * getAbbrev(acetime_t epochSeconds) const override
Return the time zone abbreviation at epochSeconds.
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
+
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
+
acetime_t startEpochSeconds
The calculated transition time of the given rule.
+
static const int16_t kErrorMinutes
Sentinel value that represents an error.
Definition: TimeOffset.h:59
+
static OffsetDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset timeOffset)
Factory method using separated date, time, and UTC offset fields.
+
static uint8_t daysInMonth(int16_t year, uint8_t month)
Return the number of days in the current month.
Definition: LocalDate.h:222
+
void log() const
Used only for debugging.
+
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
+
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
+
uint32_t getZoneId() const override
Return the unique stable zoneId.
+
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.
+
ZoneRuleBroker rule
The Zone transition rule that matched for the the given year.
+
const void * getZoneInfo() const override
Return the underlying ZoneInfo.
+
void printShortTo(Print &printer) const override
Print a short human-readable identifier (e.g.
+
void log() const
Used only for debugging.
diff --git a/docs/html/BasicZone_8h_source.html b/docs/html/BasicZone_8h_source.html index c3ff6554b..0ca67e491 100644 --- a/docs/html/BasicZone_8h_source.html +++ b/docs/html/BasicZone_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/BasicZone.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/BasicZone.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
BasicZone.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_BASIC_ZONE_H
7 #define ACE_TIME_BASIC_ZONE_H
8 
9 #include "internal/ZoneInfo.h"
10 #include "internal/Brokers.h"
11 #include "common/compat.h"
12 
13 class __FlashStringHelper;
14 
15 namespace ace_time {
16 
22 class BasicZone {
23  public:
24  BasicZone(const basic::ZoneInfo* zoneInfo):
25  mZoneInfoBroker(zoneInfo) {}
26 
27  // use default copy constructor and assignment operator
28  BasicZone(const BasicZone&) = default;
29  BasicZone& operator=(const BasicZone&) = default;
30 
31 // TODO: Merge this with ExtendedZone.h now that they both use the same
32 // ACE_TIME_USE_PROGMEM macro.
33 #if ACE_TIME_USE_PROGMEM
34  const __FlashStringHelper* name() const {
35  return (const __FlashStringHelper*) mZoneInfoBroker.name();
36  }
37 
38  const __FlashStringHelper* shortName() const {
39  const char* name = mZoneInfoBroker.name();
40  const char* slash = strrchr_P(name, '/');
41  return (slash) ? (const __FlashStringHelper*) (slash + 1)
42  : (const __FlashStringHelper*) name;
43  }
44 #else
45  const char* name() const {
46  return (const char*) mZoneInfoBroker.name();
47  }
48 
49  const char* shortName() const {
50  const char* name = mZoneInfoBroker.name();
51  const char* slash = strrchr(name, '/');
52  return (slash) ? (slash + 1) : name;
53  }
54 #endif
55 
56  uint32_t zoneId() const {
57  return mZoneInfoBroker.zoneId();
58  }
59 
60  private:
61  const basic::ZoneInfoBroker mZoneInfoBroker;
62 };
63 
64 }
65 
66 #endif
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful ...
Definition: BasicZone.h:22
-
The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb...
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_BASIC_ZONE_H
+
7 #define ACE_TIME_BASIC_ZONE_H
+
8 
+
9 #include "internal/ZoneInfo.h"
+
10 #include "internal/Brokers.h"
+
11 #include "common/compat.h"
+
12 
+
13 class __FlashStringHelper;
+
14 
+
15 namespace ace_time {
+
16 
+
22 class BasicZone {
+
23  public:
+
24  BasicZone(const basic::ZoneInfo* zoneInfo):
+
25  mZoneInfoBroker(zoneInfo) {}
+
26 
+
27  // use default copy constructor and assignment operator
+
28  BasicZone(const BasicZone&) = default;
+
29  BasicZone& operator=(const BasicZone&) = default;
+
30 
+
31 // TODO: Merge this with ExtendedZone.h now that they both use the same
+
32 // ACE_TIME_USE_PROGMEM macro.
+
33 #if ACE_TIME_USE_PROGMEM
+
34  const __FlashStringHelper* name() const {
+
35  return (const __FlashStringHelper*) mZoneInfoBroker.name();
+
36  }
+
37 
+
38  const __FlashStringHelper* shortName() const {
+
39  const char* name = mZoneInfoBroker.name();
+
40  const char* slash = strrchr_P(name, '/');
+
41  return (slash) ? (const __FlashStringHelper*) (slash + 1)
+
42  : (const __FlashStringHelper*) name;
+
43  }
+
44 #else
+
45  const char* name() const {
+
46  return (const char*) mZoneInfoBroker.name();
+
47  }
+
48 
+
49  const char* shortName() const {
+
50  const char* name = mZoneInfoBroker.name();
+
51  const char* slash = strrchr(name, '/');
+
52  return (slash) ? (slash + 1) : name;
+
53  }
+
54 #endif
+
55 
+
56  uint32_t zoneId() const {
+
57  return mZoneInfoBroker.zoneId();
+
58  }
+
59 
+
60  private:
+
61  const basic::ZoneInfoBroker mZoneInfoBroker;
+
62 };
+
63 
+
64 }
+
65 
+
66 #endif
+ +
A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful ...
Definition: BasicZone.h:22
+ +
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
diff --git a/docs/html/Brokers_8h.html b/docs/html/Brokers_8h.html index 08bb7264a..833596c4f 100644 --- a/docs/html/Brokers_8h.html +++ b/docs/html/Brokers_8h.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h File Reference +AceTime: /home/brian/src/AceTime/src/ace_time/internal/Brokers.h File Reference @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
Brokers.h File Reference
- -

The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb/ and zonedbx/ directories. -More...

#include "../common/compat.h"
#include "ZoneInfo.h"
Include dependency graph for Brokers.h:
-
- - - - - - - - +
+ + + + + + + + + + + +
This graph shows which files directly or indirectly include this file:
-
- - - - - - - - - - - - - - - - +
+ + + + + + + + + + + + + + + + +
@@ -118,31 +123,31 @@

Classes

class  ace_time::basic::ZoneRuleBroker - Data broker for accessing ZoneRule. More...
+ Data broker for accessing ZoneRule. More...
  class  ace_time::basic::ZonePolicyBroker - Data broker for accessing ZonePolicy. More...
+ Data broker for accessing ZonePolicy. More...
  class  ace_time::basic::ZoneEraBroker - Data broker for accessing ZoneEra. More...
+ Data broker for accessing ZoneEra. More...
  class  ace_time::basic::ZoneInfoBroker - Data broker for accessing ZoneInfo. More...
+ Data broker for accessing ZoneInfo. More...
  class  ace_time::basic::ZoneRegistryBroker  Data broker for accessing the ZoneRegistry. More...
  class  ace_time::extended::ZoneRuleBroker - Data broker for accessing ZoneRule. More...
+ Data broker for accessing ZoneRule. More...
  class  ace_time::extended::ZonePolicyBroker - Data broker for accessing ZonePolicy. More...
+ Data broker for accessing ZonePolicy. More...
  class  ace_time::extended::ZoneEraBroker - Data broker for accessing ZoneEra. More...
+ Data broker for accessing ZoneEra. More...
  class  ace_time::extended::ZoneInfoBroker - Data broker for accessing ZoneInfo. More...
+ Data broker for accessing ZoneInfo. More...
  class  ace_time::extended::ZoneRegistryBroker  Data broker for accessing the ZoneRegistry. More...
@@ -150,8 +155,9 @@ - - + + @@ -165,60 +171,18 @@

Functions

uint16_t ace_time::internal::timeCodeToMinutes (uint8_t code, uint8_t modifier)
 Convert (timeCode, timeModifier) fields in zoneinfo to minutes. More...
+uint16_t ace_time::internal::timeCodeToMinutes (uint8_t code, uint8_t modifier)
 Convert (timeCode, timeModifier) fields in zoneinfo to minutes.
 
uint8_t ace_time::internal::toSuffix (uint8_t modifier)
 

Detailed Description

-

The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb/ and zonedbx/ directories.

-

When ACE_TIME_USE_PROGMEM or ACE_TIME_USE_PROGMEM are enabled, the zoneinfo files are stored in flash memory (using the PROGMEM keyword), and cannot be accessed directly on microcontrollers using the Harvard architecture (e.g. AVR) where data and program live in 2 different address spaces. The data in flash memory must be accessed using helper routines in <pgmspace.h>. These classes abstract away this difference so that the code BasicZoneProcessor and ExtendedZoneProcessor can be written to be (mostly) agnostic to how the zoneinfo files are stored.

+

The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb/ and zonedbx/ directories. When ACE_TIME_USE_PROGMEM or ACE_TIME_USE_PROGMEM are enabled, the zoneinfo files are stored in flash memory (using the PROGMEM keyword), and cannot be accessed directly on microcontrollers using the Harvard architecture (e.g. AVR) where data and program live in 2 different address spaces. The data in flash memory must be accessed using helper routines in <pgmspace.h>. These classes abstract away this difference so that the code BasicZoneProcessor and ExtendedZoneProcessor can be written to be (mostly) agnostic to how the zoneinfo files are stored.

When ACE_TIME_USE_PROGMEM are disabled, the compiler will optimize away this entire abstraction layer, so the resulting machine code is no bigger than (and in most cases, identifical to) accessing the zoneinfo files directly.

The abstraction layer is thin enough that the code in BasicZoneProcessor and ExtendedZoneProcessor did not change very much. It was mostly a mechanical source code replacement of direct zoneinfo access to using these data brokers.

The helper functions live in the internal:: namespace. The classes are somewhat duplicated between the 'basic' and 'extended' namespaces. They used to be identical so that they could be templatized. But supporting one-minute resolution for 'extended' meant that the implementations diverged, so I had to manual duplicate the classes.

Definition in file Brokers.h.

-

Function Documentation

- -

◆ timeCodeToMinutes()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
uint16_t ace_time::internal::timeCodeToMinutes (uint8_t code,
uint8_t modifier 
)
-
-inline
-
- -

Convert (timeCode, timeModifier) fields in zoneinfo to minutes.

- -

Definition at line 47 of file Brokers.h.

- -
-
-
+
diff --git a/docs/html/Brokers_8h__dep__incl.map b/docs/html/Brokers_8h__dep__incl.map index 8084226d9..e018f16f4 100644 --- a/docs/html/Brokers_8h__dep__incl.map +++ b/docs/html/Brokers_8h__dep__incl.map @@ -1,17 +1,18 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/docs/html/Brokers_8h__dep__incl.md5 b/docs/html/Brokers_8h__dep__incl.md5 index 6b4733f1c..7325445ec 100644 --- a/docs/html/Brokers_8h__dep__incl.md5 +++ b/docs/html/Brokers_8h__dep__incl.md5 @@ -1 +1 @@ -469c0b3c7f9ab127a5ea2587d76660cc \ No newline at end of file +bb13633e497017fab9b9730d37927415 \ No newline at end of file diff --git a/docs/html/Brokers_8h__dep__incl.png b/docs/html/Brokers_8h__dep__incl.png index 4a8315bd4..9ab124a87 100644 Binary files a/docs/html/Brokers_8h__dep__incl.png and b/docs/html/Brokers_8h__dep__incl.png differ diff --git a/docs/html/Brokers_8h__incl.map b/docs/html/Brokers_8h__incl.map index 3bc21a4b8..d0aade2cf 100644 --- a/docs/html/Brokers_8h__incl.map +++ b/docs/html/Brokers_8h__incl.map @@ -1,9 +1,13 @@ - - - - - - - - + + + + + + + + + + + + diff --git a/docs/html/Brokers_8h__incl.md5 b/docs/html/Brokers_8h__incl.md5 index f85a811a2..c780726df 100644 --- a/docs/html/Brokers_8h__incl.md5 +++ b/docs/html/Brokers_8h__incl.md5 @@ -1 +1 @@ -695e12d56b704f9966a6894d60946cec \ No newline at end of file +7787ba2b91a12467482f8c94edd43809 \ No newline at end of file diff --git a/docs/html/Brokers_8h__incl.png b/docs/html/Brokers_8h__incl.png index 799a5a9aa..9cf7e4cef 100644 Binary files a/docs/html/Brokers_8h__incl.png and b/docs/html/Brokers_8h__incl.png differ diff --git a/docs/html/Brokers_8h_source.html b/docs/html/Brokers_8h_source.html index d9e2c8bb5..6b73a8c16 100644 --- a/docs/html/Brokers_8h_source.html +++ b/docs/html/Brokers_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/Brokers.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */
Brokers.h
-Go to the documentation of this file.
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_BROKERS_H
7 #define ACE_TIME_BROKERS_H
8 
39 #include "../common/compat.h"
40 #include "ZoneInfo.h"
41 
42 namespace ace_time {
43 
44 namespace internal {
45 
47 inline uint16_t timeCodeToMinutes(uint8_t code, uint8_t modifier) {
48  return code * (uint16_t) 15 + (modifier & 0x0f);
49 }
50 
55 inline uint8_t toSuffix(uint8_t modifier) {
56  return modifier & 0xf0;
57 }
58 
59 } // internal
60 
61 //------------------------------------------------------------------------
62 
63 namespace basic {
64 
67  public:
68  explicit ZoneRuleBroker(const ZoneRule* zoneRule):
69  mZoneRule(zoneRule) {}
70 
72  mZoneRule(nullptr) {}
73 
74  // use the default copy constructor
75  ZoneRuleBroker(const ZoneRuleBroker&) = default;
76 
77  // use the default assignment operator
78  ZoneRuleBroker& operator=(const ZoneRuleBroker&) = default;
79 
80  bool isNull() const { return mZoneRule == nullptr; }
81 
82  #if ACE_TIME_USE_PROGMEM
83 
84  int8_t fromYearTiny() const {
85  return pgm_read_byte(&mZoneRule->fromYearTiny);
86  }
87 
88  int8_t toYearTiny() const {
89  return pgm_read_byte(&mZoneRule->toYearTiny);
90  }
91 
92  uint8_t inMonth() const {
93  return pgm_read_byte(&mZoneRule->inMonth);
94  }
95 
96  int8_t onDayOfWeek() const {
97  return pgm_read_byte(&mZoneRule->onDayOfWeek);
98  }
99 
100  int8_t onDayOfMonth() const {
101  return pgm_read_byte(&mZoneRule->onDayOfMonth);
102  }
103 
104  uint16_t atTimeMinutes() const {
105  return internal::timeCodeToMinutes(
106  pgm_read_byte(&mZoneRule->atTimeCode),
107  pgm_read_byte(&mZoneRule->atTimeModifier));
108  }
109 
110  uint8_t atTimeSuffix() const {
111  return internal::toSuffix(pgm_read_byte(&mZoneRule->atTimeModifier));
112  }
113 
114  int16_t deltaMinutes() const {
115  return 15 * (int8_t) pgm_read_byte(&mZoneRule->deltaCode);
116  }
117 
118  uint8_t letter() const {
119  return pgm_read_byte(&mZoneRule->letter);
120  }
121 
122  #else
123 
124  int8_t fromYearTiny() const { return mZoneRule->fromYearTiny; }
125 
126  int8_t toYearTiny() const { return mZoneRule->toYearTiny; }
127 
128  uint8_t inMonth() const { return mZoneRule->inMonth; }
129 
130  uint8_t onDayOfWeek() const { return mZoneRule->onDayOfWeek; }
131 
132  int8_t onDayOfMonth() const { return mZoneRule->onDayOfMonth; }
133 
134  uint16_t atTimeMinutes() const {
135  return internal::timeCodeToMinutes(
136  mZoneRule->atTimeCode, mZoneRule->atTimeModifier);
137  }
138 
139  uint8_t atTimeSuffix() const {
140  return internal::toSuffix(mZoneRule->atTimeModifier);
141  }
142 
143  int16_t deltaMinutes() const { return 15 * mZoneRule->deltaCode; }
144 
145  uint8_t letter() const { return mZoneRule->letter; }
146 
147  #endif
148 
149  private:
150  const ZoneRule* mZoneRule;
151 };
152 
155  public:
156  explicit ZonePolicyBroker(const ZonePolicy* zonePolicy):
157  mZonePolicy(zonePolicy) {}
158 
160  mZonePolicy(nullptr) {}
161 
162  // use default copy constructor
163  ZonePolicyBroker(const ZonePolicyBroker&) = default;
164 
165  // use default assignment operator
166  ZonePolicyBroker& operator=(const ZonePolicyBroker&) = default;
167 
168  bool isNull() const { return mZonePolicy == nullptr; }
169 
170  #if ACE_TIME_USE_PROGMEM
171 
172  uint8_t numRules() const {
173  return pgm_read_byte(&mZonePolicy->numRules);
174  }
175 
176  const ZoneRuleBroker rule(uint8_t i) const {
177  const ZoneRule* rules =
178  (const ZoneRule*) pgm_read_ptr(&mZonePolicy->rules);
179  return ZoneRuleBroker(&rules[i]);
180  }
181 
182  uint8_t numLetters() const {
183  return pgm_read_byte(&mZonePolicy->numLetters);
184  }
185 
186  const char* letter(uint8_t i) const {
187  const char* const* letters = (const char* const*)
188  pgm_read_ptr(&mZonePolicy->letters);
189  return (const char*) pgm_read_ptr(&letters[i]);
190  }
191 
192  #else
193 
194  uint8_t numRules() const { return mZonePolicy->numRules; }
195 
196  const ZoneRuleBroker rule(uint8_t i) const {
197  return ZoneRuleBroker(&mZonePolicy->rules[i]);
198  }
199 
200  uint8_t numLetters() const { return mZonePolicy->numLetters; }
201 
202  const char* letter(uint8_t i) const {
203  return mZonePolicy->letters[i];
204  }
205 
206  #endif
207 
208  private:
209  const ZonePolicy* mZonePolicy;
210 };
211 
214  public:
215  explicit ZoneEraBroker(const ZoneEra* zoneEra):
216  mZoneEra(zoneEra) {}
217 
218  ZoneEraBroker():
219  mZoneEra(nullptr) {}
220 
221  // use default copy constructor
222  ZoneEraBroker(const ZoneEraBroker&) = default;
223 
224  // use default assignment operator
225  ZoneEraBroker& operator=(const ZoneEraBroker&) = default;
226 
227  const ZoneEra* zoneEra() const { return mZoneEra; }
228 
229  bool isNull() const { return mZoneEra == nullptr; }
230 
231  #if ACE_TIME_USE_PROGMEM
232 
233  int16_t offsetMinutes() const {
234  return 15 * (int8_t) pgm_read_byte(&mZoneEra->offsetCode);
235  }
236 
237  const ZonePolicyBroker zonePolicy() const {
238  return ZonePolicyBroker(
239  (const ZonePolicy*) pgm_read_ptr(&mZoneEra->zonePolicy));
240  }
241 
242  int16_t deltaMinutes() const {
243  return 15 * (int8_t) pgm_read_byte(&mZoneEra->deltaCode);
244  }
245 
246  const char* format() const {
247  return (const char*) pgm_read_ptr(&mZoneEra->format);
248  }
249 
250  int8_t untilYearTiny() const {
251  return pgm_read_byte(&mZoneEra->untilYearTiny);
252  }
253 
254  uint8_t untilMonth() const {
255  return pgm_read_byte(&mZoneEra->untilMonth);
256  }
257 
258  uint8_t untilDay() const {
259  return pgm_read_byte(&mZoneEra->untilDay);
260  }
261 
262  uint16_t untilTimeMinutes() const {
263  return internal::timeCodeToMinutes(
264  pgm_read_byte(&mZoneEra->untilTimeCode),
265  pgm_read_byte(&mZoneEra->untilTimeModifier));
266  }
267 
268  uint8_t untilTimeSuffix() const {
269  return internal::toSuffix(pgm_read_byte(&mZoneEra->untilTimeModifier));
270  }
271 
272  #else
273 
274  int16_t offsetMinutes() const { return 15 * mZoneEra->offsetCode; }
275 
276  const ZonePolicyBroker zonePolicy() const {
277  return ZonePolicyBroker(mZoneEra->zonePolicy);
278  }
279 
280  int16_t deltaMinutes() const { return 15 * mZoneEra->deltaCode; }
281 
282  const char* format() const { return mZoneEra->format; }
283 
284  int8_t untilYearTiny() const { return mZoneEra->untilYearTiny; }
285 
286  uint8_t untilMonth() const { return mZoneEra->untilMonth; }
287 
288  uint8_t untilDay() const { return mZoneEra->untilDay; }
289 
290  uint16_t untilTimeMinutes() const {
291  return internal::timeCodeToMinutes(
292  mZoneEra->untilTimeCode, mZoneEra->untilTimeModifier);
293  }
294 
295  uint8_t untilTimeSuffix() const {
296  return internal::toSuffix(mZoneEra->untilTimeModifier);
297  }
298 
299  #endif
300 
301  private:
302  const ZoneEra* mZoneEra;
303 };
304 
307  public:
308  explicit ZoneInfoBroker(const ZoneInfo* zoneInfo):
309  mZoneInfo(zoneInfo) {}
310 
311  // use default copy constructor
312  ZoneInfoBroker(const ZoneInfoBroker&) = default;
313 
314  // use default assignment operator
315  ZoneInfoBroker& operator=(const ZoneInfoBroker&) = default;
316 
317  const ZoneInfo* zoneInfo() const { return mZoneInfo; }
318 
319  #if ACE_TIME_USE_PROGMEM
320 
321  const char* name() const {
322  return (const char*) pgm_read_ptr(&mZoneInfo->name);
323  }
324 
325  uint32_t zoneId() const {
326  return pgm_read_dword(&mZoneInfo->zoneId);
327  }
328 
329  int16_t startYear() const {
330  const ZoneContext* zoneContext =
331  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
332  return zoneContext->startYear;
333  }
334 
335  int16_t untilYear() const {
336  const ZoneContext* zoneContext =
337  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
338  return zoneContext->untilYear;
339  }
340 
341  uint8_t numEras() const {
342  return pgm_read_byte(&mZoneInfo->numEras);
343  }
344 
345  const ZoneEraBroker era(uint8_t i) const {
346  const ZoneEra* eras = (const ZoneEra*) pgm_read_ptr(&mZoneInfo->eras);
347  return ZoneEraBroker(&eras[i]);
348  }
349 
350  #else
351 
352  const char* name() const { return mZoneInfo->name; }
353 
354  uint32_t zoneId() const { return mZoneInfo->zoneId; }
355 
356  int16_t startYear() const { return mZoneInfo->zoneContext->startYear; }
357 
358  int16_t untilYear() const { return mZoneInfo->zoneContext->untilYear; }
359 
360  uint8_t numEras() const { return mZoneInfo->numEras; }
361 
362  const ZoneEraBroker era(uint8_t i) const {
363  return ZoneEraBroker(&mZoneInfo->eras[i]);
364  }
365 
366  #endif
367 
368  private:
369  const ZoneInfo* mZoneInfo;
370 };
371 
377  public:
378  ZoneRegistryBroker(const ZoneInfo* const* zoneRegistry):
379  mZoneRegistry(zoneRegistry) {}
380 
381  // use default copy constructor
382  ZoneRegistryBroker(const ZoneRegistryBroker&) = default;
383 
384  // use default assignment operator
385  ZoneRegistryBroker& operator=(const ZoneRegistryBroker&) = default;
386 
387  #if ACE_TIME_USE_PROGMEM
388 
389  const ZoneInfo* zoneInfo(uint16_t i) const {
390  return (const ZoneInfo*) pgm_read_ptr(&mZoneRegistry[i]);
391  }
392 
393  #else
394 
395  const ZoneInfo* zoneInfo(uint16_t i) const {
396  return mZoneRegistry[i];
397  }
398 
399  #endif
400 
401  private:
402  const ZoneInfo* const* const mZoneRegistry;
403 };
404 
405 } // basic
406 
407 //------------------------------------------------------------------------
408 
409 namespace extended {
410 
411 // deltaMinutes = deltaCode * 15m - 1h, (4-bits can store -01:00 to 02:45).
412 inline int16_t toDeltaMinutes(int8_t deltaCode) {
413  return ((int8_t)((uint8_t)deltaCode & 0x0f) - 4) * 15;
414 }
415 
416 // offsetCode holds the upper 15-minute multiples, as a signed 8-bit integer.
417 // The upper 4-bits of deltaCode holds the one-minute resolution, as an
418 // unsigned offset.
419 inline int16_t toOffsetMinutes(int8_t offsetCode, int8_t deltaCode) {
420  return (offsetCode * 15) + (((uint8_t)deltaCode & 0xf0) >> 4);
421 }
422 
425  public:
426  explicit ZoneRuleBroker(const ZoneRule* zoneRule):
427  mZoneRule(zoneRule) {}
428 
429  ZoneRuleBroker():
430  mZoneRule(nullptr) {}
431 
432  // use the default copy constructor
433  ZoneRuleBroker(const ZoneRuleBroker&) = default;
434 
435  // use the default assignment operator
436  ZoneRuleBroker& operator=(const ZoneRuleBroker&) = default;
437 
438  bool isNull() const { return mZoneRule == nullptr; }
439 
440  #if ACE_TIME_USE_PROGMEM
441 
442  int8_t fromYearTiny() const {
443  return pgm_read_byte(&mZoneRule->fromYearTiny);
444  }
445 
446  int8_t toYearTiny() const {
447  return pgm_read_byte(&mZoneRule->toYearTiny);
448  }
449 
450  uint8_t inMonth() const {
451  return pgm_read_byte(&mZoneRule->inMonth);
452  }
453 
454  uint8_t onDayOfWeek() const {
455  return pgm_read_byte(&mZoneRule->onDayOfWeek);
456  }
457 
458  int8_t onDayOfMonth() const {
459  return pgm_read_byte(&mZoneRule->onDayOfMonth);
460  }
461 
462  uint16_t atTimeMinutes() const {
463  return internal::timeCodeToMinutes(
464  pgm_read_byte(&mZoneRule->atTimeCode),
465  pgm_read_byte(&mZoneRule->atTimeModifier));
466  }
467 
468  uint8_t atTimeSuffix() const {
469  return internal::toSuffix(pgm_read_byte(&mZoneRule->atTimeModifier));
470  }
471 
472  int16_t deltaMinutes() const {
473  return toDeltaMinutes(pgm_read_byte(&mZoneRule->deltaCode));
474  }
475 
476  uint8_t letter() const {
477  return pgm_read_byte(&mZoneRule->letter);
478  }
479 
480  #else
481 
482  int8_t fromYearTiny() const { return mZoneRule->fromYearTiny; }
483 
484  int8_t toYearTiny() const { return mZoneRule->toYearTiny; }
485 
486  uint8_t inMonth() const { return mZoneRule->inMonth; }
487 
488  int8_t onDayOfWeek() const { return mZoneRule->onDayOfWeek; }
489 
490  int8_t onDayOfMonth() const { return mZoneRule->onDayOfMonth; }
491 
492  uint16_t atTimeMinutes() const {
493  return internal::timeCodeToMinutes(
494  mZoneRule->atTimeCode, mZoneRule->atTimeModifier);
495  }
496 
497  uint8_t atTimeSuffix() const {
498  return internal::toSuffix(mZoneRule->atTimeModifier);
499  }
500 
501  int16_t deltaMinutes() const {
502  return toDeltaMinutes(mZoneRule->deltaCode);
503  }
504 
505  uint8_t letter() const { return mZoneRule->letter; }
506 
507  #endif
508 
509  private:
510  const ZoneRule* mZoneRule;
511 };
512 
515  public:
516  explicit ZonePolicyBroker(const ZonePolicy* zonePolicy):
517  mZonePolicy(zonePolicy) {}
518 
519  // use default copy constructor
520  ZonePolicyBroker(const ZonePolicyBroker&) = default;
521 
522  // use default assignment operator
523  ZonePolicyBroker& operator=(const ZonePolicyBroker&) = default;
524 
525  bool isNull() const { return mZonePolicy == nullptr; }
526 
527  #if ACE_TIME_USE_PROGMEM
528 
529  uint8_t numRules() const {
530  return pgm_read_byte(&mZonePolicy->numRules);
531  }
532 
533  const ZoneRuleBroker rule(uint8_t i) const {
534  const ZoneRule* rules =
535  (const ZoneRule*) pgm_read_ptr(&mZonePolicy->rules);
536  return ZoneRuleBroker(&rules[i]);
537  }
538 
539  uint8_t numLetters() const {
540  return pgm_read_byte(&mZonePolicy->numLetters);
541  }
542 
543  const char* letter(uint8_t i) const {
544  const char* const* letters = (const char* const*)
545  pgm_read_ptr(&mZonePolicy->letters);
546  return (const char*) pgm_read_ptr(&letters[i]);
547  }
548 
549  #else
550 
551  uint8_t numRules() const { return mZonePolicy->numRules; }
552 
553  const ZoneRuleBroker rule(uint8_t i) const {
554  return ZoneRuleBroker(&mZonePolicy->rules[i]);
555  }
556 
557  uint8_t numLetters() const { return mZonePolicy->numLetters; }
558 
559  const char* letter(uint8_t i) const {
560  return mZonePolicy->letters[i];
561  }
562 
563  #endif
564 
565  private:
566  const ZonePolicy* const mZonePolicy;
567 };
568 
571  public:
572  explicit ZoneEraBroker(const ZoneEra* zoneEra):
573  mZoneEra(zoneEra) {}
574 
575  ZoneEraBroker():
576  mZoneEra(nullptr) {}
577 
578  // use default copy constructor
579  ZoneEraBroker(const ZoneEraBroker&) = default;
580 
581  // use default assignment operator
582  ZoneEraBroker& operator=(const ZoneEraBroker&) = default;
583 
584  const ZoneEra* zoneEra() const { return mZoneEra; }
585 
586  bool isNull() const { return mZoneEra == nullptr; }
587 
588  #if ACE_TIME_USE_PROGMEM
589 
590  const ZonePolicyBroker zonePolicy() const {
591  return ZonePolicyBroker(
592  (const ZonePolicy*) pgm_read_ptr(&mZoneEra->zonePolicy));
593  }
594 
595  int16_t offsetMinutes() const {
596  return toOffsetMinutes(
597  pgm_read_byte(&mZoneEra->offsetCode),
598  pgm_read_byte(&mZoneEra->deltaCode));
599  }
600 
601  int16_t deltaMinutes() const {
602  return toDeltaMinutes(pgm_read_byte(&mZoneEra->deltaCode));
603  }
604 
605  const char* format() const {
606  return (const char*) pgm_read_ptr(&mZoneEra->format);
607  }
608 
609  int8_t untilYearTiny() const {
610  return pgm_read_byte(&mZoneEra->untilYearTiny);
611  }
612 
613  uint8_t untilMonth() const {
614  return pgm_read_byte(&mZoneEra->untilMonth);
615  }
616 
617  uint8_t untilDay() const {
618  return pgm_read_byte(&mZoneEra->untilDay);
619  }
620 
621  uint16_t untilTimeMinutes() const {
622  return internal::timeCodeToMinutes(
623  pgm_read_byte(&mZoneEra->untilTimeCode),
624  pgm_read_byte(&mZoneEra->untilTimeModifier));
625  }
626 
627  uint8_t untilTimeSuffix() const {
628  return internal::toSuffix(pgm_read_byte(&mZoneEra->untilTimeModifier));
629  }
630 
631  #else
632 
633  const ZonePolicyBroker zonePolicy() const {
634  return ZonePolicyBroker(mZoneEra->zonePolicy);
635  }
636 
637  int16_t offsetMinutes() const {
638  return toOffsetMinutes(mZoneEra->offsetCode, mZoneEra->deltaCode);
639  }
640 
641  int16_t deltaMinutes() const {
642  return toDeltaMinutes(mZoneEra->deltaCode);
643  }
644 
645  const char* format() const { return mZoneEra->format; }
646 
647  int8_t untilYearTiny() const { return mZoneEra->untilYearTiny; }
648 
649  uint8_t untilMonth() const { return mZoneEra->untilMonth; }
650 
651  uint8_t untilDay() const { return mZoneEra->untilDay; }
652 
653  uint16_t untilTimeMinutes() const {
654  return internal::timeCodeToMinutes(
655  mZoneEra->untilTimeCode, mZoneEra->untilTimeModifier);
656  }
657 
658  uint8_t untilTimeSuffix() const {
659  return internal::toSuffix(mZoneEra->untilTimeModifier);
660  }
661 
662  #endif
663 
664  private:
665  const ZoneEra* mZoneEra;
666 
667 };
668 
671  public:
672  explicit ZoneInfoBroker(const ZoneInfo* zoneInfo):
673  mZoneInfo(zoneInfo) {}
674 
675  // use default copy constructor
676  ZoneInfoBroker(const ZoneInfoBroker&) = default;
677 
678  // use default assignment operator
679  ZoneInfoBroker& operator=(const ZoneInfoBroker&) = default;
680 
681  const ZoneInfo* zoneInfo() const { return mZoneInfo; }
682 
683  #if ACE_TIME_USE_PROGMEM
684 
685  const char* name() const {
686  return (const char*) pgm_read_ptr(&mZoneInfo->name);
687  }
688 
689  uint32_t zoneId() const {
690  return pgm_read_dword(&mZoneInfo->zoneId);
691  }
692 
693  int16_t startYear() const {
694  const ZoneContext* zoneContext =
695  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
696  return zoneContext->startYear;
697  }
698 
699  int16_t untilYear() const {
700  const ZoneContext* zoneContext =
701  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
702  return zoneContext->untilYear;
703  }
704 
705  uint8_t numEras() const {
706  return pgm_read_byte(&mZoneInfo->numEras);
707  }
708 
709  const ZoneEraBroker era(uint8_t i) const {
710  const ZoneEra* eras = (const ZoneEra*) pgm_read_ptr(&mZoneInfo->eras);
711  return ZoneEraBroker(&eras[i]);
712  }
713 
714  #else
715 
716  const char* name() const { return mZoneInfo->name; }
717 
718  uint32_t zoneId() const { return mZoneInfo->zoneId; }
719 
720  int16_t startYear() const { return mZoneInfo->zoneContext->startYear; }
721 
722  int16_t untilYear() const { return mZoneInfo->zoneContext->untilYear; }
723 
724  uint8_t numEras() const { return mZoneInfo->numEras; }
725 
726  const ZoneEraBroker era(uint8_t i) const {
727  return ZoneEraBroker(&mZoneInfo->eras[i]);
728  }
729 
730  #endif
731 
732  private:
733  const ZoneInfo* mZoneInfo;
734 };
735 
741  public:
742  ZoneRegistryBroker(const ZoneInfo* const* zoneRegistry):
743  mZoneRegistry(zoneRegistry) {}
744 
745  // use default copy constructor
746  ZoneRegistryBroker(const ZoneRegistryBroker&) = default;
747 
748  // use default assignment operator
749  ZoneRegistryBroker& operator=(const ZoneRegistryBroker&) = default;
750 
751  #if ACE_TIME_USE_PROGMEM
752 
753  const ZoneInfo* zoneInfo(uint16_t i) const {
754  return (const ZoneInfo*) pgm_read_ptr(&mZoneRegistry[i]);
755  }
756 
757  #else
758 
759  const ZoneInfo* zoneInfo(uint16_t i) const {
760  return mZoneRegistry[i];
761  }
762 
763  #endif
764 
765  private:
766  const ZoneInfo* const* const mZoneRegistry;
767 };
768 
769 } // extended
770 
771 }
772 
773 #endif
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition: ZoneInfo.h:20
-
const int16_t startYear
Start year of the zone files.
Definition: ZoneContext.h:30
-
Data broker for accessing the ZoneRegistry.
Definition: Brokers.h:376
- -
Data broker for accessing ZoneRule.
Definition: Brokers.h:424
-
A collection of transition rules which describe the DST rules of a given administrative region...
Definition: ZonePolicy.h:107
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
A collection of transition rules which describe the DST rules of a given administrative region...
Definition: ZonePolicy.h:107
-
const int16_t startYear
Start year of the zone files.
Definition: ZoneContext.h:30
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
uint8_t toSuffix(uint8_t modifier)
Extract the &#39;w&#39;, &#39;s&#39; &#39;u&#39; suffix from the &#39;modifier&#39; field, so that they can be compared against kSuff...
Definition: Brokers.h:55
-
Data broker for accessing ZonePolicy.
Definition: Brokers.h:154
-
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition: ZoneInfo.h:20
-
Data broker for accessing ZonePolicy.
Definition: Brokers.h:514
-
A time zone transition rule.
Definition: ZonePolicy.h:12
-
Metadata about the zone database.
Definition: ZoneContext.h:11
-
Metadata about the zone database.
Definition: ZoneContext.h:11
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
-
A time zone transition rule.
Definition: ZonePolicy.h:12
-
uint16_t timeCodeToMinutes(uint8_t code, uint8_t modifier)
Convert (timeCode, timeModifier) fields in zoneinfo to minutes.
Definition: Brokers.h:47
-
Data broker for accessing the ZoneRegistry.
Definition: Brokers.h:740
-
Data broker for accessing ZoneEra.
Definition: Brokers.h:570
-
const int16_t untilYear
Until year of the zone files.
Definition: ZoneContext.h:33
-
Data broker for accessing ZoneEra.
Definition: Brokers.h:213
-
Data broker for accessing ZoneRule.
Definition: Brokers.h:66
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
-
const int16_t untilYear
Until year of the zone files.
Definition: ZoneContext.h:33
+Go to the documentation of this file.
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_BROKERS_H
+
7 #define ACE_TIME_BROKERS_H
+
8 
+
39 #include "../common/compat.h"
+
40 #include "ZoneInfo.h"
+
41 
+
42 namespace ace_time {
+
43 
+
44 namespace internal {
+
45 
+
47 inline uint16_t timeCodeToMinutes(uint8_t code, uint8_t modifier) {
+
48  return code * (uint16_t) 15 + (modifier & 0x0f);
+
49 }
+
50 
+
55 inline uint8_t toSuffix(uint8_t modifier) {
+
56  return modifier & 0xf0;
+
57 }
+
58 
+
59 } // internal
+
60 
+
61 //------------------------------------------------------------------------
+
62 
+
63 namespace basic {
+
64 
+ +
67  public:
+
68  explicit ZoneRuleBroker(const ZoneRule* zoneRule):
+
69  mZoneRule(zoneRule) {}
+
70 
+ +
72  mZoneRule(nullptr) {}
+
73 
+
74  // use the default copy constructor
+
75  ZoneRuleBroker(const ZoneRuleBroker&) = default;
+
76 
+
77  // use the default assignment operator
+
78  ZoneRuleBroker& operator=(const ZoneRuleBroker&) = default;
+
79 
+
80  bool isNull() const { return mZoneRule == nullptr; }
+
81 
+
82  #if ACE_TIME_USE_PROGMEM
+
83 
+
84  int8_t fromYearTiny() const {
+
85  return pgm_read_byte(&mZoneRule->fromYearTiny);
+
86  }
+
87 
+
88  int8_t toYearTiny() const {
+
89  return pgm_read_byte(&mZoneRule->toYearTiny);
+
90  }
+
91 
+
92  uint8_t inMonth() const {
+
93  return pgm_read_byte(&mZoneRule->inMonth);
+
94  }
+
95 
+
96  int8_t onDayOfWeek() const {
+
97  return pgm_read_byte(&mZoneRule->onDayOfWeek);
+
98  }
+
99 
+
100  int8_t onDayOfMonth() const {
+
101  return pgm_read_byte(&mZoneRule->onDayOfMonth);
+
102  }
+
103 
+
104  uint16_t atTimeMinutes() const {
+
105  return internal::timeCodeToMinutes(
+
106  pgm_read_byte(&mZoneRule->atTimeCode),
+
107  pgm_read_byte(&mZoneRule->atTimeModifier));
+
108  }
+
109 
+
110  uint8_t atTimeSuffix() const {
+
111  return internal::toSuffix(pgm_read_byte(&mZoneRule->atTimeModifier));
+
112  }
+
113 
+
114  int16_t deltaMinutes() const {
+
115  return 15 * (int8_t) pgm_read_byte(&mZoneRule->deltaCode);
+
116  }
+
117 
+
118  uint8_t letter() const {
+
119  return pgm_read_byte(&mZoneRule->letter);
+
120  }
+
121 
+
122  #else
+
123 
+
124  int8_t fromYearTiny() const { return mZoneRule->fromYearTiny; }
+
125 
+
126  int8_t toYearTiny() const { return mZoneRule->toYearTiny; }
+
127 
+
128  uint8_t inMonth() const { return mZoneRule->inMonth; }
+
129 
+
130  uint8_t onDayOfWeek() const { return mZoneRule->onDayOfWeek; }
+
131 
+
132  int8_t onDayOfMonth() const { return mZoneRule->onDayOfMonth; }
+
133 
+
134  uint16_t atTimeMinutes() const {
+
135  return internal::timeCodeToMinutes(
+
136  mZoneRule->atTimeCode, mZoneRule->atTimeModifier);
+
137  }
+
138 
+
139  uint8_t atTimeSuffix() const {
+
140  return internal::toSuffix(mZoneRule->atTimeModifier);
+
141  }
+
142 
+
143  int16_t deltaMinutes() const { return 15 * mZoneRule->deltaCode; }
+
144 
+
145  uint8_t letter() const { return mZoneRule->letter; }
+
146 
+
147  #endif
+
148 
+
149  private:
+
150  const ZoneRule* mZoneRule;
+
151 };
+
152 
+ +
155  public:
+
156  explicit ZonePolicyBroker(const ZonePolicy* zonePolicy):
+
157  mZonePolicy(zonePolicy) {}
+
158 
+ +
160  mZonePolicy(nullptr) {}
+
161 
+
162  // use default copy constructor
+
163  ZonePolicyBroker(const ZonePolicyBroker&) = default;
+
164 
+
165  // use default assignment operator
+
166  ZonePolicyBroker& operator=(const ZonePolicyBroker&) = default;
+
167 
+
168  bool isNull() const { return mZonePolicy == nullptr; }
+
169 
+
170  #if ACE_TIME_USE_PROGMEM
+
171 
+
172  uint8_t numRules() const {
+
173  return pgm_read_byte(&mZonePolicy->numRules);
+
174  }
+
175 
+
176  const ZoneRuleBroker rule(uint8_t i) const {
+
177  const ZoneRule* rules =
+
178  (const ZoneRule*) pgm_read_ptr(&mZonePolicy->rules);
+
179  return ZoneRuleBroker(&rules[i]);
+
180  }
+
181 
+
182  uint8_t numLetters() const {
+
183  return pgm_read_byte(&mZonePolicy->numLetters);
+
184  }
+
185 
+
186  const char* letter(uint8_t i) const {
+
187  const char* const* letters = (const char* const*)
+
188  pgm_read_ptr(&mZonePolicy->letters);
+
189  return (const char*) pgm_read_ptr(&letters[i]);
+
190  }
+
191 
+
192  #else
+
193 
+
194  uint8_t numRules() const { return mZonePolicy->numRules; }
+
195 
+
196  const ZoneRuleBroker rule(uint8_t i) const {
+
197  return ZoneRuleBroker(&mZonePolicy->rules[i]);
+
198  }
+
199 
+
200  uint8_t numLetters() const { return mZonePolicy->numLetters; }
+
201 
+
202  const char* letter(uint8_t i) const {
+
203  return mZonePolicy->letters[i];
+
204  }
+
205 
+
206  #endif
+
207 
+
208  private:
+
209  const ZonePolicy* mZonePolicy;
+
210 };
+
211 
+ +
214  public:
+
215  explicit ZoneEraBroker(const ZoneEra* zoneEra):
+
216  mZoneEra(zoneEra) {}
+
217 
+
218  ZoneEraBroker():
+
219  mZoneEra(nullptr) {}
+
220 
+
221  // use default copy constructor
+
222  ZoneEraBroker(const ZoneEraBroker&) = default;
+
223 
+
224  // use default assignment operator
+
225  ZoneEraBroker& operator=(const ZoneEraBroker&) = default;
+
226 
+
227  const ZoneEra* zoneEra() const { return mZoneEra; }
+
228 
+
229  bool isNull() const { return mZoneEra == nullptr; }
+
230 
+
231  #if ACE_TIME_USE_PROGMEM
+
232 
+
233  int16_t offsetMinutes() const {
+
234  return 15 * (int8_t) pgm_read_byte(&mZoneEra->offsetCode);
+
235  }
+
236 
+
237  const ZonePolicyBroker zonePolicy() const {
+
238  return ZonePolicyBroker(
+
239  (const ZonePolicy*) pgm_read_ptr(&mZoneEra->zonePolicy));
+
240  }
+
241 
+
242  int16_t deltaMinutes() const {
+
243  return 15 * (int8_t) pgm_read_byte(&mZoneEra->deltaCode);
+
244  }
+
245 
+
246  const char* format() const {
+
247  return (const char*) pgm_read_ptr(&mZoneEra->format);
+
248  }
+
249 
+
250  int8_t untilYearTiny() const {
+
251  return pgm_read_byte(&mZoneEra->untilYearTiny);
+
252  }
+
253 
+
254  uint8_t untilMonth() const {
+
255  return pgm_read_byte(&mZoneEra->untilMonth);
+
256  }
+
257 
+
258  uint8_t untilDay() const {
+
259  return pgm_read_byte(&mZoneEra->untilDay);
+
260  }
+
261 
+
262  uint16_t untilTimeMinutes() const {
+
263  return internal::timeCodeToMinutes(
+
264  pgm_read_byte(&mZoneEra->untilTimeCode),
+
265  pgm_read_byte(&mZoneEra->untilTimeModifier));
+
266  }
+
267 
+
268  uint8_t untilTimeSuffix() const {
+
269  return internal::toSuffix(pgm_read_byte(&mZoneEra->untilTimeModifier));
+
270  }
+
271 
+
272  #else
+
273 
+
274  int16_t offsetMinutes() const { return 15 * mZoneEra->offsetCode; }
+
275 
+
276  const ZonePolicyBroker zonePolicy() const {
+
277  return ZonePolicyBroker(mZoneEra->zonePolicy);
+
278  }
+
279 
+
280  int16_t deltaMinutes() const { return 15 * mZoneEra->deltaCode; }
+
281 
+
282  const char* format() const { return mZoneEra->format; }
+
283 
+
284  int8_t untilYearTiny() const { return mZoneEra->untilYearTiny; }
+
285 
+
286  uint8_t untilMonth() const { return mZoneEra->untilMonth; }
+
287 
+
288  uint8_t untilDay() const { return mZoneEra->untilDay; }
+
289 
+
290  uint16_t untilTimeMinutes() const {
+
291  return internal::timeCodeToMinutes(
+
292  mZoneEra->untilTimeCode, mZoneEra->untilTimeModifier);
+
293  }
+
294 
+
295  uint8_t untilTimeSuffix() const {
+
296  return internal::toSuffix(mZoneEra->untilTimeModifier);
+
297  }
+
298 
+
299  #endif
+
300 
+
301  private:
+
302  const ZoneEra* mZoneEra;
+
303 };
+
304 
+ +
307  public:
+
308  explicit ZoneInfoBroker(const ZoneInfo* zoneInfo):
+
309  mZoneInfo(zoneInfo) {}
+
310 
+
311  // use default copy constructor
+
312  ZoneInfoBroker(const ZoneInfoBroker&) = default;
+
313 
+
314  // use default assignment operator
+
315  ZoneInfoBroker& operator=(const ZoneInfoBroker&) = default;
+
316 
+
317  const ZoneInfo* zoneInfo() const { return mZoneInfo; }
+
318 
+
319  #if ACE_TIME_USE_PROGMEM
+
320 
+
321  const char* name() const {
+
322  return (const char*) pgm_read_ptr(&mZoneInfo->name);
+
323  }
+
324 
+
325  uint32_t zoneId() const {
+
326  return pgm_read_dword(&mZoneInfo->zoneId);
+
327  }
+
328 
+
329  int16_t startYear() const {
+
330  const ZoneContext* zoneContext =
+
331  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
+
332  return zoneContext->startYear;
+
333  }
+
334 
+
335  int16_t untilYear() const {
+
336  const ZoneContext* zoneContext =
+
337  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
+
338  return zoneContext->untilYear;
+
339  }
+
340 
+
341  uint8_t numEras() const {
+
342  return pgm_read_byte(&mZoneInfo->numEras);
+
343  }
+
344 
+
345  const ZoneEraBroker era(uint8_t i) const {
+
346  const ZoneEra* eras = (const ZoneEra*) pgm_read_ptr(&mZoneInfo->eras);
+
347  return ZoneEraBroker(&eras[i]);
+
348  }
+
349 
+
350  #else
+
351 
+
352  const char* name() const { return mZoneInfo->name; }
+
353 
+
354  uint32_t zoneId() const { return mZoneInfo->zoneId; }
+
355 
+
356  int16_t startYear() const { return mZoneInfo->zoneContext->startYear; }
+
357 
+
358  int16_t untilYear() const { return mZoneInfo->zoneContext->untilYear; }
+
359 
+
360  uint8_t numEras() const { return mZoneInfo->numEras; }
+
361 
+
362  const ZoneEraBroker era(uint8_t i) const {
+
363  return ZoneEraBroker(&mZoneInfo->eras[i]);
+
364  }
+
365 
+
366  #endif
+
367 
+
368  private:
+
369  const ZoneInfo* mZoneInfo;
+
370 };
+
371 
+ +
377  public:
+
378  ZoneRegistryBroker(const ZoneInfo* const* zoneRegistry):
+
379  mZoneRegistry(zoneRegistry) {}
+
380 
+
381  // use default copy constructor
+
382  ZoneRegistryBroker(const ZoneRegistryBroker&) = default;
+
383 
+
384  // use default assignment operator
+
385  ZoneRegistryBroker& operator=(const ZoneRegistryBroker&) = default;
+
386 
+
387  #if ACE_TIME_USE_PROGMEM
+
388 
+
389  const ZoneInfo* zoneInfo(uint16_t i) const {
+
390  return (const ZoneInfo*) pgm_read_ptr(&mZoneRegistry[i]);
+
391  }
+
392 
+
393  #else
+
394 
+
395  const ZoneInfo* zoneInfo(uint16_t i) const {
+
396  return mZoneRegistry[i];
+
397  }
+
398 
+
399  #endif
+
400 
+
401  private:
+
402  const ZoneInfo* const* const mZoneRegistry;
+
403 };
+
404 
+
405 } // basic
+
406 
+
407 //------------------------------------------------------------------------
+
408 
+
409 namespace extended {
+
410 
+
411 // deltaMinutes = deltaCode * 15m - 1h, (4-bits can store -01:00 to 02:45).
+
412 inline int16_t toDeltaMinutes(int8_t deltaCode) {
+
413  return ((int8_t)((uint8_t)deltaCode & 0x0f) - 4) * 15;
+
414 }
+
415 
+
416 // offsetCode holds the upper 15-minute multiples, as a signed 8-bit integer.
+
417 // The upper 4-bits of deltaCode holds the one-minute resolution, as an
+
418 // unsigned offset.
+
419 inline int16_t toOffsetMinutes(int8_t offsetCode, int8_t deltaCode) {
+
420  return (offsetCode * 15) + (((uint8_t)deltaCode & 0xf0) >> 4);
+
421 }
+
422 
+ +
425  public:
+
426  explicit ZoneRuleBroker(const ZoneRule* zoneRule):
+
427  mZoneRule(zoneRule) {}
+
428 
+
429  ZoneRuleBroker():
+
430  mZoneRule(nullptr) {}
+
431 
+
432  // use the default copy constructor
+
433  ZoneRuleBroker(const ZoneRuleBroker&) = default;
+
434 
+
435  // use the default assignment operator
+
436  ZoneRuleBroker& operator=(const ZoneRuleBroker&) = default;
+
437 
+
438  bool isNull() const { return mZoneRule == nullptr; }
+
439 
+
440  #if ACE_TIME_USE_PROGMEM
+
441 
+
442  int8_t fromYearTiny() const {
+
443  return pgm_read_byte(&mZoneRule->fromYearTiny);
+
444  }
+
445 
+
446  int8_t toYearTiny() const {
+
447  return pgm_read_byte(&mZoneRule->toYearTiny);
+
448  }
+
449 
+
450  uint8_t inMonth() const {
+
451  return pgm_read_byte(&mZoneRule->inMonth);
+
452  }
+
453 
+
454  uint8_t onDayOfWeek() const {
+
455  return pgm_read_byte(&mZoneRule->onDayOfWeek);
+
456  }
+
457 
+
458  int8_t onDayOfMonth() const {
+
459  return pgm_read_byte(&mZoneRule->onDayOfMonth);
+
460  }
+
461 
+
462  uint16_t atTimeMinutes() const {
+
463  return internal::timeCodeToMinutes(
+
464  pgm_read_byte(&mZoneRule->atTimeCode),
+
465  pgm_read_byte(&mZoneRule->atTimeModifier));
+
466  }
+
467 
+
468  uint8_t atTimeSuffix() const {
+
469  return internal::toSuffix(pgm_read_byte(&mZoneRule->atTimeModifier));
+
470  }
+
471 
+
472  int16_t deltaMinutes() const {
+
473  return toDeltaMinutes(pgm_read_byte(&mZoneRule->deltaCode));
+
474  }
+
475 
+
476  uint8_t letter() const {
+
477  return pgm_read_byte(&mZoneRule->letter);
+
478  }
+
479 
+
480  #else
+
481 
+
482  int8_t fromYearTiny() const { return mZoneRule->fromYearTiny; }
+
483 
+
484  int8_t toYearTiny() const { return mZoneRule->toYearTiny; }
+
485 
+
486  uint8_t inMonth() const { return mZoneRule->inMonth; }
+
487 
+
488  int8_t onDayOfWeek() const { return mZoneRule->onDayOfWeek; }
+
489 
+
490  int8_t onDayOfMonth() const { return mZoneRule->onDayOfMonth; }
+
491 
+
492  uint16_t atTimeMinutes() const {
+
493  return internal::timeCodeToMinutes(
+
494  mZoneRule->atTimeCode, mZoneRule->atTimeModifier);
+
495  }
+
496 
+
497  uint8_t atTimeSuffix() const {
+
498  return internal::toSuffix(mZoneRule->atTimeModifier);
+
499  }
+
500 
+
501  int16_t deltaMinutes() const {
+
502  return toDeltaMinutes(mZoneRule->deltaCode);
+
503  }
+
504 
+
505  uint8_t letter() const { return mZoneRule->letter; }
+
506 
+
507  #endif
+
508 
+
509  private:
+
510  const ZoneRule* mZoneRule;
+
511 };
+
512 
+ +
515  public:
+
516  explicit ZonePolicyBroker(const ZonePolicy* zonePolicy):
+
517  mZonePolicy(zonePolicy) {}
+
518 
+
519  // use default copy constructor
+
520  ZonePolicyBroker(const ZonePolicyBroker&) = default;
+
521 
+
522  // use default assignment operator
+
523  ZonePolicyBroker& operator=(const ZonePolicyBroker&) = default;
+
524 
+
525  bool isNull() const { return mZonePolicy == nullptr; }
+
526 
+
527  #if ACE_TIME_USE_PROGMEM
+
528 
+
529  uint8_t numRules() const {
+
530  return pgm_read_byte(&mZonePolicy->numRules);
+
531  }
+
532 
+
533  const ZoneRuleBroker rule(uint8_t i) const {
+
534  const ZoneRule* rules =
+
535  (const ZoneRule*) pgm_read_ptr(&mZonePolicy->rules);
+
536  return ZoneRuleBroker(&rules[i]);
+
537  }
+
538 
+
539  uint8_t numLetters() const {
+
540  return pgm_read_byte(&mZonePolicy->numLetters);
+
541  }
+
542 
+
543  const char* letter(uint8_t i) const {
+
544  const char* const* letters = (const char* const*)
+
545  pgm_read_ptr(&mZonePolicy->letters);
+
546  return (const char*) pgm_read_ptr(&letters[i]);
+
547  }
+
548 
+
549  #else
+
550 
+
551  uint8_t numRules() const { return mZonePolicy->numRules; }
+
552 
+
553  const ZoneRuleBroker rule(uint8_t i) const {
+
554  return ZoneRuleBroker(&mZonePolicy->rules[i]);
+
555  }
+
556 
+
557  uint8_t numLetters() const { return mZonePolicy->numLetters; }
+
558 
+
559  const char* letter(uint8_t i) const {
+
560  return mZonePolicy->letters[i];
+
561  }
+
562 
+
563  #endif
+
564 
+
565  private:
+
566  const ZonePolicy* const mZonePolicy;
+
567 };
+
568 
+ +
571  public:
+
572  explicit ZoneEraBroker(const ZoneEra* zoneEra):
+
573  mZoneEra(zoneEra) {}
+
574 
+
575  ZoneEraBroker():
+
576  mZoneEra(nullptr) {}
+
577 
+
578  // use default copy constructor
+
579  ZoneEraBroker(const ZoneEraBroker&) = default;
+
580 
+
581  // use default assignment operator
+
582  ZoneEraBroker& operator=(const ZoneEraBroker&) = default;
+
583 
+
584  const ZoneEra* zoneEra() const { return mZoneEra; }
+
585 
+
586  bool isNull() const { return mZoneEra == nullptr; }
+
587 
+
588  #if ACE_TIME_USE_PROGMEM
+
589 
+
590  const ZonePolicyBroker zonePolicy() const {
+
591  return ZonePolicyBroker(
+
592  (const ZonePolicy*) pgm_read_ptr(&mZoneEra->zonePolicy));
+
593  }
+
594 
+
595  int16_t offsetMinutes() const {
+
596  return toOffsetMinutes(
+
597  pgm_read_byte(&mZoneEra->offsetCode),
+
598  pgm_read_byte(&mZoneEra->deltaCode));
+
599  }
+
600 
+
601  int16_t deltaMinutes() const {
+
602  return toDeltaMinutes(pgm_read_byte(&mZoneEra->deltaCode));
+
603  }
+
604 
+
605  const char* format() const {
+
606  return (const char*) pgm_read_ptr(&mZoneEra->format);
+
607  }
+
608 
+
609  int8_t untilYearTiny() const {
+
610  return pgm_read_byte(&mZoneEra->untilYearTiny);
+
611  }
+
612 
+
613  uint8_t untilMonth() const {
+
614  return pgm_read_byte(&mZoneEra->untilMonth);
+
615  }
+
616 
+
617  uint8_t untilDay() const {
+
618  return pgm_read_byte(&mZoneEra->untilDay);
+
619  }
+
620 
+
621  uint16_t untilTimeMinutes() const {
+
622  return internal::timeCodeToMinutes(
+
623  pgm_read_byte(&mZoneEra->untilTimeCode),
+
624  pgm_read_byte(&mZoneEra->untilTimeModifier));
+
625  }
+
626 
+
627  uint8_t untilTimeSuffix() const {
+
628  return internal::toSuffix(pgm_read_byte(&mZoneEra->untilTimeModifier));
+
629  }
+
630 
+
631  #else
+
632 
+
633  const ZonePolicyBroker zonePolicy() const {
+
634  return ZonePolicyBroker(mZoneEra->zonePolicy);
+
635  }
+
636 
+
637  int16_t offsetMinutes() const {
+
638  return toOffsetMinutes(mZoneEra->offsetCode, mZoneEra->deltaCode);
+
639  }
+
640 
+
641  int16_t deltaMinutes() const {
+
642  return toDeltaMinutes(mZoneEra->deltaCode);
+
643  }
+
644 
+
645  const char* format() const { return mZoneEra->format; }
+
646 
+
647  int8_t untilYearTiny() const { return mZoneEra->untilYearTiny; }
+
648 
+
649  uint8_t untilMonth() const { return mZoneEra->untilMonth; }
+
650 
+
651  uint8_t untilDay() const { return mZoneEra->untilDay; }
+
652 
+
653  uint16_t untilTimeMinutes() const {
+
654  return internal::timeCodeToMinutes(
+
655  mZoneEra->untilTimeCode, mZoneEra->untilTimeModifier);
+
656  }
+
657 
+
658  uint8_t untilTimeSuffix() const {
+
659  return internal::toSuffix(mZoneEra->untilTimeModifier);
+
660  }
+
661 
+
662  #endif
+
663 
+
664  private:
+
665  const ZoneEra* mZoneEra;
+
666 
+
667 };
+
668 
+ +
671  public:
+
672  explicit ZoneInfoBroker(const ZoneInfo* zoneInfo):
+
673  mZoneInfo(zoneInfo) {}
+
674 
+
675  // use default copy constructor
+
676  ZoneInfoBroker(const ZoneInfoBroker&) = default;
+
677 
+
678  // use default assignment operator
+
679  ZoneInfoBroker& operator=(const ZoneInfoBroker&) = default;
+
680 
+
681  const ZoneInfo* zoneInfo() const { return mZoneInfo; }
+
682 
+
683  #if ACE_TIME_USE_PROGMEM
+
684 
+
685  const char* name() const {
+
686  return (const char*) pgm_read_ptr(&mZoneInfo->name);
+
687  }
+
688 
+
689  uint32_t zoneId() const {
+
690  return pgm_read_dword(&mZoneInfo->zoneId);
+
691  }
+
692 
+
693  int16_t startYear() const {
+
694  const ZoneContext* zoneContext =
+
695  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
+
696  return zoneContext->startYear;
+
697  }
+
698 
+
699  int16_t untilYear() const {
+
700  const ZoneContext* zoneContext =
+
701  (const ZoneContext*) pgm_read_ptr(&mZoneInfo->zoneContext);
+
702  return zoneContext->untilYear;
+
703  }
+
704 
+
705  uint8_t numEras() const {
+
706  return pgm_read_byte(&mZoneInfo->numEras);
+
707  }
+
708 
+
709  const ZoneEraBroker era(uint8_t i) const {
+
710  const ZoneEra* eras = (const ZoneEra*) pgm_read_ptr(&mZoneInfo->eras);
+
711  return ZoneEraBroker(&eras[i]);
+
712  }
+
713 
+
714  #else
+
715 
+
716  const char* name() const { return mZoneInfo->name; }
+
717 
+
718  uint32_t zoneId() const { return mZoneInfo->zoneId; }
+
719 
+
720  int16_t startYear() const { return mZoneInfo->zoneContext->startYear; }
+
721 
+
722  int16_t untilYear() const { return mZoneInfo->zoneContext->untilYear; }
+
723 
+
724  uint8_t numEras() const { return mZoneInfo->numEras; }
+
725 
+
726  const ZoneEraBroker era(uint8_t i) const {
+
727  return ZoneEraBroker(&mZoneInfo->eras[i]);
+
728  }
+
729 
+
730  #endif
+
731 
+
732  private:
+
733  const ZoneInfo* mZoneInfo;
+
734 };
+
735 
+ +
741  public:
+
742  ZoneRegistryBroker(const ZoneInfo* const* zoneRegistry):
+
743  mZoneRegistry(zoneRegistry) {}
+
744 
+
745  // use default copy constructor
+
746  ZoneRegistryBroker(const ZoneRegistryBroker&) = default;
+
747 
+
748  // use default assignment operator
+
749  ZoneRegistryBroker& operator=(const ZoneRegistryBroker&) = default;
+
750 
+
751  #if ACE_TIME_USE_PROGMEM
+
752 
+
753  const ZoneInfo* zoneInfo(uint16_t i) const {
+
754  return (const ZoneInfo*) pgm_read_ptr(&mZoneRegistry[i]);
+
755  }
+
756 
+
757  #else
+
758 
+
759  const ZoneInfo* zoneInfo(uint16_t i) const {
+
760  return mZoneRegistry[i];
+
761  }
+
762 
+
763  #endif
+
764 
+
765  private:
+
766  const ZoneInfo* const* const mZoneRegistry;
+
767 };
+
768 
+
769 } // extended
+
770 
+
771 }
+
772 
+
773 #endif
+
Data broker for accessing ZoneRule.
Definition: Brokers.h:66
+
Data broker for accessing ZoneRule.
Definition: Brokers.h:424
+
Data broker for accessing ZoneEra.
Definition: Brokers.h:213
+
uint8_t toSuffix(uint8_t modifier)
Extract the 'w', 's' 'u' suffix from the 'modifier' field, so that they can be compared against kSuff...
Definition: Brokers.h:55
+
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
+
Data broker for accessing the ZoneRegistry.
Definition: Brokers.h:740
+
Data broker for accessing ZonePolicy.
Definition: Brokers.h:514
+
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
+
Data broker for accessing the ZoneRegistry.
Definition: Brokers.h:376
+
Data broker for accessing ZoneEra.
Definition: Brokers.h:570
+
uint16_t timeCodeToMinutes(uint8_t code, uint8_t modifier)
Convert (timeCode, timeModifier) fields in zoneinfo to minutes.
Definition: Brokers.h:47
+
Data broker for accessing ZonePolicy.
Definition: Brokers.h:154
diff --git a/docs/html/Clock_8h_source.html b/docs/html/Clock_8h_source.html index 03103e873..9e30b4dc4 100644 --- a/docs/html/Clock_8h_source.html +++ b/docs/html/Clock_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/Clock.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/Clock.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
Clock.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_CLOCK_H
7 #define ACE_TIME_CLOCK_H
8 
9 #include <stdint.h>
10 #include "../common/common.h"
11 #include "../LocalTime.h"
12 
13 namespace ace_time {
14 namespace clock {
15 
20 class Clock {
21  public:
22  static const acetime_t kInvalidSeconds = LocalTime::kInvalidSeconds;
23 
25  virtual ~Clock() {}
26 
35  virtual acetime_t getNow() const = 0;
36 
38  virtual void sendRequest() const {}
39 
41  virtual bool isResponseReady() const { return true; }
42 
48  virtual acetime_t readResponse() const { return getNow(); }
49 
56  virtual void setNow(acetime_t /*epochSeconds*/) {}
57 };
58 
59 }
60 }
61 
62 #endif
-
static const acetime_t kInvalidSeconds
An invalid seconds marker that indicates isError() true.
Definition: LocalTime.h:29
-
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: Clock.h:41
-
virtual void setNow(acetime_t)
Set the time to the indicated seconds.
Definition: Clock.h:56
-
virtual void sendRequest() const
Send a time request asynchronously.
Definition: Clock.h:38
-
virtual ~Clock()
Virtual destructor.
Definition: Clock.h:25
-
Base class for objects that provide and store time.
Definition: Clock.h:20
-
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: Clock.h:48
-
virtual acetime_t getNow() const =0
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_CLOCK_H
+
7 #define ACE_TIME_CLOCK_H
+
8 
+
9 #include <stdint.h>
+
10 #include "../common/common.h"
+
11 #include "../LocalTime.h"
+
12 
+
13 namespace ace_time {
+
14 namespace clock {
+
15 
+
20 class Clock {
+
21  public:
+
22  static const acetime_t kInvalidSeconds = LocalTime::kInvalidSeconds;
+
23 
+
25  virtual ~Clock() {}
+
26 
+
35  virtual acetime_t getNow() const = 0;
+
36 
+
38  virtual void sendRequest() const {}
+
39 
+
41  virtual bool isResponseReady() const { return true; }
+
42 
+
48  virtual acetime_t readResponse() const { return getNow(); }
+
49 
+
56  virtual void setNow(acetime_t /*epochSeconds*/) {}
+
57 };
+
58 
+
59 }
+
60 }
+
61 
+
62 #endif
+
virtual acetime_t getNow() const =0
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
+
virtual void sendRequest() const
Send a time request asynchronously.
Definition: Clock.h:38
+
static const acetime_t kInvalidSeconds
An invalid seconds marker that indicates isError() true.
Definition: LocalTime.h:29
+
virtual ~Clock()
Virtual destructor.
Definition: Clock.h:25
+
virtual void setNow(acetime_t)
Set the time to the indicated seconds.
Definition: Clock.h:56
+
Base class for objects that provide and store time.
Definition: Clock.h:20
+
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: Clock.h:41
+
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: Clock.h:48
diff --git a/docs/html/CrcEeprom_8h_source.html b/docs/html/CrcEeprom_8h_source.html index 2419bdd9b..ea3e42cc7 100644 --- a/docs/html/CrcEeprom_8h_source.html +++ b/docs/html/CrcEeprom_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw/CrcEeprom.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/hw/CrcEeprom.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
CrcEeprom.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_HW_CRC_EEPROM_H
7 #define ACE_TIME_HW_CRC_EEPROM_H
8 
9 #if ! defined(UNIX_HOST_DUINO)
10 
11 // EEPROM is supported only on certain Arduino boards. In particular, many
12 // (most?) Arduino Zero compatible boards cannot support EEPROM even on Flash
13 // emulation because the version of the SAMD21 chip on the board doesn't
14 // support RWW (read-while-write).
15 #if !defined(AVR) && !defined(ESP8266) && !defined(ESP32) && \
16  !defined(TEENSYDUINO)
17  #error Unsupported architecture
18 #endif
19 
20 #include <EEPROM.h>
21 #include <FastCRC.h>
22 
23 namespace ace_time {
24 namespace hw {
25 
42 class CrcEeprom {
43  public:
44 
49 #if defined(ESP8266) || defined(ESP32)
50  void begin(uint16_t size) {
51  EEPROM.begin(size);
52  }
53 #else
54  void begin(uint16_t /*size*/) {
55  }
56 #endif
57 
61  uint16_t writeWithCrc(int address, const void* const data,
62  const uint16_t dataSize) const {
63  uint16_t byteCount = dataSize;
64  const uint8_t* d = (const uint8_t*) data;
65 
66  // write data blcok
67  while (byteCount-- > 0) {
68  write(address++, *d++);
69  }
70 
71  // write CRC at the end of the data block
72  uint32_t crc = FastCRC32().crc32((const uint8_t*) data, dataSize);
73  uint8_t buf[4];
74  memcpy(buf, &crc, 4);
75  write(address++, buf[0]);
76  write(address++, buf[1]);
77  write(address++, buf[2]);
78  write(address++, buf[3]);
79 
80  bool success = commit();
81  return (success) ? dataSize + sizeof(crc) : 0;
82  }
83 
88  bool readWithCrc(int address, void* const data,
89  const uint16_t dataSize) const {
90  uint16_t byteCount = dataSize;
91  uint8_t* d = (uint8_t*) data;
92 
93  // read data block
94  while (byteCount-- > 0) {
95  *d++ = read(address++);
96  }
97 
98  // read CRC at the end of the data block
99  uint8_t buf[4];
100  buf[0] = read(address++);
101  buf[1] = read(address++);
102  buf[2] = read(address++);
103  buf[3] = read(address++);
104  uint32_t crc;
105  memcpy(&crc, buf, 4);
106 
107  uint32_t dataCrc = FastCRC32().crc32((const uint8_t*) data, dataSize);
108  return crc == dataCrc;
109  }
110 
111  private:
112  void write(int address, uint8_t val) const {
113 #if defined(ESP8266) || defined(ESP32)
114  EEPROM.write(address, val);
115 #else
116  EEPROM.update(address, val);
117 #endif
118  }
119 
120  uint8_t read(int address) const {
121  return EEPROM.read(address);
122  }
123 
124  bool commit() const {
125 #if defined(ESP8266) || defined(ESP32)
126  return EEPROM.commit();
127 #else
128  return true;
129 #endif
130  }
131 };
132 
133 }
134 }
135 
136 #endif
137 
138 #endif
-
uint16_t writeWithCrc(int address, const void *const data, const uint16_t dataSize) const
Write the data with its CRC.
Definition: CrcEeprom.h:61
-
void begin(uint16_t size)
Call from global setup() function.
Definition: CrcEeprom.h:50
-
Thin wrapper around the EEPROM object (from the the built-in EEPROM library) to read and write a give...
Definition: CrcEeprom.h:42
-
bool readWithCrc(int address, void *const data, const uint16_t dataSize) const
Read the data from EEPROM along with its CRC.
Definition: CrcEeprom.h:88
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_HW_CRC_EEPROM_H
+
7 #define ACE_TIME_HW_CRC_EEPROM_H
+
8 
+
9 #if ! defined(UNIX_HOST_DUINO)
+
10 
+
11 // EEPROM is supported only on certain Arduino boards. In particular, many
+
12 // (most?) Arduino Zero compatible boards cannot support EEPROM even on Flash
+
13 // emulation because the version of the SAMD21 chip on the board doesn't
+
14 // support RWW (read-while-write).
+
15 #if !defined(AVR) && !defined(ESP8266) && !defined(ESP32) && \
+
16  !defined(TEENSYDUINO)
+
17  #error Unsupported architecture
+
18 #endif
+
19 
+
20 #include <EEPROM.h>
+
21 #include <FastCRC.h>
+
22 
+
23 namespace ace_time {
+
24 namespace hw {
+
25 
+
42 class CrcEeprom {
+
43  public:
+
44 
+
49 #if defined(ESP8266) || defined(ESP32)
+
50  void begin(uint16_t size) {
+
51  EEPROM.begin(size);
+
52  }
+
53 #else
+
54  void begin(uint16_t /*size*/) {
+
55  }
+
56 #endif
+
57 
+
61  uint16_t writeWithCrc(int address, const void* const data,
+
62  const uint16_t dataSize) const {
+
63  uint16_t byteCount = dataSize;
+
64  const uint8_t* d = (const uint8_t*) data;
+
65 
+
66  // write data blcok
+
67  while (byteCount-- > 0) {
+
68  write(address++, *d++);
+
69  }
+
70 
+
71  // write CRC at the end of the data block
+
72  uint32_t crc = FastCRC32().crc32((const uint8_t*) data, dataSize);
+
73  uint8_t buf[4];
+
74  memcpy(buf, &crc, 4);
+
75  write(address++, buf[0]);
+
76  write(address++, buf[1]);
+
77  write(address++, buf[2]);
+
78  write(address++, buf[3]);
+
79 
+
80  bool success = commit();
+
81  return (success) ? dataSize + sizeof(crc) : 0;
+
82  }
+
83 
+
88  bool readWithCrc(int address, void* const data,
+
89  const uint16_t dataSize) const {
+
90  uint16_t byteCount = dataSize;
+
91  uint8_t* d = (uint8_t*) data;
+
92 
+
93  // read data block
+
94  while (byteCount-- > 0) {
+
95  *d++ = read(address++);
+
96  }
+
97 
+
98  // read CRC at the end of the data block
+
99  uint8_t buf[4];
+
100  buf[0] = read(address++);
+
101  buf[1] = read(address++);
+
102  buf[2] = read(address++);
+
103  buf[3] = read(address++);
+
104  uint32_t crc;
+
105  memcpy(&crc, buf, 4);
+
106 
+
107  uint32_t dataCrc = FastCRC32().crc32((const uint8_t*) data, dataSize);
+
108  return crc == dataCrc;
+
109  }
+
110 
+
111  private:
+
112  void write(int address, uint8_t val) const {
+
113 #if defined(ESP8266) || defined(ESP32)
+
114  EEPROM.write(address, val);
+
115 #else
+
116  EEPROM.update(address, val);
+
117 #endif
+
118  }
+
119 
+
120  uint8_t read(int address) const {
+
121  return EEPROM.read(address);
+
122  }
+
123 
+
124  bool commit() const {
+
125 #if defined(ESP8266) || defined(ESP32)
+
126  return EEPROM.commit();
+
127 #else
+
128  return true;
+
129 #endif
+
130  }
+
131 };
+
132 
+
133 }
+
134 }
+
135 
+
136 #endif
+
137 
+
138 #endif
+
Thin wrapper around the EEPROM object (from the the built-in EEPROM library) to read and write a give...
Definition: CrcEeprom.h:42
+
bool readWithCrc(int address, void *const data, const uint16_t dataSize) const
Read the data from EEPROM along with its CRC.
Definition: CrcEeprom.h:88
+
uint16_t writeWithCrc(int address, const void *const data, const uint16_t dataSize) const
Write the data with its CRC.
Definition: CrcEeprom.h:61
+
void begin(uint16_t size)
Call from global setup() function.
Definition: CrcEeprom.h:50
diff --git a/docs/html/DS3231Clock_8h_source.html b/docs/html/DS3231Clock_8h_source.html index 4c3e1ace5..9687f1515 100644 --- a/docs/html/DS3231Clock_8h_source.html +++ b/docs/html/DS3231Clock_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/DS3231Clock.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/DS3231Clock.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
DS3231Clock.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_DS3231_CLOCK_H
7 #define ACE_TIME_DS3231_CLOCK_H
8 
9 #if ! defined(UNIX_HOST_DUINO)
10 
11 #include <stdint.h>
12 #include "../hw/DS3231.h"
13 #include "../hw/HardwareDateTime.h"
14 #include "../LocalDateTime.h"
15 #include "Clock.h"
16 
17 namespace ace_time {
18 namespace clock {
19 
23 class DS3231Clock: public Clock {
24  public:
25  explicit DS3231Clock() {}
26 
27  void setup() {}
28 
29  acetime_t getNow() const override {
30  hw::HardwareDateTime hardwareDateTime;
31  mDS3231.readDateTime(&hardwareDateTime);
32  return toDateTime(hardwareDateTime).toEpochSeconds();
33  }
34 
35  void setNow(acetime_t epochSeconds) override {
36  if (epochSeconds == kInvalidSeconds) return;
37 
39  mDS3231.setDateTime(toHardwareDateTime(now));
40  }
41 
42  private:
47  static LocalDateTime toDateTime(const hw::HardwareDateTime& dt) {
49  dt.year + LocalDate::kEpochYear, dt.month, dt.day,
50  dt.hour, dt.minute, dt.second);
51  }
52 
59  static hw::HardwareDateTime toHardwareDateTime(const LocalDateTime& dt) {
60  return hw::HardwareDateTime{(uint8_t) dt.yearTiny(), dt.month(),
61  dt.day(), dt.hour(), dt.minute(), dt.second(), dt.dayOfWeek()};
62  }
63 
64  const hw::DS3231 mDS3231;
65 };
66 
67 }
68 }
69 
70 #endif
71 
72 #endif
uint8_t minute() const
Return the minute.
-
void readDateTime(HardwareDateTime *dateTime) const
Read the time into the HardwareDateTime object.
Definition: DS3231.cpp:22
- -
uint8_t day() const
Return the day of the month.
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
static LocalDateTime forEpochSeconds(acetime_t epochSeconds)
Factory method.
Definition: LocalDateTime.h:67
-
An implementation of Clock that uses a DS3231 RTC chip.
Definition: DS3231Clock.h:23
-
void setDateTime(const HardwareDateTime &dateTime) const
Set the DS3231 with the HardwareDateTime values.
Definition: DS3231.cpp:48
-
uint8_t month() const
Return the month with January=1, December=12.
-
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
-
uint8_t hour() const
Return the hour.
-
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
-
uint8_t second() const
Return the second.
-
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
-
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip...
-
acetime_t getNow() const override
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
Definition: DS3231Clock.h:29
-
A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip...
Definition: DS3231.h:33
-
Base class for objects that provide and store time.
Definition: Clock.h:20
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
void setNow(acetime_t epochSeconds) override
Set the time to the indicated seconds.
Definition: DS3231Clock.h:35
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_DS3231_CLOCK_H
+
7 #define ACE_TIME_DS3231_CLOCK_H
+
8 
+
9 #if ! defined(UNIX_HOST_DUINO)
+
10 
+
11 #include <stdint.h>
+
12 #include "../hw/DS3231.h"
+
13 #include "../hw/HardwareDateTime.h"
+
14 #include "../LocalDateTime.h"
+
15 #include "Clock.h"
+
16 
+
17 namespace ace_time {
+
18 namespace clock {
+
19 
+
23 class DS3231Clock: public Clock {
+
24  public:
+
25  explicit DS3231Clock() {}
+
26 
+
27  void setup() {}
+
28 
+
29  acetime_t getNow() const override {
+
30  hw::HardwareDateTime hardwareDateTime;
+
31  mDS3231.readDateTime(&hardwareDateTime);
+
32  return toDateTime(hardwareDateTime).toEpochSeconds();
+
33  }
+
34 
+
35  void setNow(acetime_t epochSeconds) override {
+
36  if (epochSeconds == kInvalidSeconds) return;
+
37 
+ +
39  mDS3231.setDateTime(toHardwareDateTime(now));
+
40  }
+
41 
+
42  private:
+
47  static LocalDateTime toDateTime(const hw::HardwareDateTime& dt) {
+ +
49  dt.year + LocalDate::kEpochYear, dt.month, dt.day,
+
50  dt.hour, dt.minute, dt.second);
+
51  }
+
52 
+
59  static hw::HardwareDateTime toHardwareDateTime(const LocalDateTime& dt) {
+
60  return hw::HardwareDateTime{(uint8_t) dt.yearTiny(), dt.month(),
+
61  dt.day(), dt.hour(), dt.minute(), dt.second(), dt.dayOfWeek()};
+
62  }
+
63 
+
64  const hw::DS3231 mDS3231;
+
65 };
+
66 
+
67 }
+
68 }
+
69 
+
70 #endif
+
71 
+
72 #endif
+
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
+
uint8_t hour() const
Return the hour.
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
acetime_t getNow() const override
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
Definition: DS3231Clock.h:29
+
An implementation of Clock that uses a DS3231 RTC chip.
Definition: DS3231Clock.h:23
+
void setDateTime(const HardwareDateTime &dateTime) const
Set the DS3231 with the HardwareDateTime values.
Definition: DS3231.cpp:48
+
void setNow(acetime_t epochSeconds) override
Set the time to the indicated seconds.
Definition: DS3231Clock.h:35
+
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
+
uint8_t month() const
Return the month with January=1, December=12.
+
uint8_t second() const
Return the second.
+
void readDateTime(HardwareDateTime *dateTime) const
Read the time into the HardwareDateTime object.
Definition: DS3231.cpp:22
+
uint8_t minute() const
Return the minute.
+
Base class for objects that provide and store time.
Definition: Clock.h:20
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
+
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
+
uint8_t day() const
Return the day of the month.
+
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.
+
static LocalDateTime forEpochSeconds(acetime_t epochSeconds)
Factory method.
Definition: LocalDateTime.h:67
diff --git a/docs/html/DS3231_8cpp_source.html b/docs/html/DS3231_8cpp_source.html index 82d141cca..8f81376ff 100644 --- a/docs/html/DS3231_8cpp_source.html +++ b/docs/html/DS3231_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw/DS3231.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/hw/DS3231.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
DS3231.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #if ! defined(UNIX_HOST_DUINO)
7 
8 #include <Wire.h>
9 #include <Print.h> // Print
10 #include "../common/util.h" // bcdToDec(), decToBcd()
11 #include "HardwareDateTime.h"
12 #include "HardwareTemperature.h"
13 #include "DS3231.h"
14 
15 namespace ace_time {
16 
17 using common::bcdToDec;
18 using common::decToBcd;
19 
20 namespace hw {
21 
22 void DS3231::readDateTime(HardwareDateTime* dateTime) const {
23  Wire.beginTransmission(kAddress);
24  Wire.write(0); // set DS3231 register pointer to 00h
25  Wire.endTransmission();
26 
27  // request seven bytes of data from DS3231 starting from register 00h
28  Wire.requestFrom(kAddress, (uint8_t) 7);
29  dateTime->second = bcdToDec(Wire.read() & 0x7F);
30  dateTime->minute = bcdToDec(Wire.read());
31  dateTime->hour = bcdToDec(Wire.read() & 0x3F);
32  dateTime->dayOfWeek = bcdToDec(Wire.read());
33  dateTime->day = bcdToDec(Wire.read());
34  dateTime->month = bcdToDec(Wire.read());
35  dateTime->year = bcdToDec(Wire.read());
36 }
37 
38 void DS3231::readTemperature(HardwareTemperature* temperature) const {
39  Wire.beginTransmission(kAddress);
40  Wire.write(0x11); // set DS3231 register pointer to 11h
41  Wire.endTransmission();
42 
43  Wire.requestFrom(kAddress, (uint8_t) 2);
44  temperature->msb = Wire.read();
45  temperature->lsb = Wire.read();
46 }
47 
48 void DS3231::setDateTime(const HardwareDateTime& dateTime) const {
49  Wire.beginTransmission(kAddress);
50  Wire.write(0); // set next input to start at the seconds register
51  Wire.write(decToBcd(dateTime.second));
52  Wire.write(decToBcd(dateTime.minute));
53  Wire.write(decToBcd(dateTime.hour));
54  Wire.write(decToBcd(dateTime.dayOfWeek));
55  Wire.write(decToBcd(dateTime.day));
56  Wire.write(decToBcd(dateTime.month));
57  Wire.write(decToBcd(dateTime.year));
58  Wire.endTransmission();
59 }
60 
61 }
62 }
63 
64 #endif
void readDateTime(HardwareDateTime *dateTime) const
Read the time into the HardwareDateTime object.
Definition: DS3231.cpp:22
- -
void readTemperature(HardwareTemperature *temperature) const
Read the temperature into the HardwareTemperature object.
Definition: DS3231.cpp:38
-
The temperature in Celcius as a signed (8.8) fixed-point integer.
-
void setDateTime(const HardwareDateTime &dateTime) const
Set the DS3231 with the HardwareDateTime values.
Definition: DS3231.cpp:48
-
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip...
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #if ! defined(UNIX_HOST_DUINO)
+
7 
+
8 #include <Wire.h>
+
9 #include <Print.h> // Print
+
10 #include "../common/util.h" // bcdToDec(), decToBcd()
+
11 #include "HardwareDateTime.h"
+
12 #include "HardwareTemperature.h"
+
13 #include "DS3231.h"
+
14 
+
15 namespace ace_time {
+
16 
+
17 using common::bcdToDec;
+
18 using common::decToBcd;
+
19 
+
20 namespace hw {
+
21 
+
22 void DS3231::readDateTime(HardwareDateTime* dateTime) const {
+
23  Wire.beginTransmission(kAddress);
+
24  Wire.write(0); // set DS3231 register pointer to 00h
+
25  Wire.endTransmission();
+
26 
+
27  // request seven bytes of data from DS3231 starting from register 00h
+
28  Wire.requestFrom(kAddress, (uint8_t) 7);
+
29  dateTime->second = bcdToDec(Wire.read() & 0x7F);
+
30  dateTime->minute = bcdToDec(Wire.read());
+
31  dateTime->hour = bcdToDec(Wire.read() & 0x3F);
+
32  dateTime->dayOfWeek = bcdToDec(Wire.read());
+
33  dateTime->day = bcdToDec(Wire.read());
+
34  dateTime->month = bcdToDec(Wire.read());
+
35  dateTime->year = bcdToDec(Wire.read());
+
36 }
+
37 
+
38 void DS3231::readTemperature(HardwareTemperature* temperature) const {
+
39  Wire.beginTransmission(kAddress);
+
40  Wire.write(0x11); // set DS3231 register pointer to 11h
+
41  Wire.endTransmission();
+
42 
+
43  Wire.requestFrom(kAddress, (uint8_t) 2);
+
44  temperature->msb = Wire.read();
+
45  temperature->lsb = Wire.read();
+
46 }
+
47 
+
48 void DS3231::setDateTime(const HardwareDateTime& dateTime) const {
+
49  Wire.beginTransmission(kAddress);
+
50  Wire.write(0); // set next input to start at the seconds register
+
51  Wire.write(decToBcd(dateTime.second));
+
52  Wire.write(decToBcd(dateTime.minute));
+
53  Wire.write(decToBcd(dateTime.hour));
+
54  Wire.write(decToBcd(dateTime.dayOfWeek));
+
55  Wire.write(decToBcd(dateTime.day));
+
56  Wire.write(decToBcd(dateTime.month));
+
57  Wire.write(decToBcd(dateTime.year));
+
58  Wire.endTransmission();
+
59 }
+
60 
+
61 }
+
62 }
+
63 
+
64 #endif
+
void setDateTime(const HardwareDateTime &dateTime) const
Set the DS3231 with the HardwareDateTime values.
Definition: DS3231.cpp:48
+
The temperature in Celcius as a signed (8.8) fixed-point integer.
+
void readDateTime(HardwareDateTime *dateTime) const
Read the time into the HardwareDateTime object.
Definition: DS3231.cpp:22
+
void readTemperature(HardwareTemperature *temperature) const
Read the temperature into the HardwareTemperature object.
Definition: DS3231.cpp:38
+
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.
diff --git a/docs/html/DS3231_8h_source.html b/docs/html/DS3231_8h_source.html index 9ffde708c..43df68f49 100644 --- a/docs/html/DS3231_8h_source.html +++ b/docs/html/DS3231_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw/DS3231.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/hw/DS3231.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
DS3231.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_HW_DS3231_H
7 #define ACE_TIME_HW_DS3231_H
8 
9 #if ! defined(UNIX_HOST_DUINO)
10 
11 #include <stdint.h>
12 
13 namespace ace_time {
14 namespace hw {
15 
16 class HardwareDateTime;
17 class HardwareTemperature;
18 
33 class DS3231 {
34  public:
36  explicit DS3231() {}
37 
39  void readDateTime(HardwareDateTime* dateTime) const;
40 
42  void setDateTime(const HardwareDateTime& dateTime) const;
43 
45  void readTemperature(HardwareTemperature* temperature) const;
46 
47  private:
48  static const uint8_t kAddress = 0x68;
49 };
50 
51 }
52 }
53 
54 #endif
55 
56 #endif
void readDateTime(HardwareDateTime *dateTime) const
Read the time into the HardwareDateTime object.
Definition: DS3231.cpp:22
- -
void readTemperature(HardwareTemperature *temperature) const
Read the temperature into the HardwareTemperature object.
Definition: DS3231.cpp:38
-
The temperature in Celcius as a signed (8.8) fixed-point integer.
-
void setDateTime(const HardwareDateTime &dateTime) const
Set the DS3231 with the HardwareDateTime values.
Definition: DS3231.cpp:48
-
DS3231()
Constructor.
Definition: DS3231.h:36
-
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip...
-
A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip...
Definition: DS3231.h:33
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_HW_DS3231_H
+
7 #define ACE_TIME_HW_DS3231_H
+
8 
+
9 #if ! defined(UNIX_HOST_DUINO)
+
10 
+
11 #include <stdint.h>
+
12 
+
13 namespace ace_time {
+
14 namespace hw {
+
15 
+
16 class HardwareDateTime;
+
17 class HardwareTemperature;
+
18 
+
33 class DS3231 {
+
34  public:
+
36  explicit DS3231() {}
+
37 
+
39  void readDateTime(HardwareDateTime* dateTime) const;
+
40 
+
42  void setDateTime(const HardwareDateTime& dateTime) const;
+
43 
+
45  void readTemperature(HardwareTemperature* temperature) const;
+
46 
+
47  private:
+
48  static const uint8_t kAddress = 0x68;
+
49 };
+
50 
+
51 }
+
52 }
+
53 
+
54 #endif
+
55 
+
56 #endif
+
DS3231()
Constructor.
Definition: DS3231.h:36
+
void setDateTime(const HardwareDateTime &dateTime) const
Set the DS3231 with the HardwareDateTime values.
Definition: DS3231.cpp:48
+
The temperature in Celcius as a signed (8.8) fixed-point integer.
+
void readDateTime(HardwareDateTime *dateTime) const
Read the time into the HardwareDateTime object.
Definition: DS3231.cpp:22
+
A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip.
Definition: DS3231.h:33
+
void readTemperature(HardwareTemperature *temperature) const
Read the temperature into the HardwareTemperature object.
Definition: DS3231.cpp:38
+
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.
diff --git a/docs/html/DateStrings_8cpp_source.html b/docs/html/DateStrings_8cpp_source.html index bd8aece0d..5da8ccb76 100644 --- a/docs/html/DateStrings_8cpp_source.html +++ b/docs/html/DateStrings_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/DateStrings.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/DateStrings.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
DateStrings.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "DateStrings.h"
7 
8 namespace ace_time {
9 
10 static const char kError[] PROGMEM = "Error";
11 static const char kJanuary[] PROGMEM = "January";
12 static const char kFebruary[] PROGMEM = "February";
13 static const char kMarch[] PROGMEM = "March";
14 static const char kApril[] PROGMEM = "April";
15 static const char kMay[] PROGMEM = "May";
16 static const char kJune[] PROGMEM = "June";
17 static const char kJuly[] PROGMEM = "July";
18 static const char kAugust[] PROGMEM = "August";
19 static const char kSeptember[] PROGMEM = "September";
20 static const char kOctober[] PROGMEM = "October";
21 static const char kNovember[] PROGMEM = "November";
22 static const char kDecember[] PROGMEM = "December";
23 
24 // Place pointers into PROGMEM as well, saving 26 bytes of RAM.
25 // Use getStringAt() to access.
26 const char* const DateStrings::kMonthNames[] PROGMEM = {
27  kError, kJanuary, kFebruary, kMarch, kApril, kMay, kJune,
28  kJuly, kAugust, kSeptember, kOctober, kNovember, kDecember
29 };
30 
31 const uint8_t DateStrings::kNumMonthNames =
32  sizeof(kMonthNames) / sizeof(const char *);
33 
34 static const char kMonday[] PROGMEM = "Monday";
35 static const char kTuesday[] PROGMEM = "Tuesday";
36 static const char kWednesday[] PROGMEM = "Wednesday";
37 static const char kThursday[] PROGMEM = "Thursday";
38 static const char kFriday[] PROGMEM = "Friday";
39 static const char kSaturday[] PROGMEM = "Saturday";
40 static const char kSunday[] PROGMEM = "Sunday";
41 
42 // Place pointers into PROGMEM as well, saving 16 bytes of RAM.
43 // Use getStringAt() to access.
44 // ISO8601 says Monday=1, Sunday=7.
45 const char* const DateStrings::kDayOfWeekNames[] PROGMEM = {
46  kError, kMonday, kTuesday, kWednesday, kThursday, kFriday, kSaturday, kSunday
47 };
48 
49 const uint8_t DateStrings::kNumDayOfWeekNames =
50  sizeof(kDayOfWeekNames) / sizeof(const char *);
51 
52 }
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include "DateStrings.h"
+
7 
+
8 namespace ace_time {
+
9 
+
10 static const char kError[] PROGMEM = "Error";
+
11 static const char kJanuary[] PROGMEM = "January";
+
12 static const char kFebruary[] PROGMEM = "February";
+
13 static const char kMarch[] PROGMEM = "March";
+
14 static const char kApril[] PROGMEM = "April";
+
15 static const char kMay[] PROGMEM = "May";
+
16 static const char kJune[] PROGMEM = "June";
+
17 static const char kJuly[] PROGMEM = "July";
+
18 static const char kAugust[] PROGMEM = "August";
+
19 static const char kSeptember[] PROGMEM = "September";
+
20 static const char kOctober[] PROGMEM = "October";
+
21 static const char kNovember[] PROGMEM = "November";
+
22 static const char kDecember[] PROGMEM = "December";
+
23 
+
24 // Place pointers into PROGMEM as well, saving 26 bytes of RAM.
+
25 // Use getStringAt() to access.
+
26 const char* const DateStrings::kMonthNames[] PROGMEM = {
+
27  kError, kJanuary, kFebruary, kMarch, kApril, kMay, kJune,
+
28  kJuly, kAugust, kSeptember, kOctober, kNovember, kDecember
+
29 };
+
30 
+
31 const uint8_t DateStrings::kNumMonthNames =
+
32  sizeof(kMonthNames) / sizeof(const char *);
+
33 
+
34 static const char kMonday[] PROGMEM = "Monday";
+
35 static const char kTuesday[] PROGMEM = "Tuesday";
+
36 static const char kWednesday[] PROGMEM = "Wednesday";
+
37 static const char kThursday[] PROGMEM = "Thursday";
+
38 static const char kFriday[] PROGMEM = "Friday";
+
39 static const char kSaturday[] PROGMEM = "Saturday";
+
40 static const char kSunday[] PROGMEM = "Sunday";
+
41 
+
42 // Place pointers into PROGMEM as well, saving 16 bytes of RAM.
+
43 // Use getStringAt() to access.
+
44 // ISO8601 says Monday=1, Sunday=7.
+
45 const char* const DateStrings::kDayOfWeekNames[] PROGMEM = {
+
46  kError, kMonday, kTuesday, kWednesday, kThursday, kFriday, kSaturday, kSunday
+
47 };
+
48 
+
49 const uint8_t DateStrings::kNumDayOfWeekNames =
+
50  sizeof(kDayOfWeekNames) / sizeof(const char *);
+
51 
+
52 }
diff --git a/docs/html/DateStrings_8h_source.html b/docs/html/DateStrings_8h_source.html index 88650c85e..75961ac0d 100644 --- a/docs/html/DateStrings_8h_source.html +++ b/docs/html/DateStrings_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/DateStrings.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/DateStrings.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
DateStrings.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_COMMON_DATE_STRINGS_H
7 #define ACE_TIME_COMMON_DATE_STRINGS_H
8 
9 #include <stdint.h>
10 #include <string.h>
11 #include "compat.h"
12 
13 namespace ace_time {
14 
26 class DateStrings {
27  public:
31  static const uint8_t kBufferSize = 10;
32 
37  static const uint8_t kShortNameLength = 3;
38 
40  const char* monthLongString(uint8_t month) {
41  uint8_t index = (month < kNumMonthNames) ? month : 0;
42  strncpy_P(mBuffer, getStringAt(kMonthNames, index), kBufferSize);
43  mBuffer[kBufferSize - 1] = '\0';
44  return mBuffer;
45  }
46 
48  const char* monthShortString(uint8_t month) {
49  uint8_t index = (month < kNumMonthNames) ? month : 0;
50  strncpy_P(mBuffer, getStringAt(kMonthNames, index), kShortNameLength);
51  mBuffer[kShortNameLength] = '\0';
52  return mBuffer;
53  }
54 
56  const char* dayOfWeekLongString(uint8_t dayOfWeek) {
57  uint8_t index = (dayOfWeek < kNumDayOfWeekNames) ? dayOfWeek : 0;
58  strncpy_P(mBuffer, getStringAt(kDayOfWeekNames, index), kBufferSize);
59  mBuffer[kBufferSize - 1] = '\0';
60  return mBuffer;
61  }
62 
64  const char* dayOfWeekShortString(uint8_t dayOfWeek) {
65  uint8_t index = (dayOfWeek < kNumDayOfWeekNames) ? dayOfWeek : 0;
66  strncpy_P(mBuffer, getStringAt(kDayOfWeekNames, index), kShortNameLength);
67  mBuffer[kShortNameLength] = '\0';
68  return mBuffer;
69  }
70 
71  private:
72  static const char* getStringAt(const char* const* strings, uint8_t i) {
73  return (const char*) pgm_read_ptr(&strings[i]);
74  }
75 
76  static const char * const kDayOfWeekNames[];
77  static const char * const kMonthNames[];
78  static const uint8_t kNumDayOfWeekNames;
79  static const uint8_t kNumMonthNames;
80 
81  char mBuffer[kBufferSize];
82 };
83 
84 }
85 
86 #endif
static const uint8_t kShortNameLength
Number of prefix characters to use to create a short name.
Definition: DateStrings.h:37
-
static const uint8_t kBufferSize
Length of the longest month or week name, including the &#39;\0&#39; terminator.
Definition: DateStrings.h:31
- -
const char * monthShortString(uint8_t month)
Return the short month name.
Definition: DateStrings.h:48
-
Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string...
Definition: DateStrings.h:26
-
const char * dayOfWeekLongString(uint8_t dayOfWeek)
Return the short dayOfWeek name.
Definition: DateStrings.h:56
-
const char * monthLongString(uint8_t month)
Return the long month name.
Definition: DateStrings.h:40
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
const char * dayOfWeekShortString(uint8_t dayOfWeek)
Return the short dayOfWeek name.
Definition: DateStrings.h:64
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_COMMON_DATE_STRINGS_H
+
7 #define ACE_TIME_COMMON_DATE_STRINGS_H
+
8 
+
9 #include <stdint.h>
+
10 #include <string.h>
+
11 #include "compat.h"
+
12 
+
13 namespace ace_time {
+
14 
+
26 class DateStrings {
+
27  public:
+
31  static const uint8_t kBufferSize = 10;
+
32 
+
37  static const uint8_t kShortNameLength = 3;
+
38 
+
40  const char* monthLongString(uint8_t month) {
+
41  uint8_t index = (month < kNumMonthNames) ? month : 0;
+
42  strncpy_P(mBuffer, getStringAt(kMonthNames, index), kBufferSize);
+
43  mBuffer[kBufferSize - 1] = '\0';
+
44  return mBuffer;
+
45  }
+
46 
+
48  const char* monthShortString(uint8_t month) {
+
49  uint8_t index = (month < kNumMonthNames) ? month : 0;
+
50  strncpy_P(mBuffer, getStringAt(kMonthNames, index), kShortNameLength);
+
51  mBuffer[kShortNameLength] = '\0';
+
52  return mBuffer;
+
53  }
+
54 
+
56  const char* dayOfWeekLongString(uint8_t dayOfWeek) {
+
57  uint8_t index = (dayOfWeek < kNumDayOfWeekNames) ? dayOfWeek : 0;
+
58  strncpy_P(mBuffer, getStringAt(kDayOfWeekNames, index), kBufferSize);
+
59  mBuffer[kBufferSize - 1] = '\0';
+
60  return mBuffer;
+
61  }
+
62 
+
64  const char* dayOfWeekShortString(uint8_t dayOfWeek) {
+
65  uint8_t index = (dayOfWeek < kNumDayOfWeekNames) ? dayOfWeek : 0;
+
66  strncpy_P(mBuffer, getStringAt(kDayOfWeekNames, index), kShortNameLength);
+
67  mBuffer[kShortNameLength] = '\0';
+
68  return mBuffer;
+
69  }
+
70 
+
71  private:
+
72  static const char* getStringAt(const char* const* strings, uint8_t i) {
+
73  return (const char*) pgm_read_ptr(&strings[i]);
+
74  }
+
75 
+
76  static const char * const kDayOfWeekNames[];
+
77  static const char * const kMonthNames[];
+
78  static const uint8_t kNumDayOfWeekNames;
+
79  static const uint8_t kNumMonthNames;
+
80 
+
81  char mBuffer[kBufferSize];
+
82 };
+
83 
+
84 }
+
85 
+
86 #endif
+
const char * dayOfWeekShortString(uint8_t dayOfWeek)
Return the short dayOfWeek name.
Definition: DateStrings.h:64
+
const char * dayOfWeekLongString(uint8_t dayOfWeek)
Return the short dayOfWeek name.
Definition: DateStrings.h:56
+ +
Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string.
Definition: DateStrings.h:26
+
static const uint8_t kShortNameLength
Number of prefix characters to use to create a short name.
Definition: DateStrings.h:37
+
const char * monthShortString(uint8_t month)
Return the short month name.
Definition: DateStrings.h:48
+
static const uint8_t kBufferSize
Length of the longest month or week name, including the '\0' terminator.
Definition: DateStrings.h:31
+
const char * monthLongString(uint8_t month)
Return the long month name.
Definition: DateStrings.h:40
diff --git a/docs/html/ExtendedZoneProcessor_8cpp_source.html b/docs/html/ExtendedZoneProcessor_8cpp_source.html index cf81ee691..8c1e4fd33 100644 --- a/docs/html/ExtendedZoneProcessor_8cpp_source.html +++ b/docs/html/ExtendedZoneProcessor_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ExtendedZoneProcessor.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ExtendedZoneProcessor.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ExtendedZoneProcessor.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #include <Print.h>
7 #include "LocalDate.h"
8 #include "ExtendedZone.h"
9 #include "ExtendedZoneProcessor.h"
10 
11 namespace ace_time {
12 
13 const extended::ZoneEra ExtendedZoneProcessor::kAnchorEra ACE_TIME_PROGMEM = {
14  nullptr /*zonePolicy*/,
15  nullptr /*format*/,
16  0 /*offsetCode*/,
17  0 /*deltaCode*/,
18  LocalDate::kInvalidYearTiny /*untilYearTiny*/,
19  1 /*untilMonth*/,
20  1 /*untilDay*/,
21  0 /*untilTimeCode*/,
22  extended::ZoneContext::kSuffixW /*untilTimeModifier*/
23 };
24 
25 void ExtendedZoneProcessor::printTo(Print& printer) const {
26  printer.print(ExtendedZone(mZoneInfo.zoneInfo()).name());
27 }
28 
29 void ExtendedZoneProcessor::printShortTo(Print& printer) const {
30  printer.print(ExtendedZone(mZoneInfo.zoneInfo()).shortName());
31 }
32 
33 }
-
void printTo(Print &printer) const override
Print a human-readable identifier (e.g.
-
void printShortTo(Print &printer) const override
Print a short human-readable identifier (e.g.
-
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
Definition: ExtendedZone.h:23
-
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that &#39;does not exist&#39;...
Definition: LocalDate.h:45
-
static const uint8_t kSuffixW
Represents &#39;w&#39; or wall time.
Definition: ZoneContext.h:13
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #include <Print.h>
+
7 #include "LocalDate.h"
+
8 #include "ExtendedZone.h"
+
9 #include "ExtendedZoneProcessor.h"
+
10 
+
11 namespace ace_time {
+
12 
+
13 const extended::ZoneEra ExtendedZoneProcessor::kAnchorEra ACE_TIME_PROGMEM = {
+
14  nullptr /*zonePolicy*/,
+
15  nullptr /*format*/,
+
16  0 /*offsetCode*/,
+
17  0 /*deltaCode*/,
+
18  LocalDate::kInvalidYearTiny /*untilYearTiny*/,
+
19  1 /*untilMonth*/,
+
20  1 /*untilDay*/,
+
21  0 /*untilTimeCode*/,
+
22  extended::ZoneContext::kSuffixW /*untilTimeModifier*/
+
23 };
+
24 
+
25 void ExtendedZoneProcessor::printTo(Print& printer) const {
+
26  printer.print(ExtendedZone(mZoneInfo.zoneInfo()).name());
+
27 }
+
28 
+
29 void ExtendedZoneProcessor::printShortTo(Print& printer) const {
+
30  printer.print(ExtendedZone(mZoneInfo.zoneInfo()).shortName());
+
31 }
+
32 
+
33 }
+
void printShortTo(Print &printer) const override
Print a short human-readable identifier (e.g.
+
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
Definition: ExtendedZone.h:23
+
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that 'does not exist'.
Definition: LocalDate.h:45
+
void printTo(Print &printer) const override
Print a human-readable identifier (e.g.
diff --git a/docs/html/ExtendedZoneProcessor_8h_source.html b/docs/html/ExtendedZoneProcessor_8h_source.html index 2e55d6255..506e1fa0c 100644 --- a/docs/html/ExtendedZoneProcessor_8h_source.html +++ b/docs/html/ExtendedZoneProcessor_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ExtendedZoneProcessor.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ExtendedZoneProcessor.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ExtendedZoneProcessor.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_EXTENDED_ZONE_PROCESSOR_H
7 #define ACE_TIME_EXTENDED_ZONE_PROCESSOR_H
8 
9 #include <string.h> // memcpy()
10 #include <stdint.h>
11 #include "common/compat.h"
12 #include "internal/ZonePolicy.h"
13 #include "internal/ZoneInfo.h"
14 #include "common/logging.h"
15 #include "TimeOffset.h"
16 #include "LocalDate.h"
17 #include "OffsetDateTime.h"
18 #include "ZoneProcessor.h"
19 #include "BasicZoneProcessor.h"
20 #include "local_date_mutation.h"
21 
22 #define ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG 0
23 
24 class ExtendedZoneProcessorTest_compareEraToYearMonth;
25 class ExtendedZoneProcessorTest_compareEraToYearMonth2;
26 class ExtendedZoneProcessorTest_createMatch;
27 class ExtendedZoneProcessorTest_findMatches_simple;
28 class ExtendedZoneProcessorTest_findMatches_named;
29 class ExtendedZoneProcessorTest_findCandidateTransitions;
30 class ExtendedZoneProcessorTest_findTransitionsFromNamedMatch;
31 class ExtendedZoneProcessorTest_getTransitionTime;
32 class ExtendedZoneProcessorTest_createTransitionForYear;
33 class ExtendedZoneProcessorTest_normalizeDateTuple;
34 class ExtendedZoneProcessorTest_expandDateTuple;
35 class ExtendedZoneProcessorTest_calcInteriorYears;
36 class ExtendedZoneProcessorTest_getMostRecentPriorYear;
37 class ExtendedZoneProcessorTest_compareTransitionToMatchFuzzy;
38 class ExtendedZoneProcessorTest_compareTransitionToMatch;
39 class ExtendedZoneProcessorTest_processActiveTransition;
40 class ExtendedZoneProcessorTest_fixTransitionTimes_generateStartUntilTimes;
41 class ExtendedZoneProcessorTest_createAbbreviation;
42 class ExtendedZoneProcessorTest_setZoneInfo;
43 class TransitionStorageTest_getFreeAgent;
44 class TransitionStorageTest_getFreeAgent2;
45 class TransitionStorageTest_addFreeAgentToActivePool;
46 class TransitionStorageTest_reservePrior;
47 class TransitionStorageTest_addFreeAgentToCandidatePool;
48 class TransitionStorageTest_setFreeAgentAsPrior;
49 class TransitionStorageTest_addActiveCandidatesToActivePool;
50 class TransitionStorageTest_resetCandidatePool;
51 class TransitionStorageTest_findTransitionForDateTime;
52 
53 namespace ace_time {
54 
55 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
56 class ZoneProcessorCacheImpl;
57 
58 namespace extended {
59 
64 struct DateTuple {
65  DateTuple() = default;
66 
67  DateTuple(int8_t y, uint8_t mon, uint8_t d, int16_t min, uint8_t mod):
68  yearTiny(y), month(mon), day(d), suffix(mod), minutes(min) {}
69 
70  int8_t yearTiny; // [-127, 126], 127 will cause bugs
71  uint8_t month; // [1-12]
72  uint8_t day; // [1-31]
73  uint8_t suffix; // kSuffixS, kSuffixW, kSuffixU
74  int16_t minutes; // negative values allowed
75 
77  void log() const {
78  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
79  char c = "wsu"[(suffix>>4)];
80  logging::printf("DateTuple(%04d-%02u-%02uT%d'%c')",
81  yearTiny+LocalDate::kEpochYear, month, day, minutes, c);
82  }
83  }
84 };
85 
87 inline bool operator<(const DateTuple& a, const DateTuple& b) {
88  if (a.yearTiny < b.yearTiny) return true;
89  if (a.yearTiny > b.yearTiny) return false;
90  if (a.month < b.month) return true;
91  if (a.month > b.month) return false;
92  if (a.day < b.day) return true;
93  if (a.day > b.day) return false;
94  if (a.minutes < b.minutes) return true;
95  if (a.minutes > b.minutes) return false;
96  return false;
97 }
98 
99 inline bool operator>=(const DateTuple& a, const DateTuple& b) {
100  return ! (a < b);
101 }
102 
103 inline bool operator<=(const DateTuple& a, const DateTuple& b) {
104  return ! (b < a);
105 }
106 
107 inline bool operator>(const DateTuple& a, const DateTuple& b) {
108  return (b < a);
109 }
110 
112 inline bool operator==(const DateTuple& a, const DateTuple& b) {
113  return a.yearTiny == b.yearTiny
114  && a.month == b.month
115  && a.day == b.day
116  && a.minutes == b.minutes
117  && a.suffix == b.suffix;
118 }
119 
122  int8_t yearTiny;
123  uint8_t month;
124 };
125 
130 struct ZoneMatch {
133 
136 
139 
140  void log() const {
141  logging::printf("ZoneMatch(");
142  logging::printf("Start:"); startDateTime.log();
143  logging::printf("; Until:"); untilDateTime.log();
144  logging::printf("; Era: %snull", (era.isNull()) ? "" : "!");
145  logging::printf(")");
146  }
147 };
148 
174 struct Transition {
176  static const uint8_t kAbbrevSize = basic::Transition::kAbbrevSize;
177 
179  const ZoneMatch* match;
180 
187 
195 
196  union {
203 
209  };
210 
211  union {
218 
224  };
225 
231 
233  acetime_t startEpochSeconds;
234 
242  int16_t offsetMinutes;
243 
245  int16_t deltaMinutes;
246 
248  char abbrev[kAbbrevSize];
249 
251  char letterBuf[2];
252 
265  bool active;
266 
267  //-------------------------------------------------------------------------
268 
269  const char* format() const {
270  return match->era.format();
271  }
272 
278  const char* letter() const {
279  // RULES column is '-' or hh:mm, so return nullptr to indicate this.
280  if (rule.isNull()) {
281  return nullptr;
282  }
283 
284  // RULES point to a named rule, and LETTER is a single, printable
285  // character.
286  char letter = rule.letter();
287  if (letter >= 32) {
288  return letterBuf;
289  }
290 
291  // RULES points to a named rule, and the LETTER is a string. The
292  // rule->letter is a non-printable number < 32, which is an index into
293  // a list of strings given by match->era->zonePolicy->letters[].
294  const ZonePolicyBroker policy = match->era.zonePolicy();
295  uint8_t numLetters = policy.numLetters();
296  if (letter >= numLetters) {
297  // This should never happen unless there is a programming error. If it
298  // does, return an empty string. (createTransitionForYear() sets
299  // letterBuf to a NUL terminated empty string if rule->letter < 32)
300  return letterBuf;
301  }
302 
303  // Return the string at index 'rule->letter'.
304  return policy.letter(letter);
305  }
306 
308  void log() const {
309  logging::printf("Transition(");
310  if (sizeof(acetime_t) <= sizeof(int)) {
311  logging::printf("sE: %d", startEpochSeconds);
312  } else {
313  logging::printf("sE: %ld", startEpochSeconds);
314  }
315  logging::printf("; match: %snull", (match) ? "!" : "");
316  logging::printf("; era: %snull",
317  (match && match->era.isNull()) ? "" : "!");
318  logging::printf("; oMinutes: %d", offsetMinutes);
319  logging::printf("; dMinutes: %d", deltaMinutes);
320  logging::printf("; tt: "); transitionTime.log();
321  if (! rule.isNull()) {
322  logging::printf("; R.fY: %d", rule.fromYearTiny());
323  logging::printf("; R.tY: %d", rule.toYearTiny());
324  logging::printf("; R.M: %d", rule.inMonth());
325  logging::printf("; R.dow: %d", rule.onDayOfWeek());
326  logging::printf("; R.dom: %d", rule.onDayOfMonth());
327  }
328  }
329 };
330 
357 template<uint8_t SIZE>
359  public:
362 
364  void init() {
365  for (uint8_t i = 0; i < SIZE; i++) {
366  mTransitions[i] = &mPool[i];
367  }
368  mIndexPrior = 0;
369  mIndexCandidates = 0;
370  mIndexFree = 0;
371  }
372 
374  Transition* getPrior() { return mTransitions[mIndexPrior]; }
375 
377  void swap(Transition** a, Transition** b) {
378  Transition* tmp = *a;
379  *a = *b;
380  *b = tmp;
381  }
382 
392  mIndexCandidates = mIndexPrior;
393  mIndexFree = mIndexPrior;
394  }
395 
396  Transition** getCandidatePoolBegin() {
397  return &mTransitions[mIndexCandidates];
398  }
399  Transition** getCandidatePoolEnd() {
400  return &mTransitions[mIndexFree];
401  }
402 
403  Transition** getActivePoolBegin() { return &mTransitions[0]; }
404  Transition** getActivePoolEnd() { return &mTransitions[mIndexFree]; }
405 
412  // Set the internal high water mark. If that index becomes SIZE,
413  // then we know we have an overflow.
414  if (mIndexFree > mHighWater) {
415  mHighWater = mIndexFree;
416  }
417 
418  if (mIndexFree < SIZE) {
419  return mTransitions[mIndexFree];
420  } else {
421  return mTransitions[SIZE - 1];
422  }
423  }
424 
433  if (mIndexFree >= SIZE) return;
434  mIndexFree++;
435  mIndexPrior = mIndexFree;
436  mIndexCandidates = mIndexFree;
437  }
438 
445  mIndexCandidates++;
446  mIndexFree++;
447  return &mTransitions[mIndexPrior];
448  }
449 
452  swap(&mTransitions[mIndexPrior], &mTransitions[mIndexFree]);
453  }
454 
461  mIndexCandidates--;
462  }
463 
471  if (mIndexFree >= SIZE) return;
472  for (uint8_t i = mIndexFree; i > mIndexCandidates; i--) {
473  Transition* curr = mTransitions[i];
474  Transition* prev = mTransitions[i - 1];
475  if (curr->transitionTime >= prev->transitionTime) break;
476  mTransitions[i] = prev;
477  mTransitions[i - 1] = curr;
478  }
479  mIndexFree++;
480  }
481 
487  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
488  logging::printf("addActiveCandidatesToActivePool()\n");
489  }
490  uint8_t iActive = mIndexPrior;
491  uint8_t iCandidate = mIndexCandidates;
492  for (; iCandidate < mIndexFree; iCandidate++) {
493  if (mTransitions[iCandidate]->active) {
494  if (iActive != iCandidate) {
495  swap(&mTransitions[iActive], &mTransitions[iCandidate]);
496  }
497  ++iActive;
498  }
499  }
500  mIndexPrior = iActive;
501  mIndexCandidates = iActive;
502  mIndexFree = iActive;
503  }
504 
513  const Transition* findTransition(acetime_t epochSeconds) const {
514  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
515  logging::printf( "findTransition(): mIndexFree: %d\n", mIndexFree);
516  }
517 
518  const Transition* match = nullptr;
519  for (uint8_t i = 0; i < mIndexFree; i++) {
520  const Transition* candidate = mTransitions[i];
521  if (candidate->startEpochSeconds > epochSeconds) break;
522  match = candidate;
523  }
524  return match;
525  }
526 
551  const {
552  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
553  logging::printf(
554  "findTransitionForDateTime(): mIndexFree: %d\n", mIndexFree);
555  }
556 
557  // Convert LocalDateTime to DateTuple.
558  DateTuple localDate = { ldt.yearTiny(), ldt.month(), ldt.day(),
559  (int16_t) (ldt.hour() * 60 + ldt.minute()),
561  const Transition* match = nullptr;
562 
563  // Find the last Transition that matches
564  for (uint8_t i = 0; i < mIndexFree; i++) {
565  const Transition* candidate = mTransitions[i];
566  if (candidate->startDateTime > localDate) break;
567  match = candidate;
568  }
569  return match;
570  }
571 
573  void log() const {
574  logging::printf("TransitionStorage:\n");
575  logging::printf(" mIndexPrior: %d\n", mIndexPrior);
576  logging::printf(" mIndexCandidates: %d\n", mIndexCandidates);
577  logging::printf(" mIndexFree: %d\n", mIndexFree);
578  if (mIndexPrior != 0) {
579  logging::printf(" Actives:\n");
580  for (uint8_t i = 0; i < mIndexPrior; i++) {
581  mTransitions[i]->log();
582  logging::printf("\n");
583  }
584  }
585  if (mIndexPrior != mIndexCandidates) {
586  logging::printf(" Prior: ");
587  mTransitions[mIndexPrior]->log();
588  logging::printf("\n");
589  }
590  if (mIndexCandidates != mIndexFree) {
591  logging::printf(" Candidates:\n");
592  for (uint8_t i = mIndexCandidates; i < mIndexFree; i++) {
593  mTransitions[i]->log();
594  logging::printf("\n");
595  }
596  }
597  }
598 
600  void resetHighWater() { mHighWater = 0; }
601 
607  uint8_t getHighWater() const { return mHighWater; }
608 
609  private:
610  friend class ::TransitionStorageTest_getFreeAgent;
611  friend class ::TransitionStorageTest_getFreeAgent2;
612  friend class ::TransitionStorageTest_addFreeAgentToActivePool;
613  friend class ::TransitionStorageTest_reservePrior;
614  friend class ::TransitionStorageTest_addFreeAgentToCandidatePool;
615  friend class ::TransitionStorageTest_setFreeAgentAsPrior;
616  friend class ::TransitionStorageTest_addActiveCandidatesToActivePool;
617  friend class ::TransitionStorageTest_findTransitionForDateTime;
618  friend class ::TransitionStorageTest_resetCandidatePool;
619 
621  Transition* getTransition(uint8_t i) { return mTransitions[i]; }
622 
623  Transition mPool[SIZE];
624  Transition* mTransitions[SIZE];
625  uint8_t mIndexPrior;
626  uint8_t mIndexCandidates;
627  uint8_t mIndexFree;
628 
630  uint8_t mHighWater = 0;
631 };
632 
633 } // namespace extended
634 
659  public:
665  const extended::ZoneInfo* zoneInfo = nullptr):
666  ZoneProcessor(kTypeExtended),
667  mZoneInfo(zoneInfo) {}
668 
670  const void* getZoneInfo() const override {
671  return mZoneInfo.zoneInfo();
672  }
673 
674  uint32_t getZoneId() const override { return mZoneInfo.zoneId(); }
675 
676  TimeOffset getUtcOffset(acetime_t epochSeconds) const override {
677  bool success = init(epochSeconds);
678  if (!success) return TimeOffset::forError();
679  const extended::Transition* transition = findTransition(epochSeconds);
680  return (transition)
682  transition->offsetMinutes + transition->deltaMinutes)
684  }
685 
686  TimeOffset getDeltaOffset(acetime_t epochSeconds) const override {
687  bool success = init(epochSeconds);
688  if (!success) return TimeOffset::forError();
689  const extended::Transition* transition = findTransition(epochSeconds);
690  return TimeOffset::forMinutes(transition->deltaMinutes);
691  }
692 
693  const char* getAbbrev(acetime_t epochSeconds) const override {
694  bool success = init(epochSeconds);
695  if (!success) return "";
696  const extended::Transition* transition = findTransition(epochSeconds);
697  return transition->abbrev;
698  }
699 
700  OffsetDateTime getOffsetDateTime(const LocalDateTime& ldt) const override {
701  TimeOffset offset;
702  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
703  logging::printf("getOffsetDateTime(): ldt=");
704  ldt.printTo(SERIAL_PORT_MONITOR);
705  SERIAL_PORT_MONITOR.println();
706  }
707  bool success = init(ldt.localDate());
708 
709  // Find the Transition to get the DST offset
710  if (success) {
711  const extended::Transition* transition =
712  mTransitionStorage.findTransitionForDateTime(ldt);
713  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
714  logging::printf("getOffsetDateTime(): match transition=");
715  transition->log();
716  logging::printf("\n");
717  }
718  offset = (transition)
720  transition->offsetMinutes + transition->deltaMinutes)
722  } else {
723  offset = TimeOffset::forError();
724  }
725 
726  auto odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset);
727  if (offset.isError()) {
728  return odt;
729  }
730  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
731  logging::printf("getOffsetDateTime(): odt=");
732  odt.printTo(SERIAL_PORT_MONITOR);
733  SERIAL_PORT_MONITOR.println();
734  }
735 
736  // Normalize the OffsetDateTime, causing LocalDateTime in the DST
737  // transtion gap to be shifted forward one hour. For LocalDateTime in an
738  // overlap (DST->STD transition), the earlier UTC offset is selected// by
739  // findTransitionForDateTime(). Use that to calculate the epochSeconds,
740  // then recalculate the offset. Use this final offset to determine the
741  // effective OffsetDateTime that will survive a round-trip unchanged.
742  acetime_t epochSeconds = odt.toEpochSeconds();
743  const extended::Transition* transition =
744  mTransitionStorage.findTransition(epochSeconds);
745  offset = (transition)
747  transition->offsetMinutes + transition->deltaMinutes)
749  odt = OffsetDateTime::forEpochSeconds(epochSeconds, offset);
750  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
751  logging::printf("getOffsetDateTime(): normalized(odt)=");
752  odt.printTo(SERIAL_PORT_MONITOR);
753  SERIAL_PORT_MONITOR.println();
754  }
755  return odt;
756  }
757 
758  void printTo(Print& printer) const override;
759 
760  void printShortTo(Print& printer) const override;
761 
763  void log() const {
764  logging::printf("ExtendedZoneProcessor:\n");
765  logging::printf(" mYear: %d\n", mYear);
766  logging::printf(" mNumMatches: %d\n", mNumMatches);
767  for (int i = 0; i < mNumMatches; i++) {
768  logging::printf(" Match %d: ", i);
769  mMatches[i].log();
770  logging::printf("\n");
771  }
772  mTransitionStorage.log();
773  }
774 
777  mTransitionStorage.resetHighWater();
778  }
779 
781  uint8_t getTransitionHighWater() const {
782  return mTransitionStorage.getHighWater();
783  }
784 
785  private:
786  friend class ::ExtendedZoneProcessorTest_compareEraToYearMonth;
787  friend class ::ExtendedZoneProcessorTest_compareEraToYearMonth2;
788  friend class ::ExtendedZoneProcessorTest_createMatch;
789  friend class ::ExtendedZoneProcessorTest_findMatches_simple;
790  friend class ::ExtendedZoneProcessorTest_findMatches_named;
791  friend class ::ExtendedZoneProcessorTest_findCandidateTransitions;
792  friend class ::ExtendedZoneProcessorTest_findTransitionsFromNamedMatch;
793  friend class ::ExtendedZoneProcessorTest_getTransitionTime;
794  friend class ::ExtendedZoneProcessorTest_createTransitionForYear;
795  friend class ::ExtendedZoneProcessorTest_normalizeDateTuple;
796  friend class ::ExtendedZoneProcessorTest_expandDateTuple;
797  friend class ::ExtendedZoneProcessorTest_calcInteriorYears;
798  friend class ::ExtendedZoneProcessorTest_getMostRecentPriorYear;
799  friend class ::ExtendedZoneProcessorTest_compareTransitionToMatchFuzzy;
800  friend class ::ExtendedZoneProcessorTest_compareTransitionToMatch;
801  friend class ::ExtendedZoneProcessorTest_processActiveTransition;
802  friend class ::ExtendedZoneProcessorTest_fixTransitionTimes_generateStartUntilTimes;
803  friend class ::ExtendedZoneProcessorTest_createAbbreviation;
804  friend class ::ExtendedZoneProcessorTest_setZoneInfo;
805  friend class ::TransitionStorageTest_findTransitionForDateTime;
806 
807  template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
808  friend class ZoneProcessorCacheImpl; // setZoneInfo()
809 
810  // Disable copy constructor and assignment operator.
812  ExtendedZoneProcessor& operator=(const ExtendedZoneProcessor&) = delete;
813 
818  static const uint8_t kMaxMatches = 4;
819 
827  static const uint8_t kMaxTransitions = 8;
828 
833  static const uint8_t kMaxInteriorYears = 4;
834 
836  static const extended::ZoneEra kAnchorEra;
837 
838  bool equals(const ZoneProcessor& other) const override {
839  const auto& that = (const ExtendedZoneProcessor&) other;
840  return getZoneInfo() == that.getZoneInfo();
841  }
842 
854  void setZoneInfo(const void* zoneInfo) override {
855  if (mZoneInfo.zoneInfo() == zoneInfo) return;
856 
857  mZoneInfo = extended::ZoneInfoBroker(
858  (const extended::ZoneInfo*) zoneInfo);
859  mYear = 0;
860  mIsFilled = false;
861  mNumMatches = 0;
862  }
863 
868  const extended::Transition* findTransition(acetime_t epochSeconds) const {
869  return mTransitionStorage.findTransition(epochSeconds);
870  }
871 
873  bool init(acetime_t epochSeconds) const {
874  LocalDate ld = LocalDate::forEpochSeconds(epochSeconds);
875  return init(ld);
876  }
877 
882  bool init(const LocalDate& ld) const {
883  int16_t year = ld.year();
884  if (isFilled(year)) return true;
885  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
886  logging::printf("init(): %d\n", year);
887  }
888 
889  mYear = year;
890  mNumMatches = 0; // clear cache
891  mTransitionStorage.init();
892 
893  if (year < mZoneInfo.startYear() - 1 || mZoneInfo.untilYear() < year) {
894  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
895  logging::printf("init(): Year %d out of valid range [%d, %d)\n",
896  year, mZoneInfo.startYear(), mZoneInfo.untilYear());
897  }
898  return false;
899  }
900 
901  extended::YearMonthTuple startYm = {
902  (int8_t) (year - LocalDate::kEpochYear - 1), 12 };
903  extended::YearMonthTuple untilYm = {
904  (int8_t) (year - LocalDate::kEpochYear + 1), 2 };
905 
906  mNumMatches = findMatches(mZoneInfo, startYm, untilYm, mMatches,
907  kMaxMatches);
908  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
909  findTransitions(mTransitionStorage, mMatches, mNumMatches);
910  extended::Transition** begin = mTransitionStorage.getActivePoolBegin();
911  extended::Transition** end = mTransitionStorage.getActivePoolEnd();
912  fixTransitionTimes(begin, end);
913  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
914  generateStartUntilTimes(begin, end);
915  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
916  calcAbbreviations(begin, end);
917  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
918 
919  mIsFilled = true;
920  return true;
921  }
922 
924  bool isFilled(int16_t year) const {
925  return mIsFilled && (year == mYear);
926  }
927 
935  static uint8_t findMatches(const extended::ZoneInfoBroker zoneInfo,
936  const extended::YearMonthTuple& startYm,
937  const extended::YearMonthTuple& untilYm,
938  extended::ZoneMatch* matches, uint8_t maxMatches) {
939  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
940  logging::printf("findMatches()\n");
941  }
942  uint8_t iMatch = 0;
944  for (uint8_t iEra = 0; iEra < zoneInfo.numEras(); iEra++) {
945  const extended::ZoneEraBroker era = zoneInfo.era(iEra);
946  if (eraOverlapsInterval(prev, era, startYm, untilYm)) {
947  if (iMatch < maxMatches) {
948  matches[iMatch] = createMatch(prev, era, startYm, untilYm);
949  iMatch++;
950  }
951  }
952  prev = era;
953  }
954  return iMatch;
955  }
956 
967  static bool eraOverlapsInterval(
968  const extended::ZoneEraBroker prev,
969  const extended::ZoneEraBroker era,
970  const extended::YearMonthTuple& startYm,
971  const extended::YearMonthTuple& untilYm) {
972  return compareEraToYearMonth(prev, untilYm.yearTiny, untilYm.month) < 0
973  && compareEraToYearMonth(era, startYm.yearTiny, startYm.month) > 0;
974  }
975 
977  static int8_t compareEraToYearMonth(const extended::ZoneEraBroker era,
978  int8_t yearTiny, uint8_t month) {
979  if (era.untilYearTiny() < yearTiny) return -1;
980  if (era.untilYearTiny() > yearTiny) return 1;
981  if (era.untilMonth() < month) return -1;
982  if (era.untilMonth() > month) return 1;
983  if (era.untilDay() > 1) return 1;
984  //if (era.untilTimeMinutes() < 0) return -1; // never possible
985  if (era.untilTimeMinutes() > 0) return 1;
986  return 0;
987  }
988 
995  static extended::ZoneMatch createMatch(
996  const extended::ZoneEraBroker prev,
997  const extended::ZoneEraBroker era,
998  const extended::YearMonthTuple& startYm,
999  const extended::YearMonthTuple& untilYm) {
1000  extended::DateTuple startDate = {
1001  prev.untilYearTiny(), prev.untilMonth(), prev.untilDay(),
1002  (int16_t) prev.untilTimeMinutes(), prev.untilTimeSuffix()
1003  };
1004  extended::DateTuple lowerBound = {
1005  startYm.yearTiny, startYm.month, 1, 0,
1007  };
1008  if (startDate < lowerBound) {
1009  startDate = lowerBound;
1010  }
1011 
1012  extended::DateTuple untilDate = {
1013  era.untilYearTiny(), era.untilMonth(), era.untilDay(),
1014  (int16_t) era.untilTimeMinutes(), era.untilTimeSuffix()
1015  };
1016  extended::DateTuple upperBound = {
1017  untilYm.yearTiny, untilYm.month, 1, 0,
1019  };
1020  if (upperBound < untilDate) {
1021  untilDate = upperBound;
1022  }
1023 
1024  return {startDate, untilDate, era};
1025  }
1026 
1031  static void findTransitions(
1033  extended::ZoneMatch* matches,
1034  uint8_t numMatches) {
1035  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1036  logging::printf("findTransitions()\n");
1037  }
1038  for (uint8_t i = 0; i < numMatches; i++) {
1039  findTransitionsForMatch(transitionStorage, &matches[i]);
1040  }
1041  }
1042 
1044  static void findTransitionsForMatch(
1046  const extended::ZoneMatch* match) {
1047  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1048  logging::printf("findTransitionsForMatch()\n");
1049  }
1050  const extended::ZonePolicyBroker policy = match->era.zonePolicy();
1051  if (policy.isNull()) {
1052  findTransitionsFromSimpleMatch(transitionStorage, match);
1053  } else {
1054  findTransitionsFromNamedMatch(transitionStorage, match);
1055  }
1056  }
1057 
1058  static void findTransitionsFromSimpleMatch(
1060  const extended::ZoneMatch* match) {
1061  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1062  logging::printf("findTransitionsFromSimpleMatch()\n");
1063  }
1064  extended::Transition* freeTransition = transitionStorage.getFreeAgent();
1065  createTransitionForYear(freeTransition, 0 /*not used*/,
1066  extended::ZoneRuleBroker(nullptr) /*rule*/, match);
1067  transitionStorage.addFreeAgentToActivePool();
1068  }
1069 
1070  static void findTransitionsFromNamedMatch(
1072  const extended::ZoneMatch* match) {
1073  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1074  logging::printf("findTransitionsFromNamedMatch()\n");
1075  }
1076  transitionStorage.resetCandidatePool();
1077  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1078  match->log(); logging::printf("\n");
1079  }
1080  findCandidateTransitions(transitionStorage, match);
1081  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1082  transitionStorage.log(); logging::printf("\n");
1083  }
1084  fixTransitionTimes(
1085  transitionStorage.getCandidatePoolBegin(),
1086  transitionStorage.getCandidatePoolEnd());
1087  selectActiveTransitions(transitionStorage, match);
1088  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1089  transitionStorage.log(); logging::printf("\n");
1090  }
1091 
1092  transitionStorage.addActiveCandidatesToActivePool();
1093  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1094  transitionStorage.log(); logging::printf("\n");
1095  }
1096  }
1097 
1098  static void findCandidateTransitions(
1100  const extended::ZoneMatch* match) {
1101  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1102  logging::printf("findCandidateTransitions(): ");
1103  match->log();
1104  logging::printf("\n");
1105  }
1106  const extended::ZonePolicyBroker policy = match->era.zonePolicy();
1107  uint8_t numRules = policy.numRules();
1108  int8_t startY = match->startDateTime.yearTiny;
1109  int8_t endY = match->untilDateTime.yearTiny;
1110 
1111  extended::Transition** prior = transitionStorage.reservePrior();
1112  (*prior)->active = false; // indicates "no prior transition"
1113  for (uint8_t r = 0; r < numRules; r++) {
1114  const extended::ZoneRuleBroker rule = policy.rule(r);
1115 
1116  // Add Transitions for interior years
1117  int8_t interiorYears[kMaxInteriorYears];
1118  uint8_t numYears = calcInteriorYears(interiorYears, kMaxInteriorYears,
1119  rule.fromYearTiny(), rule.toYearTiny(), startY, endY);
1120  for (uint8_t y = 0; y < numYears; y++) {
1121  int8_t year = interiorYears[y];
1122  extended::Transition* t = transitionStorage.getFreeAgent();
1123  createTransitionForYear(t, year, rule, match);
1124  int8_t status = compareTransitionToMatchFuzzy(t, match);
1125  if (status < 0) {
1126  setAsPriorTransition(transitionStorage, t);
1127  } else if (status == 1) {
1128  transitionStorage.addFreeAgentToCandidatePool();
1129  }
1130  }
1131 
1132  // Add Transition for prior year
1133  int8_t priorYear = getMostRecentPriorYear(
1134  rule.fromYearTiny(), rule.toYearTiny(), startY, endY);
1135  if (priorYear != LocalDate::kInvalidYearTiny) {
1136  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1137  logging::printf(
1138  "findCandidateTransitions(): priorYear: %d\n", priorYear);
1139  }
1140  extended::Transition* t = transitionStorage.getFreeAgent();
1141  createTransitionForYear(t, priorYear, rule, match);
1142  setAsPriorTransition(transitionStorage, t);
1143  }
1144  }
1145 
1146  // Add the reserved prior into the Candidate pool only if 'active' is
1147  // true, meaning that a prior was found.
1148  if ((*prior)->active) {
1149  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1150  logging::printf(
1151  "findCandidateTransitions(): adding prior to Candidate pool\n");
1152  }
1153  transitionStorage.addPriorToCandidatePool();
1154  }
1155  }
1156 
1161  static uint8_t calcInteriorYears(int8_t* interiorYears,
1162  uint8_t maxInteriorYears, int8_t fromYear, int8_t toYear,
1163  int8_t startYear, int8_t endYear) {
1164  uint8_t i = 0;
1165  for (int8_t year = startYear; year <= endYear; year++) {
1166  if (fromYear <= year && year <= toYear) {
1167  interiorYears[i] = year;
1168  i++;
1169  if (i >= maxInteriorYears) break;
1170  }
1171  }
1172  return i;
1173  }
1174 
1181  static void createTransitionForYear(extended::Transition* t, int8_t year,
1182  const extended::ZoneRuleBroker rule,
1183  const extended::ZoneMatch* match) {
1184  t->match = match;
1185  t->rule = rule;
1186  t->offsetMinutes = match->era.offsetMinutes();
1187  t->letterBuf[0] = '\0';
1188 
1189  if (! rule.isNull()) {
1190  t->transitionTime = getTransitionTime(year, rule);
1191  t->deltaMinutes = rule.deltaMinutes();
1192 
1193  char letter = rule.letter();
1194  if (letter >= 32) {
1195  // If LETTER is a '-', treat it the same as an empty string.
1196  if (letter != '-') {
1197  t->letterBuf[0] = letter;
1198  t->letterBuf[1] = '\0';
1199  }
1200  } else {
1201  // rule->letter is a long string, so is referenced as an offset index
1202  // into the ZonePolicy.letters array. The string cannot fit in
1203  // letterBuf, so will be retrieved by the letter() method below.
1204  }
1205  } else {
1206  t->transitionTime = match->startDateTime;
1207  t->deltaMinutes = match->era.deltaMinutes();
1208  }
1209  }
1210 
1216  static int8_t getMostRecentPriorYear(int8_t fromYear, int8_t toYear,
1217  int8_t startYear, int8_t /*endYear*/) {
1218  if (fromYear < startYear) {
1219  if (toYear < startYear) {
1220  return toYear;
1221  } else {
1222  return startYear - 1;
1223  }
1224  } else {
1226  }
1227  }
1228 
1229  static extended::DateTuple getTransitionTime(
1230  int8_t yearTiny, const extended::ZoneRuleBroker rule) {
1232  yearTiny + LocalDate::kEpochYear, rule.inMonth(), rule.onDayOfWeek(),
1233  rule.onDayOfMonth());
1234  return {yearTiny, monthDay.month, monthDay.day,
1235  (int16_t) rule.atTimeMinutes(), rule.atTimeSuffix()};
1236  }
1237 
1248  static int8_t compareTransitionToMatchFuzzy(
1249  const extended::Transition* t, const extended::ZoneMatch* match) {
1250  int16_t ttMonths = t->transitionTime.yearTiny * 12
1251  + t->transitionTime.month;
1252 
1253  int16_t matchStartMonths = match->startDateTime.yearTiny * 12
1254  + match->startDateTime.month;
1255  if (ttMonths < matchStartMonths - 1) return -1;
1256 
1257  int16_t matchUntilMonths = match->untilDateTime.yearTiny * 12
1258  + match->untilDateTime.month;
1259  if (matchUntilMonths + 2 <= ttMonths) return 2;
1260 
1261  return 1;
1262  }
1263 
1265  static void setAsPriorTransition(
1267  extended::Transition* t) {
1268  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1269  logging::printf("setAsPriorTransition()\n");
1270  }
1271  extended::Transition* prior = transitionStorage.getPrior();
1272  if (prior->active) {
1273  if (prior->transitionTime < t->transitionTime) {
1274  t->active = true;
1275  transitionStorage.setFreeAgentAsPrior();
1276  }
1277  } else {
1278  t->active = true;
1279  transitionStorage.setFreeAgentAsPrior();
1280  }
1281  }
1282 
1291  static void fixTransitionTimes(
1292  extended::Transition** begin, extended::Transition** end) {
1293  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1294  logging::printf("fixTransitionTimes(): #transitions: %d;\n",
1295  (int) (end - begin));
1296  }
1297 
1298  // extend first Transition to -infinity
1299  extended::Transition* prev = *begin;
1300 
1301  for (extended::Transition** iter = begin; iter != end; ++iter) {
1302  extended::Transition* curr = *iter;
1303  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1304  logging::printf("fixTransitionTimes(): LOOP\n");
1305  curr->log();
1306  logging::printf("\n");
1307  }
1308  expandDateTuple(&curr->transitionTime,
1309  &curr->transitionTimeS, &curr->transitionTimeU,
1310  prev->offsetMinutes, prev->deltaMinutes);
1311  prev = curr;
1312  }
1313  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1314  logging::printf("fixTransitionTimes(): END\n");
1315  }
1316  }
1317 
1323  static void expandDateTuple(extended::DateTuple* tt,
1325  int16_t offsetMinutes, int16_t deltaMinutes) {
1326  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1327  logging::printf("expandDateTuple()\n");
1328  }
1329  if (tt->suffix == extended::ZoneContext::kSuffixS) {
1330  *tts = *tt;
1331  *ttu = {tt->yearTiny, tt->month, tt->day,
1332  (int16_t) (tt->minutes - offsetMinutes),
1334  *tt = {tt->yearTiny, tt->month, tt->day,
1335  (int16_t) (tt->minutes + deltaMinutes),
1337  } else if (tt->suffix == extended::ZoneContext::kSuffixU) {
1338  *ttu = *tt;
1339  *tts = {tt->yearTiny, tt->month, tt->day,
1340  (int16_t) (tt->minutes + offsetMinutes),
1342  *tt = {tt->yearTiny, tt->month, tt->day,
1343  (int16_t) (tt->minutes + (offsetMinutes + deltaMinutes)),
1345  } else {
1346  // Explicit set the suffix to 'w' in case it was something else.
1347  tt->suffix = extended::ZoneContext::kSuffixW;
1348  *tts = {tt->yearTiny, tt->month, tt->day,
1349  (int16_t) (tt->minutes - deltaMinutes),
1351  *ttu = {tt->yearTiny, tt->month, tt->day,
1352  (int16_t) (tt->minutes - (deltaMinutes + offsetMinutes)),
1354  }
1355 
1356  normalizeDateTuple(tt);
1357  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1358  logging::printf("expandDateTuple(): normalizeDateTuple(tt): ");
1359  tt->log();
1360  logging::printf("\n");
1361  }
1362 
1363  normalizeDateTuple(tts);
1364  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1365  logging::printf("expandDateTuple(): normalizeDateTuple(tts): ");
1366  tts->log();
1367  logging::printf("\n");
1368  }
1369 
1370  normalizeDateTuple(ttu);
1371  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1372  logging::printf("expandDateTuple(): normalizeDateTuple(ttu): ");
1373  ttu->log();
1374  logging::printf("\n");
1375  }
1376  }
1377 
1382  static void normalizeDateTuple(extended::DateTuple* dt) {
1383  const int16_t kOneDayAsMinutes = 60 * 24;
1384  if (dt->minutes <= -kOneDayAsMinutes) {
1386  dt->yearTiny, dt->month, dt->day);
1387  local_date_mutation::decrementOneDay(ld);
1388  dt->yearTiny = ld.yearTiny();
1389  dt->month = ld.month();
1390  dt->day = ld.day();
1391  dt->minutes += kOneDayAsMinutes;
1392  } else if (kOneDayAsMinutes <= dt->minutes) {
1394  dt->yearTiny, dt->month, dt->day);
1395  local_date_mutation::incrementOneDay(ld);
1396  dt->yearTiny = ld.yearTiny();
1397  dt->month = ld.month();
1398  dt->day = ld.day();
1399  dt->minutes -= kOneDayAsMinutes;
1400  } else {
1401  // do nothing
1402  }
1403  }
1404 
1409  static void selectActiveTransitions(
1411  const extended::ZoneMatch* match) {
1412  extended::Transition** begin = transitionStorage.getCandidatePoolBegin();
1413  extended::Transition** end = transitionStorage.getCandidatePoolEnd();
1414  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1415  logging::printf("selectActiveTransitions(): #candidates: %d\n",
1416  (int) (end - begin));
1417  }
1418  extended::Transition* prior = nullptr;
1419  for (extended::Transition** iter = begin; iter != end; ++iter) {
1420  extended::Transition* transition = *iter;
1421  processActiveTransition(match, transition, &prior);
1422  }
1423 
1424  // If the latest prior transition is found, shift it to start at the
1425  // startDateTime of the current match.
1426  if (prior) {
1427  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1428  logging::printf(
1429  "selectActiveTransitions(): found latest prior\n");
1430  }
1431  prior->originalTransitionTime = prior->transitionTime;
1432  prior->transitionTime = match->startDateTime;
1433  }
1434  }
1435 
1443  static void processActiveTransition(
1444  const extended::ZoneMatch* match,
1445  extended::Transition* transition,
1446  extended::Transition** prior) {
1447  int8_t status = compareTransitionToMatch(transition, match);
1448  if (status == 2) {
1449  transition->active = false;
1450  } else if (status == 1) {
1451  transition->active = true;
1452  } else if (status == 0) {
1453  if (*prior) {
1454  (*prior)->active = false;
1455  }
1456  transition->active = true;
1457  (*prior) = transition;
1458  } else { // (status < 0)
1459  if (*prior) {
1460  if ((*prior)->transitionTime < transition->transitionTime) {
1461  (*prior)->active = false;
1462  transition->active = true;
1463  (*prior) = transition;
1464  }
1465  } else {
1466  transition->active = true;
1467  (*prior) = transition;
1468  }
1469  }
1470  }
1471 
1486  static int8_t compareTransitionToMatch(
1487  const extended::Transition* transition,
1488  const extended::ZoneMatch* match) {
1489  const extended::DateTuple* transitionTime;
1490 
1491  const extended::DateTuple& matchStart = match->startDateTime;
1492  if (matchStart.suffix == extended::ZoneContext::kSuffixS) {
1493  transitionTime = &transition->transitionTimeS;
1494  } else if (matchStart.suffix ==
1496  transitionTime = &transition->transitionTimeU;
1497  } else { // assume 'w'
1498  transitionTime = &transition->transitionTime;
1499  }
1500  if (*transitionTime < matchStart) return -1;
1501  if (*transitionTime == matchStart) return 0;
1502 
1503  const extended::DateTuple& matchUntil = match->untilDateTime;
1504  if (matchUntil.suffix == extended::ZoneContext::kSuffixS) {
1505  transitionTime = &transition->transitionTimeS;
1506  } else if (matchUntil.suffix ==
1508  transitionTime = &transition->transitionTimeU;
1509  } else { // assume 'w'
1510  transitionTime = &transition->transitionTime;
1511  }
1512  if (*transitionTime < matchUntil) return 1;
1513  return 2;
1514  }
1515 
1521  static void generateStartUntilTimes(
1522  extended::Transition** begin, extended::Transition** end) {
1523  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1524  logging::printf(
1525  "generateStartUntilTimes(): #transitions: %d;\n",
1526  (int) (end - begin));
1527  }
1528 
1529  extended::Transition* prev = *begin;
1530  bool isAfterFirst = false;
1531 
1532  for (extended::Transition** iter = begin; iter != end; ++iter) {
1533  extended::Transition* const t = *iter;
1534 
1535  // 1) Update the untilDateTime of the previous Transition
1536  const extended::DateTuple& tt = t->transitionTime;
1537  if (isAfterFirst) {
1538  prev->untilDateTime = tt;
1539  }
1540 
1541  // 2) Calculate the current startDateTime by shifting the
1542  // transitionTime (represented in the UTC offset of the previous
1543  // transition) into the UTC offset of the *current* transition.
1544  int16_t minutes = tt.minutes + (
1545  - prev->offsetMinutes - prev->deltaMinutes
1546  + t->offsetMinutes + t->deltaMinutes);
1547  t->startDateTime = {tt.yearTiny, tt.month, tt.day, minutes,
1548  tt.suffix};
1549  normalizeDateTuple(&t->startDateTime);
1550 
1551  // 3) The epochSecond of the 'transitionTime' is determined by the
1552  // UTC offset of the *previous* Transition. However, the
1553  // transitionTime can be represented by an illegal time (e.g. 24:00).
1554  // So, it is better to use the properly normalized startDateTime
1555  // (calculated above) with the *current* UTC offset.
1556  //
1557  // NOTE: We should also be able to calculate this directly from
1558  // 'transitionTimeU' which should still be a valid field, because it
1559  // hasn't been clobbered by 'untilDateTime' yet. Not sure if this saves
1560  // any CPU time though, since we still need to mutiply by 900.
1561  const extended::DateTuple& st = t->startDateTime;
1562  const acetime_t offsetSeconds = (acetime_t) 60
1563  * (st.minutes - (t->offsetMinutes + t->deltaMinutes));
1565  st.yearTiny, st.month, st.day);
1566  t->startEpochSeconds = ld.toEpochSeconds() + offsetSeconds;
1567 
1568  prev = t;
1569  isAfterFirst = true;
1570  }
1571 
1572  // The last Transition's until time is the until time of the ZoneMatch.
1573  extended::DateTuple untilTime = prev->match->untilDateTime;
1574  extended::DateTuple untilTimeS; // needed only for expandDateTuple
1575  extended::DateTuple untilTimeU; // needed only for expandDateTuple
1576  expandDateTuple(&untilTime, &untilTimeS, &untilTimeU,
1577  prev->offsetMinutes, prev->deltaMinutes);
1578  prev->untilDateTime = untilTime;
1579  }
1580 
1584  static void calcAbbreviations(
1585  extended::Transition** begin, extended::Transition** end) {
1586  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1587  logging::printf("calcAbbreviations(): #transitions: %d;\n",
1588  (int) (end - begin));
1589  }
1590  for (extended::Transition** iter = begin; iter != end; ++iter) {
1591  extended::Transition* const t = *iter;
1592  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
1593  logging::printf(
1594  "calcAbbreviations(): format:%s, deltaMinutes:%d, letter:%s\n",
1595  t->format(), t->deltaMinutes, t->letter());
1596  }
1597  createAbbreviation(t->abbrev, extended::Transition::kAbbrevSize,
1598  t->format(), t->deltaMinutes, t->letter());
1599  }
1600  }
1601 
1610  static void createAbbreviation(char* dest, uint8_t destSize,
1611  const char* format, uint16_t deltaMinutes, const char* letterString) {
1612  // Check if FORMAT contains a '%'.
1613  if (strchr(format, '%') != nullptr) {
1614  // Check if RULES column empty, therefore no 'letter'
1615  if (letterString == nullptr) {
1616  strncpy(dest, format, destSize - 1);
1617  dest[destSize - 1] = '\0';
1618  } else {
1619  copyAndReplace(dest, destSize, format, '%', letterString);
1620  }
1621  } else {
1622  // Check if FORMAT contains a '/'.
1623  const char* slashPos = strchr(format, '/');
1624  if (slashPos != nullptr) {
1625  if (deltaMinutes == 0) {
1626  uint8_t headLength = (slashPos - format);
1627  if (headLength >= destSize) headLength = destSize - 1;
1628  memcpy(dest, format, headLength);
1629  dest[headLength] = '\0';
1630  } else {
1631  uint8_t tailLength = strlen(slashPos+1);
1632  if (tailLength >= destSize) tailLength = destSize - 1;
1633  memcpy(dest, slashPos+1, tailLength);
1634  dest[tailLength] = '\0';
1635  }
1636  } else {
1637  // Just copy the FORMAT disregarding deltaMinutes and letterString.
1638  strncpy(dest, format, destSize);
1639  dest[destSize - 1] = '\0';
1640  }
1641  }
1642  }
1643 
1649  static void copyAndReplace(char* dst, uint8_t dstSize, const char* src,
1650  char oldChar, const char* newString) {
1651  while (*src != '\0' && dstSize > 0) {
1652  if (*src == oldChar) {
1653  while (*newString != '\0' && dstSize > 0) {
1654  *dst++ = *newString++;
1655  dstSize--;
1656  }
1657  src++;
1658  } else {
1659  *dst++ = *src++;
1660  dstSize--;
1661  }
1662  }
1663 
1664  if (dstSize == 0) {
1665  --dst;
1666  }
1667  *dst = '\0';
1668  }
1669 
1670  extended::ZoneInfoBroker mZoneInfo;
1671 
1672  mutable int16_t mYear = 0; // maybe create LocalDate::kInvalidYear?
1673  mutable bool mIsFilled = false;
1674  // NOTE: Maybe move mNumMatches and mMatches into a MatchStorage object.
1675  mutable uint8_t mNumMatches = 0; // actual number of matches
1676  mutable extended::ZoneMatch mMatches[kMaxMatches];
1677  mutable extended::TransitionStorage<kMaxTransitions> mTransitionStorage;
1678 };
1679 
1680 } // namespace ace_time
1681 
1682 #endif
void addFreeAgentToActivePool()
Immediately add the free agent Transition at index mIndexFree to the Active pool. ...
-
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
-
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
-
ZoneEraBroker era
The ZoneEra that matched the given year.
-
A heap manager which is specialized and tuned to manage a collection of Transitions, keeping track of unused, used, and active states, using a fixed array of Transitions.
-
uint8_t minute() const
Return the minute.
-
void addActiveCandidatesToActivePool()
Add active candidates into the Active pool, and collapse the Candidate pool.
-
DateTuple transitionTimeU
Version of transitionTime in &#39;u&#39; mode, using the UTC offset of the previous transition.
-
static const uint8_t kSuffixS
Represents &#39;s&#39; or standard time.
Definition: ZoneContext.h:16
-
void resetCandidatePool()
Empty the Candidate pool by resetting the various indexes.
-
char letterBuf[2]
Storage for the single letter &#39;letter&#39; field if &#39;rule&#39; is not null.
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
Definition: LocalDate.h:241
- -
void printTo(Print &printer) const
Print LocalDateTime to &#39;printer&#39; in ISO 8601 format.
-
DateTuple startDateTime
The effective start time of the matching ZoneEra.
-
Transition * getFreeAgent()
Return a pointer to the first Transition in the free pool.
-
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
-
static const uint8_t kAbbrevSize
Longest abbreviation currently seems to be 5 characters (https://www.timeanddate.com/time/zones/) but...
-
const ZoneMatch * match
The match which generated this Transition.
-
uint8_t getHighWater() const
Return the high water mark.
-
bool isError() const
Return true if this TimeOffset represents an error.
Definition: TimeOffset.h:138
-
Data broker for accessing ZoneRule.
Definition: Brokers.h:424
- -
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
-
DateTuple originalTransitionTime
If the transition is shifted to the beginning of a ZoneMatch, this is set to the transitionTime for d...
-
uint8_t day() const
Return the day of the month.
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
The result of calcStartDayOfMonth().
-
virtual const void * getZoneInfo() const =0
Return the opaque zoneInfo.
-
Represents an interval of time where the time zone obeyed a certain UTC offset and DST delta...
-
void log() const
Verify that the indexes are valid.
-
const void * getZoneInfo() const override
Return the underlying ZoneInfo.
-
void addPriorToCandidatePool()
Add the current prior into the Candidates pool.
-
const char * getAbbrev(acetime_t epochSeconds) const override
Return the time zone abbreviation at epochSeconds.
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
void setFreeAgentAsPrior()
Swap the Free agrent transition with the current Prior transition.
-
Transition * getPrior()
Return the current prior transition.
-
static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day)
Factory method using components with an int8_t yearTiny.
Definition: LocalDate.h:113
-
TimeOffset getUtcOffset(acetime_t epochSeconds) const override
Return the total UTC offset at epochSeconds, including DST offset.
-
char abbrev[kAbbrevSize]
The calculated effective time zone abbreviation, e.g.
-
const char * letter() const
Return the letter string.
-
An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time per...
Definition: ZoneInfo.h:20
-
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
-
uint8_t month() const
Return the month with January=1, December=12.
- -
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
-
void addFreeAgentToCandidatePool()
Add the free agent Transition at index mIndexFree to the Candidate pool, sorted by transitionTime...
-
int16_t deltaMinutes
The DST delta minutes.
-
DateTuple transitionTime
The original transition time, usually &#39;w&#39; but sometimes &#39;s&#39; or &#39;u&#39;.
-
acetime_t toEpochSeconds() const
Return the number of seconds since AceTime epoch (2000-01-01 00:00:00).
Definition: LocalDate.h:340
-
Data broker for accessing ZonePolicy.
Definition: Brokers.h:514
-
const LocalDate & localDate() const
Return the LocalDate.
-
static const uint8_t kAbbrevSize
Size of the timezone abbreviation.
-
An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.
-
const Transition * findTransitionForDateTime(const LocalDateTime &ldt) const
Return the Transition matching the given dateTime.
-
uint8_t hour() const
Return the hour.
-
TimeOffset getDeltaOffset(acetime_t epochSeconds) const override
Return the DST delta offset at epochSeconds.
-
DateTuple transitionTimeS
Version of transitionTime in &#39;s&#39; mode, using the UTC offset of the previous Transition.
-
acetime_t startEpochSeconds
The calculated transition time of the given rule.
-
A simple tuple to represent a year/month pair.
-
static LocalDate forEpochSeconds(acetime_t epochSeconds)
Factory method using the number of seconds since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:157
-
void resetTransitionHighWater()
Reset the TransitionStorage high water mark.
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
-
bool active
Flag used for 2 slightly different meanings at different stages of init() processing.
-
uint32_t getZoneId() const override
Return the unique stable zoneId.
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
void log() const
Used only for debugging.
-
Transition ** reservePrior()
Allocate one Transition just after the Active pool, but before the Candidate pool, to keep the most recent prior Transition.
-
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that &#39;does not exist&#39;...
Definition: LocalDate.h:45
-
void resetHighWater()
Reset the high water mark.
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
void log() const
Used only for debugging.
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
void swap(Transition **a, Transition **b)
Swap 2 transitions.
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
DateTuple untilDateTime
Until time expressed using the UTC offset of the current Transition.
-
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
-
void log() const
Used only for debugging.
-
ExtendedZoneProcessor(const extended::ZoneInfo *zoneInfo=nullptr)
Constructor.
-
uint8_t getTransitionHighWater() const
Get the TransitionStorage high water mark.
-
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
-
DateTuple untilDateTime
The effective until time of the matching ZoneEra.
-
DateTuple startDateTime
Start time expressed using the UTC offset of the current Transition.
-
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
-
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
-
static basic::MonthDay calcStartDayOfMonth(int16_t year, uint8_t month, uint8_t onDayOfWeek, int8_t onDayOfMonth)
Calculate the actual (month, day) of the expresssion (onDayOfWeek >= onDayOfMonth) or (onDayOfWeek <=...
-
A tuple that represents a date and time.
-
const Transition * findTransition(acetime_t epochSeconds) const
Return the Transition matching the given epochSeconds.
-
static const uint8_t kSuffixW
Represents &#39;w&#39; or wall time.
Definition: ZoneContext.h:13
-
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const override
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the cur...
-
Data broker for accessing ZoneEra.
Definition: Brokers.h:570
-
int16_t offsetMinutes
The base offset minutes, not the total effective UTC offset.
-
ZoneRuleBroker rule
The Zone transition rule that matched for the the given year.
-
static const uint8_t kSuffixU
Represents &#39;u&#39; or UTC time.
Definition: ZoneContext.h:19
-
Data structure that captures the matching ZoneEra and its ZoneRule transitions for a given year...
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_EXTENDED_ZONE_PROCESSOR_H
+
7 #define ACE_TIME_EXTENDED_ZONE_PROCESSOR_H
+
8 
+
9 #include <string.h> // memcpy()
+
10 #include <stdint.h>
+
11 #include "common/compat.h"
+
12 #include "internal/ZonePolicy.h"
+
13 #include "internal/ZoneInfo.h"
+
14 #include "common/logging.h"
+
15 #include "TimeOffset.h"
+
16 #include "LocalDate.h"
+
17 #include "OffsetDateTime.h"
+
18 #include "ZoneProcessor.h"
+
19 #include "BasicZoneProcessor.h"
+
20 #include "local_date_mutation.h"
+
21 
+
22 #define ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG 0
+
23 
+
24 class ExtendedZoneProcessorTest_compareEraToYearMonth;
+
25 class ExtendedZoneProcessorTest_compareEraToYearMonth2;
+
26 class ExtendedZoneProcessorTest_createMatch;
+
27 class ExtendedZoneProcessorTest_findMatches_simple;
+
28 class ExtendedZoneProcessorTest_findMatches_named;
+
29 class ExtendedZoneProcessorTest_findCandidateTransitions;
+
30 class ExtendedZoneProcessorTest_findTransitionsFromNamedMatch;
+
31 class ExtendedZoneProcessorTest_getTransitionTime;
+
32 class ExtendedZoneProcessorTest_createTransitionForYear;
+
33 class ExtendedZoneProcessorTest_normalizeDateTuple;
+
34 class ExtendedZoneProcessorTest_expandDateTuple;
+
35 class ExtendedZoneProcessorTest_calcInteriorYears;
+
36 class ExtendedZoneProcessorTest_getMostRecentPriorYear;
+
37 class ExtendedZoneProcessorTest_compareTransitionToMatchFuzzy;
+
38 class ExtendedZoneProcessorTest_compareTransitionToMatch;
+
39 class ExtendedZoneProcessorTest_processActiveTransition;
+
40 class ExtendedZoneProcessorTest_fixTransitionTimes_generateStartUntilTimes;
+
41 class ExtendedZoneProcessorTest_createAbbreviation;
+
42 class ExtendedZoneProcessorTest_setZoneInfo;
+
43 class TransitionStorageTest_getFreeAgent;
+
44 class TransitionStorageTest_getFreeAgent2;
+
45 class TransitionStorageTest_addFreeAgentToActivePool;
+
46 class TransitionStorageTest_reservePrior;
+
47 class TransitionStorageTest_addFreeAgentToCandidatePool;
+
48 class TransitionStorageTest_setFreeAgentAsPrior;
+
49 class TransitionStorageTest_addActiveCandidatesToActivePool;
+
50 class TransitionStorageTest_resetCandidatePool;
+
51 class TransitionStorageTest_findTransitionForDateTime;
+
52 
+
53 namespace ace_time {
+
54 
+
55 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+
56 class ZoneProcessorCacheImpl;
+
57 
+
58 namespace extended {
+
59 
+
64 struct DateTuple {
+
65  DateTuple() = default;
+
66 
+
67  DateTuple(int8_t y, uint8_t mon, uint8_t d, int16_t min, uint8_t mod):
+
68  yearTiny(y), month(mon), day(d), suffix(mod), minutes(min) {}
+
69 
+
70  int8_t yearTiny; // [-127, 126], 127 will cause bugs
+
71  uint8_t month; // [1-12]
+
72  uint8_t day; // [1-31]
+
73  uint8_t suffix; // kSuffixS, kSuffixW, kSuffixU
+
74  int16_t minutes; // negative values allowed
+
75 
+
77  void log() const {
+
78  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
79  char c = "wsu"[(suffix>>4)];
+
80  logging::printf("DateTuple(%04d-%02u-%02uT%d'%c')",
+
81  yearTiny+LocalDate::kEpochYear, month, day, minutes, c);
+
82  }
+
83  }
+
84 };
+
85 
+
87 inline bool operator<(const DateTuple& a, const DateTuple& b) {
+
88  if (a.yearTiny < b.yearTiny) return true;
+
89  if (a.yearTiny > b.yearTiny) return false;
+
90  if (a.month < b.month) return true;
+
91  if (a.month > b.month) return false;
+
92  if (a.day < b.day) return true;
+
93  if (a.day > b.day) return false;
+
94  if (a.minutes < b.minutes) return true;
+
95  if (a.minutes > b.minutes) return false;
+
96  return false;
+
97 }
+
98 
+
99 inline bool operator>=(const DateTuple& a, const DateTuple& b) {
+
100  return ! (a < b);
+
101 }
+
102 
+
103 inline bool operator<=(const DateTuple& a, const DateTuple& b) {
+
104  return ! (b < a);
+
105 }
+
106 
+
107 inline bool operator>(const DateTuple& a, const DateTuple& b) {
+
108  return (b < a);
+
109 }
+
110 
+
112 inline bool operator==(const DateTuple& a, const DateTuple& b) {
+
113  return a.yearTiny == b.yearTiny
+
114  && a.month == b.month
+
115  && a.day == b.day
+
116  && a.minutes == b.minutes
+
117  && a.suffix == b.suffix;
+
118 }
+
119 
+ +
122  int8_t yearTiny;
+
123  uint8_t month;
+
124 };
+
125 
+
130 struct ZoneMatch {
+ +
133 
+ +
136 
+ +
139 
+
140  void log() const {
+
141  logging::printf("ZoneMatch(");
+
142  logging::printf("Start:"); startDateTime.log();
+
143  logging::printf("; Until:"); untilDateTime.log();
+
144  logging::printf("; Era: %snull", (era.isNull()) ? "" : "!");
+
145  logging::printf(")");
+
146  }
+
147 };
+
148 
+
174 struct Transition {
+ +
177 
+
179  const ZoneMatch* match;
+
180 
+ +
187 
+ +
195 
+
196  union {
+ +
203 
+ +
209  };
+
210 
+
211  union {
+ +
218 
+ +
224  };
+
225 
+ +
231 
+
233  acetime_t startEpochSeconds;
+
234 
+
242  int16_t offsetMinutes;
+
243 
+
245  int16_t deltaMinutes;
+
246 
+ +
249 
+
251  char letterBuf[2];
+
252 
+
265  bool active;
+
266 
+
267  //-------------------------------------------------------------------------
+
268 
+
269  const char* format() const {
+
270  return match->era.format();
+
271  }
+
272 
+
278  const char* letter() const {
+
279  // RULES column is '-' or hh:mm, so return nullptr to indicate this.
+
280  if (rule.isNull()) {
+
281  return nullptr;
+
282  }
+
283 
+
284  // RULES point to a named rule, and LETTER is a single, printable
+
285  // character.
+
286  char letter = rule.letter();
+
287  if (letter >= 32) {
+
288  return letterBuf;
+
289  }
+
290 
+
291  // RULES points to a named rule, and the LETTER is a string. The
+
292  // rule->letter is a non-printable number < 32, which is an index into
+
293  // a list of strings given by match->era->zonePolicy->letters[].
+
294  const ZonePolicyBroker policy = match->era.zonePolicy();
+
295  uint8_t numLetters = policy.numLetters();
+
296  if (letter >= numLetters) {
+
297  // This should never happen unless there is a programming error. If it
+
298  // does, return an empty string. (createTransitionForYear() sets
+
299  // letterBuf to a NUL terminated empty string if rule->letter < 32)
+
300  return letterBuf;
+
301  }
+
302 
+
303  // Return the string at index 'rule->letter'.
+
304  return policy.letter(letter);
+
305  }
+
306 
+
308  void log() const {
+
309  logging::printf("Transition(");
+
310  if (sizeof(acetime_t) <= sizeof(int)) {
+
311  logging::printf("sE: %d", startEpochSeconds);
+
312  } else {
+
313  logging::printf("sE: %ld", startEpochSeconds);
+
314  }
+
315  logging::printf("; match: %snull", (match) ? "!" : "");
+
316  logging::printf("; era: %snull",
+
317  (match && match->era.isNull()) ? "" : "!");
+
318  logging::printf("; oMinutes: %d", offsetMinutes);
+
319  logging::printf("; dMinutes: %d", deltaMinutes);
+
320  logging::printf("; tt: "); transitionTime.log();
+
321  if (! rule.isNull()) {
+
322  logging::printf("; R.fY: %d", rule.fromYearTiny());
+
323  logging::printf("; R.tY: %d", rule.toYearTiny());
+
324  logging::printf("; R.M: %d", rule.inMonth());
+
325  logging::printf("; R.dow: %d", rule.onDayOfWeek());
+
326  logging::printf("; R.dom: %d", rule.onDayOfMonth());
+
327  }
+
328  }
+
329 };
+
330 
+
357 template<uint8_t SIZE>
+ +
359  public:
+ +
362 
+
364  void init() {
+
365  for (uint8_t i = 0; i < SIZE; i++) {
+
366  mTransitions[i] = &mPool[i];
+
367  }
+
368  mIndexPrior = 0;
+
369  mIndexCandidates = 0;
+
370  mIndexFree = 0;
+
371  }
+
372 
+
374  Transition* getPrior() { return mTransitions[mIndexPrior]; }
+
375 
+
377  void swap(Transition** a, Transition** b) {
+
378  Transition* tmp = *a;
+
379  *a = *b;
+
380  *b = tmp;
+
381  }
+
382 
+ +
392  mIndexCandidates = mIndexPrior;
+
393  mIndexFree = mIndexPrior;
+
394  }
+
395 
+
396  Transition** getCandidatePoolBegin() {
+
397  return &mTransitions[mIndexCandidates];
+
398  }
+
399  Transition** getCandidatePoolEnd() {
+
400  return &mTransitions[mIndexFree];
+
401  }
+
402 
+
403  Transition** getActivePoolBegin() { return &mTransitions[0]; }
+
404  Transition** getActivePoolEnd() { return &mTransitions[mIndexFree]; }
+
405 
+ +
412  // Set the internal high water mark. If that index becomes SIZE,
+
413  // then we know we have an overflow.
+
414  if (mIndexFree > mHighWater) {
+
415  mHighWater = mIndexFree;
+
416  }
+
417 
+
418  if (mIndexFree < SIZE) {
+
419  return mTransitions[mIndexFree];
+
420  } else {
+
421  return mTransitions[SIZE - 1];
+
422  }
+
423  }
+
424 
+ +
433  if (mIndexFree >= SIZE) return;
+
434  mIndexFree++;
+
435  mIndexPrior = mIndexFree;
+
436  mIndexCandidates = mIndexFree;
+
437  }
+
438 
+ +
445  mIndexCandidates++;
+
446  mIndexFree++;
+
447  return &mTransitions[mIndexPrior];
+
448  }
+
449 
+ +
452  swap(&mTransitions[mIndexPrior], &mTransitions[mIndexFree]);
+
453  }
+
454 
+ +
461  mIndexCandidates--;
+
462  }
+
463 
+ +
471  if (mIndexFree >= SIZE) return;
+
472  for (uint8_t i = mIndexFree; i > mIndexCandidates; i--) {
+
473  Transition* curr = mTransitions[i];
+
474  Transition* prev = mTransitions[i - 1];
+
475  if (curr->transitionTime >= prev->transitionTime) break;
+
476  mTransitions[i] = prev;
+
477  mTransitions[i - 1] = curr;
+
478  }
+
479  mIndexFree++;
+
480  }
+
481 
+ +
487  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
488  logging::printf("addActiveCandidatesToActivePool()\n");
+
489  }
+
490  uint8_t iActive = mIndexPrior;
+
491  uint8_t iCandidate = mIndexCandidates;
+
492  for (; iCandidate < mIndexFree; iCandidate++) {
+
493  if (mTransitions[iCandidate]->active) {
+
494  if (iActive != iCandidate) {
+
495  swap(&mTransitions[iActive], &mTransitions[iCandidate]);
+
496  }
+
497  ++iActive;
+
498  }
+
499  }
+
500  mIndexPrior = iActive;
+
501  mIndexCandidates = iActive;
+
502  mIndexFree = iActive;
+
503  }
+
504 
+
513  const Transition* findTransition(acetime_t epochSeconds) const {
+
514  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
515  logging::printf( "findTransition(): mIndexFree: %d\n", mIndexFree);
+
516  }
+
517 
+
518  const Transition* match = nullptr;
+
519  for (uint8_t i = 0; i < mIndexFree; i++) {
+
520  const Transition* candidate = mTransitions[i];
+
521  if (candidate->startEpochSeconds > epochSeconds) break;
+
522  match = candidate;
+
523  }
+
524  return match;
+
525  }
+
526 
+ +
551  const {
+
552  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
553  logging::printf(
+
554  "findTransitionForDateTime(): mIndexFree: %d\n", mIndexFree);
+
555  }
+
556 
+
557  // Convert LocalDateTime to DateTuple.
+
558  DateTuple localDate = { ldt.yearTiny(), ldt.month(), ldt.day(),
+
559  (int16_t) (ldt.hour() * 60 + ldt.minute()),
+
560  ZoneContext::kSuffixW };
+
561  const Transition* match = nullptr;
+
562 
+
563  // Find the last Transition that matches
+
564  for (uint8_t i = 0; i < mIndexFree; i++) {
+
565  const Transition* candidate = mTransitions[i];
+
566  if (candidate->startDateTime > localDate) break;
+
567  match = candidate;
+
568  }
+
569  return match;
+
570  }
+
571 
+
573  void log() const {
+
574  logging::printf("TransitionStorage:\n");
+
575  logging::printf(" mIndexPrior: %d\n", mIndexPrior);
+
576  logging::printf(" mIndexCandidates: %d\n", mIndexCandidates);
+
577  logging::printf(" mIndexFree: %d\n", mIndexFree);
+
578  if (mIndexPrior != 0) {
+
579  logging::printf(" Actives:\n");
+
580  for (uint8_t i = 0; i < mIndexPrior; i++) {
+
581  mTransitions[i]->log();
+
582  logging::printf("\n");
+
583  }
+
584  }
+
585  if (mIndexPrior != mIndexCandidates) {
+
586  logging::printf(" Prior: ");
+
587  mTransitions[mIndexPrior]->log();
+
588  logging::printf("\n");
+
589  }
+
590  if (mIndexCandidates != mIndexFree) {
+
591  logging::printf(" Candidates:\n");
+
592  for (uint8_t i = mIndexCandidates; i < mIndexFree; i++) {
+
593  mTransitions[i]->log();
+
594  logging::printf("\n");
+
595  }
+
596  }
+
597  }
+
598 
+
600  void resetHighWater() { mHighWater = 0; }
+
601 
+
607  uint8_t getHighWater() const { return mHighWater; }
+
608 
+
609  private:
+
610  friend class ::TransitionStorageTest_getFreeAgent;
+
611  friend class ::TransitionStorageTest_getFreeAgent2;
+
612  friend class ::TransitionStorageTest_addFreeAgentToActivePool;
+
613  friend class ::TransitionStorageTest_reservePrior;
+
614  friend class ::TransitionStorageTest_addFreeAgentToCandidatePool;
+
615  friend class ::TransitionStorageTest_setFreeAgentAsPrior;
+
616  friend class ::TransitionStorageTest_addActiveCandidatesToActivePool;
+
617  friend class ::TransitionStorageTest_findTransitionForDateTime;
+
618  friend class ::TransitionStorageTest_resetCandidatePool;
+
619 
+
621  Transition* getTransition(uint8_t i) { return mTransitions[i]; }
+
622 
+
623  Transition mPool[SIZE];
+
624  Transition* mTransitions[SIZE];
+
625  uint8_t mIndexPrior;
+
626  uint8_t mIndexCandidates;
+
627  uint8_t mIndexFree;
+
628 
+
630  uint8_t mHighWater = 0;
+
631 };
+
632 
+
633 } // namespace extended
+
634 
+ +
659  public:
+ +
665  const extended::ZoneInfo* zoneInfo = nullptr):
+ +
667  mZoneInfo(zoneInfo) {}
+
668 
+
670  const void* getZoneInfo() const override {
+
671  return mZoneInfo.zoneInfo();
+
672  }
+
673 
+
674  uint32_t getZoneId() const override { return mZoneInfo.zoneId(); }
+
675 
+
676  TimeOffset getUtcOffset(acetime_t epochSeconds) const override {
+
677  bool success = init(epochSeconds);
+
678  if (!success) return TimeOffset::forError();
+
679  const extended::Transition* transition = findTransition(epochSeconds);
+
680  return (transition)
+ +
682  transition->offsetMinutes + transition->deltaMinutes)
+ +
684  }
+
685 
+
686  TimeOffset getDeltaOffset(acetime_t epochSeconds) const override {
+
687  bool success = init(epochSeconds);
+
688  if (!success) return TimeOffset::forError();
+
689  const extended::Transition* transition = findTransition(epochSeconds);
+
690  return TimeOffset::forMinutes(transition->deltaMinutes);
+
691  }
+
692 
+
693  const char* getAbbrev(acetime_t epochSeconds) const override {
+
694  bool success = init(epochSeconds);
+
695  if (!success) return "";
+
696  const extended::Transition* transition = findTransition(epochSeconds);
+
697  return transition->abbrev;
+
698  }
+
699 
+
700  OffsetDateTime getOffsetDateTime(const LocalDateTime& ldt) const override {
+
701  TimeOffset offset;
+
702  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
703  logging::printf("getOffsetDateTime(): ldt=");
+
704  ldt.printTo(SERIAL_PORT_MONITOR);
+
705  SERIAL_PORT_MONITOR.println();
+
706  }
+
707  bool success = init(ldt.localDate());
+
708 
+
709  // Find the Transition to get the DST offset
+
710  if (success) {
+
711  const extended::Transition* transition =
+
712  mTransitionStorage.findTransitionForDateTime(ldt);
+
713  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
714  logging::printf("getOffsetDateTime(): match transition=");
+
715  transition->log();
+
716  logging::printf("\n");
+
717  }
+
718  offset = (transition)
+ +
720  transition->offsetMinutes + transition->deltaMinutes)
+ +
722  } else {
+
723  offset = TimeOffset::forError();
+
724  }
+
725 
+
726  auto odt = OffsetDateTime::forLocalDateTimeAndOffset(ldt, offset);
+
727  if (offset.isError()) {
+
728  return odt;
+
729  }
+
730  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
731  logging::printf("getOffsetDateTime(): odt=");
+
732  odt.printTo(SERIAL_PORT_MONITOR);
+
733  SERIAL_PORT_MONITOR.println();
+
734  }
+
735 
+
736  // Normalize the OffsetDateTime, causing LocalDateTime in the DST
+
737  // transtion gap to be shifted forward one hour. For LocalDateTime in an
+
738  // overlap (DST->STD transition), the earlier UTC offset is selected// by
+
739  // findTransitionForDateTime(). Use that to calculate the epochSeconds,
+
740  // then recalculate the offset. Use this final offset to determine the
+
741  // effective OffsetDateTime that will survive a round-trip unchanged.
+
742  acetime_t epochSeconds = odt.toEpochSeconds();
+
743  const extended::Transition* transition =
+
744  mTransitionStorage.findTransition(epochSeconds);
+
745  offset = (transition)
+ +
747  transition->offsetMinutes + transition->deltaMinutes)
+ +
749  odt = OffsetDateTime::forEpochSeconds(epochSeconds, offset);
+
750  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
751  logging::printf("getOffsetDateTime(): normalized(odt)=");
+
752  odt.printTo(SERIAL_PORT_MONITOR);
+
753  SERIAL_PORT_MONITOR.println();
+
754  }
+
755  return odt;
+
756  }
+
757 
+
758  void printTo(Print& printer) const override;
+
759 
+
760  void printShortTo(Print& printer) const override;
+
761 
+
763  void log() const {
+
764  logging::printf("ExtendedZoneProcessor:\n");
+
765  logging::printf(" mYear: %d\n", mYear);
+
766  logging::printf(" mNumMatches: %d\n", mNumMatches);
+
767  for (int i = 0; i < mNumMatches; i++) {
+
768  logging::printf(" Match %d: ", i);
+
769  mMatches[i].log();
+
770  logging::printf("\n");
+
771  }
+
772  mTransitionStorage.log();
+
773  }
+
774 
+ +
777  mTransitionStorage.resetHighWater();
+
778  }
+
779 
+
781  uint8_t getTransitionHighWater() const {
+
782  return mTransitionStorage.getHighWater();
+
783  }
+
784 
+
785  private:
+
786  friend class ::ExtendedZoneProcessorTest_compareEraToYearMonth;
+
787  friend class ::ExtendedZoneProcessorTest_compareEraToYearMonth2;
+
788  friend class ::ExtendedZoneProcessorTest_createMatch;
+
789  friend class ::ExtendedZoneProcessorTest_findMatches_simple;
+
790  friend class ::ExtendedZoneProcessorTest_findMatches_named;
+
791  friend class ::ExtendedZoneProcessorTest_findCandidateTransitions;
+
792  friend class ::ExtendedZoneProcessorTest_findTransitionsFromNamedMatch;
+
793  friend class ::ExtendedZoneProcessorTest_getTransitionTime;
+
794  friend class ::ExtendedZoneProcessorTest_createTransitionForYear;
+
795  friend class ::ExtendedZoneProcessorTest_normalizeDateTuple;
+
796  friend class ::ExtendedZoneProcessorTest_expandDateTuple;
+
797  friend class ::ExtendedZoneProcessorTest_calcInteriorYears;
+
798  friend class ::ExtendedZoneProcessorTest_getMostRecentPriorYear;
+
799  friend class ::ExtendedZoneProcessorTest_compareTransitionToMatchFuzzy;
+
800  friend class ::ExtendedZoneProcessorTest_compareTransitionToMatch;
+
801  friend class ::ExtendedZoneProcessorTest_processActiveTransition;
+
802  friend class ::ExtendedZoneProcessorTest_fixTransitionTimes_generateStartUntilTimes;
+
803  friend class ::ExtendedZoneProcessorTest_createAbbreviation;
+
804  friend class ::ExtendedZoneProcessorTest_setZoneInfo;
+
805  friend class ::TransitionStorageTest_findTransitionForDateTime;
+
806 
+
807  template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+
808  friend class ZoneProcessorCacheImpl; // setZoneInfo()
+
809 
+
810  // Disable copy constructor and assignment operator.
+ +
812  ExtendedZoneProcessor& operator=(const ExtendedZoneProcessor&) = delete;
+
813 
+
818  static const uint8_t kMaxMatches = 4;
+
819 
+
827  static const uint8_t kMaxTransitions = 8;
+
828 
+
833  static const uint8_t kMaxInteriorYears = 4;
+
834 
+
836  static const extended::ZoneEra kAnchorEra;
+
837 
+
838  bool equals(const ZoneProcessor& other) const override {
+
839  const auto& that = (const ExtendedZoneProcessor&) other;
+
840  return getZoneInfo() == that.getZoneInfo();
+
841  }
+
842 
+
854  void setZoneInfo(const void* zoneInfo) override {
+
855  if (mZoneInfo.zoneInfo() == zoneInfo) return;
+
856 
+
857  mZoneInfo = extended::ZoneInfoBroker(
+
858  (const extended::ZoneInfo*) zoneInfo);
+
859  mYear = 0;
+
860  mIsFilled = false;
+
861  mNumMatches = 0;
+
862  }
+
863 
+
868  const extended::Transition* findTransition(acetime_t epochSeconds) const {
+
869  return mTransitionStorage.findTransition(epochSeconds);
+
870  }
+
871 
+
873  bool init(acetime_t epochSeconds) const {
+
874  LocalDate ld = LocalDate::forEpochSeconds(epochSeconds);
+
875  return init(ld);
+
876  }
+
877 
+
882  bool init(const LocalDate& ld) const {
+
883  int16_t year = ld.year();
+
884  if (isFilled(year)) return true;
+
885  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
886  logging::printf("init(): %d\n", year);
+
887  }
+
888 
+
889  mYear = year;
+
890  mNumMatches = 0; // clear cache
+
891  mTransitionStorage.init();
+
892 
+
893  if (year < mZoneInfo.startYear() - 1 || mZoneInfo.untilYear() < year) {
+
894  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
895  logging::printf("init(): Year %d out of valid range [%d, %d)\n",
+
896  year, mZoneInfo.startYear(), mZoneInfo.untilYear());
+
897  }
+
898  return false;
+
899  }
+
900 
+
901  extended::YearMonthTuple startYm = {
+
902  (int8_t) (year - LocalDate::kEpochYear - 1), 12 };
+
903  extended::YearMonthTuple untilYm = {
+
904  (int8_t) (year - LocalDate::kEpochYear + 1), 2 };
+
905 
+
906  mNumMatches = findMatches(mZoneInfo, startYm, untilYm, mMatches,
+
907  kMaxMatches);
+
908  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
+
909  findTransitions(mTransitionStorage, mMatches, mNumMatches);
+
910  extended::Transition** begin = mTransitionStorage.getActivePoolBegin();
+
911  extended::Transition** end = mTransitionStorage.getActivePoolEnd();
+
912  fixTransitionTimes(begin, end);
+
913  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
+
914  generateStartUntilTimes(begin, end);
+
915  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
+
916  calcAbbreviations(begin, end);
+
917  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) { log(); }
+
918 
+
919  mIsFilled = true;
+
920  return true;
+
921  }
+
922 
+
924  bool isFilled(int16_t year) const {
+
925  return mIsFilled && (year == mYear);
+
926  }
+
927 
+
935  static uint8_t findMatches(const extended::ZoneInfoBroker zoneInfo,
+
936  const extended::YearMonthTuple& startYm,
+
937  const extended::YearMonthTuple& untilYm,
+
938  extended::ZoneMatch* matches, uint8_t maxMatches) {
+
939  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
940  logging::printf("findMatches()\n");
+
941  }
+
942  uint8_t iMatch = 0;
+
943  extended::ZoneEraBroker prev = extended::ZoneEraBroker(&kAnchorEra);
+
944  for (uint8_t iEra = 0; iEra < zoneInfo.numEras(); iEra++) {
+
945  const extended::ZoneEraBroker era = zoneInfo.era(iEra);
+
946  if (eraOverlapsInterval(prev, era, startYm, untilYm)) {
+
947  if (iMatch < maxMatches) {
+
948  matches[iMatch] = createMatch(prev, era, startYm, untilYm);
+
949  iMatch++;
+
950  }
+
951  }
+
952  prev = era;
+
953  }
+
954  return iMatch;
+
955  }
+
956 
+
967  static bool eraOverlapsInterval(
+
968  const extended::ZoneEraBroker prev,
+
969  const extended::ZoneEraBroker era,
+
970  const extended::YearMonthTuple& startYm,
+
971  const extended::YearMonthTuple& untilYm) {
+
972  return compareEraToYearMonth(prev, untilYm.yearTiny, untilYm.month) < 0
+
973  && compareEraToYearMonth(era, startYm.yearTiny, startYm.month) > 0;
+
974  }
+
975 
+
977  static int8_t compareEraToYearMonth(const extended::ZoneEraBroker era,
+
978  int8_t yearTiny, uint8_t month) {
+
979  if (era.untilYearTiny() < yearTiny) return -1;
+
980  if (era.untilYearTiny() > yearTiny) return 1;
+
981  if (era.untilMonth() < month) return -1;
+
982  if (era.untilMonth() > month) return 1;
+
983  if (era.untilDay() > 1) return 1;
+
984  //if (era.untilTimeMinutes() < 0) return -1; // never possible
+
985  if (era.untilTimeMinutes() > 0) return 1;
+
986  return 0;
+
987  }
+
988 
+
995  static extended::ZoneMatch createMatch(
+
996  const extended::ZoneEraBroker prev,
+
997  const extended::ZoneEraBroker era,
+
998  const extended::YearMonthTuple& startYm,
+
999  const extended::YearMonthTuple& untilYm) {
+
1000  extended::DateTuple startDate = {
+
1001  prev.untilYearTiny(), prev.untilMonth(), prev.untilDay(),
+
1002  (int16_t) prev.untilTimeMinutes(), prev.untilTimeSuffix()
+
1003  };
+
1004  extended::DateTuple lowerBound = {
+
1005  startYm.yearTiny, startYm.month, 1, 0,
+
1006  extended::ZoneContext::kSuffixW
+
1007  };
+
1008  if (startDate < lowerBound) {
+
1009  startDate = lowerBound;
+
1010  }
+
1011 
+
1012  extended::DateTuple untilDate = {
+
1013  era.untilYearTiny(), era.untilMonth(), era.untilDay(),
+
1014  (int16_t) era.untilTimeMinutes(), era.untilTimeSuffix()
+
1015  };
+
1016  extended::DateTuple upperBound = {
+
1017  untilYm.yearTiny, untilYm.month, 1, 0,
+
1018  extended::ZoneContext::kSuffixW
+
1019  };
+
1020  if (upperBound < untilDate) {
+
1021  untilDate = upperBound;
+
1022  }
+
1023 
+
1024  return {startDate, untilDate, era};
+
1025  }
+
1026 
+
1031  static void findTransitions(
+
1032  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1033  extended::ZoneMatch* matches,
+
1034  uint8_t numMatches) {
+
1035  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1036  logging::printf("findTransitions()\n");
+
1037  }
+
1038  for (uint8_t i = 0; i < numMatches; i++) {
+
1039  findTransitionsForMatch(transitionStorage, &matches[i]);
+
1040  }
+
1041  }
+
1042 
+
1044  static void findTransitionsForMatch(
+
1045  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1046  const extended::ZoneMatch* match) {
+
1047  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1048  logging::printf("findTransitionsForMatch()\n");
+
1049  }
+
1050  const extended::ZonePolicyBroker policy = match->era.zonePolicy();
+
1051  if (policy.isNull()) {
+
1052  findTransitionsFromSimpleMatch(transitionStorage, match);
+
1053  } else {
+
1054  findTransitionsFromNamedMatch(transitionStorage, match);
+
1055  }
+
1056  }
+
1057 
+
1058  static void findTransitionsFromSimpleMatch(
+
1059  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1060  const extended::ZoneMatch* match) {
+
1061  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1062  logging::printf("findTransitionsFromSimpleMatch()\n");
+
1063  }
+
1064  extended::Transition* freeTransition = transitionStorage.getFreeAgent();
+
1065  createTransitionForYear(freeTransition, 0 /*not used*/,
+
1066  extended::ZoneRuleBroker(nullptr) /*rule*/, match);
+
1067  transitionStorage.addFreeAgentToActivePool();
+
1068  }
+
1069 
+
1070  static void findTransitionsFromNamedMatch(
+
1071  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1072  const extended::ZoneMatch* match) {
+
1073  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1074  logging::printf("findTransitionsFromNamedMatch()\n");
+
1075  }
+
1076  transitionStorage.resetCandidatePool();
+
1077  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1078  match->log(); logging::printf("\n");
+
1079  }
+
1080  findCandidateTransitions(transitionStorage, match);
+
1081  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1082  transitionStorage.log(); logging::printf("\n");
+
1083  }
+
1084  fixTransitionTimes(
+
1085  transitionStorage.getCandidatePoolBegin(),
+
1086  transitionStorage.getCandidatePoolEnd());
+
1087  selectActiveTransitions(transitionStorage, match);
+
1088  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1089  transitionStorage.log(); logging::printf("\n");
+
1090  }
+
1091 
+
1092  transitionStorage.addActiveCandidatesToActivePool();
+
1093  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1094  transitionStorage.log(); logging::printf("\n");
+
1095  }
+
1096  }
+
1097 
+
1098  static void findCandidateTransitions(
+
1099  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1100  const extended::ZoneMatch* match) {
+
1101  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1102  logging::printf("findCandidateTransitions(): ");
+
1103  match->log();
+
1104  logging::printf("\n");
+
1105  }
+
1106  const extended::ZonePolicyBroker policy = match->era.zonePolicy();
+
1107  uint8_t numRules = policy.numRules();
+
1108  int8_t startY = match->startDateTime.yearTiny;
+
1109  int8_t endY = match->untilDateTime.yearTiny;
+
1110 
+
1111  extended::Transition** prior = transitionStorage.reservePrior();
+
1112  (*prior)->active = false; // indicates "no prior transition"
+
1113  for (uint8_t r = 0; r < numRules; r++) {
+
1114  const extended::ZoneRuleBroker rule = policy.rule(r);
+
1115 
+
1116  // Add Transitions for interior years
+
1117  int8_t interiorYears[kMaxInteriorYears];
+
1118  uint8_t numYears = calcInteriorYears(interiorYears, kMaxInteriorYears,
+
1119  rule.fromYearTiny(), rule.toYearTiny(), startY, endY);
+
1120  for (uint8_t y = 0; y < numYears; y++) {
+
1121  int8_t year = interiorYears[y];
+
1122  extended::Transition* t = transitionStorage.getFreeAgent();
+
1123  createTransitionForYear(t, year, rule, match);
+
1124  int8_t status = compareTransitionToMatchFuzzy(t, match);
+
1125  if (status < 0) {
+
1126  setAsPriorTransition(transitionStorage, t);
+
1127  } else if (status == 1) {
+
1128  transitionStorage.addFreeAgentToCandidatePool();
+
1129  }
+
1130  }
+
1131 
+
1132  // Add Transition for prior year
+
1133  int8_t priorYear = getMostRecentPriorYear(
+
1134  rule.fromYearTiny(), rule.toYearTiny(), startY, endY);
+
1135  if (priorYear != LocalDate::kInvalidYearTiny) {
+
1136  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1137  logging::printf(
+
1138  "findCandidateTransitions(): priorYear: %d\n", priorYear);
+
1139  }
+
1140  extended::Transition* t = transitionStorage.getFreeAgent();
+
1141  createTransitionForYear(t, priorYear, rule, match);
+
1142  setAsPriorTransition(transitionStorage, t);
+
1143  }
+
1144  }
+
1145 
+
1146  // Add the reserved prior into the Candidate pool only if 'active' is
+
1147  // true, meaning that a prior was found.
+
1148  if ((*prior)->active) {
+
1149  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1150  logging::printf(
+
1151  "findCandidateTransitions(): adding prior to Candidate pool\n");
+
1152  }
+
1153  transitionStorage.addPriorToCandidatePool();
+
1154  }
+
1155  }
+
1156 
+
1161  static uint8_t calcInteriorYears(int8_t* interiorYears,
+
1162  uint8_t maxInteriorYears, int8_t fromYear, int8_t toYear,
+
1163  int8_t startYear, int8_t endYear) {
+
1164  uint8_t i = 0;
+
1165  for (int8_t year = startYear; year <= endYear; year++) {
+
1166  if (fromYear <= year && year <= toYear) {
+
1167  interiorYears[i] = year;
+
1168  i++;
+
1169  if (i >= maxInteriorYears) break;
+
1170  }
+
1171  }
+
1172  return i;
+
1173  }
+
1174 
+
1181  static void createTransitionForYear(extended::Transition* t, int8_t year,
+
1182  const extended::ZoneRuleBroker rule,
+
1183  const extended::ZoneMatch* match) {
+
1184  t->match = match;
+
1185  t->rule = rule;
+
1186  t->offsetMinutes = match->era.offsetMinutes();
+
1187  t->letterBuf[0] = '\0';
+
1188 
+
1189  if (! rule.isNull()) {
+
1190  t->transitionTime = getTransitionTime(year, rule);
+
1191  t->deltaMinutes = rule.deltaMinutes();
+
1192 
+
1193  char letter = rule.letter();
+
1194  if (letter >= 32) {
+
1195  // If LETTER is a '-', treat it the same as an empty string.
+
1196  if (letter != '-') {
+
1197  t->letterBuf[0] = letter;
+
1198  t->letterBuf[1] = '\0';
+
1199  }
+
1200  } else {
+
1201  // rule->letter is a long string, so is referenced as an offset index
+
1202  // into the ZonePolicy.letters array. The string cannot fit in
+
1203  // letterBuf, so will be retrieved by the letter() method below.
+
1204  }
+
1205  } else {
+
1206  t->transitionTime = match->startDateTime;
+
1207  t->deltaMinutes = match->era.deltaMinutes();
+
1208  }
+
1209  }
+
1210 
+
1216  static int8_t getMostRecentPriorYear(int8_t fromYear, int8_t toYear,
+
1217  int8_t startYear, int8_t /*endYear*/) {
+
1218  if (fromYear < startYear) {
+
1219  if (toYear < startYear) {
+
1220  return toYear;
+
1221  } else {
+
1222  return startYear - 1;
+
1223  }
+
1224  } else {
+ +
1226  }
+
1227  }
+
1228 
+
1229  static extended::DateTuple getTransitionTime(
+
1230  int8_t yearTiny, const extended::ZoneRuleBroker rule) {
+
1231  basic::MonthDay monthDay = BasicZoneProcessor::calcStartDayOfMonth(
+
1232  yearTiny + LocalDate::kEpochYear, rule.inMonth(), rule.onDayOfWeek(),
+
1233  rule.onDayOfMonth());
+
1234  return {yearTiny, monthDay.month, monthDay.day,
+
1235  (int16_t) rule.atTimeMinutes(), rule.atTimeSuffix()};
+
1236  }
+
1237 
+
1248  static int8_t compareTransitionToMatchFuzzy(
+
1249  const extended::Transition* t, const extended::ZoneMatch* match) {
+
1250  int16_t ttMonths = t->transitionTime.yearTiny * 12
+
1251  + t->transitionTime.month;
+
1252 
+
1253  int16_t matchStartMonths = match->startDateTime.yearTiny * 12
+
1254  + match->startDateTime.month;
+
1255  if (ttMonths < matchStartMonths - 1) return -1;
+
1256 
+
1257  int16_t matchUntilMonths = match->untilDateTime.yearTiny * 12
+
1258  + match->untilDateTime.month;
+
1259  if (matchUntilMonths + 2 <= ttMonths) return 2;
+
1260 
+
1261  return 1;
+
1262  }
+
1263 
+
1265  static void setAsPriorTransition(
+
1266  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1267  extended::Transition* t) {
+
1268  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1269  logging::printf("setAsPriorTransition()\n");
+
1270  }
+
1271  extended::Transition* prior = transitionStorage.getPrior();
+
1272  if (prior->active) {
+
1273  if (prior->transitionTime < t->transitionTime) {
+
1274  t->active = true;
+
1275  transitionStorage.setFreeAgentAsPrior();
+
1276  }
+
1277  } else {
+
1278  t->active = true;
+
1279  transitionStorage.setFreeAgentAsPrior();
+
1280  }
+
1281  }
+
1282 
+
1291  static void fixTransitionTimes(
+
1292  extended::Transition** begin, extended::Transition** end) {
+
1293  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1294  logging::printf("fixTransitionTimes(): #transitions: %d;\n",
+
1295  (int) (end - begin));
+
1296  }
+
1297 
+
1298  // extend first Transition to -infinity
+
1299  extended::Transition* prev = *begin;
+
1300 
+
1301  for (extended::Transition** iter = begin; iter != end; ++iter) {
+
1302  extended::Transition* curr = *iter;
+
1303  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1304  logging::printf("fixTransitionTimes(): LOOP\n");
+
1305  curr->log();
+
1306  logging::printf("\n");
+
1307  }
+
1308  expandDateTuple(&curr->transitionTime,
+
1309  &curr->transitionTimeS, &curr->transitionTimeU,
+
1310  prev->offsetMinutes, prev->deltaMinutes);
+
1311  prev = curr;
+
1312  }
+
1313  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1314  logging::printf("fixTransitionTimes(): END\n");
+
1315  }
+
1316  }
+
1317 
+
1323  static void expandDateTuple(extended::DateTuple* tt,
+
1324  extended::DateTuple* tts, extended::DateTuple* ttu,
+
1325  int16_t offsetMinutes, int16_t deltaMinutes) {
+
1326  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1327  logging::printf("expandDateTuple()\n");
+
1328  }
+
1329  if (tt->suffix == extended::ZoneContext::kSuffixS) {
+
1330  *tts = *tt;
+
1331  *ttu = {tt->yearTiny, tt->month, tt->day,
+
1332  (int16_t) (tt->minutes - offsetMinutes),
+
1333  extended::ZoneContext::kSuffixU};
+
1334  *tt = {tt->yearTiny, tt->month, tt->day,
+
1335  (int16_t) (tt->minutes + deltaMinutes),
+
1336  extended::ZoneContext::kSuffixW};
+
1337  } else if (tt->suffix == extended::ZoneContext::kSuffixU) {
+
1338  *ttu = *tt;
+
1339  *tts = {tt->yearTiny, tt->month, tt->day,
+
1340  (int16_t) (tt->minutes + offsetMinutes),
+
1341  extended::ZoneContext::kSuffixS};
+
1342  *tt = {tt->yearTiny, tt->month, tt->day,
+
1343  (int16_t) (tt->minutes + (offsetMinutes + deltaMinutes)),
+
1344  extended::ZoneContext::kSuffixW};
+
1345  } else {
+
1346  // Explicit set the suffix to 'w' in case it was something else.
+
1347  tt->suffix = extended::ZoneContext::kSuffixW;
+
1348  *tts = {tt->yearTiny, tt->month, tt->day,
+
1349  (int16_t) (tt->minutes - deltaMinutes),
+
1350  extended::ZoneContext::kSuffixS};
+
1351  *ttu = {tt->yearTiny, tt->month, tt->day,
+
1352  (int16_t) (tt->minutes - (deltaMinutes + offsetMinutes)),
+
1353  extended::ZoneContext::kSuffixU};
+
1354  }
+
1355 
+
1356  normalizeDateTuple(tt);
+
1357  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1358  logging::printf("expandDateTuple(): normalizeDateTuple(tt): ");
+
1359  tt->log();
+
1360  logging::printf("\n");
+
1361  }
+
1362 
+
1363  normalizeDateTuple(tts);
+
1364  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1365  logging::printf("expandDateTuple(): normalizeDateTuple(tts): ");
+
1366  tts->log();
+
1367  logging::printf("\n");
+
1368  }
+
1369 
+
1370  normalizeDateTuple(ttu);
+
1371  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1372  logging::printf("expandDateTuple(): normalizeDateTuple(ttu): ");
+
1373  ttu->log();
+
1374  logging::printf("\n");
+
1375  }
+
1376  }
+
1377 
+
1382  static void normalizeDateTuple(extended::DateTuple* dt) {
+
1383  const int16_t kOneDayAsMinutes = 60 * 24;
+
1384  if (dt->minutes <= -kOneDayAsMinutes) {
+
1385  LocalDate ld = LocalDate::forTinyComponents(
+
1386  dt->yearTiny, dt->month, dt->day);
+
1387  local_date_mutation::decrementOneDay(ld);
+
1388  dt->yearTiny = ld.yearTiny();
+
1389  dt->month = ld.month();
+
1390  dt->day = ld.day();
+
1391  dt->minutes += kOneDayAsMinutes;
+
1392  } else if (kOneDayAsMinutes <= dt->minutes) {
+
1393  LocalDate ld = LocalDate::forTinyComponents(
+
1394  dt->yearTiny, dt->month, dt->day);
+
1395  local_date_mutation::incrementOneDay(ld);
+
1396  dt->yearTiny = ld.yearTiny();
+
1397  dt->month = ld.month();
+
1398  dt->day = ld.day();
+
1399  dt->minutes -= kOneDayAsMinutes;
+
1400  } else {
+
1401  // do nothing
+
1402  }
+
1403  }
+
1404 
+
1409  static void selectActiveTransitions(
+
1410  extended::TransitionStorage<kMaxTransitions>& transitionStorage,
+
1411  const extended::ZoneMatch* match) {
+
1412  extended::Transition** begin = transitionStorage.getCandidatePoolBegin();
+
1413  extended::Transition** end = transitionStorage.getCandidatePoolEnd();
+
1414  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1415  logging::printf("selectActiveTransitions(): #candidates: %d\n",
+
1416  (int) (end - begin));
+
1417  }
+
1418  extended::Transition* prior = nullptr;
+
1419  for (extended::Transition** iter = begin; iter != end; ++iter) {
+
1420  extended::Transition* transition = *iter;
+
1421  processActiveTransition(match, transition, &prior);
+
1422  }
+
1423 
+
1424  // If the latest prior transition is found, shift it to start at the
+
1425  // startDateTime of the current match.
+
1426  if (prior) {
+
1427  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1428  logging::printf(
+
1429  "selectActiveTransitions(): found latest prior\n");
+
1430  }
+
1431  prior->originalTransitionTime = prior->transitionTime;
+
1432  prior->transitionTime = match->startDateTime;
+
1433  }
+
1434  }
+
1435 
+
1443  static void processActiveTransition(
+
1444  const extended::ZoneMatch* match,
+
1445  extended::Transition* transition,
+
1446  extended::Transition** prior) {
+
1447  int8_t status = compareTransitionToMatch(transition, match);
+
1448  if (status == 2) {
+
1449  transition->active = false;
+
1450  } else if (status == 1) {
+
1451  transition->active = true;
+
1452  } else if (status == 0) {
+
1453  if (*prior) {
+
1454  (*prior)->active = false;
+
1455  }
+
1456  transition->active = true;
+
1457  (*prior) = transition;
+
1458  } else { // (status < 0)
+
1459  if (*prior) {
+
1460  if ((*prior)->transitionTime < transition->transitionTime) {
+
1461  (*prior)->active = false;
+
1462  transition->active = true;
+
1463  (*prior) = transition;
+
1464  }
+
1465  } else {
+
1466  transition->active = true;
+
1467  (*prior) = transition;
+
1468  }
+
1469  }
+
1470  }
+
1471 
+
1486  static int8_t compareTransitionToMatch(
+
1487  const extended::Transition* transition,
+
1488  const extended::ZoneMatch* match) {
+
1489  const extended::DateTuple* transitionTime;
+
1490 
+
1491  const extended::DateTuple& matchStart = match->startDateTime;
+
1492  if (matchStart.suffix == extended::ZoneContext::kSuffixS) {
+
1493  transitionTime = &transition->transitionTimeS;
+
1494  } else if (matchStart.suffix ==
+
1495  extended::ZoneContext::kSuffixU) {
+
1496  transitionTime = &transition->transitionTimeU;
+
1497  } else { // assume 'w'
+
1498  transitionTime = &transition->transitionTime;
+
1499  }
+
1500  if (*transitionTime < matchStart) return -1;
+
1501  if (*transitionTime == matchStart) return 0;
+
1502 
+
1503  const extended::DateTuple& matchUntil = match->untilDateTime;
+
1504  if (matchUntil.suffix == extended::ZoneContext::kSuffixS) {
+
1505  transitionTime = &transition->transitionTimeS;
+
1506  } else if (matchUntil.suffix ==
+
1507  extended::ZoneContext::kSuffixU) {
+
1508  transitionTime = &transition->transitionTimeU;
+
1509  } else { // assume 'w'
+
1510  transitionTime = &transition->transitionTime;
+
1511  }
+
1512  if (*transitionTime < matchUntil) return 1;
+
1513  return 2;
+
1514  }
+
1515 
+
1521  static void generateStartUntilTimes(
+
1522  extended::Transition** begin, extended::Transition** end) {
+
1523  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1524  logging::printf(
+
1525  "generateStartUntilTimes(): #transitions: %d;\n",
+
1526  (int) (end - begin));
+
1527  }
+
1528 
+
1529  extended::Transition* prev = *begin;
+
1530  bool isAfterFirst = false;
+
1531 
+
1532  for (extended::Transition** iter = begin; iter != end; ++iter) {
+
1533  extended::Transition* const t = *iter;
+
1534 
+
1535  // 1) Update the untilDateTime of the previous Transition
+
1536  const extended::DateTuple& tt = t->transitionTime;
+
1537  if (isAfterFirst) {
+
1538  prev->untilDateTime = tt;
+
1539  }
+
1540 
+
1541  // 2) Calculate the current startDateTime by shifting the
+
1542  // transitionTime (represented in the UTC offset of the previous
+
1543  // transition) into the UTC offset of the *current* transition.
+
1544  int16_t minutes = tt.minutes + (
+
1545  - prev->offsetMinutes - prev->deltaMinutes
+
1546  + t->offsetMinutes + t->deltaMinutes);
+
1547  t->startDateTime = {tt.yearTiny, tt.month, tt.day, minutes,
+
1548  tt.suffix};
+
1549  normalizeDateTuple(&t->startDateTime);
+
1550 
+
1551  // 3) The epochSecond of the 'transitionTime' is determined by the
+
1552  // UTC offset of the *previous* Transition. However, the
+
1553  // transitionTime can be represented by an illegal time (e.g. 24:00).
+
1554  // So, it is better to use the properly normalized startDateTime
+
1555  // (calculated above) with the *current* UTC offset.
+
1556  //
+
1557  // NOTE: We should also be able to calculate this directly from
+
1558  // 'transitionTimeU' which should still be a valid field, because it
+
1559  // hasn't been clobbered by 'untilDateTime' yet. Not sure if this saves
+
1560  // any CPU time though, since we still need to mutiply by 900.
+
1561  const extended::DateTuple& st = t->startDateTime;
+
1562  const acetime_t offsetSeconds = (acetime_t) 60
+
1563  * (st.minutes - (t->offsetMinutes + t->deltaMinutes));
+
1564  LocalDate ld = LocalDate::forTinyComponents(
+
1565  st.yearTiny, st.month, st.day);
+
1566  t->startEpochSeconds = ld.toEpochSeconds() + offsetSeconds;
+
1567 
+
1568  prev = t;
+
1569  isAfterFirst = true;
+
1570  }
+
1571 
+
1572  // The last Transition's until time is the until time of the ZoneMatch.
+
1573  extended::DateTuple untilTime = prev->match->untilDateTime;
+
1574  extended::DateTuple untilTimeS; // needed only for expandDateTuple
+
1575  extended::DateTuple untilTimeU; // needed only for expandDateTuple
+
1576  expandDateTuple(&untilTime, &untilTimeS, &untilTimeU,
+
1577  prev->offsetMinutes, prev->deltaMinutes);
+
1578  prev->untilDateTime = untilTime;
+
1579  }
+
1580 
+
1584  static void calcAbbreviations(
+
1585  extended::Transition** begin, extended::Transition** end) {
+
1586  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1587  logging::printf("calcAbbreviations(): #transitions: %d;\n",
+
1588  (int) (end - begin));
+
1589  }
+
1590  for (extended::Transition** iter = begin; iter != end; ++iter) {
+
1591  extended::Transition* const t = *iter;
+
1592  if (ACE_TIME_EXTENDED_ZONE_PROCESSOR_DEBUG) {
+
1593  logging::printf(
+
1594  "calcAbbreviations(): format:%s, deltaMinutes:%d, letter:%s\n",
+
1595  t->format(), t->deltaMinutes, t->letter());
+
1596  }
+
1597  createAbbreviation(t->abbrev, extended::Transition::kAbbrevSize,
+
1598  t->format(), t->deltaMinutes, t->letter());
+
1599  }
+
1600  }
+
1601 
+
1610  static void createAbbreviation(char* dest, uint8_t destSize,
+
1611  const char* format, uint16_t deltaMinutes, const char* letterString) {
+
1612  // Check if FORMAT contains a '%'.
+
1613  if (strchr(format, '%') != nullptr) {
+
1614  // Check if RULES column empty, therefore no 'letter'
+
1615  if (letterString == nullptr) {
+
1616  strncpy(dest, format, destSize - 1);
+
1617  dest[destSize - 1] = '\0';
+
1618  } else {
+
1619  copyAndReplace(dest, destSize, format, '%', letterString);
+
1620  }
+
1621  } else {
+
1622  // Check if FORMAT contains a '/'.
+
1623  const char* slashPos = strchr(format, '/');
+
1624  if (slashPos != nullptr) {
+
1625  if (deltaMinutes == 0) {
+
1626  uint8_t headLength = (slashPos - format);
+
1627  if (headLength >= destSize) headLength = destSize - 1;
+
1628  memcpy(dest, format, headLength);
+
1629  dest[headLength] = '\0';
+
1630  } else {
+
1631  uint8_t tailLength = strlen(slashPos+1);
+
1632  if (tailLength >= destSize) tailLength = destSize - 1;
+
1633  memcpy(dest, slashPos+1, tailLength);
+
1634  dest[tailLength] = '\0';
+
1635  }
+
1636  } else {
+
1637  // Just copy the FORMAT disregarding deltaMinutes and letterString.
+
1638  strncpy(dest, format, destSize);
+
1639  dest[destSize - 1] = '\0';
+
1640  }
+
1641  }
+
1642  }
+
1643 
+
1649  static void copyAndReplace(char* dst, uint8_t dstSize, const char* src,
+
1650  char oldChar, const char* newString) {
+
1651  while (*src != '\0' && dstSize > 0) {
+
1652  if (*src == oldChar) {
+
1653  while (*newString != '\0' && dstSize > 0) {
+
1654  *dst++ = *newString++;
+
1655  dstSize--;
+
1656  }
+
1657  src++;
+
1658  } else {
+
1659  *dst++ = *src++;
+
1660  dstSize--;
+
1661  }
+
1662  }
+
1663 
+
1664  if (dstSize == 0) {
+
1665  --dst;
+
1666  }
+
1667  *dst = '\0';
+
1668  }
+
1669 
+
1670  extended::ZoneInfoBroker mZoneInfo;
+
1671 
+
1672  mutable int16_t mYear = 0; // maybe create LocalDate::kInvalidYear?
+
1673  mutable bool mIsFilled = false;
+
1674  // NOTE: Maybe move mNumMatches and mMatches into a MatchStorage object.
+
1675  mutable uint8_t mNumMatches = 0; // actual number of matches
+
1676  mutable extended::ZoneMatch mMatches[kMaxMatches];
+
1677  mutable extended::TransitionStorage<kMaxTransitions> mTransitionStorage;
+
1678 };
+
1679 
+
1680 } // namespace ace_time
+
1681 
+
1682 #endif
+
DateTuple transitionTime
The original transition time, usually 'w' but sometimes 's' or 'u'.
+
const Transition * findTransition(acetime_t epochSeconds) const
Return the Transition matching the given epochSeconds.
+
static const uint8_t kAbbrevSize
Longest abbreviation currently seems to be 5 characters (https://www.timeanddate.com/time/zones/) but...
+
DateTuple untilDateTime
The effective until time of the matching ZoneEra.
+
A heap manager which is specialized and tuned to manage a collection of Transitions,...
+
static basic::MonthDay calcStartDayOfMonth(int16_t year, uint8_t month, uint8_t onDayOfWeek, int8_t onDayOfMonth)
Calculate the actual (month, day) of the expresssion (onDayOfWeek >= onDayOfMonth) or (onDayOfWeek <=...
+
int16_t deltaMinutes
The DST delta minutes.
+
void printShortTo(Print &printer) const override
Print a short human-readable identifier (e.g.
+
uint8_t hour() const
Return the hour.
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
DateTuple untilDateTime
Until time expressed using the UTC offset of the current Transition.
+
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
+
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
+
bool isError() const
Return true if this TimeOffset represents an error.
Definition: TimeOffset.h:138
+
void addActiveCandidatesToActivePool()
Add active candidates into the Active pool, and collapse the Candidate pool.
+
const char * letter() const
Return the letter string.
+
acetime_t startEpochSeconds
The calculated transition time of the given rule.
+ +
Data broker for accessing ZoneRule.
Definition: Brokers.h:424
+
void resetTransitionHighWater()
Reset the TransitionStorage high water mark.
+
void printTo(Print &printer) const
Print LocalDateTime to 'printer' in ISO 8601 format.
+
TimeOffset getUtcOffset(acetime_t epochSeconds) const override
Return the total UTC offset at epochSeconds, including DST offset.
+
void addFreeAgentToActivePool()
Immediately add the free agent Transition at index mIndexFree to the Active pool.
+
uint32_t getZoneId() const override
Return the unique stable zoneId.
+
DateTuple startDateTime
The effective start time of the matching ZoneEra.
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
DateTuple transitionTimeU
Version of transitionTime in 'u' mode, using the UTC offset of the previous transition.
+
const void * getZoneInfo() const override
Return the underlying ZoneInfo.
+
const char * getAbbrev(acetime_t epochSeconds) const override
Return the time zone abbreviation at epochSeconds.
+
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
+
Transition * getFreeAgent()
Return a pointer to the first Transition in the free pool.
+
DateTuple startDateTime
Start time expressed using the UTC offset of the current Transition.
+
void addPriorToCandidatePool()
Add the current prior into the Candidates pool.
+ +
ExtendedZoneProcessor(const extended::ZoneInfo *zoneInfo=nullptr)
Constructor.
+
static LocalDate forEpochSeconds(acetime_t epochSeconds)
Factory method using the number of seconds since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:157
+
An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.
+
void log() const
Used only for debugging.
+
DateTuple originalTransitionTime
If the transition is shifted to the beginning of a ZoneMatch, this is set to the transitionTime for d...
+
ZoneEraBroker era
The ZoneEra that matched the given year.
+
Represents an interval of time where the time zone obeyed a certain UTC offset and DST delta.
+
uint8_t month() const
Return the month with January=1, December=12.
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+
bool active
Flag used for 2 slightly different meanings at different stages of init() processing.
+ +
void setFreeAgentAsPrior()
Swap the Free agrent transition with the current Prior transition.
+
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
+
static const uint8_t kAbbrevSize
Size of the timezone abbreviation.
+
TimeOffset getDeltaOffset(acetime_t epochSeconds) const override
Return the DST delta offset at epochSeconds.
+
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that 'does not exist'.
Definition: LocalDate.h:45
+
const ZoneMatch * match
The match which generated this Transition.
+
void resetHighWater()
Reset the high water mark.
+
A tuple that represents a date and time.
+
Data broker for accessing ZonePolicy.
Definition: Brokers.h:514
+
const Transition * findTransitionForDateTime(const LocalDateTime &ldt) const
Return the Transition matching the given dateTime.
+
uint8_t minute() const
Return the minute.
+
void swap(Transition **a, Transition **b)
Swap 2 transitions.
+
const LocalDate & localDate() const
Return the LocalDate.
+
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
+
static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day)
Factory method using components with an int8_t yearTiny.
Definition: LocalDate.h:113
+
int16_t offsetMinutes
The base offset minutes, not the total effective UTC offset.
+
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
+
void log() const
Used only for debugging.
+
Transition ** reservePrior()
Allocate one Transition just after the Active pool, but before the Candidate pool,...
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
+
uint8_t getTransitionHighWater() const
Get the TransitionStorage high water mark.
+
Data broker for accessing ZoneEra.
Definition: Brokers.h:570
+
Transition * getPrior()
Return the current prior transition.
+
DateTuple transitionTimeS
Version of transitionTime in 's' mode, using the UTC offset of the previous Transition.
+
void resetCandidatePool()
Empty the Candidate pool by resetting the various indexes.
+
uint8_t day() const
Return the day of the month.
+
void addFreeAgentToCandidatePool()
Add the free agent Transition at index mIndexFree to the Candidate pool, sorted by transitionTime.
+
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
+
A simple tuple to represent a year/month pair.
+
void log() const
Used only for debugging.
+
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
+
char abbrev[kAbbrevSize]
The calculated effective time zone abbreviation, e.g.
+
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const override
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the cur...
+
Data structure that captures the matching ZoneEra and its ZoneRule transitions for a given year.
+
uint8_t getHighWater() const
Return the high water mark.
+
char letterBuf[2]
Storage for the single letter 'letter' field if 'rule' is not null.
+
ZoneRuleBroker rule
The Zone transition rule that matched for the the given year.
+
void log() const
Verify that the indexes are valid.
+
void printTo(Print &printer) const override
Print a human-readable identifier (e.g.
diff --git a/docs/html/ExtendedZone_8h_source.html b/docs/html/ExtendedZone_8h_source.html index 7213f3f8d..246c2477f 100644 --- a/docs/html/ExtendedZone_8h_source.html +++ b/docs/html/ExtendedZone_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ExtendedZone.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ExtendedZone.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ExtendedZone.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_EXTENDED_ZONE_H
7 #define ACE_TIME_EXTENDED_ZONE_H
8 
9 #include "internal/ZoneInfo.h"
10 #include "internal/Brokers.h"
11 #include "common/compat.h"
12 
13 class __FlashStringHelper;
14 
15 namespace ace_time {
16 
23 class ExtendedZone {
24  public:
25  ExtendedZone(const extended::ZoneInfo* zoneInfo):
26  mZoneInfoBroker(zoneInfo) {}
27 
28  // use default copy constructor and assignment operator
29  ExtendedZone(const ExtendedZone&) = default;
30  ExtendedZone& operator=(const ExtendedZone&) = default;
31 
32 // TODO: Merge this with BasicZone.h now that they both use the same
33 // ACE_TIME_USE_PROGMEM macro.
34 #if ACE_TIME_USE_PROGMEM
35  const __FlashStringHelper* name() const {
36  return (const __FlashStringHelper*) mZoneInfoBroker.name();
37  }
38 
39  const __FlashStringHelper* shortName() const {
40  const char* name = mZoneInfoBroker.name();
41  const char* slash = strrchr_P(name, '/');
42  return (slash) ? (const __FlashStringHelper*) (slash + 1)
43  : (const __FlashStringHelper*) name;
44  }
45 #else
46  const char* name() const {
47  return mZoneInfoBroker.name();
48  }
49 
50  const char* shortName() const {
51  const char* name = mZoneInfoBroker.name();
52  const char* slash = strrchr(name, '/');
53  return (slash) ? (slash + 1) : name;
54  }
55 #endif
56 
57  uint32_t zoneId() const {
58  return mZoneInfoBroker.zoneId();
59  }
60 
61  private:
62  const extended::ZoneInfoBroker mZoneInfoBroker;
63 };
64 
65 }
66 
67 #endif
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
Definition: ExtendedZone.h:23
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
-
The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb...
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_EXTENDED_ZONE_H
+
7 #define ACE_TIME_EXTENDED_ZONE_H
+
8 
+
9 #include "internal/ZoneInfo.h"
+
10 #include "internal/Brokers.h"
+
11 #include "common/compat.h"
+
12 
+
13 class __FlashStringHelper;
+
14 
+
15 namespace ace_time {
+
16 
+
23 class ExtendedZone {
+
24  public:
+
25  ExtendedZone(const extended::ZoneInfo* zoneInfo):
+
26  mZoneInfoBroker(zoneInfo) {}
+
27 
+
28  // use default copy constructor and assignment operator
+
29  ExtendedZone(const ExtendedZone&) = default;
+
30  ExtendedZone& operator=(const ExtendedZone&) = default;
+
31 
+
32 // TODO: Merge this with BasicZone.h now that they both use the same
+
33 // ACE_TIME_USE_PROGMEM macro.
+
34 #if ACE_TIME_USE_PROGMEM
+
35  const __FlashStringHelper* name() const {
+
36  return (const __FlashStringHelper*) mZoneInfoBroker.name();
+
37  }
+
38 
+
39  const __FlashStringHelper* shortName() const {
+
40  const char* name = mZoneInfoBroker.name();
+
41  const char* slash = strrchr_P(name, '/');
+
42  return (slash) ? (const __FlashStringHelper*) (slash + 1)
+
43  : (const __FlashStringHelper*) name;
+
44  }
+
45 #else
+
46  const char* name() const {
+
47  return mZoneInfoBroker.name();
+
48  }
+
49 
+
50  const char* shortName() const {
+
51  const char* name = mZoneInfoBroker.name();
+
52  const char* slash = strrchr(name, '/');
+
53  return (slash) ? (slash + 1) : name;
+
54  }
+
55 #endif
+
56 
+
57  uint32_t zoneId() const {
+
58  return mZoneInfoBroker.zoneId();
+
59  }
+
60 
+
61  private:
+
62  const extended::ZoneInfoBroker mZoneInfoBroker;
+
63 };
+
64 
+
65 }
+
66 
+
67 #endif
+
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
Definition: ExtendedZone.h:23
+ + +
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
diff --git a/docs/html/HardwareDateTime_8cpp_source.html b/docs/html/HardwareDateTime_8cpp_source.html index 7de7844c3..cd473b60f 100644 --- a/docs/html/HardwareDateTime_8cpp_source.html +++ b/docs/html/HardwareDateTime_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw/HardwareDateTime.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/hw/HardwareDateTime.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
HardwareDateTime.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #if ! defined(UNIX_HOST_DUINO)
7 
8 #include "HardwareDateTime.h"
9 #include "../common/util.h"
10 #include "../common/DateStrings.h"
11 
12 namespace ace_time {
13 
14 using common::printPad2;
15 
16 namespace hw {
17 
18 // Print HardwareDateTime in ISO8601 format
19 void HardwareDateTime::printTo(Print& printer) const {
20  // Date
21  printer.print(F("20"));
22  printPad2(printer, year);
23  printer.print('-');
24  printPad2(printer, month);
25  printer.print('-');
26  printPad2(printer, day);
27  printer.print('T');
28 
29  // Time
30  printPad2(printer, hour);
31  printer.print(':');
32  printPad2(printer, minute);
33  printer.print(':');
34  printPad2(printer, second);
35 
36  // Week day
37  printer.print(DateStrings().dayOfWeekLongString(dayOfWeek));
38 }
39 
40 
41 }
42 }
43 
44 #endif
-
Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string...
Definition: DateStrings.h:26
-
void printTo(Print &printer) const
Print HardwareDateTime to &#39;printer&#39;.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #if ! defined(UNIX_HOST_DUINO)
+
7 
+
8 #include "HardwareDateTime.h"
+
9 #include "../common/util.h"
+
10 #include "../common/DateStrings.h"
+
11 
+
12 namespace ace_time {
+
13 
+
14 using common::printPad2;
+
15 
+
16 namespace hw {
+
17 
+
18 // Print HardwareDateTime in ISO8601 format
+
19 void HardwareDateTime::printTo(Print& printer) const {
+
20  // Date
+
21  printer.print(F("20"));
+
22  printPad2(printer, year);
+
23  printer.print('-');
+
24  printPad2(printer, month);
+
25  printer.print('-');
+
26  printPad2(printer, day);
+
27  printer.print('T');
+
28 
+
29  // Time
+
30  printPad2(printer, hour);
+
31  printer.print(':');
+
32  printPad2(printer, minute);
+
33  printer.print(':');
+
34  printPad2(printer, second);
+
35 
+
36  // Week day
+
37  printer.print(DateStrings().dayOfWeekLongString(dayOfWeek));
+
38 }
+
39 
+
40 
+
41 }
+
42 }
+
43 
+
44 #endif
+
Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string.
Definition: DateStrings.h:26
+
void printTo(Print &printer) const
Print HardwareDateTime to 'printer'.
diff --git a/docs/html/HardwareDateTime_8h_source.html b/docs/html/HardwareDateTime_8h_source.html index c76e4ef90..037259c19 100644 --- a/docs/html/HardwareDateTime_8h_source.html +++ b/docs/html/HardwareDateTime_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw/HardwareDateTime.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/hw/HardwareDateTime.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
HardwareDateTime.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_HW_DATE_TIME_H
7 #define ACE_TIME_HW_DATE_TIME_H
8 
9 #include <stdint.h>
10 #include <Print.h> // Print
11 #include "../common/util.h"
12 
13 namespace ace_time {
14 namespace hw {
15 
22  void printTo(Print& printer) const;
23 
24  uint8_t year; // [00, 99], year - 2000
25  uint8_t month; // [1, 12]
26  uint8_t day; // [1, 31]
27  uint8_t hour; // [0, 23]
28  uint8_t minute; // [0, 59]
29  uint8_t second; // [0, 59]
30  uint8_t dayOfWeek; // [1, 7], interpretation undefined, increments every day
31 };
32 
38 inline bool operator==(const HardwareDateTime& a, const HardwareDateTime& b) {
39  return a.second == b.second
40  && a.minute == b.minute
41  && a.hour == b.hour
42  && a.day == b.day
43  && a.month == b.month
44  && a.year == b.year
45  && a.dayOfWeek == b.dayOfWeek;
46 }
47 
49 inline bool operator!=(const HardwareDateTime& a, const HardwareDateTime& b) {
50  return ! (a == b);
51 }
52 
53 }
54 }
55 
56 #endif
-
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip...
-
void printTo(Print &printer) const
Print HardwareDateTime to &#39;printer&#39;.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_HW_DATE_TIME_H
+
7 #define ACE_TIME_HW_DATE_TIME_H
+
8 
+
9 #include <stdint.h>
+
10 #include <Print.h> // Print
+
11 #include "../common/util.h"
+
12 
+
13 namespace ace_time {
+
14 namespace hw {
+
15 
+ +
22  void printTo(Print& printer) const;
+
23 
+
24  uint8_t year; // [00, 99], year - 2000
+
25  uint8_t month; // [1, 12]
+
26  uint8_t day; // [1, 31]
+
27  uint8_t hour; // [0, 23]
+
28  uint8_t minute; // [0, 59]
+
29  uint8_t second; // [0, 59]
+
30  uint8_t dayOfWeek; // [1, 7], interpretation undefined, increments every day
+
31 };
+
32 
+
38 inline bool operator==(const HardwareDateTime& a, const HardwareDateTime& b) {
+
39  return a.second == b.second
+
40  && a.minute == b.minute
+
41  && a.hour == b.hour
+
42  && a.day == b.day
+
43  && a.month == b.month
+
44  && a.year == b.year
+
45  && a.dayOfWeek == b.dayOfWeek;
+
46 }
+
47 
+
49 inline bool operator!=(const HardwareDateTime& a, const HardwareDateTime& b) {
+
50  return ! (a == b);
+
51 }
+
52 
+
53 }
+
54 }
+
55 
+
56 #endif
+
void printTo(Print &printer) const
Print HardwareDateTime to 'printer'.
+
The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.
diff --git a/docs/html/HardwareTemperature_8h_source.html b/docs/html/HardwareTemperature_8h_source.html index d4eb1d1db..4e82ed843 100644 --- a/docs/html/HardwareTemperature_8h_source.html +++ b/docs/html/HardwareTemperature_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw/HardwareTemperature.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/hw/HardwareTemperature.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
HardwareTemperature.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_HW_TEMPERATURE_H
7 #define ACE_TIME_HW_TEMPERATURE_H
8 
9 #include <stdint.h>
10 #include <Print.h> // Print
11 #include "../common/util.h" // printPad2
12 
13 namespace ace_time {
14 namespace hw {
15 
24  int16_t toTemperature256() const {
25  return (int16_t) ((msb << 8) | lsb);
26  }
27 
29  void printTo(Print& printer) const {
30  uint8_t m;
31  uint8_t l;
32 
33  int16_t temp = toTemperature256();
34  if (temp < 0) {
35  temp = -temp;
36  m = ((uint16_t) temp) >> 8;
37  l = ((uint16_t) temp) & 0xFF;
38  printer.print('-');
39  } else {
40  m = msb;
41  l = lsb;
42  }
43 
44  uint8_t frac = (uint16_t) l * 100 / 256;
45  printer.print(m);
46  printer.print('.');
47  common::printPad2(printer, frac);
48  }
49 
50  uint8_t msb;
51  uint8_t lsb;
52 };
53 
58 inline bool operator==(const HardwareTemperature& a,
59  const HardwareTemperature& b) {
60 return a.lsb == b.lsb
61  && a.msb == b.msb;
62 }
63 
65 inline bool operator!=(const HardwareTemperature& a,
66  const HardwareTemperature& b) {
67 return ! (a == b);
68 }
69 
70 }
71 }
72 
73 #endif
-
The temperature in Celcius as a signed (8.8) fixed-point integer.
-
void printTo(Print &printer) const
Print HardwareTemperature to &#39;printer&#39;.
-
int16_t toTemperature256() const
Return temperature in units of 1/256 degrees.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_HW_TEMPERATURE_H
+
7 #define ACE_TIME_HW_TEMPERATURE_H
+
8 
+
9 #include <stdint.h>
+
10 #include <Print.h> // Print
+
11 #include "../common/util.h" // printPad2
+
12 
+
13 namespace ace_time {
+
14 namespace hw {
+
15 
+ +
24  int16_t toTemperature256() const {
+
25  return (int16_t) ((msb << 8) | lsb);
+
26  }
+
27 
+
29  void printTo(Print& printer) const {
+
30  uint8_t m;
+
31  uint8_t l;
+
32 
+
33  int16_t temp = toTemperature256();
+
34  if (temp < 0) {
+
35  temp = -temp;
+
36  m = ((uint16_t) temp) >> 8;
+
37  l = ((uint16_t) temp) & 0xFF;
+
38  printer.print('-');
+
39  } else {
+
40  m = msb;
+
41  l = lsb;
+
42  }
+
43 
+
44  uint8_t frac = (uint16_t) l * 100 / 256;
+
45  printer.print(m);
+
46  printer.print('.');
+
47  common::printPad2(printer, frac);
+
48  }
+
49 
+
50  uint8_t msb;
+
51  uint8_t lsb;
+
52 };
+
53 
+
58 inline bool operator==(const HardwareTemperature& a,
+
59  const HardwareTemperature& b) {
+
60 return a.lsb == b.lsb
+
61  && a.msb == b.msb;
+
62 }
+
63 
+
65 inline bool operator!=(const HardwareTemperature& a,
+
66  const HardwareTemperature& b) {
+
67 return ! (a == b);
+
68 }
+
69 
+
70 }
+
71 }
+
72 
+
73 #endif
+
The temperature in Celcius as a signed (8.8) fixed-point integer.
+
int16_t toTemperature256() const
Return temperature in units of 1/256 degrees.
+
void printTo(Print &printer) const
Print HardwareTemperature to 'printer'.
diff --git a/docs/html/LocalDateTime_8cpp_source.html b/docs/html/LocalDateTime_8cpp_source.html index e2db3dc23..4fd07a940 100644 --- a/docs/html/LocalDateTime_8cpp_source.html +++ b/docs/html/LocalDateTime_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/LocalDateTime.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/LocalDateTime.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
LocalDateTime.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "common/util.h"
7 #include "common/DateStrings.h"
8 #include "LocalDateTime.h"
9 
10 namespace ace_time {
11 
12 using common::printPad2;
13 
14 void LocalDateTime::printTo(Print& printer) const {
15  if (isError()) {
16  printer.print(F("<Invalid LocalDateTime>"));
17  return;
18  }
19 
20  // Date
21  printer.print(mLocalDate.year());
22  printer.print('-');
23  printPad2(printer, mLocalDate.month());
24  printer.print('-');
25  printPad2(printer, mLocalDate.day());
26 
27  // 'T' separator
28  printer.print('T');
29 
30  // Time
31  printPad2(printer, mLocalTime.hour());
32  printer.print(':');
33  printPad2(printer, mLocalTime.minute());
34  printer.print(':');
35  printPad2(printer, mLocalTime.second());
36 }
37 
39  if (strlen(dateString) < kDateTimeStringLength) {
40  return LocalDateTime::forError();
41  }
42  return forDateStringChainable(dateString);
43 }
44 
45 
47  const char* s = dateString;
48 
49  // date
51 
52  // 'T'
53  s++;
54 
55  // time
57 
58  dateString = s;
59  return LocalDateTime(ld, lt);
60 }
61 
62 }
63 
-
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
-
void printTo(Print &printer) const
Print LocalDateTime to &#39;printer&#39; in ISO 8601 format.
-
static LocalTime forTimeStringChainable(const char *&timeString)
Variant of forTimeString() that updates the pointer to the next unprocessed character.
Definition: LocalTime.cpp:35
-
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
-
static LocalDate forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDate.cpp:73
-
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
-
static LocalDateTime forDateString(const char *dateString)
Factory method.
-
static LocalDateTime forError()
Factory method that returns an instance where isError() returns true.
-
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
-
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
-
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
-
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
-
LocalDateTime()
Constructor.
-
bool isError() const
Return true if any component indicates an error condition.
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include "common/util.h"
+
7 #include "common/DateStrings.h"
+
8 #include "LocalDateTime.h"
+
9 
+
10 namespace ace_time {
+
11 
+
12 using common::printPad2;
+
13 
+
14 void LocalDateTime::printTo(Print& printer) const {
+
15  if (isError()) {
+
16  printer.print(F("<Invalid LocalDateTime>"));
+
17  return;
+
18  }
+
19 
+
20  // Date
+
21  printer.print(mLocalDate.year());
+
22  printer.print('-');
+
23  printPad2(printer, mLocalDate.month());
+
24  printer.print('-');
+
25  printPad2(printer, mLocalDate.day());
+
26 
+
27  // 'T' separator
+
28  printer.print('T');
+
29 
+
30  // Time
+
31  printPad2(printer, mLocalTime.hour());
+
32  printer.print(':');
+
33  printPad2(printer, mLocalTime.minute());
+
34  printer.print(':');
+
35  printPad2(printer, mLocalTime.second());
+
36 }
+
37 
+ +
39  if (strlen(dateString) < kDateTimeStringLength) {
+
40  return LocalDateTime::forError();
+
41  }
+
42  return forDateStringChainable(dateString);
+
43 }
+
44 
+
45 
+ +
47  const char* s = dateString;
+
48 
+
49  // date
+ +
51 
+
52  // 'T'
+
53  s++;
+
54 
+
55  // time
+ +
57 
+
58  dateString = s;
+
59  return LocalDateTime(ld, lt);
+
60 }
+
61 
+
62 }
+
63 
+
static LocalTime forTimeStringChainable(const char *&timeString)
Variant of forTimeString() that updates the pointer to the next unprocessed character.
Definition: LocalTime.cpp:35
+
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
void printTo(Print &printer) const
Print LocalDateTime to 'printer' in ISO 8601 format.
+
static LocalDateTime forError()
Factory method that returns an instance where isError() returns true.
+
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
+
static LocalDate forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDate.cpp:73
+
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
+
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
+
bool isError() const
Return true if any component indicates an error condition.
+
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
+
LocalDateTime()
Constructor.
+
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
+
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
+
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
+
static LocalDateTime forDateString(const char *dateString)
Factory method.
+
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
diff --git a/docs/html/LocalDateTime_8h_source.html b/docs/html/LocalDateTime_8h_source.html index e39090355..eb0195c64 100644 --- a/docs/html/LocalDateTime_8h_source.html +++ b/docs/html/LocalDateTime_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/LocalDateTime.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/LocalDateTime.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
LocalDateTime.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_LOCAL_DATE_TIME_H
7 #define ACE_TIME_LOCAL_DATE_TIME_H
8 
9 #include <stdint.h>
10 #include "LocalDate.h"
11 #include "LocalTime.h"
12 
13 class Print;
14 class __FlashStringHelper;
15 
16 namespace ace_time {
17 
28  public:
29 
40  static LocalDateTime forComponents(int16_t year, uint8_t month,
41  uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
42  int8_t yearTiny = LocalDate::isYearValid(year)
43  ? year - LocalDate::kEpochYear
45  return forTinyComponents(yearTiny, month, day, hour, minute, second);
46  }
47 
50  uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
51  return LocalDateTime(
52  LocalDate::forTinyComponents(yearTiny, month, day),
53  LocalTime::forComponents(hour, minute, second));
54  }
55 
67  static LocalDateTime forEpochSeconds(acetime_t epochSeconds) {
68  LocalDate ld;
69  LocalTime lt;
70  if (epochSeconds == LocalDate::kInvalidEpochSeconds) {
71  ld = LocalDate::forError();
72  lt = LocalTime::forError();
73  } else {
74  // Integer floor-division towards -infinity
75  acetime_t days = (epochSeconds < 0)
76  ? (epochSeconds + 1) / 86400 - 1
77  : epochSeconds / 86400;
78 
79  // Avoid % operator, because it's slow on an 8-bit process and because
80  // epochSeconds could be negative.
81  acetime_t seconds = epochSeconds - 86400 * days;
82  ld = LocalDate::forEpochDays(days);
83  lt = LocalTime::forSeconds(seconds);
84  }
85 
86  return LocalDateTime(ld, lt);
87  }
88 
97  static LocalDateTime forUnixSeconds(acetime_t unixSeconds) {
98  acetime_t epochSeconds = (unixSeconds == LocalDate::kInvalidEpochSeconds)
99  ? unixSeconds
100  : unixSeconds - LocalDate::kSecondsSinceUnixEpoch;
101  return forEpochSeconds(epochSeconds);
102  }
103 
120  static LocalDateTime forDateString(const char* dateString);
121 
129  static LocalDateTime forDateStringChainable(const char*& dateString);
130 
135  static LocalDateTime forDateString(const __FlashStringHelper* dateString) {
136  // Copy the F() string into a buffer. Use strncpy_P() because ESP32 and
137  // ESP8266 do not have strlcpy_P(). We need +1 for the '\0' character and
138  // another +1 to determine if the dateString is too long to fit.
139  char buffer[kDateTimeStringLength + 2];
140  strncpy_P(buffer, (const char*) dateString, sizeof(buffer));
141  buffer[kDateTimeStringLength + 1] = 0;
142 
143  // check if the original F() was too long
144  size_t len = strlen(buffer);
145  if (len > kDateTimeStringLength) {
146  return forError();
147  }
148 
149  return forDateString(buffer);
150  }
151 
155  }
156 
158  explicit LocalDateTime() {}
159 
161  bool isError() const {
162  return mLocalDate.isError() || mLocalTime.isError();
163  }
164 
166  int16_t year() const { return mLocalDate.year(); }
167 
169  void year(int16_t year) { mLocalDate.year(year); }
170 
176  int8_t yearTiny() const { return mLocalDate.yearTiny(); }
177 
183  void yearTiny(int8_t yearTiny) { mLocalDate.yearTiny(yearTiny); }
184 
186  uint8_t month() const { return mLocalDate.month(); }
187 
189  void month(uint8_t month) { mLocalDate.month(month); }
190 
192  uint8_t day() const { return mLocalDate.day(); }
193 
195  void day(uint8_t day) { mLocalDate.day(day); }
196 
198  uint8_t hour() const { return mLocalTime.hour(); }
199 
201  void hour(uint8_t hour) { mLocalTime.hour(hour); }
202 
204  uint8_t minute() const { return mLocalTime.minute(); }
205 
207  void minute(uint8_t minute) { mLocalTime.minute(minute); }
208 
210  uint8_t second() const { return mLocalTime.second(); }
211 
213  void second(uint8_t second) { mLocalTime.second(second); }
214 
216  uint8_t dayOfWeek() const { return mLocalDate.dayOfWeek(); }
217 
219  const LocalDate& localDate() const { return mLocalDate; }
220 
222  const LocalTime& localTime() const { return mLocalTime; }
223 
227  acetime_t toEpochDays() const {
229  return mLocalDate.toEpochDays();
230  }
231 
233  acetime_t toUnixDays() const {
236  }
237 
243  acetime_t toEpochSeconds() const {
245 
246  acetime_t days = mLocalDate.toEpochDays();
247  acetime_t seconds = mLocalTime.toSeconds();
248  return days * 86400 + seconds;
249  }
250 
259  acetime_t toUnixSeconds() const {
262  }
263 
268  int8_t compareTo(const LocalDateTime& that) const {
269  acetime_t thisSeconds = toEpochSeconds();
270  acetime_t thatSeconds = that.toEpochSeconds();
271  if (thisSeconds < thatSeconds) return -1;
272  if (thisSeconds > thatSeconds) return 1;
273  return 0;
274  }
275 
281  void printTo(Print& printer) const;
282 
283  // Use default copy constructor and assignment operator.
284  LocalDateTime(const LocalDateTime&) = default;
285  LocalDateTime& operator=(const LocalDateTime&) = default;
286 
287  private:
288  friend bool operator==(const LocalDateTime& a, const LocalDateTime& b);
289 
291  static const uint8_t kDateTimeStringLength = 19;
292 
294  explicit LocalDateTime(const LocalDate& ld, const LocalTime& lt):
295  mLocalDate(ld),
296  mLocalTime(lt) {}
297 
298  LocalDate mLocalDate;
299  LocalTime mLocalTime;
300 };
301 
307 inline bool operator==(const LocalDateTime& a, const LocalDateTime& b) {
308  return a.mLocalDate == b.mLocalDate
309  && a.mLocalTime == b.mLocalTime;
310 }
311 
313 inline bool operator!=(const LocalDateTime& a, const LocalDateTime& b) {
314  return ! (a == b);
315 }
316 
317 }
318 
319 #endif
acetime_t toSeconds() const
Return the number of seconds since midnight.
Definition: LocalTime.h:137
-
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:69
-
static LocalDate forEpochDays(acetime_t epochDays)
Factory method using the number of days since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:125
-
int16_t year() const
Return the year.
-
uint8_t minute() const
Return the minute.
-
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:75
-
static LocalDateTime forDateString(const __FlashStringHelper *dateString)
Factory method.
-
static LocalDate forError()
Factory method that returns a LocalDate which represents an error condition.
Definition: LocalDate.h:206
-
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
Definition: LocalDate.h:241
- -
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
-
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
-
void printTo(Print &printer) const
Print LocalDateTime to &#39;printer&#39; in ISO 8601 format.
-
static LocalDateTime forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using components with an int8_t yearTiny.
Definition: LocalDateTime.h:49
-
acetime_t toEpochDays() const
Return number of days since AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:300
-
uint8_t day() const
Return the day of the month.
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
static LocalDateTime forEpochSeconds(acetime_t epochSeconds)
Factory method.
Definition: LocalDateTime.h:67
-
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
-
static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day)
Factory method using components with an int8_t yearTiny.
Definition: LocalDate.h:113
-
void minute(uint8_t minute)
Set the minute.
-
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
-
void hour(uint8_t hour)
Set the hour.
-
bool isError() const
Return true if any component indicates an error condition.
Definition: LocalDate.h:278
-
acetime_t toUnixSeconds() const
Return seconds from Unix epoch 1970-01-01 00:00:00Z, after assuming that the date and time components...
-
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
-
static LocalDateTime forDateString(const char *dateString)
Factory method.
-
uint8_t month() const
Return the month with January=1, December=12.
-
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
-
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
-
const LocalDate & localDate() const
Return the LocalDate.
-
const LocalTime & localTime() const
Return the LocalTime.
-
uint8_t hour() const
Return the hour.
-
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
-
void year(int16_t year)
Set the year.
-
bool isError() const
Return true if any component is outside the normal time range of 00:00:00 to 23:59:59.
Definition: LocalTime.h:106
-
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that &#39;does not exist&#39;...
Definition: LocalDate.h:45
-
uint8_t second() const
Return the second.
-
static LocalDateTime forUnixSeconds(acetime_t unixSeconds)
Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.
Definition: LocalDateTime.h:97
-
static LocalDateTime forError()
Factory method that returns an instance where isError() returns true.
-
static LocalTime forError()
Factory method that returns an instance which indicates an error condition.
Definition: LocalTime.h:93
-
static LocalTime forComponents(uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date, time, and time zone fields.
Definition: LocalTime.h:41
-
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
-
int8_t compareTo(const LocalDateTime &that) const
Compare this LocalDateTime with another LocalDateTime, and return (<0, 0, >0) according to whether th...
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
friend bool operator==(const LocalDateTime &a, const LocalDateTime &b)
Return true if two LocalDateTime objects are equal in all components.
-
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z).
-
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
-
void month(uint8_t month)
Set the month.
-
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
-
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
-
static bool isYearValid(int16_t year)
Return true if year is within valid range of [1873, 2127].
Definition: LocalDate.h:216
-
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
-
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
-
LocalDateTime()
Constructor.
-
bool isError() const
Return true if any component indicates an error condition.
-
static LocalTime forSeconds(acetime_t seconds)
Factory method.
Definition: LocalTime.h:54
-
void second(uint8_t second)
Set the second.
-
void day(uint8_t day)
Set the day of the month.
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
uint8_t dayOfWeek() const
Calculate the day of week given the (year, month, day).
Definition: LocalDate.h:268
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_LOCAL_DATE_TIME_H
+
7 #define ACE_TIME_LOCAL_DATE_TIME_H
+
8 
+
9 #include <stdint.h>
+
10 #include "LocalDate.h"
+
11 #include "LocalTime.h"
+
12 
+
13 class Print;
+
14 class __FlashStringHelper;
+
15 
+
16 namespace ace_time {
+
17 
+ +
28  public:
+
29 
+
40  static LocalDateTime forComponents(int16_t year, uint8_t month,
+
41  uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
+ + + + +
46  }
+
47 
+ +
50  uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) {
+
51  return LocalDateTime(
+ + +
54  }
+
55 
+
67  static LocalDateTime forEpochSeconds(acetime_t epochSeconds) {
+
68  LocalDate ld;
+
69  LocalTime lt;
+
70  if (epochSeconds == LocalDate::kInvalidEpochSeconds) {
+
71  ld = LocalDate::forError();
+
72  lt = LocalTime::forError();
+
73  } else {
+
74  // Integer floor-division towards -infinity
+
75  acetime_t days = (epochSeconds < 0)
+
76  ? (epochSeconds + 1) / 86400 - 1
+
77  : epochSeconds / 86400;
+
78 
+
79  // Avoid % operator, because it's slow on an 8-bit process and because
+
80  // epochSeconds could be negative.
+
81  acetime_t seconds = epochSeconds - 86400 * days;
+
82  ld = LocalDate::forEpochDays(days);
+
83  lt = LocalTime::forSeconds(seconds);
+
84  }
+
85 
+
86  return LocalDateTime(ld, lt);
+
87  }
+
88 
+
97  static LocalDateTime forUnixSeconds(acetime_t unixSeconds) {
+
98  acetime_t epochSeconds = (unixSeconds == LocalDate::kInvalidEpochSeconds)
+
99  ? unixSeconds
+
100  : unixSeconds - LocalDate::kSecondsSinceUnixEpoch;
+
101  return forEpochSeconds(epochSeconds);
+
102  }
+
103 
+
120  static LocalDateTime forDateString(const char* dateString);
+
121 
+
129  static LocalDateTime forDateStringChainable(const char*& dateString);
+
130 
+
135  static LocalDateTime forDateString(const __FlashStringHelper* dateString) {
+
136  // Copy the F() string into a buffer. Use strncpy_P() because ESP32 and
+
137  // ESP8266 do not have strlcpy_P(). We need +1 for the '\0' character and
+
138  // another +1 to determine if the dateString is too long to fit.
+
139  char buffer[kDateTimeStringLength + 2];
+
140  strncpy_P(buffer, (const char*) dateString, sizeof(buffer));
+
141  buffer[kDateTimeStringLength + 1] = 0;
+
142 
+
143  // check if the original F() was too long
+
144  size_t len = strlen(buffer);
+
145  if (len > kDateTimeStringLength) {
+
146  return forError();
+
147  }
+
148 
+
149  return forDateString(buffer);
+
150  }
+
151 
+ + +
155  }
+
156 
+
158  explicit LocalDateTime() {}
+
159 
+
161  bool isError() const {
+
162  return mLocalDate.isError() || mLocalTime.isError();
+
163  }
+
164 
+
166  int16_t year() const { return mLocalDate.year(); }
+
167 
+
169  void year(int16_t year) { mLocalDate.year(year); }
+
170 
+
176  int8_t yearTiny() const { return mLocalDate.yearTiny(); }
+
177 
+
183  void yearTiny(int8_t yearTiny) { mLocalDate.yearTiny(yearTiny); }
+
184 
+
186  uint8_t month() const { return mLocalDate.month(); }
+
187 
+
189  void month(uint8_t month) { mLocalDate.month(month); }
+
190 
+
192  uint8_t day() const { return mLocalDate.day(); }
+
193 
+
195  void day(uint8_t day) { mLocalDate.day(day); }
+
196 
+
198  uint8_t hour() const { return mLocalTime.hour(); }
+
199 
+
201  void hour(uint8_t hour) { mLocalTime.hour(hour); }
+
202 
+
204  uint8_t minute() const { return mLocalTime.minute(); }
+
205 
+
207  void minute(uint8_t minute) { mLocalTime.minute(minute); }
+
208 
+
210  uint8_t second() const { return mLocalTime.second(); }
+
211 
+
213  void second(uint8_t second) { mLocalTime.second(second); }
+
214 
+
216  uint8_t dayOfWeek() const { return mLocalDate.dayOfWeek(); }
+
217 
+
219  const LocalDate& localDate() const { return mLocalDate; }
+
220 
+
222  const LocalTime& localTime() const { return mLocalTime; }
+
223 
+
227  acetime_t toEpochDays() const {
+ +
229  return mLocalDate.toEpochDays();
+
230  }
+
231 
+
233  acetime_t toUnixDays() const {
+ + +
236  }
+
237 
+
243  acetime_t toEpochSeconds() const {
+ +
245 
+
246  acetime_t days = mLocalDate.toEpochDays();
+
247  acetime_t seconds = mLocalTime.toSeconds();
+
248  return days * 86400 + seconds;
+
249  }
+
250 
+
259  acetime_t toUnixSeconds() const {
+ + +
262  }
+
263 
+
268  int8_t compareTo(const LocalDateTime& that) const {
+
269  acetime_t thisSeconds = toEpochSeconds();
+
270  acetime_t thatSeconds = that.toEpochSeconds();
+
271  if (thisSeconds < thatSeconds) return -1;
+
272  if (thisSeconds > thatSeconds) return 1;
+
273  return 0;
+
274  }
+
275 
+
281  void printTo(Print& printer) const;
+
282 
+
283  // Use default copy constructor and assignment operator.
+
284  LocalDateTime(const LocalDateTime&) = default;
+
285  LocalDateTime& operator=(const LocalDateTime&) = default;
+
286 
+
287  private:
+
288  friend bool operator==(const LocalDateTime& a, const LocalDateTime& b);
+
289 
+
291  static const uint8_t kDateTimeStringLength = 19;
+
292 
+
294  explicit LocalDateTime(const LocalDate& ld, const LocalTime& lt):
+
295  mLocalDate(ld),
+
296  mLocalTime(lt) {}
+
297 
+
298  LocalDate mLocalDate;
+
299  LocalTime mLocalTime;
+
300 };
+
301 
+
307 inline bool operator==(const LocalDateTime& a, const LocalDateTime& b) {
+
308  return a.mLocalDate == b.mLocalDate
+
309  && a.mLocalTime == b.mLocalTime;
+
310 }
+
311 
+
313 inline bool operator!=(const LocalDateTime& a, const LocalDateTime& b) {
+
314  return ! (a == b);
+
315 }
+
316 
+
317 }
+
318 
+
319 #endif
+
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
+
void day(uint8_t day)
Set the day of the month.
+
static LocalDate forError()
Factory method that returns a LocalDate which represents an error condition.
Definition: LocalDate.h:206
+
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
+
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:69
+
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
+
static LocalDate forEpochDays(acetime_t epochDays)
Factory method using the number of days since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:125
+
static LocalDateTime forUnixSeconds(acetime_t unixSeconds)
Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.
Definition: LocalDateTime.h:97
+
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
+
uint8_t hour() const
Return the hour.
+
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
+
static LocalDateTime forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using components with an int8_t yearTiny.
Definition: LocalDateTime.h:49
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
+
acetime_t toEpochDays() const
Return number of days since AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:300
+
void printTo(Print &printer) const
Print LocalDateTime to 'printer' in ISO 8601 format.
+
uint8_t dayOfWeek() const
Calculate the day of week given the (year, month, day).
Definition: LocalDate.h:268
+
static LocalDateTime forError()
Factory method that returns an instance where isError() returns true.
+
void month(uint8_t month)
Set the month.
+
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
+
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z).
+
void minute(uint8_t minute)
Set the minute.
+
void second(uint8_t second)
Set the second.
+
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
+
uint8_t month() const
Return the month with January=1, December=12.
+
friend bool operator==(const LocalDateTime &a, const LocalDateTime &b)
Return true if two LocalDateTime objects are equal in all components.
+
bool isError() const
Return true if any component is outside the normal time range of 00:00:00 to 23:59:59.
Definition: LocalTime.h:106
+
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that 'does not exist'.
Definition: LocalDate.h:45
+
static LocalTime forError()
Factory method that returns an instance which indicates an error condition.
Definition: LocalTime.h:93
+
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
+
uint8_t second() const
Return the second.
+
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
+
void hour(uint8_t hour)
Set the hour.
+
const LocalTime & localTime() const
Return the LocalTime.
+
bool isError() const
Return true if any component indicates an error condition.
+
uint8_t minute() const
Return the minute.
+
const LocalDate & localDate() const
Return the LocalDate.
+
static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day)
Factory method using components with an int8_t yearTiny.
Definition: LocalDate.h:113
+
bool isError() const
Return true if any component indicates an error condition.
Definition: LocalDate.h:278
+
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
+
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
+
int16_t year() const
Return the year.
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
+
int8_t compareTo(const LocalDateTime &that) const
Compare this LocalDateTime with another LocalDateTime, and return (<0, 0, >0) according to whether th...
+
LocalDateTime()
Constructor.
+
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
+
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
+
acetime_t toSeconds() const
Return the number of seconds since midnight.
Definition: LocalTime.h:137
+
acetime_t toUnixSeconds() const
Return seconds from Unix epoch 1970-01-01 00:00:00Z, after assuming that the date and time components...
+
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
+
static LocalDateTime forDateString(const char *dateString)
Factory method.
+
void year(int16_t year)
Set the year.
+
uint8_t day() const
Return the day of the month.
+
static LocalTime forComponents(uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date, time, and time zone fields.
Definition: LocalTime.h:41
+
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:75
+
static bool isYearValid(int16_t year)
Return true if year is within valid range of [1873, 2127].
Definition: LocalDate.h:216
+
static LocalDateTime forEpochSeconds(acetime_t epochSeconds)
Factory method.
Definition: LocalDateTime.h:67
+
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
Definition: LocalDate.h:241
+
static LocalTime forSeconds(acetime_t seconds)
Factory method.
Definition: LocalTime.h:54
+
static LocalDateTime forDateString(const __FlashStringHelper *dateString)
Factory method.
diff --git a/docs/html/LocalDate_8cpp_source.html b/docs/html/LocalDate_8cpp_source.html index 02c5babba..012748ce3 100644 --- a/docs/html/LocalDate_8cpp_source.html +++ b/docs/html/LocalDate_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/LocalDate.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/LocalDate.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
LocalDate.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "common/util.h"
7 #include "common/DateStrings.h"
8 #include "LocalDate.h"
9 
10 namespace ace_time {
11 
12 using common::printPad2;
13 using common::printPad3;
14 
15 // Using 0=Jan offset.
16 const uint8_t LocalDate::sDayOfWeek[12] = {
17  5 /*Jan=31*/,
18  1 /*Feb=28*/,
19  0 /*Mar=31, start of "year"*/,
20  3 /*Apr=30*/,
21  5 /*May=31*/,
22  1 /*Jun=30*/,
23  3 /*Jul=31*/,
24  6 /*Aug=31*/,
25  2 /*Sep=30*/,
26  4 /*Oct=31*/,
27  0 /*Nov=30*/,
28  2 /*Dec=31*/,
29 };
30 
31 // Using 0=Jan offset.
32 const uint8_t LocalDate::sDaysInMonth[12] = {
33  31 /*Jan=31*/,
34  28 /*Feb=28*/,
35  31 /*Mar=31*/,
36  30 /*Apr=30*/,
37  31 /*May=31*/,
38  30 /*Jun=30*/,
39  31 /*Jul=31*/,
40  31 /*Aug=31*/,
41  30 /*Sep=30*/,
42  31 /*Oct=31*/,
43  30 /*Nov=30*/,
44  31 /*Dec=31*/,
45 };
46 
47 void LocalDate::printTo(Print& printer) const {
48  if (isError()) {
49  printer.print(F("<Invalid LocalDate>"));
50  return;
51  }
52 
53  // Date
54  printer.print(year());
55  printer.print('-');
56  printPad2(printer, mMonth);
57  printer.print('-');
58  printPad2(printer, mDay);
59  printer.print(' ');
60 
61  // Week day
62  DateStrings ds;
63  printer.print(ds.dayOfWeekLongString(dayOfWeek()));
64 }
65 
66 LocalDate LocalDate::forDateString(const char* dateString) {
67  if (strlen(dateString) < kDateStringLength) {
68  return forError();
69  }
70  return forDateStringChainable(dateString);
71 }
72 
73 LocalDate LocalDate::forDateStringChainable(const char*& dateString) {
74  const char* s = dateString;
75 
76  // year (assumes 4 digit year)
77  int16_t year = (*s++ - '0');
78  year = 10 * year + (*s++ - '0');
79  year = 10 * year + (*s++ - '0');
80  year = 10 * year + (*s++ - '0');
81 
82  // '-'
83  s++;
84 
85  // month
86  uint8_t month = (*s++ - '0');
87  month = 10 * month + (*s++ - '0');
88 
89  // '-'
90  s++;
91 
92  // day
93  uint8_t day = (*s++ - '0');
94  day = 10 * day + (*s++ - '0');
95 
96  dateString = s;
97  return forComponents(year, month, day);
98 }
99 
100 }
static LocalDate forError()
Factory method that returns a LocalDate which represents an error condition.
Definition: LocalDate.h:206
- -
static LocalDate forDateString(const char *dateString)
Factory method.
Definition: LocalDate.cpp:66
-
void printTo(Print &printer) const
Print LocalDate to &#39;printer&#39; in ISO 8601 format, along with the day of week.
Definition: LocalDate.cpp:47
-
Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string...
Definition: DateStrings.h:26
-
static LocalDate forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDate.cpp:73
-
bool isError() const
Return true if any component indicates an error condition.
Definition: LocalDate.h:278
-
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
-
const char * dayOfWeekLongString(uint8_t dayOfWeek)
Return the short dayOfWeek name.
Definition: DateStrings.h:56
-
static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day)
Factory method using separated year, month and day fields.
Definition: LocalDate.h:106
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
-
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
-
uint8_t dayOfWeek() const
Calculate the day of week given the (year, month, day).
Definition: LocalDate.h:268
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include "common/util.h"
+
7 #include "common/DateStrings.h"
+
8 #include "LocalDate.h"
+
9 
+
10 namespace ace_time {
+
11 
+
12 using common::printPad2;
+
13 using common::printPad3;
+
14 
+
15 // Using 0=Jan offset.
+
16 const uint8_t LocalDate::sDayOfWeek[12] = {
+
17  5 /*Jan=31*/,
+
18  1 /*Feb=28*/,
+
19  0 /*Mar=31, start of "year"*/,
+
20  3 /*Apr=30*/,
+
21  5 /*May=31*/,
+
22  1 /*Jun=30*/,
+
23  3 /*Jul=31*/,
+
24  6 /*Aug=31*/,
+
25  2 /*Sep=30*/,
+
26  4 /*Oct=31*/,
+
27  0 /*Nov=30*/,
+
28  2 /*Dec=31*/,
+
29 };
+
30 
+
31 // Using 0=Jan offset.
+
32 const uint8_t LocalDate::sDaysInMonth[12] = {
+
33  31 /*Jan=31*/,
+
34  28 /*Feb=28*/,
+
35  31 /*Mar=31*/,
+
36  30 /*Apr=30*/,
+
37  31 /*May=31*/,
+
38  30 /*Jun=30*/,
+
39  31 /*Jul=31*/,
+
40  31 /*Aug=31*/,
+
41  30 /*Sep=30*/,
+
42  31 /*Oct=31*/,
+
43  30 /*Nov=30*/,
+
44  31 /*Dec=31*/,
+
45 };
+
46 
+
47 void LocalDate::printTo(Print& printer) const {
+
48  if (isError()) {
+
49  printer.print(F("<Invalid LocalDate>"));
+
50  return;
+
51  }
+
52 
+
53  // Date
+
54  printer.print(year());
+
55  printer.print('-');
+
56  printPad2(printer, mMonth);
+
57  printer.print('-');
+
58  printPad2(printer, mDay);
+
59  printer.print(' ');
+
60 
+
61  // Week day
+
62  DateStrings ds;
+
63  printer.print(ds.dayOfWeekLongString(dayOfWeek()));
+
64 }
+
65 
+
66 LocalDate LocalDate::forDateString(const char* dateString) {
+
67  if (strlen(dateString) < kDateStringLength) {
+
68  return forError();
+
69  }
+
70  return forDateStringChainable(dateString);
+
71 }
+
72 
+
73 LocalDate LocalDate::forDateStringChainable(const char*& dateString) {
+
74  const char* s = dateString;
+
75 
+
76  // year (assumes 4 digit year)
+
77  int16_t year = (*s++ - '0');
+
78  year = 10 * year + (*s++ - '0');
+
79  year = 10 * year + (*s++ - '0');
+
80  year = 10 * year + (*s++ - '0');
+
81 
+
82  // '-'
+
83  s++;
+
84 
+
85  // month
+
86  uint8_t month = (*s++ - '0');
+
87  month = 10 * month + (*s++ - '0');
+
88 
+
89  // '-'
+
90  s++;
+
91 
+
92  // day
+
93  uint8_t day = (*s++ - '0');
+
94  day = 10 * day + (*s++ - '0');
+
95 
+
96  dateString = s;
+
97  return forComponents(year, month, day);
+
98 }
+
99 
+
100 }
+
void printTo(Print &printer) const
Print LocalDate to 'printer' in ISO 8601 format, along with the day of week.
Definition: LocalDate.cpp:47
+
static LocalDate forError()
Factory method that returns a LocalDate which represents an error condition.
Definition: LocalDate.h:206
+
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
+
uint8_t dayOfWeek() const
Calculate the day of week given the (year, month, day).
Definition: LocalDate.h:268
+
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
+
const char * dayOfWeekLongString(uint8_t dayOfWeek)
Return the short dayOfWeek name.
Definition: DateStrings.h:56
+
static LocalDate forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDate.cpp:73
+
static LocalDate forDateString(const char *dateString)
Factory method.
Definition: LocalDate.cpp:66
+
Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string.
Definition: DateStrings.h:26
+
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
+
bool isError() const
Return true if any component indicates an error condition.
Definition: LocalDate.h:278
+
static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day)
Factory method using separated year, month and day fields.
Definition: LocalDate.h:106
+
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
diff --git a/docs/html/LocalDate_8h_source.html b/docs/html/LocalDate_8h_source.html index abf736b41..750ed12b1 100644 --- a/docs/html/LocalDate_8h_source.html +++ b/docs/html/LocalDate_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/LocalDate.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/LocalDate.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
LocalDate.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_LOCAL_DATE_H
7 #define ACE_TIME_LOCAL_DATE_H
8 
9 #include <stdint.h>
10 #include "common/common.h"
11 #include "LocalTime.h"
12 
13 class Print;
14 
15 namespace ace_time {
16 
36 class LocalDate {
37  public:
39  static const int16_t kEpochYear = 2000;
40 
45  static const int8_t kInvalidYearTiny = INT8_MIN;
46 
51  static const int8_t kMinYearTiny = INT8_MIN + 1;
52 
57  static const int8_t kMaxYearTiny = INT8_MAX;
58 
60  static const acetime_t kInvalidEpochDays = INT32_MIN;
61 
64 
69  static const acetime_t kSecondsSinceUnixEpoch = 946684800;
70 
75  static const acetime_t kDaysSinceUnixEpoch = 10957;
76 
78  static const uint8_t kMonday = 1;
79 
81  static const uint8_t kTuesday = 2;
82 
84  static const uint8_t kWednesday = 3;
85 
87  static const uint8_t kThursday = 4;
88 
90  static const uint8_t kFriday = 5;
91 
93  static const uint8_t kSaturday = 6;
94 
96  static const uint8_t kSunday = 7;
97 
106  static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day) {
107  int8_t yearTiny = isYearValid(year)
108  ? year - kEpochYear : kInvalidYearTiny;
109  return LocalDate(yearTiny, month, day);
110  }
111 
113  static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month,
114  uint8_t day) {
115  return LocalDate(yearTiny, month, day);
116  }
117 
125  static LocalDate forEpochDays(acetime_t epochDays) {
126  int16_t year;
127  uint8_t month;
128  uint8_t day;
129  if (epochDays == kInvalidEpochDays) {
130  year = month = day = 0;
131  } else {
132  extractYearMonthDay(epochDays, year, month, day);
133  }
134  return forComponents(year, month, day);
135  }
136 
138  static LocalDate forUnixDays(acetime_t unixDays) {
139  if (unixDays == kInvalidEpochDays) {
140  return forEpochDays(unixDays);
141  } else {
142  return forEpochDays(unixDays - kDaysSinceUnixEpoch);
143  }
144  }
145 
157  static LocalDate forEpochSeconds(acetime_t epochSeconds) {
158  if (epochSeconds == kInvalidEpochSeconds) {
159  return forEpochDays(kInvalidEpochDays);
160  } else {
161  // integer floor-division towards -infinity
162  acetime_t days = (epochSeconds < 0)
163  ? (epochSeconds + 1) / 86400 - 1
164  : epochSeconds / 86400;
165  return forEpochDays(days);
166  }
167  }
168 
174  static LocalDate forUnixSeconds(acetime_t unixSeconds) {
175  if (unixSeconds == kInvalidEpochSeconds) {
176  return forEpochSeconds(unixSeconds);
177  } else {
178  return forEpochSeconds(unixSeconds - kSecondsSinceUnixEpoch);
179  }
180  }
181 
191  static LocalDate forDateString(const char* dateString);
192 
200  static LocalDate forDateStringChainable(const char*& dateString);
201 
206  static LocalDate forError() {
207  return LocalDate(kInvalidYearTiny, 0, 0);
208  }
209 
211  static bool isLeapYear(int16_t year) {
212  return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
213  }
214 
216  static bool isYearValid(int16_t year) {
217  return year >= kEpochYear + kMinYearTiny
218  && year <= kEpochYear + kMaxYearTiny;
219  }
220 
222  static uint8_t daysInMonth(int16_t year, uint8_t month) {
223  uint8_t days = sDaysInMonth[month - 1];
224  return (month == 2 && isLeapYear(year)) ? days + 1 : days;
225  }
226 
228  explicit LocalDate() {}
229 
231  int16_t year() const { return mYearTiny + kEpochYear; }
232 
234  void year(int16_t year) { mYearTiny = year - kEpochYear; }
235 
241  int8_t yearTiny() const { return mYearTiny; }
242 
248  void yearTiny(int8_t yearTiny) { mYearTiny = yearTiny; }
249 
251  uint8_t month() const { return mMonth; }
252 
254  void month(uint8_t month) { mMonth = month; }
255 
257  uint8_t day() const { return mDay; }
258 
260  void day(uint8_t day) { mDay = day; }
261 
268  uint8_t dayOfWeek() const {
269  // The "year" starts in March to shift leap year calculation to end.
270  int16_t y = year() - (mMonth < 3);
271  int16_t d = y + y/4 - y/100 + y/400 + sDayOfWeek[mMonth-1] + mDay;
272 
273  // 2000-1-1 was a Saturday=6, so set the offsets accordingly
274  return (d < -1) ? (d + 1) % 7 + 8 : (d + 1) % 7 + 1;
275  }
276 
278  bool isError() const {
279  return mYearTiny == kInvalidYearTiny
280  || mDay < 1 || mDay > 31
281  || mMonth < 1 || mMonth > 12;
282  }
283 
300  acetime_t toEpochDays() const {
301  if (isError()) return kInvalidEpochDays;
302 
303  // From wiki article:
304  //
305  // JDN = (1461 x (Y + 4800 + (M - 14)/12))/4
306  // + (367 x (M - 2 - 12 x ((M - 14)/12)))/12
307  // - (3 x ((Y + 4900 + (M - 14)/12)/100))/4
308  // + D - 32075
309  // JDN2000 = JDN - 2451545
310  //
311  // It looks like the formula needs to be done using signed integers
312  // because it depends on the modulo operation (%) to truncate towards 0
313  // for negative numbers.
314 
315  int8_t mm = (mMonth - 14)/12;
316  int16_t yy = year();
317  int32_t jdn = ((int32_t) 1461 * (yy + 4800 + mm))/4
318  + (367 * (mMonth - 2 - 12 * mm))/12
319  - (3 * ((yy + 4900 + mm)/100))/4
320  + mDay - 32075;
321  return jdn - kDaysSinceJulianEpoch;
322  }
323 
325  acetime_t toUnixDays() const {
326  if (isError()) return kInvalidEpochDays;
327  return toEpochDays() + kDaysSinceUnixEpoch;
328  }
329 
340  acetime_t toEpochSeconds() const {
341  if (isError()) return kInvalidEpochSeconds;
342  return 86400 * toEpochDays();
343  }
344 
348  acetime_t toUnixSeconds() const {
349  if (isError()) return kInvalidEpochSeconds;
350  return 86400 * toUnixDays();
351  }
352 
358  int8_t compareTo(const LocalDate& that) const {
359  if (mYearTiny < that.mYearTiny) return -1;
360  if (mYearTiny > that.mYearTiny) return 1;
361  if (mMonth < that.mMonth) return -1;
362  if (mMonth > that.mMonth) return 1;
363  if (mDay < that.mDay) return -1;
364  if (mDay > that.mDay) return 1;
365  return 0;
366  }
367 
374  void printTo(Print& printer) const;
375 
376  // Use default copy constructor and assignment operator.
377  LocalDate(const LocalDate&) = default;
378  LocalDate& operator=(const LocalDate&) = default;
379 
380  private:
381  friend bool operator==(const LocalDate& a, const LocalDate& b);
382 
387  static const acetime_t kDaysSinceJulianEpoch = 2451545;
388 
390  static const uint8_t kDateStringLength = 10;
391 
397  static const uint8_t sDayOfWeek[12];
398 
400  static const uint8_t sDaysInMonth[12];
401 
403  explicit LocalDate(int8_t yearTiny, uint8_t month, uint8_t day):
404  mYearTiny(yearTiny),
405  mMonth(month),
406  mDay(day) {}
407 
413  static void extractYearMonthDay(acetime_t epochDays, int16_t& year,
414  uint8_t& month, uint8_t& day) {
415  uint32_t J = epochDays + kDaysSinceJulianEpoch;
416  uint32_t f = J + 1401 + (((4 * J + 274277 ) / 146097) * 3) / 4 - 38;
417  uint32_t e = 4 * f + 3;
418  uint32_t g = e % 1461 / 4;
419  uint32_t h = 5 * g + 2;
420  day = (h % 153) / 5 + 1;
421  month = (h / 153 + 2) % 12 + 1;
422  year = (e / 1461) - 4716 + (12 + 2 - month) / 12;
423 
424  // 2000-01-01 is Saturday (7)
425  //dayOfWeek = (epochDays + 6) % 7 + 1;
426  }
427 
432  int8_t mYearTiny; // [-127, 127], -128 indicates error
433 
434  uint8_t mMonth; // [1, 12], 0 indicates error
435  uint8_t mDay; // [1, 31], 0 indicates error
436 };
437 
439 inline bool operator==(const LocalDate& a, const LocalDate& b) {
440  return a.mDay == b.mDay
441  && a.mMonth == b.mMonth
442  && a.mYearTiny == b.mYearTiny;
443 }
444 
446 inline bool operator!=(const LocalDate& a, const LocalDate& b) {
447  return ! (a == b);
448 }
449 
450 }
451 
452 #endif
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:69
-
static LocalDate forEpochDays(acetime_t epochDays)
Factory method using the number of days since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:125
-
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:75
-
static const uint8_t kWednesday
Wednesday ISO 8601 number.
Definition: LocalDate.h:84
-
static LocalDate forError()
Factory method that returns a LocalDate which represents an error condition.
Definition: LocalDate.h:206
-
static const uint8_t kThursday
Thursday ISO 8601 number.
Definition: LocalDate.h:87
-
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
-
static LocalDate forUnixDays(acetime_t unixDays)
Factory method using the number of days since Unix epoch 1970-01-1.
Definition: LocalDate.h:138
-
LocalDate()
Default constructor does nothing.
Definition: LocalDate.h:228
-
static const int8_t kMinYearTiny
Sentinel yearTiny which represents the smallest year, effectively -Infinity.
Definition: LocalDate.h:51
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
Definition: LocalDate.h:241
- -
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
-
static const acetime_t kInvalidSeconds
An invalid seconds marker that indicates isError() true.
Definition: LocalTime.h:29
-
static LocalDate forDateString(const char *dateString)
Factory method.
Definition: LocalDate.cpp:66
-
static bool isLeapYear(int16_t year)
True if year is a leap year.
Definition: LocalDate.h:211
-
void printTo(Print &printer) const
Print LocalDate to &#39;printer&#39; in ISO 8601 format, along with the day of week.
Definition: LocalDate.cpp:47
-
acetime_t toEpochDays() const
Return number of days since AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:300
-
static const int8_t kMaxYearTiny
Sentinel yearTiny which represents the largest year, effectively -Infinity.
Definition: LocalDate.h:57
-
static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day)
Factory method using components with an int8_t yearTiny.
Definition: LocalDate.h:113
-
static LocalDate forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDate.cpp:73
-
bool isError() const
Return true if any component indicates an error condition.
Definition: LocalDate.h:278
-
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
-
acetime_t toEpochSeconds() const
Return the number of seconds since AceTime epoch (2000-01-01 00:00:00).
Definition: LocalDate.h:340
-
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
Definition: LocalDate.h:325
-
friend bool operator==(const LocalDate &a, const LocalDate &b)
Return true if two LocalDate objects are equal in all components.
Definition: LocalDate.h:439
-
static LocalDate forEpochSeconds(acetime_t epochSeconds)
Factory method using the number of seconds since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:157
-
void year(int16_t year)
Set the year given the full year.
Definition: LocalDate.h:234
-
acetime_t toUnixSeconds() const
Return the number of seconds since Unix epoch (1970-01-01 00:00:00).
Definition: LocalDate.h:348
-
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
Definition: LocalDate.h:248
-
static LocalDate forUnixSeconds(acetime_t unixSeconds)
Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.
Definition: LocalDate.h:174
-
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that &#39;does not exist&#39;...
Definition: LocalDate.h:45
-
static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day)
Factory method using separated year, month and day fields.
Definition: LocalDate.h:106
-
static const uint8_t kSunday
Sunday ISO 8601 number.
Definition: LocalDate.h:96
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
static const uint8_t kFriday
Friday ISO 8601 number.
Definition: LocalDate.h:90
-
static const uint8_t kSaturday
Saturday ISO 8601 number.
Definition: LocalDate.h:93
-
static const uint8_t kTuesday
Tuesday ISO 8601 number.
Definition: LocalDate.h:81
-
void month(uint8_t month)
Set the month.
Definition: LocalDate.h:254
-
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
-
static uint8_t daysInMonth(int16_t year, uint8_t month)
Return the number of days in the current month.
Definition: LocalDate.h:222
-
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
-
static bool isYearValid(int16_t year)
Return true if year is within valid range of [1873, 2127].
Definition: LocalDate.h:216
-
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
-
void day(uint8_t day)
Set the day of the month.
Definition: LocalDate.h:260
-
int8_t compareTo(const LocalDate &that) const
Compare this LocalDate to that LocalDate, returning (<0, 0, >0) according to whether the epochSeconds...
Definition: LocalDate.h:358
-
static const uint8_t kMonday
Monday ISO 8601 number.
Definition: LocalDate.h:78
-
uint8_t dayOfWeek() const
Calculate the day of week given the (year, month, day).
Definition: LocalDate.h:268
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_LOCAL_DATE_H
+
7 #define ACE_TIME_LOCAL_DATE_H
+
8 
+
9 #include <stdint.h>
+
10 #include "common/common.h"
+
11 #include "LocalTime.h"
+
12 
+
13 class Print;
+
14 
+
15 namespace ace_time {
+
16 
+
36 class LocalDate {
+
37  public:
+
39  static const int16_t kEpochYear = 2000;
+
40 
+
45  static const int8_t kInvalidYearTiny = INT8_MIN;
+
46 
+
51  static const int8_t kMinYearTiny = INT8_MIN + 1;
+
52 
+
57  static const int8_t kMaxYearTiny = INT8_MAX;
+
58 
+
60  static const acetime_t kInvalidEpochDays = INT32_MIN;
+
61 
+ +
64 
+
69  static const acetime_t kSecondsSinceUnixEpoch = 946684800;
+
70 
+
75  static const acetime_t kDaysSinceUnixEpoch = 10957;
+
76 
+
78  static const uint8_t kMonday = 1;
+
79 
+
81  static const uint8_t kTuesday = 2;
+
82 
+
84  static const uint8_t kWednesday = 3;
+
85 
+
87  static const uint8_t kThursday = 4;
+
88 
+
90  static const uint8_t kFriday = 5;
+
91 
+
93  static const uint8_t kSaturday = 6;
+
94 
+
96  static const uint8_t kSunday = 7;
+
97 
+
106  static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day) {
+
107  int8_t yearTiny = isYearValid(year)
+ +
109  return LocalDate(yearTiny, month, day);
+
110  }
+
111 
+
113  static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month,
+
114  uint8_t day) {
+
115  return LocalDate(yearTiny, month, day);
+
116  }
+
117 
+
125  static LocalDate forEpochDays(acetime_t epochDays) {
+
126  int16_t year;
+
127  uint8_t month;
+
128  uint8_t day;
+
129  if (epochDays == kInvalidEpochDays) {
+
130  year = month = day = 0;
+
131  } else {
+
132  extractYearMonthDay(epochDays, year, month, day);
+
133  }
+
134  return forComponents(year, month, day);
+
135  }
+
136 
+
138  static LocalDate forUnixDays(acetime_t unixDays) {
+
139  if (unixDays == kInvalidEpochDays) {
+
140  return forEpochDays(unixDays);
+
141  } else {
+
142  return forEpochDays(unixDays - kDaysSinceUnixEpoch);
+
143  }
+
144  }
+
145 
+
157  static LocalDate forEpochSeconds(acetime_t epochSeconds) {
+
158  if (epochSeconds == kInvalidEpochSeconds) {
+ +
160  } else {
+
161  // integer floor-division towards -infinity
+
162  acetime_t days = (epochSeconds < 0)
+
163  ? (epochSeconds + 1) / 86400 - 1
+
164  : epochSeconds / 86400;
+
165  return forEpochDays(days);
+
166  }
+
167  }
+
168 
+
174  static LocalDate forUnixSeconds(acetime_t unixSeconds) {
+
175  if (unixSeconds == kInvalidEpochSeconds) {
+
176  return forEpochSeconds(unixSeconds);
+
177  } else {
+
178  return forEpochSeconds(unixSeconds - kSecondsSinceUnixEpoch);
+
179  }
+
180  }
+
181 
+
191  static LocalDate forDateString(const char* dateString);
+
192 
+
200  static LocalDate forDateStringChainable(const char*& dateString);
+
201 
+
206  static LocalDate forError() {
+
207  return LocalDate(kInvalidYearTiny, 0, 0);
+
208  }
+
209 
+
211  static bool isLeapYear(int16_t year) {
+
212  return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
+
213  }
+
214 
+
216  static bool isYearValid(int16_t year) {
+
217  return year >= kEpochYear + kMinYearTiny
+
218  && year <= kEpochYear + kMaxYearTiny;
+
219  }
+
220 
+
222  static uint8_t daysInMonth(int16_t year, uint8_t month) {
+
223  uint8_t days = sDaysInMonth[month - 1];
+
224  return (month == 2 && isLeapYear(year)) ? days + 1 : days;
+
225  }
+
226 
+
228  explicit LocalDate() {}
+
229 
+
231  int16_t year() const { return mYearTiny + kEpochYear; }
+
232 
+
234  void year(int16_t year) { mYearTiny = year - kEpochYear; }
+
235 
+
241  int8_t yearTiny() const { return mYearTiny; }
+
242 
+
248  void yearTiny(int8_t yearTiny) { mYearTiny = yearTiny; }
+
249 
+
251  uint8_t month() const { return mMonth; }
+
252 
+
254  void month(uint8_t month) { mMonth = month; }
+
255 
+
257  uint8_t day() const { return mDay; }
+
258 
+
260  void day(uint8_t day) { mDay = day; }
+
261 
+
268  uint8_t dayOfWeek() const {
+
269  // The "year" starts in March to shift leap year calculation to end.
+
270  int16_t y = year() - (mMonth < 3);
+
271  int16_t d = y + y/4 - y/100 + y/400 + sDayOfWeek[mMonth-1] + mDay;
+
272 
+
273  // 2000-1-1 was a Saturday=6, so set the offsets accordingly
+
274  return (d < -1) ? (d + 1) % 7 + 8 : (d + 1) % 7 + 1;
+
275  }
+
276 
+
278  bool isError() const {
+
279  return mYearTiny == kInvalidYearTiny
+
280  || mDay < 1 || mDay > 31
+
281  || mMonth < 1 || mMonth > 12;
+
282  }
+
283 
+
300  acetime_t toEpochDays() const {
+
301  if (isError()) return kInvalidEpochDays;
+
302 
+
303  // From wiki article:
+
304  //
+
305  // JDN = (1461 x (Y + 4800 + (M - 14)/12))/4
+
306  // + (367 x (M - 2 - 12 x ((M - 14)/12)))/12
+
307  // - (3 x ((Y + 4900 + (M - 14)/12)/100))/4
+
308  // + D - 32075
+
309  // JDN2000 = JDN - 2451545
+
310  //
+
311  // It looks like the formula needs to be done using signed integers
+
312  // because it depends on the modulo operation (%) to truncate towards 0
+
313  // for negative numbers.
+
314 
+
315  int8_t mm = (mMonth - 14)/12;
+
316  int16_t yy = year();
+
317  int32_t jdn = ((int32_t) 1461 * (yy + 4800 + mm))/4
+
318  + (367 * (mMonth - 2 - 12 * mm))/12
+
319  - (3 * ((yy + 4900 + mm)/100))/4
+
320  + mDay - 32075;
+
321  return jdn - kDaysSinceJulianEpoch;
+
322  }
+
323 
+
325  acetime_t toUnixDays() const {
+
326  if (isError()) return kInvalidEpochDays;
+
327  return toEpochDays() + kDaysSinceUnixEpoch;
+
328  }
+
329 
+
340  acetime_t toEpochSeconds() const {
+
341  if (isError()) return kInvalidEpochSeconds;
+
342  return 86400 * toEpochDays();
+
343  }
+
344 
+
348  acetime_t toUnixSeconds() const {
+
349  if (isError()) return kInvalidEpochSeconds;
+
350  return 86400 * toUnixDays();
+
351  }
+
352 
+
358  int8_t compareTo(const LocalDate& that) const {
+
359  if (mYearTiny < that.mYearTiny) return -1;
+
360  if (mYearTiny > that.mYearTiny) return 1;
+
361  if (mMonth < that.mMonth) return -1;
+
362  if (mMonth > that.mMonth) return 1;
+
363  if (mDay < that.mDay) return -1;
+
364  if (mDay > that.mDay) return 1;
+
365  return 0;
+
366  }
+
367 
+
374  void printTo(Print& printer) const;
+
375 
+
376  // Use default copy constructor and assignment operator.
+
377  LocalDate(const LocalDate&) = default;
+
378  LocalDate& operator=(const LocalDate&) = default;
+
379 
+
380  private:
+
381  friend bool operator==(const LocalDate& a, const LocalDate& b);
+
382 
+
387  static const acetime_t kDaysSinceJulianEpoch = 2451545;
+
388 
+
390  static const uint8_t kDateStringLength = 10;
+
391 
+
397  static const uint8_t sDayOfWeek[12];
+
398 
+
400  static const uint8_t sDaysInMonth[12];
+
401 
+
403  explicit LocalDate(int8_t yearTiny, uint8_t month, uint8_t day):
+
404  mYearTiny(yearTiny),
+
405  mMonth(month),
+
406  mDay(day) {}
+
407 
+
413  static void extractYearMonthDay(acetime_t epochDays, int16_t& year,
+
414  uint8_t& month, uint8_t& day) {
+
415  uint32_t J = epochDays + kDaysSinceJulianEpoch;
+
416  uint32_t f = J + 1401 + (((4 * J + 274277 ) / 146097) * 3) / 4 - 38;
+
417  uint32_t e = 4 * f + 3;
+
418  uint32_t g = e % 1461 / 4;
+
419  uint32_t h = 5 * g + 2;
+
420  day = (h % 153) / 5 + 1;
+
421  month = (h / 153 + 2) % 12 + 1;
+
422  year = (e / 1461) - 4716 + (12 + 2 - month) / 12;
+
423 
+
424  // 2000-01-01 is Saturday (7)
+
425  //dayOfWeek = (epochDays + 6) % 7 + 1;
+
426  }
+
427 
+
432  int8_t mYearTiny; // [-127, 127], -128 indicates error
+
433 
+
434  uint8_t mMonth; // [1, 12], 0 indicates error
+
435  uint8_t mDay; // [1, 31], 0 indicates error
+
436 };
+
437 
+
439 inline bool operator==(const LocalDate& a, const LocalDate& b) {
+
440  return a.mDay == b.mDay
+
441  && a.mMonth == b.mMonth
+
442  && a.mYearTiny == b.mYearTiny;
+
443 }
+
444 
+
446 inline bool operator!=(const LocalDate& a, const LocalDate& b) {
+
447  return ! (a == b);
+
448 }
+
449 
+
450 }
+
451 
+
452 #endif
+
void printTo(Print &printer) const
Print LocalDate to 'printer' in ISO 8601 format, along with the day of week.
Definition: LocalDate.cpp:47
+
static LocalDate forError()
Factory method that returns a LocalDate which represents an error condition.
Definition: LocalDate.h:206
+
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:69
+
LocalDate()
Default constructor does nothing.
Definition: LocalDate.h:228
+
static LocalDate forEpochDays(acetime_t epochDays)
Factory method using the number of days since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:125
+
uint8_t month() const
Return the month with January=1, December=12.
Definition: LocalDate.h:251
+
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
+
static const int8_t kMaxYearTiny
Sentinel yearTiny which represents the largest year, effectively +Infinity.
Definition: LocalDate.h:57
+
static const uint8_t kThursday
Thursday ISO 8601 number.
Definition: LocalDate.h:87
+
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
+
acetime_t toEpochDays() const
Return number of days since AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:300
+
static const acetime_t kInvalidSeconds
An invalid seconds marker that indicates isError() true.
Definition: LocalTime.h:29
+
static bool isLeapYear(int16_t year)
True if year is a leap year.
Definition: LocalDate.h:211
+
static const int8_t kMinYearTiny
Sentinel yearTiny which represents the smallest year, effectively -Infinity.
Definition: LocalDate.h:51
+
uint8_t dayOfWeek() const
Calculate the day of week given the (year, month, day).
Definition: LocalDate.h:268
+
void year(int16_t year)
Set the year given the full year.
Definition: LocalDate.h:234
+
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
+
acetime_t toUnixSeconds() const
Return the number of seconds since Unix epoch (1970-01-01 00:00:00).
Definition: LocalDate.h:348
+
acetime_t toEpochSeconds() const
Return the number of seconds since AceTime epoch (2000-01-01 00:00:00).
Definition: LocalDate.h:340
+
friend bool operator==(const LocalDate &a, const LocalDate &b)
Return true if two LocalDate objects are equal in all components.
Definition: LocalDate.h:439
+
static LocalDate forEpochSeconds(acetime_t epochSeconds)
Factory method using the number of seconds since AceTime epoch of 2000-01-01.
Definition: LocalDate.h:157
+
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
Definition: LocalDate.h:325
+
static LocalDate forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
Definition: LocalDate.cpp:73
+
static const uint8_t kFriday
Friday ISO 8601 number.
Definition: LocalDate.h:90
+
static LocalDate forDateString(const char *dateString)
Factory method.
Definition: LocalDate.cpp:66
+
static const int8_t kInvalidYearTiny
Sentinel yearTiny which indicates an error condition or sometimes a year that 'does not exist'.
Definition: LocalDate.h:45
+
uint8_t day() const
Return the day of the month.
Definition: LocalDate.h:257
+
static const uint8_t kSaturday
Saturday ISO 8601 number.
Definition: LocalDate.h:93
+
void day(uint8_t day)
Set the day of the month.
Definition: LocalDate.h:260
+
static LocalDate forTinyComponents(int8_t yearTiny, uint8_t month, uint8_t day)
Factory method using components with an int8_t yearTiny.
Definition: LocalDate.h:113
+
bool isError() const
Return true if any component indicates an error condition.
Definition: LocalDate.h:278
+
static LocalDate forComponents(int16_t year, uint8_t month, uint8_t day)
Factory method using separated year, month and day fields.
Definition: LocalDate.h:106
+
int16_t year() const
Return the full year instead of just the last 2 digits.
Definition: LocalDate.h:231
+
static const int16_t kEpochYear
Base year of epoch.
Definition: LocalDate.h:39
+
static LocalDate forUnixSeconds(acetime_t unixSeconds)
Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.
Definition: LocalDate.h:174
+
static const uint8_t kSunday
Sunday ISO 8601 number.
Definition: LocalDate.h:96
+
int8_t compareTo(const LocalDate &that) const
Compare this LocalDate to that LocalDate, returning (<0, 0, >0) according to whether the epochSeconds...
Definition: LocalDate.h:358
+
static const uint8_t kTuesday
Tuesday ISO 8601 number.
Definition: LocalDate.h:81
+
static uint8_t daysInMonth(int16_t year, uint8_t month)
Return the number of days in the current month.
Definition: LocalDate.h:222
+
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
Definition: LocalDate.h:248
+
static LocalDate forUnixDays(acetime_t unixDays)
Factory method using the number of days since Unix epoch 1970-01-1.
Definition: LocalDate.h:138
+
void month(uint8_t month)
Set the month.
Definition: LocalDate.h:254
+
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:75
+
static bool isYearValid(int16_t year)
Return true if year is within valid range of [1873, 2127].
Definition: LocalDate.h:216
+
static const uint8_t kMonday
Monday ISO 8601 number.
Definition: LocalDate.h:78
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
Definition: LocalDate.h:241
+
static const uint8_t kWednesday
Wednesday ISO 8601 number.
Definition: LocalDate.h:84
diff --git a/docs/html/LocalTime_8cpp_source.html b/docs/html/LocalTime_8cpp_source.html index 288851d7a..d4f123fe0 100644 --- a/docs/html/LocalTime_8cpp_source.html +++ b/docs/html/LocalTime_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/LocalTime.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/LocalTime.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
LocalTime.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "common/util.h"
7 #include "LocalTime.h"
8 
9 namespace ace_time {
10 
11 using common::printPad2;
12 
13 void LocalTime::printTo(Print& printer) const {
14  if (isError()) {
15  printer.print(F("<Invalid LocalTime>"));
16  return;
17  }
18 
19  // Time
20  printPad2(printer, mHour);
21  printer.print(':');
22  printPad2(printer, mMinute);
23  printer.print(':');
24  printPad2(printer, mSecond);
25 }
26 
27 LocalTime LocalTime::forTimeString(const char* timeString) {
28  if (strlen(timeString) < kTimeStringLength) {
29  return forError();
30  }
31  return forTimeStringChainable(timeString);
32 }
33 
34 // This assumes that the dateString is always long enough.
35 LocalTime LocalTime::forTimeStringChainable(const char*& timeString) {
36  const char* s = timeString;
37 
38  // hour
39  uint8_t hour = (*s++ - '0');
40  hour = 10 * hour + (*s++ - '0');
41 
42  // ':'
43  s++;
44 
45  // minute
46  uint8_t minute = (*s++ - '0');
47  minute = 10 * minute + (*s++ - '0');
48 
49  // ':'
50  s++;
51 
52  // second
53  uint8_t second = (*s++ - '0');
54  second = 10 * second + (*s++ - '0');
55 
56  timeString = s;
57  return LocalTime(hour, minute, second);
58 }
59 
60 }
void printTo(Print &printer) const
Print LocalTime to &#39;printer&#39; in ISO 8601 format.
Definition: LocalTime.cpp:13
- -
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
-
static LocalTime forTimeStringChainable(const char *&timeString)
Variant of forTimeString() that updates the pointer to the next unprocessed character.
Definition: LocalTime.cpp:35
-
bool isError() const
Return true if any component is outside the normal time range of 00:00:00 to 23:59:59.
Definition: LocalTime.h:106
-
static LocalTime forError()
Factory method that returns an instance which indicates an error condition.
Definition: LocalTime.h:93
-
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
-
static LocalTime forTimeString(const char *timeString)
Factory method.
Definition: LocalTime.cpp:27
-
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
-
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
-
LocalTime()
Default constructor does nothing.
Definition: LocalTime.h:98
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include "common/util.h"
+
7 #include "LocalTime.h"
+
8 
+
9 namespace ace_time {
+
10 
+
11 using common::printPad2;
+
12 
+
13 void LocalTime::printTo(Print& printer) const {
+
14  if (isError()) {
+
15  printer.print(F("<Invalid LocalTime>"));
+
16  return;
+
17  }
+
18 
+
19  // Time
+
20  printPad2(printer, mHour);
+
21  printer.print(':');
+
22  printPad2(printer, mMinute);
+
23  printer.print(':');
+
24  printPad2(printer, mSecond);
+
25 }
+
26 
+
27 LocalTime LocalTime::forTimeString(const char* timeString) {
+
28  if (strlen(timeString) < kTimeStringLength) {
+
29  return forError();
+
30  }
+
31  return forTimeStringChainable(timeString);
+
32 }
+
33 
+
34 // This assumes that the dateString is always long enough.
+
35 LocalTime LocalTime::forTimeStringChainable(const char*& timeString) {
+
36  const char* s = timeString;
+
37 
+
38  // hour
+
39  uint8_t hour = (*s++ - '0');
+
40  hour = 10 * hour + (*s++ - '0');
+
41 
+
42  // ':'
+
43  s++;
+
44 
+
45  // minute
+
46  uint8_t minute = (*s++ - '0');
+
47  minute = 10 * minute + (*s++ - '0');
+
48 
+
49  // ':'
+
50  s++;
+
51 
+
52  // second
+
53  uint8_t second = (*s++ - '0');
+
54  second = 10 * second + (*s++ - '0');
+
55 
+
56  timeString = s;
+
57  return LocalTime(hour, minute, second);
+
58 }
+
59 
+
60 }
+
static LocalTime forTimeStringChainable(const char *&timeString)
Variant of forTimeString() that updates the pointer to the next unprocessed character.
Definition: LocalTime.cpp:35
+
void printTo(Print &printer) const
Print LocalTime to 'printer' in ISO 8601 format.
Definition: LocalTime.cpp:13
+
bool isError() const
Return true if any component is outside the normal time range of 00:00:00 to 23:59:59.
Definition: LocalTime.h:106
+
static LocalTime forError()
Factory method that returns an instance which indicates an error condition.
Definition: LocalTime.h:93
+
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
+
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
+
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
+
LocalTime()
Default constructor does nothing.
Definition: LocalTime.h:98
+
static LocalTime forTimeString(const char *timeString)
Factory method.
Definition: LocalTime.cpp:27
+
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
diff --git a/docs/html/LocalTime_8h_source.html b/docs/html/LocalTime_8h_source.html index 3643ed242..8f45527c4 100644 --- a/docs/html/LocalTime_8h_source.html +++ b/docs/html/LocalTime_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/LocalTime.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/LocalTime.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
LocalTime.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_LOCAL_TIME_H
7 #define ACE_TIME_LOCAL_TIME_H
8 
9 #include <stdint.h>
10 #include "common/common.h"
11 
12 class Print;
13 
14 namespace ace_time {
15 
26 class LocalTime {
27  public:
29  static const acetime_t kInvalidSeconds = INT32_MIN;
30 
41  static LocalTime forComponents(uint8_t hour, uint8_t minute,
42  uint8_t second) {
43  return LocalTime(hour, minute, second);
44  }
45 
54  static LocalTime forSeconds(acetime_t seconds) {
55  uint8_t second, minute, hour;
56 
57  if (seconds == kInvalidSeconds) {
58  second = minute = hour = kInvalidValue; // causes isError() to be true
59  } else {
60  second = seconds % 60;
61  uint16_t minutes = seconds / 60;
62  minute = minutes % 60;
63  hour = minutes / 60;
64  }
65 
66  // Return a single object to allow return value optimization.
67  return LocalTime(hour, minute, second);
68  }
69 
78  static LocalTime forTimeString(const char* timeString);
79 
87  static LocalTime forTimeStringChainable(const char*& timeString);
88 
93  static LocalTime forError() {
94  return LocalTime(kInvalidValue, kInvalidValue, kInvalidValue);
95  }
96 
98  explicit LocalTime() {}
99 
106  bool isError() const {
107  if (mSecond >= 60) return true;
108  if (mMinute >= 60) return true;
109  if (mHour == 24) {
110  return mSecond != 0 || mMinute != 0;
111  }
112  return mHour > 24;
113  }
114 
116  uint8_t hour() const { return mHour; }
117 
119  void hour(uint8_t hour) { mHour = hour; }
120 
122  uint8_t minute() const { return mMinute; }
123 
125  void minute(uint8_t month) { mMinute = month; }
126 
128  uint8_t second() const { return mSecond; }
129 
131  void second(uint8_t second) { mSecond = second; }
132 
137  acetime_t toSeconds() const {
138  if (isError()) {
139  return kInvalidSeconds;
140  } else {
141  return ((mHour * (int16_t) 60) + mMinute)
142  * (int32_t) 60 + mSecond;
143  }
144  }
145 
151  int8_t compareTo(const LocalTime& that) const {
152  if (mHour < that.mHour) return -1;
153  if (mHour > that.mHour) return 1;
154  if (mMinute < that.mMinute) return -1;
155  if (mMinute > that.mMinute) return 1;
156  if (mSecond < that.mSecond) return -1;
157  if (mSecond > that.mSecond) return 1;
158  return 0;
159  }
160 
166  void printTo(Print& printer) const;
167 
168  // Use default copy constructor and assignment operator.
169  LocalTime(const LocalTime&) = default;
170  LocalTime& operator=(const LocalTime&) = default;
171 
172  private:
173  friend bool operator==(const LocalTime& a, const LocalTime& b);
174 
176  static const uint8_t kTimeStringLength = 8;
177 
179  static const uint8_t kInvalidValue = UINT8_MAX;
180 
182  explicit LocalTime(uint8_t hour, uint8_t minute, uint8_t second):
183  mHour(hour),
184  mMinute(minute),
185  mSecond(second) {}
186 
187  uint8_t mHour; // [0, 23]
188  uint8_t mMinute; // [0, 59]
189  uint8_t mSecond; // [0, 59]
190 };
191 
193 inline bool operator==(const LocalTime& a, const LocalTime& b) {
194  return a.mSecond == b.mSecond
195  && a.mMinute == b.mMinute
196  && a.mHour == b.mHour;
197 }
198 
200 inline bool operator!=(const LocalTime& a, const LocalTime& b) {
201  return ! (a == b);
202 }
203 
204 }
205 
206 #endif
acetime_t toSeconds() const
Return the number of seconds since midnight.
Definition: LocalTime.h:137
-
void printTo(Print &printer) const
Print LocalTime to &#39;printer&#39; in ISO 8601 format.
Definition: LocalTime.cpp:13
-
void second(uint8_t second)
Set the second.
Definition: LocalTime.h:131
-
void minute(uint8_t month)
Set the minute.
Definition: LocalTime.h:125
-
void hour(uint8_t hour)
Set the hour.
Definition: LocalTime.h:119
- -
static const acetime_t kInvalidSeconds
An invalid seconds marker that indicates isError() true.
Definition: LocalTime.h:29
-
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
-
static LocalTime forTimeStringChainable(const char *&timeString)
Variant of forTimeString() that updates the pointer to the next unprocessed character.
Definition: LocalTime.cpp:35
-
int8_t compareTo(const LocalTime &that) const
Compare this LocalTime with that LocalTime, and return (<0, 0, >0) according to whether (this<that...
Definition: LocalTime.h:151
-
bool isError() const
Return true if any component is outside the normal time range of 00:00:00 to 23:59:59.
Definition: LocalTime.h:106
-
static LocalTime forError()
Factory method that returns an instance which indicates an error condition.
Definition: LocalTime.h:93
-
static LocalTime forComponents(uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date, time, and time zone fields.
Definition: LocalTime.h:41
-
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
-
static LocalTime forTimeString(const char *timeString)
Factory method.
Definition: LocalTime.cpp:27
-
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
-
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
-
LocalTime()
Default constructor does nothing.
Definition: LocalTime.h:98
-
friend bool operator==(const LocalTime &a, const LocalTime &b)
Return true if two LocalTime objects are equal.
Definition: LocalTime.h:193
-
static LocalTime forSeconds(acetime_t seconds)
Factory method.
Definition: LocalTime.h:54
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_LOCAL_TIME_H
+
7 #define ACE_TIME_LOCAL_TIME_H
+
8 
+
9 #include <stdint.h>
+
10 #include "common/common.h"
+
11 
+
12 class Print;
+
13 
+
14 namespace ace_time {
+
15 
+
26 class LocalTime {
+
27  public:
+
29  static const acetime_t kInvalidSeconds = INT32_MIN;
+
30 
+
41  static LocalTime forComponents(uint8_t hour, uint8_t minute,
+
42  uint8_t second) {
+
43  return LocalTime(hour, minute, second);
+
44  }
+
45 
+
54  static LocalTime forSeconds(acetime_t seconds) {
+
55  uint8_t second, minute, hour;
+
56 
+
57  if (seconds == kInvalidSeconds) {
+
58  second = minute = hour = kInvalidValue; // causes isError() to be true
+
59  } else {
+
60  second = seconds % 60;
+
61  uint16_t minutes = seconds / 60;
+
62  minute = minutes % 60;
+
63  hour = minutes / 60;
+
64  }
+
65 
+
66  // Return a single object to allow return value optimization.
+
67  return LocalTime(hour, minute, second);
+
68  }
+
69 
+
78  static LocalTime forTimeString(const char* timeString);
+
79 
+
87  static LocalTime forTimeStringChainable(const char*& timeString);
+
88 
+
93  static LocalTime forError() {
+
94  return LocalTime(kInvalidValue, kInvalidValue, kInvalidValue);
+
95  }
+
96 
+
98  explicit LocalTime() {}
+
99 
+
106  bool isError() const {
+
107  if (mSecond >= 60) return true;
+
108  if (mMinute >= 60) return true;
+
109  if (mHour == 24) {
+
110  return mSecond != 0 || mMinute != 0;
+
111  }
+
112  return mHour > 24;
+
113  }
+
114 
+
116  uint8_t hour() const { return mHour; }
+
117 
+
119  void hour(uint8_t hour) { mHour = hour; }
+
120 
+
122  uint8_t minute() const { return mMinute; }
+
123 
+
125  void minute(uint8_t month) { mMinute = month; }
+
126 
+
128  uint8_t second() const { return mSecond; }
+
129 
+
131  void second(uint8_t second) { mSecond = second; }
+
132 
+
137  acetime_t toSeconds() const {
+
138  if (isError()) {
+
139  return kInvalidSeconds;
+
140  } else {
+
141  return ((mHour * (int16_t) 60) + mMinute)
+
142  * (int32_t) 60 + mSecond;
+
143  }
+
144  }
+
145 
+
151  int8_t compareTo(const LocalTime& that) const {
+
152  if (mHour < that.mHour) return -1;
+
153  if (mHour > that.mHour) return 1;
+
154  if (mMinute < that.mMinute) return -1;
+
155  if (mMinute > that.mMinute) return 1;
+
156  if (mSecond < that.mSecond) return -1;
+
157  if (mSecond > that.mSecond) return 1;
+
158  return 0;
+
159  }
+
160 
+
166  void printTo(Print& printer) const;
+
167 
+
168  // Use default copy constructor and assignment operator.
+
169  LocalTime(const LocalTime&) = default;
+
170  LocalTime& operator=(const LocalTime&) = default;
+
171 
+
172  private:
+
173  friend bool operator==(const LocalTime& a, const LocalTime& b);
+
174 
+
176  static const uint8_t kTimeStringLength = 8;
+
177 
+
179  static const uint8_t kInvalidValue = UINT8_MAX;
+
180 
+
182  explicit LocalTime(uint8_t hour, uint8_t minute, uint8_t second):
+
183  mHour(hour),
+
184  mMinute(minute),
+
185  mSecond(second) {}
+
186 
+
187  uint8_t mHour; // [0, 23]
+
188  uint8_t mMinute; // [0, 59]
+
189  uint8_t mSecond; // [0, 59]
+
190 };
+
191 
+
193 inline bool operator==(const LocalTime& a, const LocalTime& b) {
+
194  return a.mSecond == b.mSecond
+
195  && a.mMinute == b.mMinute
+
196  && a.mHour == b.mHour;
+
197 }
+
198 
+
200 inline bool operator!=(const LocalTime& a, const LocalTime& b) {
+
201  return ! (a == b);
+
202 }
+
203 
+
204 }
+
205 
+
206 #endif
+
static LocalTime forTimeStringChainable(const char *&timeString)
Variant of forTimeString() that updates the pointer to the next unprocessed character.
Definition: LocalTime.cpp:35
+
void second(uint8_t second)
Set the second.
Definition: LocalTime.h:131
+
static const acetime_t kInvalidSeconds
An invalid seconds marker that indicates isError() true.
Definition: LocalTime.h:29
+
void minute(uint8_t month)
Set the minute.
Definition: LocalTime.h:125
+
void printTo(Print &printer) const
Print LocalTime to 'printer' in ISO 8601 format.
Definition: LocalTime.cpp:13
+
bool isError() const
Return true if any component is outside the normal time range of 00:00:00 to 23:59:59.
Definition: LocalTime.h:106
+
static LocalTime forError()
Factory method that returns an instance which indicates an error condition.
Definition: LocalTime.h:93
+
uint8_t hour() const
Return the hour.
Definition: LocalTime.h:116
+
uint8_t second() const
Return the second.
Definition: LocalTime.h:128
+
acetime_t toSeconds() const
Return the number of seconds since midnight.
Definition: LocalTime.h:137
+
uint8_t minute() const
Return the minute.
Definition: LocalTime.h:122
+
static LocalTime forComponents(uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date, time, and time zone fields.
Definition: LocalTime.h:41
+
int8_t compareTo(const LocalTime &that) const
Compare this LocalTime with that LocalTime, and return (<0, 0, >0) according to whether (this<that,...
Definition: LocalTime.h:151
+
LocalTime()
Default constructor does nothing.
Definition: LocalTime.h:98
+
static LocalTime forTimeString(const char *timeString)
Factory method.
Definition: LocalTime.cpp:27
+
friend bool operator==(const LocalTime &a, const LocalTime &b)
Return true if two LocalTime objects are equal.
Definition: LocalTime.h:193
+
void hour(uint8_t hour)
Set the hour.
Definition: LocalTime.h:119
+
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
+
static LocalTime forSeconds(acetime_t seconds)
Factory method.
Definition: LocalTime.h:54
diff --git a/docs/html/NtpClock_8cpp_source.html b/docs/html/NtpClock_8cpp_source.html index f40793db9..5100c4da3 100644 --- a/docs/html/NtpClock_8cpp_source.html +++ b/docs/html/NtpClock_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/NtpClock.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/NtpClock.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
NtpClock.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 // We include <WString.h> here for the sole reason to avoid a compiler warning
7 // about '"FPSTR" redefined' on an ESP32. That's because the ESP32 had an
8 // incorrect definition of FPSTR() before v1.0.3 (see
9 // https://github.com/espressif/arduino-esp32/issues/1371). so compat.h
10 // clobbers it with the correct definition. If we don't include <WString.h>
11 // here, "compath.h" gets included first, then something else eventually brings
12 // in <WString.h> which tries to redefine it, generating the compiler warning.
13 // At some point, if everyone migrates to v1.0.3 and above, I can remove that
14 // FPSTR() def in "compath.h".
15 #include <WString.h>
16 #include "../common/compat.h"
17 #include "NtpClock.h"
18 
19 #if defined(ESP8266) || defined(ESP32)
20 
21 namespace ace_time {
22 namespace clock {
23 
24 const char NtpClock::kNtpServerName[] = "us.pool.ntp.org";
25 
26 }
27 }
28 
29 #endif
-
static const char kNtpServerName[]
Default NTP Server.
Definition: NtpClock.h:46
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 // We include <WString.h> here for the sole reason to avoid a compiler warning
+
7 // about '"FPSTR" redefined' on an ESP32. That's because the ESP32 had an
+
8 // incorrect definition of FPSTR() before v1.0.3 (see
+
9 // https://github.com/espressif/arduino-esp32/issues/1371). so compat.h
+
10 // clobbers it with the correct definition. If we don't include <WString.h>
+
11 // here, "compath.h" gets included first, then something else eventually brings
+
12 // in <WString.h> which tries to redefine it, generating the compiler warning.
+
13 // At some point, if everyone migrates to v1.0.3 and above, I can remove that
+
14 // FPSTR() def in "compath.h".
+
15 #include <WString.h>
+
16 #include "../common/compat.h"
+
17 #include "NtpClock.h"
+
18 
+
19 #if defined(ESP8266) || defined(ESP32)
+
20 
+
21 namespace ace_time {
+
22 namespace clock {
+
23 
+
24 const char NtpClock::kNtpServerName[] = "us.pool.ntp.org";
+
25 
+
26 }
+
27 }
+
28 
+
29 #endif
+
static const char kNtpServerName[]
Default NTP Server.
Definition: NtpClock.h:46
diff --git a/docs/html/NtpClock_8h_source.html b/docs/html/NtpClock_8h_source.html index 256bb6954..da05cead0 100644 --- a/docs/html/NtpClock_8h_source.html +++ b/docs/html/NtpClock_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/NtpClock.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/NtpClock.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
NtpClock.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_NTP_CLOCK_H
7 #define ACE_TIME_NTP_CLOCK_H
8 
9 #if defined(ESP8266) || defined(ESP32)
10 
11 #include <stdint.h>
12 #if defined(ESP8266)
13  #include <ESP8266WiFi.h>
14 #else
15  #include <WiFi.h>
16 #endif
17 #include <WiFiUdp.h>
18 #include "../common/logging.h"
19 #include "Clock.h"
20 
21 extern "C" unsigned long millis();
22 
23 #ifndef ACE_TIME_NTP_CLOCK_DEBUG
24 #define ACE_TIME_NTP_CLOCK_DEBUG 0
25 #endif
26 
27 namespace ace_time {
28 namespace clock {
29 
43 class NtpClock: public Clock {
44  public:
46  static const char kNtpServerName[];
47 
49  static const uint16_t kLocalPort = 8888;
50 
52  static const uint16_t kRequestTimeout = 1000;
53 
60  explicit NtpClock(
61  const char* server = kNtpServerName,
62  uint16_t localPort = kLocalPort,
63  uint16_t requestTimeout = kRequestTimeout):
64  mServer(server),
65  mLocalPort(localPort),
66  mRequestTimeout(requestTimeout) {}
67 
78  void setup(const char* ssid = nullptr, const char* password = nullptr,
79  uint16_t connectTimeoutMillis = kConnectTimeoutMillis) {
80  if (ssid) {
81  WiFi.begin(ssid, password);
82  uint16_t startMillis = millis();
83  while (WiFi.status() != WL_CONNECTED) {
84  uint16_t elapsedMillis = millis() - startMillis;
85  if (elapsedMillis >= connectTimeoutMillis) {
86  mIsSetUp = false;
87  return;
88  }
89 
90  delay(500);
91  }
92  }
93 
94  mUdp.begin(mLocalPort);
95 
96  #if ACE_TIME_NTP_CLOCK_DEBUG == 1
97  #if defined(ESP8266)
98  SERIAL_PORT_MONITOR.print(F("Local port: "));
99  SERIAL_PORT_MONITOR.println(mUdp.localPort());
100  #endif
101  #endif
102 
103  mIsSetUp = true;
104  }
105 
106  const char* getServer() const { return mServer; }
107 
108  bool isSetup() const { return mIsSetUp; }
109 
110  acetime_t getNow() const override {
111  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return kInvalidSeconds;
112 
113  sendRequest();
114 
115  uint16_t startTime = millis();
116  while ((uint16_t) (millis() - startTime) < mRequestTimeout) {
117  if (isResponseReady()) {
118  return readResponse();
119  }
120  }
121  return kInvalidSeconds;
122  }
123 
124  void sendRequest() const override {
125  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return;
126 
127  // discard any previously received packets
128  while (mUdp.parsePacket() > 0) {}
129 
130  // Get a random server from the pool. Unfortunately, hostByName() is a
131  // blocking is a blocking call. So if the DNS resolver goes flaky,
132  // everything stops.
133  //
134  // TODO: Change to a non-blocking NTP library.
135  // TODO: check return value of hostByName() for errors
136  // When there is an error, the ntpServerIP seems to become "0.0.0.0".
137  IPAddress ntpServerIP;
138  WiFi.hostByName(mServer, ntpServerIP);
139  sendNtpPacket(ntpServerIP);
140  }
141 
142  bool isResponseReady() const override {
143  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return false;
144  return mUdp.parsePacket() >= kNtpPacketSize;
145  }
146 
147  acetime_t readResponse() const override {
148  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return kInvalidSeconds;
149 
150  // read packet into the buffer
151  mUdp.read(mPacketBuffer, kNtpPacketSize);
152 
153  // convert four bytes starting at location 40 to a long integer
154  uint32_t secsSince1900 = (uint32_t) mPacketBuffer[40] << 24;
155  secsSince1900 |= (uint32_t) mPacketBuffer[41] << 16;
156  secsSince1900 |= (uint32_t) mPacketBuffer[42] << 8;
157  secsSince1900 |= (uint32_t) mPacketBuffer[43];
158 
159  return (secsSince1900 == 0)
160  ? kInvalidSeconds
161  : secsSince1900 - kSecondsSinceNtpEpoch;
162  }
163 
164  private:
166  static const uint8_t kNtpPacketSize = 48;
167 
172  static const uint32_t kSecondsSinceNtpEpoch = 3155673600;
173 
175  static const uint16_t kConnectTimeoutMillis = 10000;
176 
178  void sendNtpPacket(const IPAddress& address) const {
179 #if ACE_TIME_NTP_CLOCK_DEBUG == 1
180  uint16_t startTime = millis();
181 #endif
182  // set all bytes in the buffer to 0
183  memset(mPacketBuffer, 0, kNtpPacketSize);
184  // Initialize values needed to form NTP request
185  // (see URL above for details on the packets)
186  mPacketBuffer[0] = 0b11100011; // LI, Version, Mode
187  mPacketBuffer[1] = 0; // Stratum, or type of clock
188  mPacketBuffer[2] = 6; // Polling Interval
189  mPacketBuffer[3] = 0xEC; // Peer Clock Precision
190  // 8 bytes of zero for Root Delay & Root Dispersion
191  mPacketBuffer[12] = 49;
192  mPacketBuffer[13] = 0x4E;
193  mPacketBuffer[14] = 49;
194  mPacketBuffer[15] = 52;
195  // all NTP fields have been given values, now
196  // you can send a packet requesting a timestamp:
197  mUdp.beginPacket(address, 123); //NTP requests are to port 123
198  mUdp.write(mPacketBuffer, kNtpPacketSize);
199  mUdp.endPacket();
200 #if ACE_TIME_NTP_CLOCK_DEBUG == 1
201  logging::printf("NtpClock::sendNtpPacket(): %u ms\n",
202  (unsigned) ((uint16_t) millis() - startTime));
203 #endif
204  }
205 
206  const char* const mServer;
207  uint16_t const mLocalPort;
208  uint16_t const mRequestTimeout;
209 
210  mutable WiFiUDP mUdp;
211  // buffer to hold incoming & outgoing packets
212  mutable uint8_t mPacketBuffer[kNtpPacketSize];
213  bool mIsSetUp = false;
214 };
215 
216 }
217 }
218 
219 #endif // defined(ESP8266) || defined(ESP32)
220 
221 #endif
-
static const char kNtpServerName[]
Default NTP Server.
Definition: NtpClock.h:46
-
acetime_t getNow() const override
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
Definition: NtpClock.h:110
-
bool isResponseReady() const override
Return true if a response is ready.
Definition: NtpClock.h:142
-
void sendRequest() const override
Send a time request asynchronously.
Definition: NtpClock.h:124
-
A Clock that retrieves the time from an NTP server.
Definition: NtpClock.h:43
-
static const uint16_t kLocalPort
Default port used for UDP packets.
Definition: NtpClock.h:49
-
acetime_t readResponse() const override
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: NtpClock.h:147
-
static const uint16_t kRequestTimeout
Request time out milliseconds.
Definition: NtpClock.h:52
-
void setup(const char *ssid=nullptr, const char *password=nullptr, uint16_t connectTimeoutMillis=kConnectTimeoutMillis)
Set up the WiFi connection using the given ssid and password, and prepare the UDP connection...
Definition: NtpClock.h:78
-
Base class for objects that provide and store time.
Definition: Clock.h:20
-
NtpClock(const char *server=kNtpServerName, uint16_t localPort=kLocalPort, uint16_t requestTimeout=kRequestTimeout)
Constructor.
Definition: NtpClock.h:60
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_NTP_CLOCK_H
+
7 #define ACE_TIME_NTP_CLOCK_H
+
8 
+
9 #if defined(ESP8266) || defined(ESP32)
+
10 
+
11 #include <stdint.h>
+
12 #if defined(ESP8266)
+
13  #include <ESP8266WiFi.h>
+
14 #else
+
15  #include <WiFi.h>
+
16 #endif
+
17 #include <WiFiUdp.h>
+
18 #include "../common/logging.h"
+
19 #include "Clock.h"
+
20 
+
21 extern "C" unsigned long millis();
+
22 
+
23 #ifndef ACE_TIME_NTP_CLOCK_DEBUG
+
24 #define ACE_TIME_NTP_CLOCK_DEBUG 0
+
25 #endif
+
26 
+
27 namespace ace_time {
+
28 namespace clock {
+
29 
+
43 class NtpClock: public Clock {
+
44  public:
+
46  static const char kNtpServerName[];
+
47 
+
49  static const uint16_t kLocalPort = 8888;
+
50 
+
52  static const uint16_t kRequestTimeout = 1000;
+
53 
+
60  explicit NtpClock(
+
61  const char* server = kNtpServerName,
+
62  uint16_t localPort = kLocalPort,
+
63  uint16_t requestTimeout = kRequestTimeout):
+
64  mServer(server),
+
65  mLocalPort(localPort),
+
66  mRequestTimeout(requestTimeout) {}
+
67 
+
78  void setup(const char* ssid = nullptr, const char* password = nullptr,
+
79  uint16_t connectTimeoutMillis = kConnectTimeoutMillis) {
+
80  if (ssid) {
+
81  WiFi.begin(ssid, password);
+
82  uint16_t startMillis = millis();
+
83  while (WiFi.status() != WL_CONNECTED) {
+
84  uint16_t elapsedMillis = millis() - startMillis;
+
85  if (elapsedMillis >= connectTimeoutMillis) {
+
86  mIsSetUp = false;
+
87  return;
+
88  }
+
89 
+
90  delay(500);
+
91  }
+
92  }
+
93 
+
94  mUdp.begin(mLocalPort);
+
95 
+
96  #if ACE_TIME_NTP_CLOCK_DEBUG == 1
+
97  #if defined(ESP8266)
+
98  SERIAL_PORT_MONITOR.print(F("Local port: "));
+
99  SERIAL_PORT_MONITOR.println(mUdp.localPort());
+
100  #endif
+
101  #endif
+
102 
+
103  mIsSetUp = true;
+
104  }
+
105 
+
106  const char* getServer() const { return mServer; }
+
107 
+
108  bool isSetup() const { return mIsSetUp; }
+
109 
+
110  acetime_t getNow() const override {
+
111  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return kInvalidSeconds;
+
112 
+
113  sendRequest();
+
114 
+
115  uint16_t startTime = millis();
+
116  while ((uint16_t) (millis() - startTime) < mRequestTimeout) {
+
117  if (isResponseReady()) {
+
118  return readResponse();
+
119  }
+
120  }
+
121  return kInvalidSeconds;
+
122  }
+
123 
+
124  void sendRequest() const override {
+
125  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return;
+
126 
+
127  // discard any previously received packets
+
128  while (mUdp.parsePacket() > 0) {}
+
129 
+
130  // Get a random server from the pool. Unfortunately, hostByName() is a
+
131  // blocking is a blocking call. So if the DNS resolver goes flaky,
+
132  // everything stops.
+
133  //
+
134  // TODO: Change to a non-blocking NTP library.
+
135  // TODO: check return value of hostByName() for errors
+
136  // When there is an error, the ntpServerIP seems to become "0.0.0.0".
+
137  IPAddress ntpServerIP;
+
138  WiFi.hostByName(mServer, ntpServerIP);
+
139  sendNtpPacket(ntpServerIP);
+
140  }
+
141 
+
142  bool isResponseReady() const override {
+
143  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return false;
+
144  return mUdp.parsePacket() >= kNtpPacketSize;
+
145  }
+
146 
+
147  acetime_t readResponse() const override {
+
148  if (!mIsSetUp || WiFi.status() != WL_CONNECTED) return kInvalidSeconds;
+
149 
+
150  // read packet into the buffer
+
151  mUdp.read(mPacketBuffer, kNtpPacketSize);
+
152 
+
153  // convert four bytes starting at location 40 to a long integer
+
154  uint32_t secsSince1900 = (uint32_t) mPacketBuffer[40] << 24;
+
155  secsSince1900 |= (uint32_t) mPacketBuffer[41] << 16;
+
156  secsSince1900 |= (uint32_t) mPacketBuffer[42] << 8;
+
157  secsSince1900 |= (uint32_t) mPacketBuffer[43];
+
158 
+
159  return (secsSince1900 == 0)
+
160  ? kInvalidSeconds
+
161  : secsSince1900 - kSecondsSinceNtpEpoch;
+
162  }
+
163 
+
164  private:
+
166  static const uint8_t kNtpPacketSize = 48;
+
167 
+
172  static const uint32_t kSecondsSinceNtpEpoch = 3155673600;
+
173 
+
175  static const uint16_t kConnectTimeoutMillis = 10000;
+
176 
+
178  void sendNtpPacket(const IPAddress& address) const {
+
179 #if ACE_TIME_NTP_CLOCK_DEBUG == 1
+
180  uint16_t startTime = millis();
+
181 #endif
+
182  // set all bytes in the buffer to 0
+
183  memset(mPacketBuffer, 0, kNtpPacketSize);
+
184  // Initialize values needed to form NTP request
+
185  // (see URL above for details on the packets)
+
186  mPacketBuffer[0] = 0b11100011; // LI, Version, Mode
+
187  mPacketBuffer[1] = 0; // Stratum, or type of clock
+
188  mPacketBuffer[2] = 6; // Polling Interval
+
189  mPacketBuffer[3] = 0xEC; // Peer Clock Precision
+
190  // 8 bytes of zero for Root Delay & Root Dispersion
+
191  mPacketBuffer[12] = 49;
+
192  mPacketBuffer[13] = 0x4E;
+
193  mPacketBuffer[14] = 49;
+
194  mPacketBuffer[15] = 52;
+
195  // all NTP fields have been given values, now
+
196  // you can send a packet requesting a timestamp:
+
197  mUdp.beginPacket(address, 123); //NTP requests are to port 123
+
198  mUdp.write(mPacketBuffer, kNtpPacketSize);
+
199  mUdp.endPacket();
+
200 #if ACE_TIME_NTP_CLOCK_DEBUG == 1
+
201  logging::printf("NtpClock::sendNtpPacket(): %u ms\n",
+
202  (unsigned) ((uint16_t) millis() - startTime));
+
203 #endif
+
204  }
+
205 
+
206  const char* const mServer;
+
207  uint16_t const mLocalPort;
+
208  uint16_t const mRequestTimeout;
+
209 
+
210  mutable WiFiUDP mUdp;
+
211  // buffer to hold incoming & outgoing packets
+
212  mutable uint8_t mPacketBuffer[kNtpPacketSize];
+
213  bool mIsSetUp = false;
+
214 };
+
215 
+
216 }
+
217 }
+
218 
+
219 #endif // defined(ESP8266) || defined(ESP32)
+
220 
+
221 #endif
+
void sendRequest() const override
Send a time request asynchronously.
Definition: NtpClock.h:124
+
static const uint16_t kRequestTimeout
Request time out milliseconds.
Definition: NtpClock.h:52
+
static const char kNtpServerName[]
Default NTP Server.
Definition: NtpClock.h:46
+
bool isResponseReady() const override
Return true if a response is ready.
Definition: NtpClock.h:142
+
NtpClock(const char *server=kNtpServerName, uint16_t localPort=kLocalPort, uint16_t requestTimeout=kRequestTimeout)
Constructor.
Definition: NtpClock.h:60
+
A Clock that retrieves the time from an NTP server.
Definition: NtpClock.h:43
+
acetime_t getNow() const override
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
Definition: NtpClock.h:110
+
Base class for objects that provide and store time.
Definition: Clock.h:20
+
acetime_t readResponse() const override
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: NtpClock.h:147
+
void setup(const char *ssid=nullptr, const char *password=nullptr, uint16_t connectTimeoutMillis=kConnectTimeoutMillis)
Set up the WiFi connection using the given ssid and password, and prepare the UDP connection.
Definition: NtpClock.h:78
+
static const uint16_t kLocalPort
Default port used for UDP packets.
Definition: NtpClock.h:49
diff --git a/docs/html/OffsetDateTime_8cpp_source.html b/docs/html/OffsetDateTime_8cpp_source.html index f0029e159..c780a8407 100644 --- a/docs/html/OffsetDateTime_8cpp_source.html +++ b/docs/html/OffsetDateTime_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/OffsetDateTime.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/OffsetDateTime.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
OffsetDateTime.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "common/util.h"
7 #include "common/DateStrings.h"
8 #include "LocalDateTime.h"
9 #include "OffsetDateTime.h"
10 
11 namespace ace_time {
12 
13 using common::printPad2;
14 
15 void OffsetDateTime::printTo(Print& printer) const {
16  if (isError()) {
17  printer.print(F("<Invalid OffsetDateTime>"));
18  return;
19  }
20 
21  // LocalDateTime
22  mLocalDateTime.printTo(printer);
23 
24  // TimeOffset "+/-hh:mm
25  mTimeOffset.printTo(printer);
26 }
27 
29  if (strlen(dateString) < kDateStringLength) {
30  return forError();
31  }
32  return forDateStringChainable(dateString);
33 }
34 
36  const char* s = dateString;
37 
40 
41  dateString = s;
42  return OffsetDateTime(ldt, offset);
43 }
44 
45 }
-
void printTo(Print &printer) const
Print LocalDateTime to &#39;printer&#39; in ISO 8601 format.
-
static TimeOffset forOffsetStringChainable(const char *&offsetString)
Variant of forOffsetString() that updates the string pointer to the next unprocessed character...
Definition: TimeOffset.cpp:41
-
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
-
void printTo(Print &printer) const
Print OffsetDateTime to &#39;printer&#39; in ISO 8601 format.
-
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
-
OffsetDateTime()
Constructor.
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
static OffsetDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
-
bool isError() const
Return true if any component indicates an error condition.
-
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
static OffsetDateTime forDateString(const char *dateString)
Factory method.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include "common/util.h"
+
7 #include "common/DateStrings.h"
+
8 #include "LocalDateTime.h"
+
9 #include "OffsetDateTime.h"
+
10 
+
11 namespace ace_time {
+
12 
+
13 using common::printPad2;
+
14 
+
15 void OffsetDateTime::printTo(Print& printer) const {
+
16  if (isError()) {
+
17  printer.print(F("<Invalid OffsetDateTime>"));
+
18  return;
+
19  }
+
20 
+
21  // LocalDateTime
+
22  mLocalDateTime.printTo(printer);
+
23 
+
24  // TimeOffset "+/-hh:mm
+
25  mTimeOffset.printTo(printer);
+
26 }
+
27 
+ +
29  if (strlen(dateString) < kDateStringLength) {
+
30  return forError();
+
31  }
+
32  return forDateStringChainable(dateString);
+
33 }
+
34 
+ +
36  const char* s = dateString;
+
37 
+ + +
40 
+
41  dateString = s;
+
42  return OffsetDateTime(ldt, offset);
+
43 }
+
44 
+
45 }
+
void printTo(Print &printer) const
Print OffsetDateTime to 'printer' in ISO 8601 format.
+
static OffsetDateTime forDateString(const char *dateString)
Factory method.
+
OffsetDateTime()
Constructor.
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
static TimeOffset forOffsetStringChainable(const char *&offsetString)
Variant of forOffsetString() that updates the string pointer to the next unprocessed character.
Definition: TimeOffset.cpp:41
+
void printTo(Print &printer) const
Print LocalDateTime to 'printer' in ISO 8601 format.
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
+
static OffsetDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
+
static LocalDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
+
bool isError() const
Return true if any component indicates an error condition.
diff --git a/docs/html/OffsetDateTime_8h_source.html b/docs/html/OffsetDateTime_8h_source.html index 06069e0f9..10bebecd2 100644 --- a/docs/html/OffsetDateTime_8h_source.html +++ b/docs/html/OffsetDateTime_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/OffsetDateTime.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/OffsetDateTime.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
OffsetDateTime.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_OFFSET_DATE_TIME_H
7 #define ACE_TIME_OFFSET_DATE_TIME_H
8 
9 #include <stdint.h>
10 #include "TimeOffset.h"
11 #include "LocalDateTime.h"
12 
13 class Print;
14 
15 namespace ace_time {
16 
34  public:
35 
39  return OffsetDateTime(localDateTime, timeOffset);
40  }
41 
53  static OffsetDateTime forComponents(int16_t year, uint8_t month, uint8_t
54  day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset
55  timeOffset) {
56  auto ldt = LocalDateTime::forComponents(year, month, day, hour, minute,
57  second);
58  return OffsetDateTime(ldt, timeOffset);
59  }
60 
71  static OffsetDateTime forEpochSeconds(acetime_t epochSeconds,
73  if (epochSeconds != LocalDate::kInvalidEpochSeconds) {
74  epochSeconds += timeOffset.toSeconds();
75  }
76  auto ldt = LocalDateTime::forEpochSeconds(epochSeconds);
77  return OffsetDateTime(ldt, timeOffset);
78  }
79 
85  static OffsetDateTime forUnixSeconds(acetime_t unixSeconds,
87  acetime_t epochSeconds = (unixSeconds == LocalDate::kInvalidEpochSeconds)
88  ? unixSeconds
89  : unixSeconds - LocalDate::kSecondsSinceUnixEpoch;
90  return forEpochSeconds(epochSeconds, timeOffset);
91  }
92 
112  static OffsetDateTime forDateString(const char* dateString);
113 
121  static OffsetDateTime forDateStringChainable(const char*& dateString);
122 
128  static OffsetDateTime forDateString(const __FlashStringHelper* dateString) {
129  // Copy the F() string into a buffer. Use strncpy_P() because ESP32 and
130  // ESP8266 do not have strlcpy_P(). We need +1 for the '\0' character and
131  // another +1 to determine if the dateString is too long to fit.
132  char buffer[kDateStringLength + 2];
133  strncpy_P(buffer, (const char*) dateString, sizeof(buffer));
134  buffer[kDateStringLength + 1] = 0;
135 
136  // check if the original F() was too long
137  size_t len = strlen(buffer);
138  if (len > kDateStringLength) {
139  return forError();
140  }
141 
142  return forDateString(buffer);
143  }
144 
148  }
149 
151  explicit OffsetDateTime() {}
152 
154  bool isError() const {
155  // Check mTimeOffset first because it's expected to be invalid more often.
156  return mTimeOffset.isError() || mLocalDateTime.isError();
157  }
158 
160  int16_t year() const { return mLocalDateTime.year(); }
161 
163  void year(int16_t year) { mLocalDateTime.year(year); }
164 
170  int8_t yearTiny() const { return mLocalDateTime.yearTiny(); }
171 
177  void yearTiny(int8_t yearTiny) { mLocalDateTime.yearTiny(yearTiny); }
178 
180  uint8_t month() const { return mLocalDateTime.month(); }
181 
183  void month(uint8_t month) { mLocalDateTime.month(month); }
184 
186  uint8_t day() const { return mLocalDateTime.day(); }
187 
189  void day(uint8_t day) { mLocalDateTime.day(day); }
190 
192  uint8_t hour() const { return mLocalDateTime.hour(); }
193 
195  void hour(uint8_t hour) { mLocalDateTime.hour(hour); }
196 
198  uint8_t minute() const { return mLocalDateTime.minute(); }
199 
201  void minute(uint8_t minute) { mLocalDateTime.minute(minute); }
202 
204  uint8_t second() const { return mLocalDateTime.second(); }
205 
207  void second(uint8_t second) { mLocalDateTime.second(second); }
208 
210  uint8_t dayOfWeek() const { return mLocalDateTime.dayOfWeek(); }
211 
213  TimeOffset timeOffset() const { return mTimeOffset; }
214 
216  void timeOffset(TimeOffset timeOffset) { mTimeOffset = timeOffset; }
217 
219  const LocalDateTime& localDateTime() const { return mLocalDateTime; }
220 
222  const LocalDate& localDate() const { return mLocalDateTime.localDate(); }
223 
225  const LocalTime& localTime() const { return mLocalDateTime.localTime(); }
226 
232  acetime_t epochSeconds = toEpochSeconds();
233  return OffsetDateTime::forEpochSeconds(epochSeconds, timeOffset);
234  }
235 
240  acetime_t toEpochDays() const {
242 
243  acetime_t epochDays = mLocalDateTime.localDate().toEpochDays();
244 
245  // Increment or decrement the day count depending on the time offset.
246  acetime_t timeOffset = mLocalDateTime.localTime().toSeconds()
247  - mTimeOffset.toSeconds();
248  if (timeOffset >= 86400) return epochDays + 1;
249  if (timeOffset < 0) return epochDays - 1;
250  return epochDays;
251  }
252 
254  acetime_t toUnixDays() const {
257  }
258 
263  acetime_t toEpochSeconds() const {
265  return mLocalDateTime.toEpochSeconds() - mTimeOffset.toSeconds();
266  }
267 
275  acetime_t toUnixSeconds() const {
278  }
279 
286  int8_t compareTo(const OffsetDateTime& that) const {
287  acetime_t thisSeconds = toEpochSeconds();
288  acetime_t thatSeconds = that.toEpochSeconds();
289  if (thisSeconds < thatSeconds) return -1;
290  if (thisSeconds > thatSeconds) return 1;
291  return 0;
292  }
293 
299  void printTo(Print& printer) const;
300 
301  // Use default copy constructor and assignment operator.
302  OffsetDateTime(const OffsetDateTime&) = default;
303  OffsetDateTime& operator=(const OffsetDateTime&) = default;
304 
305  private:
306  friend bool operator==(const OffsetDateTime& a, const OffsetDateTime& b);
307 
309  static const uint8_t kDateStringLength = 25;
310 
312  explicit OffsetDateTime(const LocalDateTime& ldt, TimeOffset timeOffset):
313  mLocalDateTime(ldt),
314  mTimeOffset(timeOffset) {}
315 
316  LocalDateTime mLocalDateTime;
317  TimeOffset mTimeOffset;
318 };
319 
325 inline bool operator==(const OffsetDateTime& a, const OffsetDateTime& b) {
326  return a.mLocalDateTime == b.mLocalDateTime
327  && a.mTimeOffset == b.mTimeOffset;
328 }
329 
331 inline bool operator!=(const OffsetDateTime& a, const OffsetDateTime& b) {
332  return ! (a == b);
333 }
334 
335 }
336 
337 #endif
acetime_t toSeconds() const
Return the number of seconds since midnight.
Definition: LocalTime.h:137
-
const LocalTime & localTime() const
Return the LocalTime.
-
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:69
-
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
-
uint8_t minute() const
Return the minute.
-
int16_t year() const
Return the year.
-
uint8_t minute() const
Return the minute.
-
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:75
-
uint8_t second() const
Return the second.
-
void minute(uint8_t minute)
Set the minute.
-
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
void day(uint8_t day)
Set the day of the month.
-
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offse...
- -
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
-
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
-
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
-
bool isError() const
Return true if this TimeOffset represents an error.
Definition: TimeOffset.h:138
-
OffsetDateTime convertToTimeOffset(TimeOffset timeOffset) const
Create a OffsetDateTime in a different offset zone code (with the same epochSeconds).
-
acetime_t toEpochDays() const
Return number of days since AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:300
-
uint8_t month() const
Return the month with January=1, December=12.
-
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
-
int32_t toSeconds() const
Return the time offset as seconds.
Definition: TimeOffset.h:116
-
uint8_t hour() const
Return the hour.
-
uint8_t day() const
Return the day of the month.
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
static LocalDateTime forEpochSeconds(acetime_t epochSeconds)
Factory method.
Definition: LocalDateTime.h:67
-
acetime_t toUnixSeconds() const
Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.
-
void year(int16_t year)
Set the year.
-
void printTo(Print &printer) const
Print OffsetDateTime to &#39;printer&#39; in ISO 8601 format.
-
static OffsetDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset timeOffset)
Factory method using separated date, time, and UTC offset fields.
-
int8_t compareTo(const OffsetDateTime &that) const
Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether ...
-
OffsetDateTime()
Constructor.
-
void second(uint8_t second)
Set the second.
-
uint8_t month() const
Return the month with January=1, December=12.
-
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
-
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
-
void timeOffset(TimeOffset timeOffset)
Set the offset zone.
-
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
-
const LocalDate & localDate() const
Return the LocalDate.
-
friend bool operator==(const OffsetDateTime &a, const OffsetDateTime &b)
Return true if two OffsetDateTime objects are equal in all components.
-
TimeOffset timeOffset() const
Return the offset zone of the OffsetDateTime.
-
const LocalTime & localTime() const
Return the LocalTime.
-
void month(uint8_t month)
Set the month.
-
static OffsetDateTime forDateString(const __FlashStringHelper *dateString)
Factory method.
-
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
-
uint8_t hour() const
Return the hour.
-
int16_t year() const
Return the year.
-
const LocalDateTime & localDateTime() const
Return the LocalDateTime.
-
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
uint8_t second() const
Return the second.
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone...
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
static LocalDateTime forError()
Factory method that returns an instance where isError() returns true.
-
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
-
void hour(uint8_t hour)
Set the hour.
-
const LocalDate & localDate() const
Return the LocalDate.
-
static OffsetDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
-
uint8_t day() const
Return the day of the month.
-
static OffsetDateTime forUnixSeconds(acetime_t unixSeconds, TimeOffset timeOffset)
Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.
-
bool isError() const
Return true if any component indicates an error condition.
-
bool isError() const
Return true if any component indicates an error condition.
-
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
static OffsetDateTime forDateString(const char *dateString)
Factory method.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_OFFSET_DATE_TIME_H
+
7 #define ACE_TIME_OFFSET_DATE_TIME_H
+
8 
+
9 #include <stdint.h>
+
10 #include "TimeOffset.h"
+
11 #include "LocalDateTime.h"
+
12 
+
13 class Print;
+
14 
+
15 namespace ace_time {
+
16 
+ +
34  public:
+
35 
+ + + +
40  }
+
41 
+
53  static OffsetDateTime forComponents(int16_t year, uint8_t month, uint8_t
+
54  day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset
+
55  timeOffset) {
+ +
57  second);
+
58  return OffsetDateTime(ldt, timeOffset);
+
59  }
+
60 
+
71  static OffsetDateTime forEpochSeconds(acetime_t epochSeconds,
+ +
73  if (epochSeconds != LocalDate::kInvalidEpochSeconds) {
+
74  epochSeconds += timeOffset.toSeconds();
+
75  }
+
76  auto ldt = LocalDateTime::forEpochSeconds(epochSeconds);
+
77  return OffsetDateTime(ldt, timeOffset);
+
78  }
+
79 
+
85  static OffsetDateTime forUnixSeconds(acetime_t unixSeconds,
+ +
87  acetime_t epochSeconds = (unixSeconds == LocalDate::kInvalidEpochSeconds)
+
88  ? unixSeconds
+
89  : unixSeconds - LocalDate::kSecondsSinceUnixEpoch;
+
90  return forEpochSeconds(epochSeconds, timeOffset);
+
91  }
+
92 
+
112  static OffsetDateTime forDateString(const char* dateString);
+
113 
+
121  static OffsetDateTime forDateStringChainable(const char*& dateString);
+
122 
+
128  static OffsetDateTime forDateString(const __FlashStringHelper* dateString) {
+
129  // Copy the F() string into a buffer. Use strncpy_P() because ESP32 and
+
130  // ESP8266 do not have strlcpy_P(). We need +1 for the '\0' character and
+
131  // another +1 to determine if the dateString is too long to fit.
+
132  char buffer[kDateStringLength + 2];
+
133  strncpy_P(buffer, (const char*) dateString, sizeof(buffer));
+
134  buffer[kDateStringLength + 1] = 0;
+
135 
+
136  // check if the original F() was too long
+
137  size_t len = strlen(buffer);
+
138  if (len > kDateStringLength) {
+
139  return forError();
+
140  }
+
141 
+
142  return forDateString(buffer);
+
143  }
+
144 
+ + +
148  }
+
149 
+
151  explicit OffsetDateTime() {}
+
152 
+
154  bool isError() const {
+
155  // Check mTimeOffset first because it's expected to be invalid more often.
+
156  return mTimeOffset.isError() || mLocalDateTime.isError();
+
157  }
+
158 
+
160  int16_t year() const { return mLocalDateTime.year(); }
+
161 
+
163  void year(int16_t year) { mLocalDateTime.year(year); }
+
164 
+
170  int8_t yearTiny() const { return mLocalDateTime.yearTiny(); }
+
171 
+
177  void yearTiny(int8_t yearTiny) { mLocalDateTime.yearTiny(yearTiny); }
+
178 
+
180  uint8_t month() const { return mLocalDateTime.month(); }
+
181 
+
183  void month(uint8_t month) { mLocalDateTime.month(month); }
+
184 
+
186  uint8_t day() const { return mLocalDateTime.day(); }
+
187 
+
189  void day(uint8_t day) { mLocalDateTime.day(day); }
+
190 
+
192  uint8_t hour() const { return mLocalDateTime.hour(); }
+
193 
+
195  void hour(uint8_t hour) { mLocalDateTime.hour(hour); }
+
196 
+
198  uint8_t minute() const { return mLocalDateTime.minute(); }
+
199 
+
201  void minute(uint8_t minute) { mLocalDateTime.minute(minute); }
+
202 
+
204  uint8_t second() const { return mLocalDateTime.second(); }
+
205 
+
207  void second(uint8_t second) { mLocalDateTime.second(second); }
+
208 
+
210  uint8_t dayOfWeek() const { return mLocalDateTime.dayOfWeek(); }
+
211 
+
213  TimeOffset timeOffset() const { return mTimeOffset; }
+
214 
+
216  void timeOffset(TimeOffset timeOffset) { mTimeOffset = timeOffset; }
+
217 
+
219  const LocalDateTime& localDateTime() const { return mLocalDateTime; }
+
220 
+
222  const LocalDate& localDate() const { return mLocalDateTime.localDate(); }
+
223 
+
225  const LocalTime& localTime() const { return mLocalDateTime.localTime(); }
+
226 
+ +
232  acetime_t epochSeconds = toEpochSeconds();
+
233  return OffsetDateTime::forEpochSeconds(epochSeconds, timeOffset);
+
234  }
+
235 
+
240  acetime_t toEpochDays() const {
+ +
242 
+
243  acetime_t epochDays = mLocalDateTime.localDate().toEpochDays();
+
244 
+
245  // Increment or decrement the day count depending on the time offset.
+
246  acetime_t timeOffset = mLocalDateTime.localTime().toSeconds()
+
247  - mTimeOffset.toSeconds();
+
248  if (timeOffset >= 86400) return epochDays + 1;
+
249  if (timeOffset < 0) return epochDays - 1;
+
250  return epochDays;
+
251  }
+
252 
+
254  acetime_t toUnixDays() const {
+ + +
257  }
+
258 
+
263  acetime_t toEpochSeconds() const {
+ +
265  return mLocalDateTime.toEpochSeconds() - mTimeOffset.toSeconds();
+
266  }
+
267 
+
275  acetime_t toUnixSeconds() const {
+ + +
278  }
+
279 
+
286  int8_t compareTo(const OffsetDateTime& that) const {
+
287  acetime_t thisSeconds = toEpochSeconds();
+
288  acetime_t thatSeconds = that.toEpochSeconds();
+
289  if (thisSeconds < thatSeconds) return -1;
+
290  if (thisSeconds > thatSeconds) return 1;
+
291  return 0;
+
292  }
+
293 
+
299  void printTo(Print& printer) const;
+
300 
+
301  // Use default copy constructor and assignment operator.
+
302  OffsetDateTime(const OffsetDateTime&) = default;
+
303  OffsetDateTime& operator=(const OffsetDateTime&) = default;
+
304 
+
305  private:
+
306  friend bool operator==(const OffsetDateTime& a, const OffsetDateTime& b);
+
307 
+
309  static const uint8_t kDateStringLength = 25;
+
310 
+
312  explicit OffsetDateTime(const LocalDateTime& ldt, TimeOffset timeOffset):
+
313  mLocalDateTime(ldt),
+
314  mTimeOffset(timeOffset) {}
+
315 
+
316  LocalDateTime mLocalDateTime;
+
317  TimeOffset mTimeOffset;
+
318 };
+
319 
+
325 inline bool operator==(const OffsetDateTime& a, const OffsetDateTime& b) {
+
326  return a.mLocalDateTime == b.mLocalDateTime
+
327  && a.mTimeOffset == b.mTimeOffset;
+
328 }
+
329 
+
331 inline bool operator!=(const OffsetDateTime& a, const OffsetDateTime& b) {
+
332  return ! (a == b);
+
333 }
+
334 
+
335 }
+
336 
+
337 #endif
+
void printTo(Print &printer) const
Print OffsetDateTime to 'printer' in ISO 8601 format.
+
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:69
+
acetime_t toUnixSeconds() const
Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.
+
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
+
static OffsetDateTime forDateString(const char *dateString)
Factory method.
+
uint8_t hour() const
Return the hour.
+
OffsetDateTime()
Constructor.
+
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
+
bool isError() const
Return true if this TimeOffset represents an error.
Definition: TimeOffset.h:138
+
int32_t toSeconds() const
Return the time offset as seconds.
Definition: TimeOffset.h:116
+
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
+
void second(uint8_t second)
Set the second.
+
acetime_t toEpochDays() const
Return number of days since AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:300
+
const LocalDate & localDate() const
Return the LocalDate.
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone.
+
uint8_t month() const
Return the month with January=1, December=12.
+
void day(uint8_t day)
Set the day of the month.
+
void year(int16_t year)
Set the year.
+
static LocalDateTime forError()
Factory method that returns an instance where isError() returns true.
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
+
The date (year, month, day) representing the date without regards to time zone.
Definition: LocalDate.h:36
+
static OffsetDateTime forDateStringChainable(const char *&dateString)
Variant of forDateString() that updates the pointer to the next unprocessed character.
+
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
+
OffsetDateTime convertToTimeOffset(TimeOffset timeOffset) const
Create a OffsetDateTime in a different offset zone code (with the same epochSeconds).
+
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
+
uint8_t month() const
Return the month with January=1, December=12.
+
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
+
uint8_t second() const
Return the second.
+
friend bool operator==(const OffsetDateTime &a, const OffsetDateTime &b)
Return true if two OffsetDateTime objects are equal in all components.
+
uint8_t second() const
Return the second.
+
const LocalTime & localTime() const
Return the LocalTime.
+
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
+
void month(uint8_t month)
Set the month.
+
bool isError() const
Return true if any component indicates an error condition.
+
uint8_t minute() const
Return the minute.
+
const LocalDate & localDate() const
Return the LocalDate.
+
void minute(uint8_t minute)
Set the minute.
+
int8_t compareTo(const OffsetDateTime &that) const
Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether ...
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time compon...
+
void timeOffset(TimeOffset timeOffset)
Set the offset zone.
+
static OffsetDateTime forDateString(const __FlashStringHelper *dateString)
Factory method.
+
int16_t year() const
Return the year.
+
TimeOffset timeOffset() const
Return the offset zone of the OffsetDateTime.
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
+
void hour(uint8_t hour)
Set the hour.
+
uint8_t day() const
Return the day of the month.
+
uint8_t minute() const
Return the minute.
+
static OffsetDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset timeOffset)
Factory method using separated date, time, and UTC offset fields.
+
acetime_t toSeconds() const
Return the number of seconds since midnight.
Definition: LocalTime.h:137
+
static OffsetDateTime forUnixSeconds(acetime_t unixSeconds, TimeOffset timeOffset)
Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.
+
uint8_t day() const
Return the day of the month.
+
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
+
bool isError() const
Return true if any component indicates an error condition.
+
uint8_t hour() const
Return the hour.
+
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:75
+
const LocalDateTime & localDateTime() const
Return the LocalDateTime.
+
const LocalTime & localTime() const
Return the LocalTime.
+
int16_t year() const
Return the year.
+
static LocalDateTime forEpochSeconds(acetime_t epochSeconds)
Factory method.
Definition: LocalDateTime.h:67
+
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offse...
+
The time (hour, minute, second) fields representing the time without regards to the day or the time z...
Definition: LocalTime.h:26
diff --git a/docs/html/README_8md_source.html b/docs/html/README_8md_source.html deleted file mode 100644 index 59810866d..000000000 --- a/docs/html/README_8md_source.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/README.md Source File - - - - - - - - - -
-
- - - - - - -
-
AceTime -  1.1 -
-
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
-
/home/brian/dev/AceTime/src/ace_time/internal/README.md
-
-
-
1 # ZoneInfo Data Files
2 
3 These are internal representations of the zoneinfo data from the TZ Database.
4 Library users should treat these data objects as *opaque*. They should be
5 referenced only by the specific `basic::kZone*` or `extended::kZone*`
6 identifiers defined in the `src/ace_time/zonedb` and `src/ace_time/zonedbx`
7 directories. It is entirely possible that the internal structure of these data
8 types may change without warning when the internal implementations change.
9 
10 There are 5 core data types: `ZoneContext`, `ZoneRule`, `ZonePolicy`, `ZoneEra`
11 and `ZoneInfo`. Currenlty, each data type is duplicated into 2 namespaces
12 (`basic::` and `extended::`) for use with `BasicZoneProcessor` and
13 `ExtendedZoneProcessor` respectively. It is entirely possible that future
14 implementations may bifurcate these data types so that they are no longer
15 identical.
- - - - diff --git a/docs/html/SystemClockCoroutine_8h_source.html b/docs/html/SystemClockCoroutine_8h_source.html index adf774df5..5e390fbbc 100644 --- a/docs/html/SystemClockCoroutine_8h_source.html +++ b/docs/html/SystemClockCoroutine_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/SystemClockCoroutine.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/SystemClockCoroutine.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
SystemClockCoroutine.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_SYSTEM_CLOCK_COROUTINE_H
7 #define ACE_TIME_SYSTEM_CLOCK_COROUTINE_H
8 
9 // activate only if <AceRoutine.h> is included before this header
10 #ifdef ACE_ROUTINE_VERSION
11 
12 #include <stdint.h>
13 #include <AceRoutine.h>
14 #include "../common/TimingStats.h"
15 #include "SystemClock.h"
16 
17 class SystemClockCoroutineTest_runCoroutine;
18 
19 namespace ace_time {
20 namespace clock {
21 
33 class SystemClockCoroutine: public SystemClock, public ace_routine::Coroutine {
34  public:
36  static const uint8_t kStatusUnknown = 0;
37 
39  static const uint8_t kStatusSent = 1;
40 
42  static const uint8_t kStatusOk = 2;
43 
45  static const uint8_t kStatusTimedOut = 3;
46 
64  Clock* referenceClock /* nullable */,
65  Clock* backupClock /* nullable */,
66  uint16_t syncPeriodSeconds = 3600,
67  uint16_t initialSyncPeriodSeconds = 5,
68  uint16_t requestTimeoutMillis = 1000,
69  common::TimingStats* timingStats = nullptr):
70  SystemClock(referenceClock, backupClock),
71  mSyncPeriodSeconds(syncPeriodSeconds),
72  mRequestTimeoutMillis(requestTimeoutMillis),
73  mTimingStats(timingStats),
74  mCurrentSyncPeriodSeconds(initialSyncPeriodSeconds) {}
75 
83  int runCoroutine() override {
84  keepAlive();
85  if (mReferenceClock == nullptr) return 0;
86 
87  COROUTINE_LOOP() {
88  // Send request
89  mReferenceClock->sendRequest();
90  mRequestStartMillis = coroutineMillis();
91  mRequestStatus = kStatusSent;
92 
93  // Wait for request
94  while (true) {
95  if (mReferenceClock->isResponseReady()) {
96  mRequestStatus = kStatusOk;
97  break;
98  }
99 
100  {
101  // Local variable waitMillis must be scoped with {} so that the
102  // goto in COROUTINE_LOOP() 16skip past it in clang++. g++ seems to
103  // be fine without it.
104  uint16_t waitMillis =
105  (uint16_t) coroutineMillis() - mRequestStartMillis;
106  if (waitMillis >= mRequestTimeoutMillis) {
107  mRequestStatus = kStatusTimedOut;
108  break;
109  }
110  }
111 
112  COROUTINE_YIELD();
113  }
114 
115  // Process the response
116  if (mRequestStatus == kStatusOk) {
117  acetime_t nowSeconds = mReferenceClock->readResponse();
118  if (mTimingStats != nullptr) {
119  uint16_t elapsedMillis =
120  (uint16_t) coroutineMillis() - mRequestStartMillis;
121  mTimingStats->update(elapsedMillis);
122  }
123  syncNow(nowSeconds);
124  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
125  }
126 
127  COROUTINE_DELAY_SECONDS(mCurrentSyncPeriodSeconds);
128 
129  // Determine the retry delay time based on success or failure. If
130  // failure, retry with exponential backoff, until the delay becomes
131  // mSyncPeriodSeconds.
132  if (mRequestStatus == kStatusTimedOut) {
133  if (mCurrentSyncPeriodSeconds >= mSyncPeriodSeconds / 2) {
134  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
135  } else {
136  mCurrentSyncPeriodSeconds *= 2;
137  }
138  }
139  }
140  }
141 
143  uint8_t getRequestStatus() const { return mRequestStatus; }
144 
145  private:
146  friend class ::SystemClockCoroutineTest_runCoroutine;
147 
148  // disable copy constructor and assignment operator
150  SystemClockCoroutine& operator=(const SystemClockCoroutine&) = delete;
151 
152  uint16_t const mSyncPeriodSeconds;
153  uint16_t const mRequestTimeoutMillis;
154  common::TimingStats* const mTimingStats;
155 
156  uint16_t mRequestStartMillis; // lower 16-bit of millis()
157  uint16_t mCurrentSyncPeriodSeconds;
158  uint8_t mRequestStatus = kStatusUnknown;
159 };
160 
161 }
162 }
163 
164 #endif
165 
166 #endif
static const uint8_t kStatusSent
Request has been sent and waiting for response.
- -
A Clock that uses the Arduino millis() function to advance the time returned to the user...
Definition: SystemClock.h:53
-
static const uint8_t kStatusUnknown
Request state unknown.
-
static const uint8_t kStatusTimedOut
Request timed out.
- -
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: Clock.h:41
-
Helper class to collect timing statistics such as min, max, average.
Definition: TimingStats.h:19
-
void keepAlive()
Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with milli...
Definition: SystemClock.h:132
-
A version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block me...
-
virtual void sendRequest() const
Send a time request asynchronously.
Definition: Clock.h:38
-
uint8_t getRequestStatus() const
Return the current request status.
-
Base class for objects that provide and store time.
Definition: Clock.h:20
-
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: Clock.h:48
-
static const uint8_t kStatusOk
Request received and valid.
-
void syncNow(acetime_t epochSeconds)
Similar to setNow() except that backupNow() is called only if the backupClock is different from the r...
Definition: SystemClock.h:156
-
SystemClockCoroutine(Clock *referenceClock, Clock *backupClock, uint16_t syncPeriodSeconds=3600, uint16_t initialSyncPeriodSeconds=5, uint16_t requestTimeoutMillis=1000, common::TimingStats *timingStats=nullptr)
Constructor.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_SYSTEM_CLOCK_COROUTINE_H
+
7 #define ACE_TIME_SYSTEM_CLOCK_COROUTINE_H
+
8 
+
9 // activate only if <AceRoutine.h> is included before this header
+
10 #ifdef ACE_ROUTINE_VERSION
+
11 
+
12 #include <stdint.h>
+
13 #include <AceRoutine.h>
+
14 #include "../common/TimingStats.h"
+
15 #include "SystemClock.h"
+
16 
+
17 class SystemClockCoroutineTest_runCoroutine;
+
18 
+
19 namespace ace_time {
+
20 namespace clock {
+
21 
+
33 class SystemClockCoroutine: public SystemClock, public ace_routine::Coroutine {
+
34  public:
+
36  static const uint8_t kStatusUnknown = 0;
+
37 
+
39  static const uint8_t kStatusSent = 1;
+
40 
+
42  static const uint8_t kStatusOk = 2;
+
43 
+
45  static const uint8_t kStatusTimedOut = 3;
+
46 
+ +
64  Clock* referenceClock /* nullable */,
+
65  Clock* backupClock /* nullable */,
+
66  uint16_t syncPeriodSeconds = 3600,
+
67  uint16_t initialSyncPeriodSeconds = 5,
+
68  uint16_t requestTimeoutMillis = 1000,
+
69  common::TimingStats* timingStats = nullptr):
+
70  SystemClock(referenceClock, backupClock),
+
71  mSyncPeriodSeconds(syncPeriodSeconds),
+
72  mRequestTimeoutMillis(requestTimeoutMillis),
+
73  mTimingStats(timingStats),
+
74  mCurrentSyncPeriodSeconds(initialSyncPeriodSeconds) {}
+
75 
+
83  int runCoroutine() override {
+
84  keepAlive();
+
85  if (mReferenceClock == nullptr) return 0;
+
86 
+
87  COROUTINE_LOOP() {
+
88  // Send request
+
89  mReferenceClock->sendRequest();
+
90  mRequestStartMillis = coroutineMillis();
+
91  mRequestStatus = kStatusSent;
+
92 
+
93  // Wait for request
+
94  while (true) {
+
95  if (mReferenceClock->isResponseReady()) {
+
96  mRequestStatus = kStatusOk;
+
97  break;
+
98  }
+
99 
+
100  {
+
101  // Local variable waitMillis must be scoped with {} so that the
+
102  // goto in COROUTINE_LOOP() skips past it. This seems to be
+
103  // a problem only in clang++; g++ seems to be fine without it.
+
104  uint16_t waitMillis =
+
105  (uint16_t) coroutineMillis() - mRequestStartMillis;
+
106  if (waitMillis >= mRequestTimeoutMillis) {
+
107  mRequestStatus = kStatusTimedOut;
+
108  break;
+
109  }
+
110  }
+
111 
+
112  COROUTINE_YIELD();
+
113  }
+
114 
+
115  // Process the response
+
116  if (mRequestStatus == kStatusOk) {
+
117  acetime_t nowSeconds = mReferenceClock->readResponse();
+
118  if (mTimingStats != nullptr) {
+
119  uint16_t elapsedMillis =
+
120  (uint16_t) coroutineMillis() - mRequestStartMillis;
+
121  mTimingStats->update(elapsedMillis);
+
122  }
+
123  syncNow(nowSeconds);
+
124  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
+
125  }
+
126 
+
127  COROUTINE_DELAY_SECONDS(mCurrentSyncPeriodSeconds);
+
128 
+
129  // Determine the retry delay time based on success or failure. If
+
130  // failure, retry with exponential backoff, until the delay becomes
+
131  // mSyncPeriodSeconds.
+
132  if (mRequestStatus == kStatusTimedOut) {
+
133  if (mCurrentSyncPeriodSeconds >= mSyncPeriodSeconds / 2) {
+
134  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
+
135  } else {
+
136  mCurrentSyncPeriodSeconds *= 2;
+
137  }
+
138  }
+
139  }
+
140  }
+
141 
+
143  uint8_t getRequestStatus() const { return mRequestStatus; }
+
144 
+
145  private:
+
146  friend class ::SystemClockCoroutineTest_runCoroutine;
+
147 
+
148  // disable copy constructor and assignment operator
+ +
150  SystemClockCoroutine& operator=(const SystemClockCoroutine&) = delete;
+
151 
+
152  uint16_t const mSyncPeriodSeconds;
+
153  uint16_t const mRequestTimeoutMillis;
+
154  common::TimingStats* const mTimingStats;
+
155 
+
156  uint16_t mRequestStartMillis; // lower 16-bit of millis()
+
157  uint16_t mCurrentSyncPeriodSeconds;
+
158  uint8_t mRequestStatus = kStatusUnknown;
+
159 };
+
160 
+
161 }
+
162 }
+
163 
+
164 #endif
+
165 
+
166 #endif
+
A version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block me...
+
Helper class to collect timing statistics such as min, max, average.
Definition: TimingStats.h:19
+
virtual void sendRequest() const
Send a time request asynchronously.
Definition: Clock.h:38
+
void syncNow(acetime_t epochSeconds)
Similar to setNow() except that backupNow() is called only if the backupClock is different from the r...
Definition: SystemClock.h:156
+
static const uint8_t kStatusTimedOut
Request timed out.
+
void keepAlive()
Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with milli...
Definition: SystemClock.h:132
+
static const uint8_t kStatusSent
Request has been sent and waiting for response.
+
Base class for objects that provide and store time.
Definition: Clock.h:20
+
uint8_t getRequestStatus() const
Return the current request status.
+
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: Clock.h:41
+
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: Clock.h:48
+
SystemClockCoroutine(Clock *referenceClock, Clock *backupClock, uint16_t syncPeriodSeconds=3600, uint16_t initialSyncPeriodSeconds=5, uint16_t requestTimeoutMillis=1000, common::TimingStats *timingStats=nullptr)
Constructor.
+
static const uint8_t kStatusOk
Request received and valid.
+
static const uint8_t kStatusUnknown
Request state unknown.
+
A Clock that uses the Arduino millis() function to advance the time returned to the user.
Definition: SystemClock.h:53
+ diff --git a/docs/html/SystemClockLoop_8h_source.html b/docs/html/SystemClockLoop_8h_source.html index e02c6568d..61a9a6590 100644 --- a/docs/html/SystemClockLoop_8h_source.html +++ b/docs/html/SystemClockLoop_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/SystemClockLoop.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/SystemClockLoop.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
SystemClockLoop.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_SYSTEM_CLOCK_LOOP_H
7 #define ACE_TIME_SYSTEM_CLOCK_LOOP_H
8 
9 #include <stdint.h>
10 #include "SystemClock.h"
11 
12 class SystemClockLoopTest_loop;
13 
14 namespace ace_time {
15 namespace clock {
16 
30  public:
32  static const uint8_t kStatusReady = 0;
33 
35  static const uint8_t kStatusSent = 1;
36 
38  static const uint8_t kStatusOk = 2;
39 
41  static const uint8_t kStatusWaitForRetry = 3;
42 
58  explicit SystemClockLoop(
59  Clock* referenceClock /* nullable */,
60  Clock* backupClock /* nullable */,
61  uint16_t syncPeriodSeconds = 3600,
62  uint16_t initialSyncPeriodSeconds = 5,
63  uint16_t requestTimeoutMillis = 1000,
64  common::TimingStats* timingStats = nullptr):
65  SystemClock(referenceClock, backupClock),
66  mSyncPeriodSeconds(syncPeriodSeconds),
67  mRequestTimeoutMillis(requestTimeoutMillis),
68  mTimingStats(timingStats),
69  mCurrentSyncPeriodSeconds(initialSyncPeriodSeconds) {}
70 
75  void loop() {
76  keepAlive();
77  if (mReferenceClock == nullptr) return;
78 
79  unsigned long nowMillis = clockMillis();
80 
81  // Finite state machine based on mRequestStatus
82  switch (mRequestStatus) {
83  case kStatusReady:
84  mReferenceClock->sendRequest();
85  mRequestStartMillis = nowMillis;
86  mRequestStatus = kStatusSent;
87  break;
88  case kStatusSent:
89  if (mReferenceClock->isResponseReady()) {
90  acetime_t nowSeconds = mReferenceClock->readResponse();
91  if (mTimingStats != nullptr) {
92  uint16_t elapsedMillis = nowMillis - mRequestStartMillis;
93  mTimingStats->update(elapsedMillis);
94  }
95  if (nowSeconds == kInvalidSeconds) {
96  mRequestStatus = kStatusWaitForRetry;
97  } else {
98  syncNow(nowSeconds);
99  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
100  mLastSyncMillis = nowMillis;
101  mRequestStatus = kStatusOk;
102  }
103  } else {
104  unsigned long waitMillis = nowMillis - mRequestStartMillis;
105  if (waitMillis >= mRequestTimeoutMillis) {
106  mRequestStatus = kStatusWaitForRetry;
107  }
108  }
109  break;
110  case kStatusOk: {
111  unsigned long millisSinceLastSync = nowMillis - mLastSyncMillis;
112  if (millisSinceLastSync >= mCurrentSyncPeriodSeconds * 1000UL) {
113  mRequestStatus = kStatusReady;
114  }
115  break;
116  }
117  case kStatusWaitForRetry: {
118  // subsequent loop() retries with an exponential backoff, until a
119  // maximum of mSyncPeriodSeconds is reached.
120  unsigned long waitMillis = nowMillis - mRequestStartMillis;
121  if (waitMillis >= mCurrentSyncPeriodSeconds * 1000UL) {
122  if (mCurrentSyncPeriodSeconds >= mSyncPeriodSeconds / 2) {
123  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
124  } else {
125  mCurrentSyncPeriodSeconds *= 2;
126  }
127  mRequestStatus = kStatusReady;
128  }
129  break;
130  }
131  }
132  }
133 
134  private:
135  friend class ::SystemClockLoopTest_loop;
136 
137  // disable copy constructor and assignment operator
138  SystemClockLoop(const SystemClockLoop&) = delete;
139  SystemClockLoop& operator=(const SystemClockLoop&) = delete;
140 
141  uint16_t const mSyncPeriodSeconds;
142  uint16_t const mRequestTimeoutMillis;
143  common::TimingStats* const mTimingStats;
144 
145  unsigned long mLastSyncMillis;
146  unsigned long mRequestStartMillis;
147  uint16_t mCurrentSyncPeriodSeconds;
148  uint8_t mRequestStatus = kStatusReady;
149 };
150 
151 }
152 }
153 
154 #endif
static const uint8_t kStatusWaitForRetry
Request received but is invalid, so retry with exponential backoff.
- -
static const uint8_t kStatusReady
Ready to send request.
-
A Clock that uses the Arduino millis() function to advance the time returned to the user...
Definition: SystemClock.h:53
-
A subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow...
-
static const uint8_t kStatusSent
Request sent, waiting for response.
-
static const uint8_t kStatusOk
Request received and is valid.
-
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: Clock.h:41
-
Helper class to collect timing statistics such as min, max, average.
Definition: TimingStats.h:19
-
void keepAlive()
Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with milli...
Definition: SystemClock.h:132
-
virtual unsigned long clockMillis() const
Return the Arduino millis().
Definition: SystemClock.h:126
-
SystemClockLoop(Clock *referenceClock, Clock *backupClock, uint16_t syncPeriodSeconds=3600, uint16_t initialSyncPeriodSeconds=5, uint16_t requestTimeoutMillis=1000, common::TimingStats *timingStats=nullptr)
Constructor.
-
void loop()
Call this from the global loop() method.
-
virtual void sendRequest() const
Send a time request asynchronously.
Definition: Clock.h:38
-
Base class for objects that provide and store time.
Definition: Clock.h:20
-
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: Clock.h:48
-
void syncNow(acetime_t epochSeconds)
Similar to setNow() except that backupNow() is called only if the backupClock is different from the r...
Definition: SystemClock.h:156
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_SYSTEM_CLOCK_LOOP_H
+
7 #define ACE_TIME_SYSTEM_CLOCK_LOOP_H
+
8 
+
9 #include <stdint.h>
+
10 #include "SystemClock.h"
+
11 
+
12 class SystemClockLoopTest_loop;
+
13 
+
14 namespace ace_time {
+
15 namespace clock {
+
16 
+ +
30  public:
+
32  static const uint8_t kStatusReady = 0;
+
33 
+
35  static const uint8_t kStatusSent = 1;
+
36 
+
38  static const uint8_t kStatusOk = 2;
+
39 
+
41  static const uint8_t kStatusWaitForRetry = 3;
+
42 
+
58  explicit SystemClockLoop(
+
59  Clock* referenceClock /* nullable */,
+
60  Clock* backupClock /* nullable */,
+
61  uint16_t syncPeriodSeconds = 3600,
+
62  uint16_t initialSyncPeriodSeconds = 5,
+
63  uint16_t requestTimeoutMillis = 1000,
+
64  common::TimingStats* timingStats = nullptr):
+
65  SystemClock(referenceClock, backupClock),
+
66  mSyncPeriodSeconds(syncPeriodSeconds),
+
67  mRequestTimeoutMillis(requestTimeoutMillis),
+
68  mTimingStats(timingStats),
+
69  mCurrentSyncPeriodSeconds(initialSyncPeriodSeconds) {}
+
70 
+
75  void loop() {
+
76  keepAlive();
+
77  if (mReferenceClock == nullptr) return;
+
78 
+
79  unsigned long nowMillis = clockMillis();
+
80 
+
81  // Finite state machine based on mRequestStatus
+
82  switch (mRequestStatus) {
+
83  case kStatusReady:
+
84  mReferenceClock->sendRequest();
+
85  mRequestStartMillis = nowMillis;
+
86  mRequestStatus = kStatusSent;
+
87  break;
+
88  case kStatusSent:
+
89  if (mReferenceClock->isResponseReady()) {
+
90  acetime_t nowSeconds = mReferenceClock->readResponse();
+
91  if (mTimingStats != nullptr) {
+
92  uint16_t elapsedMillis = nowMillis - mRequestStartMillis;
+
93  mTimingStats->update(elapsedMillis);
+
94  }
+
95  if (nowSeconds == kInvalidSeconds) {
+
96  mRequestStatus = kStatusWaitForRetry;
+
97  } else {
+
98  syncNow(nowSeconds);
+
99  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
+
100  mLastSyncMillis = nowMillis;
+
101  mRequestStatus = kStatusOk;
+
102  }
+
103  } else {
+
104  unsigned long waitMillis = nowMillis - mRequestStartMillis;
+
105  if (waitMillis >= mRequestTimeoutMillis) {
+
106  mRequestStatus = kStatusWaitForRetry;
+
107  }
+
108  }
+
109  break;
+
110  case kStatusOk: {
+
111  unsigned long millisSinceLastSync = nowMillis - mLastSyncMillis;
+
112  if (millisSinceLastSync >= mCurrentSyncPeriodSeconds * 1000UL) {
+
113  mRequestStatus = kStatusReady;
+
114  }
+
115  break;
+
116  }
+
117  case kStatusWaitForRetry: {
+
118  // subsequent loop() retries with an exponential backoff, until a
+
119  // maximum of mSyncPeriodSeconds is reached.
+
120  unsigned long waitMillis = nowMillis - mRequestStartMillis;
+
121  if (waitMillis >= mCurrentSyncPeriodSeconds * 1000UL) {
+
122  if (mCurrentSyncPeriodSeconds >= mSyncPeriodSeconds / 2) {
+
123  mCurrentSyncPeriodSeconds = mSyncPeriodSeconds;
+
124  } else {
+
125  mCurrentSyncPeriodSeconds *= 2;
+
126  }
+
127  mRequestStatus = kStatusReady;
+
128  }
+
129  break;
+
130  }
+
131  }
+
132  }
+
133 
+
134  private:
+
135  friend class ::SystemClockLoopTest_loop;
+
136 
+
137  // disable copy constructor and assignment operator
+
138  SystemClockLoop(const SystemClockLoop&) = delete;
+
139  SystemClockLoop& operator=(const SystemClockLoop&) = delete;
+
140 
+
141  uint16_t const mSyncPeriodSeconds;
+
142  uint16_t const mRequestTimeoutMillis;
+
143  common::TimingStats* const mTimingStats;
+
144 
+
145  unsigned long mLastSyncMillis;
+
146  unsigned long mRequestStartMillis;
+
147  uint16_t mCurrentSyncPeriodSeconds;
+
148  uint8_t mRequestStatus = kStatusReady;
+
149 };
+
150 
+
151 }
+
152 }
+
153 
+
154 #endif
+
Helper class to collect timing statistics such as min, max, average.
Definition: TimingStats.h:19
+
void loop()
Call this from the global loop() method.
+
virtual void sendRequest() const
Send a time request asynchronously.
Definition: Clock.h:38
+
static const uint8_t kStatusReady
Ready to send request.
+
void syncNow(acetime_t epochSeconds)
Similar to setNow() except that backupNow() is called only if the backupClock is different from the r...
Definition: SystemClock.h:156
+
static const uint8_t kStatusSent
Request sent, waiting for response.
+
static const uint8_t kStatusWaitForRetry
Request received but is invalid, so retry with exponential backoff.
+
void keepAlive()
Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with milli...
Definition: SystemClock.h:132
+
static const uint8_t kStatusOk
Request received and is valid.
+
Base class for objects that provide and store time.
Definition: Clock.h:20
+
virtual unsigned long clockMillis() const
Return the Arduino millis().
Definition: SystemClock.h:126
+
virtual bool isResponseReady() const
Return true if a response is ready.
Definition: Clock.h:41
+
virtual acetime_t readResponse() const
Returns number of seconds since AceTime epoch (2000-01-01).
Definition: Clock.h:48
+
A subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow...
+
SystemClockLoop(Clock *referenceClock, Clock *backupClock, uint16_t syncPeriodSeconds=3600, uint16_t initialSyncPeriodSeconds=5, uint16_t requestTimeoutMillis=1000, common::TimingStats *timingStats=nullptr)
Constructor.
+
A Clock that uses the Arduino millis() function to advance the time returned to the user.
Definition: SystemClock.h:53
diff --git a/docs/html/SystemClock_8h_source.html b/docs/html/SystemClock_8h_source.html index b84c2c3e6..25938c69c 100644 --- a/docs/html/SystemClock_8h_source.html +++ b/docs/html/SystemClock_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/SystemClock.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/SystemClock.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
SystemClock.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_SYSTEM_CLOCK_H
7 #define ACE_TIME_SYSTEM_CLOCK_H
8 
9 #include <stdint.h>
10 #include "../common/TimingStats.h"
11 #include "Clock.h"
12 
13 extern "C" unsigned long millis();
14 class SystemClockLoopTest;
15 class SystemClockLoopTest_syncNow;
16 class SystemClockCoroutineTest;
17 
18 namespace ace_time {
19 namespace clock {
20 
53 class SystemClock: public Clock {
54  public:
55 
57  void setup() {
58  if (mBackupClock != nullptr) {
59  setNow(mBackupClock->getNow());
60  }
61  }
62 
63  acetime_t getNow() const override {
64  if (!mIsInit) return kInvalidSeconds;
65 
66  while ((uint16_t) ((uint16_t) clockMillis() - mPrevMillis) >= 1000) {
67  mPrevMillis += 1000;
68  mEpochSeconds += 1;
69  }
70  return mEpochSeconds;
71  }
72 
73  void setNow(acetime_t epochSeconds) override {
74  syncNow(epochSeconds);
75 
76  // Also set the reference clock if possible.
77  if (mReferenceClock != nullptr) {
78  mReferenceClock->setNow(epochSeconds);
79  }
80  }
81 
83  void forceSync() {
84  acetime_t nowSeconds = mReferenceClock->getNow();
85  setNow(nowSeconds);
86  }
87 
92  acetime_t getLastSyncTime() const {
93  return mLastSyncTime;
94  }
95 
97  bool isInit() const { return mIsInit; }
98 
99  protected:
100  friend class ::SystemClockLoopTest;
101  friend class ::SystemClockCoroutineTest;
102  friend class ::SystemClockLoopTest_syncNow;
103 
104  // disable copy constructor and assignment operator
105  SystemClock(const SystemClock&) = delete;
106  SystemClock& operator=(const SystemClock&) = delete;
107 
116  explicit SystemClock(
117  Clock* referenceClock /* nullable */,
118  Clock* backupClock /* nullable */):
119  mReferenceClock(referenceClock),
120  mBackupClock(backupClock) {}
121 
126  virtual unsigned long clockMillis() const { return ::millis(); }
127 
132  void keepAlive() {
133  getNow();
134  }
135 
140  void backupNow(acetime_t nowSeconds) {
141  if (mBackupClock != nullptr) {
142  mBackupClock->setNow(nowSeconds);
143  }
144  }
145 
156  void syncNow(acetime_t epochSeconds) {
157  if (epochSeconds == kInvalidSeconds) return;
158  mLastSyncTime = epochSeconds;
159  if (mEpochSeconds == epochSeconds) return;
160 
161  mEpochSeconds = epochSeconds;
162  mPrevMillis = clockMillis();
163  mIsInit = true;
164 
165  if (mBackupClock != mReferenceClock) {
166  backupNow(epochSeconds);
167  }
168  }
169 
170  Clock* const mReferenceClock;
171  Clock* const mBackupClock;
172 
173  mutable acetime_t mEpochSeconds = kInvalidSeconds;
174  acetime_t mLastSyncTime = kInvalidSeconds; // time when last synced
175  mutable uint16_t mPrevMillis = 0; // lower 16-bits of clockMillis()
176  bool mIsInit = false; // true if setNow() or syncNow() was successful
177 };
178 
179 }
180 }
181 
182 #endif
void backupNow(acetime_t nowSeconds)
Write the nowSeconds to the backupClock (which can be an RTC that has non-volatile memory...
Definition: SystemClock.h:140
-
acetime_t getNow() const override
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
Definition: SystemClock.h:63
- -
void setNow(acetime_t epochSeconds) override
Set the time to the indicated seconds.
Definition: SystemClock.h:73
-
bool isInit() const
Return true if initialized by setNow() or syncNow().
Definition: SystemClock.h:97
-
A Clock that uses the Arduino millis() function to advance the time returned to the user...
Definition: SystemClock.h:53
-
void forceSync()
Force a sync with the mReferenceClock.
Definition: SystemClock.h:83
-
void keepAlive()
Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with milli...
Definition: SystemClock.h:132
-
virtual unsigned long clockMillis() const
Return the Arduino millis().
Definition: SystemClock.h:126
-
virtual void setNow(acetime_t)
Set the time to the indicated seconds.
Definition: Clock.h:56
-
SystemClock(Clock *referenceClock, Clock *backupClock)
Constructor.
Definition: SystemClock.h:116
-
void setup()
Attempt to retrieve the time from the backupClock if it exists.
Definition: SystemClock.h:57
-
Base class for objects that provide and store time.
Definition: Clock.h:20
-
acetime_t getLastSyncTime() const
Return the time (seconds since Epoch) of the last valid sync() call.
Definition: SystemClock.h:92
-
virtual acetime_t getNow() const =0
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
-
void syncNow(acetime_t epochSeconds)
Similar to setNow() except that backupNow() is called only if the backupClock is different from the r...
Definition: SystemClock.h:156
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_SYSTEM_CLOCK_H
+
7 #define ACE_TIME_SYSTEM_CLOCK_H
+
8 
+
9 #include <stdint.h>
+
10 #include "../common/TimingStats.h"
+
11 #include "Clock.h"
+
12 
+
13 extern "C" unsigned long millis();
+
14 class SystemClockLoopTest;
+
15 class SystemClockLoopTest_syncNow;
+
16 class SystemClockCoroutineTest;
+
17 
+
18 namespace ace_time {
+
19 namespace clock {
+
20 
+
53 class SystemClock: public Clock {
+
54  public:
+
55 
+
57  void setup() {
+
58  if (mBackupClock != nullptr) {
+
59  setNow(mBackupClock->getNow());
+
60  }
+
61  }
+
62 
+
63  acetime_t getNow() const override {
+
64  if (!mIsInit) return kInvalidSeconds;
+
65 
+
66  while ((uint16_t) ((uint16_t) clockMillis() - mPrevMillis) >= 1000) {
+
67  mPrevMillis += 1000;
+
68  mEpochSeconds += 1;
+
69  }
+
70  return mEpochSeconds;
+
71  }
+
72 
+
73  void setNow(acetime_t epochSeconds) override {
+
74  syncNow(epochSeconds);
+
75 
+
76  // Also set the reference clock if possible.
+
77  if (mReferenceClock != nullptr) {
+
78  mReferenceClock->setNow(epochSeconds);
+
79  }
+
80  }
+
81 
+
83  void forceSync() {
+
84  acetime_t nowSeconds = mReferenceClock->getNow();
+
85  setNow(nowSeconds);
+
86  }
+
87 
+
92  acetime_t getLastSyncTime() const {
+
93  return mLastSyncTime;
+
94  }
+
95 
+
97  bool isInit() const { return mIsInit; }
+
98 
+
99  protected:
+
100  friend class ::SystemClockLoopTest;
+
101  friend class ::SystemClockCoroutineTest;
+
102  friend class ::SystemClockLoopTest_syncNow;
+
103 
+
104  // disable copy constructor and assignment operator
+
105  SystemClock(const SystemClock&) = delete;
+
106  SystemClock& operator=(const SystemClock&) = delete;
+
107 
+
116  explicit SystemClock(
+
117  Clock* referenceClock /* nullable */,
+
118  Clock* backupClock /* nullable */):
+
119  mReferenceClock(referenceClock),
+
120  mBackupClock(backupClock) {}
+
121 
+
126  virtual unsigned long clockMillis() const { return ::millis(); }
+
127 
+
132  void keepAlive() {
+
133  getNow();
+
134  }
+
135 
+
140  void backupNow(acetime_t nowSeconds) {
+
141  if (mBackupClock != nullptr) {
+
142  mBackupClock->setNow(nowSeconds);
+
143  }
+
144  }
+
145 
+
156  void syncNow(acetime_t epochSeconds) {
+
157  if (epochSeconds == kInvalidSeconds) return;
+
158  mLastSyncTime = epochSeconds;
+
159  if (mEpochSeconds == epochSeconds) return;
+
160 
+
161  mEpochSeconds = epochSeconds;
+
162  mPrevMillis = clockMillis();
+
163  mIsInit = true;
+
164 
+
165  if (mBackupClock != mReferenceClock) {
+
166  backupNow(epochSeconds);
+
167  }
+
168  }
+
169 
+
170  Clock* const mReferenceClock;
+
171  Clock* const mBackupClock;
+
172 
+
173  mutable acetime_t mEpochSeconds = kInvalidSeconds;
+
174  acetime_t mLastSyncTime = kInvalidSeconds; // time when last synced
+
175  mutable uint16_t mPrevMillis = 0; // lower 16-bits of clockMillis()
+
176  bool mIsInit = false; // true if setNow() or syncNow() was successful
+
177 };
+
178 
+
179 }
+
180 }
+
181 
+
182 #endif
+
acetime_t getLastSyncTime() const
Return the time (seconds since Epoch) of the last valid sync() call.
Definition: SystemClock.h:92
+
bool isInit() const
Return true if initialized by setNow() or syncNow().
Definition: SystemClock.h:97
+
virtual acetime_t getNow() const =0
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
+
void syncNow(acetime_t epochSeconds)
Similar to setNow() except that backupNow() is called only if the backupClock is different from the r...
Definition: SystemClock.h:156
+
void keepAlive()
Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with milli...
Definition: SystemClock.h:132
+
SystemClock(Clock *referenceClock, Clock *backupClock)
Constructor.
Definition: SystemClock.h:116
+
virtual void setNow(acetime_t)
Set the time to the indicated seconds.
Definition: Clock.h:56
+
void setNow(acetime_t epochSeconds) override
Set the time to the indicated seconds.
Definition: SystemClock.h:73
+
void setup()
Attempt to retrieve the time from the backupClock if it exists.
Definition: SystemClock.h:57
+
Base class for objects that provide and store time.
Definition: Clock.h:20
+
void forceSync()
Force a sync with the mReferenceClock.
Definition: SystemClock.h:83
+
virtual unsigned long clockMillis() const
Return the Arduino millis().
Definition: SystemClock.h:126
+
void backupNow(acetime_t nowSeconds)
Write the nowSeconds to the backupClock (which can be an RTC that has non-volatile memory,...
Definition: SystemClock.h:140
+
A Clock that uses the Arduino millis() function to advance the time returned to the user.
Definition: SystemClock.h:53
+
acetime_t getNow() const override
Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z).
Definition: SystemClock.h:63
diff --git a/docs/html/TimeOffset_8cpp_source.html b/docs/html/TimeOffset_8cpp_source.html index 0b0f0605d..b632952d1 100644 --- a/docs/html/TimeOffset_8cpp_source.html +++ b/docs/html/TimeOffset_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimeOffset.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimeOffset.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimeOffset.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include <string.h> // strlen()
7 #include "common/util.h"
8 #include "common/DateStrings.h"
9 #include "TimeOffset.h"
10 
11 namespace ace_time {
12 
13 using common::printPad2;
14 
15 void TimeOffset::printTo(Print& printer) const {
16  int8_t hour;
17  int8_t minute;
18  toHourMinute(hour, minute);
19 
20  if (mMinutes < 0) {
21  printer.print('-');
22  hour = -hour;
23  minute = -minute;
24  } else {
25  printer.print('+');
26  }
27  common::printPad2(printer, hour);
28  printer.print(':');
29  common::printPad2(printer, minute);
30 }
31 
32 TimeOffset TimeOffset::forOffsetString(const char* offsetString) {
33  // verify exact ISO 8601 string length
34  if (strlen(offsetString) != kTimeOffsetStringLength) {
35  return forError();
36  }
37 
38  return forOffsetStringChainable(offsetString);
39 }
40 
42  const char* s = offsetString;
43 
44  // '+' or '-'
45  char utcSign = *s++;
46  if (utcSign != '-' && utcSign != '+') {
47  return forError();
48  }
49 
50  // hour
51  uint8_t hour = (*s++ - '0');
52  hour = 10 * hour + (*s++ - '0');
53  s++;
54 
55  // minute
56  uint8_t minute = (*s++ - '0');
57  minute = 10 * minute + (*s++ - '0');
58  s++;
59 
60  offsetString = s;
61  if (utcSign == '+') {
62  return forHourMinute(hour, minute);
63  } else {
64  return forHourMinute(-hour, -minute);
65  }
66 }
67 
68 }
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
- -
static TimeOffset forOffsetStringChainable(const char *&offsetString)
Variant of forOffsetString() that updates the string pointer to the next unprocessed character...
Definition: TimeOffset.cpp:41
-
static TimeOffset forOffsetString(const char *offsetString)
Create from an offset string ("-07:00" or "+01:00").
Definition: TimeOffset.cpp:32
-
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
-
static TimeOffset forHourMinute(int8_t hour, int8_t minute)
Create TimeOffset from (hour, minute) offset.
Definition: TimeOffset.h:77
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
void toHourMinute(int8_t &hour, int8_t &minute) const
Extract hour and minute representation of the offset.
Definition: TimeOffset.h:125
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include <string.h> // strlen()
+
7 #include "common/util.h"
+
8 #include "common/DateStrings.h"
+
9 #include "TimeOffset.h"
+
10 
+
11 namespace ace_time {
+
12 
+
13 using common::printPad2;
+
14 
+
15 void TimeOffset::printTo(Print& printer) const {
+
16  int8_t hour;
+
17  int8_t minute;
+
18  toHourMinute(hour, minute);
+
19 
+
20  if (mMinutes < 0) {
+
21  printer.print('-');
+
22  hour = -hour;
+
23  minute = -minute;
+
24  } else {
+
25  printer.print('+');
+
26  }
+
27  common::printPad2(printer, hour);
+
28  printer.print(':');
+
29  common::printPad2(printer, minute);
+
30 }
+
31 
+
32 TimeOffset TimeOffset::forOffsetString(const char* offsetString) {
+
33  // verify exact ISO 8601 string length
+
34  if (strlen(offsetString) != kTimeOffsetStringLength) {
+
35  return forError();
+
36  }
+
37 
+
38  return forOffsetStringChainable(offsetString);
+
39 }
+
40 
+ +
42  const char* s = offsetString;
+
43 
+
44  // '+' or '-'
+
45  char utcSign = *s++;
+
46  if (utcSign != '-' && utcSign != '+') {
+
47  return forError();
+
48  }
+
49 
+
50  // hour
+
51  uint8_t hour = (*s++ - '0');
+
52  hour = 10 * hour + (*s++ - '0');
+
53  s++;
+
54 
+
55  // minute
+
56  uint8_t minute = (*s++ - '0');
+
57  minute = 10 * minute + (*s++ - '0');
+
58  s++;
+
59 
+
60  offsetString = s;
+
61  if (utcSign == '+') {
+
62  return forHourMinute(hour, minute);
+
63  } else {
+
64  return forHourMinute(-hour, -minute);
+
65  }
+
66 }
+
67 
+
68 }
+
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
+
static TimeOffset forOffsetStringChainable(const char *&offsetString)
Variant of forOffsetString() that updates the string pointer to the next unprocessed character.
Definition: TimeOffset.cpp:41
+
static TimeOffset forOffsetString(const char *offsetString)
Create from an offset string ("-07:00" or "+01:00").
Definition: TimeOffset.cpp:32
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
+
static TimeOffset forHourMinute(int8_t hour, int8_t minute)
Create TimeOffset from (hour, minute) offset.
Definition: TimeOffset.h:77
+
void toHourMinute(int8_t &hour, int8_t &minute) const
Extract hour and minute representation of the offset.
Definition: TimeOffset.h:125
diff --git a/docs/html/TimeOffset_8h_source.html b/docs/html/TimeOffset_8h_source.html index 68be5aa08..b26acd0da 100644 --- a/docs/html/TimeOffset_8h_source.html +++ b/docs/html/TimeOffset_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimeOffset.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimeOffset.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimeOffset.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_TIME_OFFSET_H
7 #define ACE_TIME_TIME_OFFSET_H
8 
9 #include <stdint.h>
10 
11 class Print;
12 
13 namespace ace_time {
14 
15 // These functions need to set the mMinutes and it seemed inefficient to
16 // go through the factory method and assignment operator, so I expose
17 // setMinutes() to them for efficiency.
18 class TimeOffset;
19 namespace time_offset_mutation {
20 void incrementHour(TimeOffset& offset);
21 void increment15Minutes(TimeOffset& offset);
22 }
23 
56 class TimeOffset {
57  public:
59  static const int16_t kErrorMinutes = INT16_MIN;
60 
65  static TimeOffset forHours(int8_t hours) {
66  return TimeOffset::forMinutes(hours * 60);
67  }
68 
77  static TimeOffset forHourMinute(int8_t hour, int8_t minute) {
78  int16_t minutes = hour * 60 + minute;
79  return TimeOffset(minutes);
80  }
81 
83  static TimeOffset forMinutes(int16_t minutes) {
84  return TimeOffset(minutes);
85  }
86 
92  static TimeOffset forOffsetString(const char* offsetString);
93 
102  static TimeOffset forOffsetStringChainable(const char*& offsetString);
103 
105  static TimeOffset forError() { return TimeOffset(kErrorMinutes); }
106 
108  explicit TimeOffset() {}
109 
111  int16_t toMinutes() const {
112  return mMinutes;
113  }
114 
116  int32_t toSeconds() const {
117  return (int32_t) 60 * toMinutes();
118  }
119 
125  void toHourMinute(int8_t& hour, int8_t& minute) const {
126  hour = mMinutes / 60;
127  minute = mMinutes % 60;
128  }
129 
135  bool isZero() const { return mMinutes == 0; }
136 
138  bool isError() const {
139  return mMinutes == kErrorMinutes;
140  }
141 
143  void printTo(Print& printer) const;
144 
145  // Use default copy constructor and assignment operator.
146  TimeOffset(const TimeOffset&) = default;
147  TimeOffset& operator=(const TimeOffset&) = default;
148 
149  private:
150  friend bool operator==(const TimeOffset& a, const TimeOffset& b);
151 
152  // Give access to setMinutes()
153  friend void time_offset_mutation::incrementHour(TimeOffset& offset);
154  friend void time_offset_mutation::increment15Minutes(TimeOffset& offset);
155 
157  static const uint8_t kTimeOffsetStringLength = 6;
158 
160  explicit TimeOffset(int16_t minutes):
161  mMinutes(minutes) {}
162 
164  void setMinutes(int16_t minutes) {
165  mMinutes = minutes;
166  }
167 
174  int16_t mMinutes = 0;
175 };
176 
177 inline bool operator==(const TimeOffset& a, const TimeOffset& b) {
178  return a.mMinutes == b.mMinutes;
179 }
180 
181 inline bool operator!=(const TimeOffset& a, const TimeOffset& b) {
182  return ! (a == b);
183 }
184 
185 }
186 
187 #endif
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
-
TimeOffset()
Constructor.
Definition: TimeOffset.h:108
- -
bool isError() const
Return true if this TimeOffset represents an error.
Definition: TimeOffset.h:138
-
int32_t toSeconds() const
Return the time offset as seconds.
Definition: TimeOffset.h:116
-
int16_t toMinutes() const
Return the time offset as minutes.
Definition: TimeOffset.h:111
-
static TimeOffset forHourMinute(int8_t hour, int8_t minute)
Create TimeOffset from (hour, minute) offset.
Definition: TimeOffset.h:77
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
-
bool isZero() const
Returns true if offset is 00:00.
Definition: TimeOffset.h:135
-
void toHourMinute(int8_t &hour, int8_t &minute) const
Extract hour and minute representation of the offset.
Definition: TimeOffset.h:125
-
static TimeOffset forHours(int8_t hours)
Create TimeOffset with the corresponding hour offset.
Definition: TimeOffset.h:65
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_TIME_OFFSET_H
+
7 #define ACE_TIME_TIME_OFFSET_H
+
8 
+
9 #include <stdint.h>
+
10 
+
11 class Print;
+
12 
+
13 namespace ace_time {
+
14 
+
15 // These functions need to set the mMinutes and it seemed inefficient to
+
16 // go through the factory method and assignment operator, so I expose
+
17 // setMinutes() to them for efficiency.
+
18 class TimeOffset;
+
19 namespace time_offset_mutation {
+
20 void incrementHour(TimeOffset& offset);
+
21 void increment15Minutes(TimeOffset& offset);
+
22 }
+
23 
+
56 class TimeOffset {
+
57  public:
+
59  static const int16_t kErrorMinutes = INT16_MIN;
+
60 
+
65  static TimeOffset forHours(int8_t hours) {
+
66  return TimeOffset::forMinutes(hours * 60);
+
67  }
+
68 
+
77  static TimeOffset forHourMinute(int8_t hour, int8_t minute) {
+
78  int16_t minutes = hour * 60 + minute;
+
79  return TimeOffset(minutes);
+
80  }
+
81 
+
83  static TimeOffset forMinutes(int16_t minutes) {
+
84  return TimeOffset(minutes);
+
85  }
+
86 
+
92  static TimeOffset forOffsetString(const char* offsetString);
+
93 
+
102  static TimeOffset forOffsetStringChainable(const char*& offsetString);
+
103 
+ +
106 
+
108  explicit TimeOffset() {}
+
109 
+
111  int16_t toMinutes() const {
+
112  return mMinutes;
+
113  }
+
114 
+
116  int32_t toSeconds() const {
+
117  return (int32_t) 60 * toMinutes();
+
118  }
+
119 
+
125  void toHourMinute(int8_t& hour, int8_t& minute) const {
+
126  hour = mMinutes / 60;
+
127  minute = mMinutes % 60;
+
128  }
+
129 
+
135  bool isZero() const { return mMinutes == 0; }
+
136 
+
138  bool isError() const {
+
139  return mMinutes == kErrorMinutes;
+
140  }
+
141 
+
143  void printTo(Print& printer) const;
+
144 
+
145  // Use default copy constructor and assignment operator.
+
146  TimeOffset(const TimeOffset&) = default;
+
147  TimeOffset& operator=(const TimeOffset&) = default;
+
148 
+
149  private:
+
150  friend bool operator==(const TimeOffset& a, const TimeOffset& b);
+
151 
+
152  // Give access to setMinutes()
+
153  friend void time_offset_mutation::incrementHour(TimeOffset& offset);
+
154  friend void time_offset_mutation::increment15Minutes(TimeOffset& offset);
+
155 
+
157  static const uint8_t kTimeOffsetStringLength = 6;
+
158 
+
160  explicit TimeOffset(int16_t minutes):
+
161  mMinutes(minutes) {}
+
162 
+
164  void setMinutes(int16_t minutes) {
+
165  mMinutes = minutes;
+
166  }
+
167 
+
174  int16_t mMinutes = 0;
+
175 };
+
176 
+
177 inline bool operator==(const TimeOffset& a, const TimeOffset& b) {
+
178  return a.mMinutes == b.mMinutes;
+
179 }
+
180 
+
181 inline bool operator!=(const TimeOffset& a, const TimeOffset& b) {
+
182  return ! (a == b);
+
183 }
+
184 
+
185 }
+
186 
+
187 #endif
+
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
+
bool isError() const
Return true if this TimeOffset represents an error.
Definition: TimeOffset.h:138
+
static TimeOffset forOffsetStringChainable(const char *&offsetString)
Variant of forOffsetString() that updates the string pointer to the next unprocessed character.
Definition: TimeOffset.cpp:41
+
int32_t toSeconds() const
Return the time offset as seconds.
Definition: TimeOffset.h:116
+
static TimeOffset forOffsetString(const char *offsetString)
Create from an offset string ("-07:00" or "+01:00").
Definition: TimeOffset.cpp:32
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
+
int16_t toMinutes() const
Return the time offset as minutes.
Definition: TimeOffset.h:111
+
static TimeOffset forHourMinute(int8_t hour, int8_t minute)
Create TimeOffset from (hour, minute) offset.
Definition: TimeOffset.h:77
+
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
+
void toHourMinute(int8_t &hour, int8_t &minute) const
Extract hour and minute representation of the offset.
Definition: TimeOffset.h:125
+
static const int16_t kErrorMinutes
Sentinel value that represents an error.
Definition: TimeOffset.h:59
+
static TimeOffset forHours(int8_t hours)
Create TimeOffset with the corresponding hour offset.
Definition: TimeOffset.h:65
+
bool isZero() const
Returns true if offset is 00:00.
Definition: TimeOffset.h:135
+
TimeOffset()
Constructor.
Definition: TimeOffset.h:108
diff --git a/docs/html/TimePeriod_8cpp_source.html b/docs/html/TimePeriod_8cpp_source.html index be68b25fc..41876bcb5 100644 --- a/docs/html/TimePeriod_8cpp_source.html +++ b/docs/html/TimePeriod_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimePeriod.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimePeriod.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimePeriod.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include <Print.h>
7 #include "TimePeriod.h"
8 
9 namespace ace_time {
10 
11 using common::printPad2;
12 
13 void TimePeriod::printTo(Print& printer) const {
14  if (mSign < 0) {
15  printer.print('-');
16  }
17  printPad2(printer, mHour);
18  printer.print(':');
19  printPad2(printer, mMinute);
20  printer.print(':');
21  printPad2(printer, mSecond);
22 }
23 
24 }
-
void printTo(Print &printer) const
Print to given printer.
Definition: TimePeriod.cpp:13
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include <Print.h>
+
7 #include "TimePeriod.h"
+
8 
+
9 namespace ace_time {
+
10 
+
11 using common::printPad2;
+
12 
+
13 void TimePeriod::printTo(Print& printer) const {
+
14  if (mSign < 0) {
+
15  printer.print('-');
+
16  }
+
17  printPad2(printer, mHour);
+
18  printer.print(':');
+
19  printPad2(printer, mMinute);
+
20  printer.print(':');
+
21  printPad2(printer, mSecond);
+
22 }
+
23 
+
24 }
+
void printTo(Print &printer) const
Print to given printer.
Definition: TimePeriod.cpp:13
diff --git a/docs/html/TimePeriod_8h_source.html b/docs/html/TimePeriod_8h_source.html index ddd961276..4a2a62471 100644 --- a/docs/html/TimePeriod_8h_source.html +++ b/docs/html/TimePeriod_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimePeriod.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimePeriod.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimePeriod.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_TIME_PERIOD_H
7 #define ACE_TIME_TIME_PERIOD_H
8 
9 #include <stdint.h>
10 #include "common/util.h"
11 
12 class Print;
13 
14 namespace ace_time {
15 
22 class TimePeriod {
23  public:
34  explicit TimePeriod(uint8_t hour, uint8_t minute, uint8_t second,
35  int8_t sign = 1):
36  mHour(hour),
37  mMinute(minute),
38  mSecond(second),
39  mSign(sign) {}
40 
48  explicit TimePeriod(int32_t seconds = 0) {
49  if (seconds < 0) {
50  mSign = -1;
51  seconds = -seconds;
52  } else {
53  mSign = 1;
54  }
55  mSecond = seconds % 60;
56  seconds /= 60;
57  mMinute = seconds % 60;
58  seconds /= 60;
59  mHour = seconds;
60  }
61 
63  uint8_t hour() const { return mHour; }
64 
66  void hour(uint8_t hour) { mHour = hour; }
67 
69  uint8_t minute() const { return mMinute; }
70 
72  void minute(uint8_t minute) { mMinute = minute; }
73 
75  uint8_t second() const { return mSecond; }
76 
78  void second(uint8_t second) { mSecond = second; }
79 
81  int8_t sign() const { return mSign; }
82 
88  void sign(int8_t sign) { mSign = sign; }
89 
95  int32_t toSeconds() const {
96  int32_t seconds = ((mHour * (int16_t) 60) + mMinute) * (int32_t) 60
97  + mSecond;
98  return (mSign >= 0) ? seconds : -seconds;
99  }
100 
105  int8_t compareTo(const TimePeriod& that) const {
106  int32_t thisSeconds = toSeconds();
107  int32_t thatSeconds = that.toSeconds();
108  if (thisSeconds < thatSeconds) {
109  return -1;
110  } else if (thisSeconds == thatSeconds) {
111  return 0;
112  } else {
113  return 1;
114  }
115  }
116 
123  void printTo(Print& printer) const;
124 
125  // Use default copy constructor and assignment operator.
126  TimePeriod(const TimePeriod&) = default;
127  TimePeriod& operator=(const TimePeriod&) = default;
128 
129  private:
130  friend bool operator==(const TimePeriod& a, const TimePeriod& b);
131 
132  uint8_t mHour; // [0, 255], normally hour < 24
133  uint8_t mMinute; // [0, 59], normally minute < 60
134  uint8_t mSecond; // [0, 59], normally second < 60
135 
143  int8_t mSign;
144 };
145 
150 inline bool operator==(const TimePeriod& a, const TimePeriod& b) {
151  return a.mSecond == b.mSecond
152  && a.mMinute == b.mMinute
153  && a.mHour == b.mHour
154  && a.mSign == b.mSign;
155 }
156 
158 inline bool operator!=(const TimePeriod& a, const TimePeriod& b) {
159  return ! (a == b);
160 }
161 
162 }
163 
164 #endif
-
int8_t sign() const
Return the sign bit.
Definition: TimePeriod.h:81
-
TimePeriod(uint8_t hour, uint8_t minute, uint8_t second, int8_t sign=1)
Constructor.
Definition: TimePeriod.h:34
-
uint8_t second() const
Return the second.
Definition: TimePeriod.h:75
-
uint8_t hour() const
Return the hour.
Definition: TimePeriod.h:63
-
int32_t toSeconds() const
Convert to number of seconds.
Definition: TimePeriod.h:95
-
Represents a period of time relative to some known point in time, potentially represented by a DateTi...
Definition: TimePeriod.h:22
-
void hour(uint8_t hour)
Set the hour.
Definition: TimePeriod.h:66
-
void minute(uint8_t minute)
Set the minute.
Definition: TimePeriod.h:72
-
friend bool operator==(const TimePeriod &a, const TimePeriod &b)
Return true if two TimePeriod objects are equal.
Definition: TimePeriod.h:150
-
int8_t compareTo(const TimePeriod &that) const
Compare this TimePeriod with another TimePeriod and return (<0, 0, >0) according to (a<b...
Definition: TimePeriod.h:105
-
void sign(int8_t sign)
Set the sign bit.
Definition: TimePeriod.h:88
-
TimePeriod(int32_t seconds=0)
Constructor from number of seconds.
Definition: TimePeriod.h:48
-
void printTo(Print &printer) const
Print to given printer.
Definition: TimePeriod.cpp:13
-
uint8_t minute() const
Return the minute.
Definition: TimePeriod.h:69
-
void second(uint8_t second)
Set the second.
Definition: TimePeriod.h:78
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_TIME_PERIOD_H
+
7 #define ACE_TIME_TIME_PERIOD_H
+
8 
+
9 #include <stdint.h>
+
10 #include "common/util.h"
+
11 
+
12 class Print;
+
13 
+
14 namespace ace_time {
+
15 
+
22 class TimePeriod {
+
23  public:
+
34  explicit TimePeriod(uint8_t hour, uint8_t minute, uint8_t second,
+
35  int8_t sign = 1):
+
36  mHour(hour),
+
37  mMinute(minute),
+
38  mSecond(second),
+
39  mSign(sign) {}
+
40 
+
48  explicit TimePeriod(int32_t seconds = 0) {
+
49  if (seconds < 0) {
+
50  mSign = -1;
+
51  seconds = -seconds;
+
52  } else {
+
53  mSign = 1;
+
54  }
+
55  mSecond = seconds % 60;
+
56  seconds /= 60;
+
57  mMinute = seconds % 60;
+
58  seconds /= 60;
+
59  mHour = seconds;
+
60  }
+
61 
+
63  uint8_t hour() const { return mHour; }
+
64 
+
66  void hour(uint8_t hour) { mHour = hour; }
+
67 
+
69  uint8_t minute() const { return mMinute; }
+
70 
+
72  void minute(uint8_t minute) { mMinute = minute; }
+
73 
+
75  uint8_t second() const { return mSecond; }
+
76 
+
78  void second(uint8_t second) { mSecond = second; }
+
79 
+
81  int8_t sign() const { return mSign; }
+
82 
+
88  void sign(int8_t sign) { mSign = sign; }
+
89 
+
95  int32_t toSeconds() const {
+
96  int32_t seconds = ((mHour * (int16_t) 60) + mMinute) * (int32_t) 60
+
97  + mSecond;
+
98  return (mSign >= 0) ? seconds : -seconds;
+
99  }
+
100 
+
105  int8_t compareTo(const TimePeriod& that) const {
+
106  int32_t thisSeconds = toSeconds();
+
107  int32_t thatSeconds = that.toSeconds();
+
108  if (thisSeconds < thatSeconds) {
+
109  return -1;
+
110  } else if (thisSeconds == thatSeconds) {
+
111  return 0;
+
112  } else {
+
113  return 1;
+
114  }
+
115  }
+
116 
+
123  void printTo(Print& printer) const;
+
124 
+
125  // Use default copy constructor and assignment operator.
+
126  TimePeriod(const TimePeriod&) = default;
+
127  TimePeriod& operator=(const TimePeriod&) = default;
+
128 
+
129  private:
+
130  friend bool operator==(const TimePeriod& a, const TimePeriod& b);
+
131 
+
132  uint8_t mHour; // [0, 255], normally hour < 24
+
133  uint8_t mMinute; // [0, 59], normally minute < 60
+
134  uint8_t mSecond; // [0, 59], normally second < 60
+
135 
+
143  int8_t mSign;
+
144 };
+
145 
+
150 inline bool operator==(const TimePeriod& a, const TimePeriod& b) {
+
151  return a.mSecond == b.mSecond
+
152  && a.mMinute == b.mMinute
+
153  && a.mHour == b.mHour
+
154  && a.mSign == b.mSign;
+
155 }
+
156 
+
158 inline bool operator!=(const TimePeriod& a, const TimePeriod& b) {
+
159  return ! (a == b);
+
160 }
+
161 
+
162 }
+
163 
+
164 #endif
+
void second(uint8_t second)
Set the second.
Definition: TimePeriod.h:78
+
Represents a period of time relative to some known point in time, potentially represented by a DateTi...
Definition: TimePeriod.h:22
+
uint8_t second() const
Return the second.
Definition: TimePeriod.h:75
+
uint8_t hour() const
Return the hour.
Definition: TimePeriod.h:63
+
int8_t sign() const
Return the sign bit.
Definition: TimePeriod.h:81
+
int32_t toSeconds() const
Convert to number of seconds.
Definition: TimePeriod.h:95
+
void hour(uint8_t hour)
Set the hour.
Definition: TimePeriod.h:66
+
TimePeriod(uint8_t hour, uint8_t minute, uint8_t second, int8_t sign=1)
Constructor.
Definition: TimePeriod.h:34
+
void minute(uint8_t minute)
Set the minute.
Definition: TimePeriod.h:72
+
friend bool operator==(const TimePeriod &a, const TimePeriod &b)
Return true if two TimePeriod objects are equal.
Definition: TimePeriod.h:150
+
TimePeriod(int32_t seconds=0)
Constructor from number of seconds.
Definition: TimePeriod.h:48
+
int8_t compareTo(const TimePeriod &that) const
Compare this TimePeriod with another TimePeriod and return (<0, 0, >0) according to (a<b,...
Definition: TimePeriod.h:105
+
void sign(int8_t sign)
Set the sign bit.
Definition: TimePeriod.h:88
+
void printTo(Print &printer) const
Print to given printer.
Definition: TimePeriod.cpp:13
+
uint8_t minute() const
Return the minute.
Definition: TimePeriod.h:69
diff --git a/docs/html/TimeZoneData_8h_source.html b/docs/html/TimeZoneData_8h_source.html index 961b55e32..23f585be3 100644 --- a/docs/html/TimeZoneData_8h_source.html +++ b/docs/html/TimeZoneData_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimeZoneData.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimeZoneData.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimeZoneData.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_TIME_ZONE_DATA_H
7 #define ACE_TIME_TIME_ZONE_DATA_H
8 
9 #include <stdint.h>
10 #include "ZoneProcessor.h"
11 
12 namespace ace_time {
13 
27 struct TimeZoneData {
28  static const uint8_t kTypeError = 0;
29  static const uint8_t kTypeManual = 1;
30  static const uint8_t kTypeZoneId = 2;
31 
32  uint8_t type;
33 
34  union {
36  struct {
37  int16_t stdOffsetMinutes;
38  int16_t dstOffsetMinutes;
39  };
40 
45  uint32_t zoneId;
46  };
47 };
48 
49 inline bool operator==(const TimeZoneData& a, const TimeZoneData& b) {
50  if (a.type != b.type) return false;
51  switch (a.type) {
52  case TimeZoneData::kTypeManual:
53  return (a.stdOffsetMinutes == b.stdOffsetMinutes)
54  && (a.dstOffsetMinutes == b.dstOffsetMinutes);
55  case TimeZoneData::kTypeZoneId:
56  return (a.zoneId == b.zoneId);
57  default:
58  return false;
59  }
60 }
61 
62 inline bool operator!=(const TimeZoneData& a, const TimeZoneData& b) {
63  return ! (a == b);
64 }
65 
66 }
67 
68 #endif
-
Data structure that captures the internal state of a TimeZone object with enough information so that ...
Definition: TimeZoneData.h:27
-
uint32_t zoneId
All of kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse down to a kTypeZon...
Definition: TimeZoneData.h:45
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_TIME_ZONE_DATA_H
+
7 #define ACE_TIME_TIME_ZONE_DATA_H
+
8 
+
9 #include <stdint.h>
+
10 #include "ZoneProcessor.h"
+
11 
+
12 namespace ace_time {
+
13 
+
27 struct TimeZoneData {
+
28  static const uint8_t kTypeError = 0;
+
29  static const uint8_t kTypeManual = 1;
+
30  static const uint8_t kTypeZoneId = 2;
+
31 
+
32  uint8_t type;
+
33 
+
34  union {
+
36  struct {
+
37  int16_t stdOffsetMinutes;
+
38  int16_t dstOffsetMinutes;
+
39  };
+
40 
+
45  uint32_t zoneId;
+
46  };
+
47 };
+
48 
+
49 inline bool operator==(const TimeZoneData& a, const TimeZoneData& b) {
+
50  if (a.type != b.type) return false;
+
51  switch (a.type) {
+
52  case TimeZoneData::kTypeManual:
+
53  return (a.stdOffsetMinutes == b.stdOffsetMinutes)
+
54  && (a.dstOffsetMinutes == b.dstOffsetMinutes);
+
55  case TimeZoneData::kTypeZoneId:
+
56  return (a.zoneId == b.zoneId);
+
57  default:
+
58  return false;
+
59  }
+
60 }
+
61 
+
62 inline bool operator!=(const TimeZoneData& a, const TimeZoneData& b) {
+
63  return ! (a == b);
+
64 }
+
65 
+
66 }
+
67 
+
68 #endif
+
Data structure that captures the internal state of a TimeZone object with enough information so that ...
Definition: TimeZoneData.h:27
+
uint32_t zoneId
All of kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse down to a kTypeZon...
Definition: TimeZoneData.h:45
diff --git a/docs/html/TimeZone_8cpp_source.html b/docs/html/TimeZone_8cpp_source.html index 739ad99cf..1fba98bdd 100644 --- a/docs/html/TimeZone_8cpp_source.html +++ b/docs/html/TimeZone_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimeZone.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimeZone.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimeZone.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include <Print.h>
7 #include "common/util.h"
8 #include "TimeZone.h"
9 
10 namespace ace_time {
11 
12 void TimeZone::printTo(Print& printer) const {
13  switch (mType) {
14  case kTypeManual:
15  if (isUtc()) {
16  printer.print("UTC");
17  } else {
18  TimeOffset::forMinutes(mStdOffsetMinutes).printTo(printer);
19  TimeOffset::forMinutes(mDstOffsetMinutes).printTo(printer);
20  }
21  return;
22  case kTypeBasic:
23  case kTypeExtended:
24  mZoneProcessor->printTo(printer);
25  return;
26  case kTypeBasicManaged:
27  case kTypeExtendedManaged:
28  {
29  ZoneProcessor* processor =
31  if (! processor) break;
32  processor->printTo(printer);
33  return;
34  }
35  }
36  printer.print("<Error>");
37 }
38 
39 void TimeZone::printShortTo(Print& printer) const {
40  switch (mType) {
41  case kTypeManual:
42  if (isUtc()) {
43  printer.print("UTC");
44  } else {
45  auto utcOffset = TimeOffset::forMinutes(
46  mStdOffsetMinutes + mDstOffsetMinutes);
47  utcOffset.printTo(printer);
48  printer.print('(');
49  printer.print((mDstOffsetMinutes != 0) ? "DST" : "STD");
50  printer.print(')');
51  }
52  return;
53  case kTypeBasic:
54  case kTypeExtended:
55  mZoneProcessor->printShortTo(printer);
56  return;
57  case kTypeBasicManaged:
58  case kTypeExtendedManaged:
59  {
60  ZoneProcessor* processor =
62  if (! processor) break;
63  processor->printShortTo(printer);
64  return;
65  }
66  }
67  printer.print("<Error>");
68 }
69 
70 }
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
- -
bool isUtc() const
Return true if UTC (+00:00+00:00).
Definition: TimeZone.h:311
-
virtual ZoneProcessor * getZoneProcessor(const void *zoneInfo)=0
Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.
-
void printShortTo(Print &printer) const
Print the short human readable representation of the time zone.
Definition: TimeZone.cpp:39
-
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
-
virtual void printShortTo(Print &printer) const =0
Print a short human-readable identifier (e.g.
-
const void * mZoneInfo
Used by kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:456
-
void printTo(Print &printer) const
Print the human readable representation of the time zone.
Definition: TimeZone.cpp:12
-
virtual void printTo(Print &printer) const =0
Print a human-readable identifier (e.g.
-
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
-
ZoneProcessor * mZoneProcessor
Used by kTypeBasic, kTypeExtended.
Definition: TimeZone.h:460
-
ZoneProcessorCache * mZoneProcessorCache
Used by kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:463
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include <Print.h>
+
7 #include "common/util.h"
+
8 #include "TimeZone.h"
+
9 
+
10 namespace ace_time {
+
11 
+
12 void TimeZone::printTo(Print& printer) const {
+
13  switch (mType) {
+
14  case kTypeManual:
+
15  if (isUtc()) {
+
16  printer.print("UTC");
+
17  } else {
+
18  TimeOffset::forMinutes(mStdOffsetMinutes).printTo(printer);
+
19  TimeOffset::forMinutes(mDstOffsetMinutes).printTo(printer);
+
20  }
+
21  return;
+
22  case kTypeBasic:
+
23  case kTypeExtended:
+
24  mZoneProcessor->printTo(printer);
+
25  return;
+
26  case kTypeBasicManaged:
+
27  case kTypeExtendedManaged:
+
28  {
+
29  ZoneProcessor* processor =
+ +
31  if (! processor) break;
+
32  processor->printTo(printer);
+
33  return;
+
34  }
+
35  }
+
36  printer.print("<Error>");
+
37 }
+
38 
+
39 void TimeZone::printShortTo(Print& printer) const {
+
40  switch (mType) {
+
41  case kTypeManual:
+
42  if (isUtc()) {
+
43  printer.print("UTC");
+
44  } else {
+
45  auto utcOffset = TimeOffset::forMinutes(
+
46  mStdOffsetMinutes + mDstOffsetMinutes);
+
47  utcOffset.printTo(printer);
+
48  printer.print('(');
+
49  printer.print((mDstOffsetMinutes != 0) ? "DST" : "STD");
+
50  printer.print(')');
+
51  }
+
52  return;
+
53  case kTypeBasic:
+
54  case kTypeExtended:
+
55  mZoneProcessor->printShortTo(printer);
+
56  return;
+
57  case kTypeBasicManaged:
+
58  case kTypeExtendedManaged:
+
59  {
+
60  ZoneProcessor* processor =
+ +
62  if (! processor) break;
+
63  processor->printShortTo(printer);
+
64  return;
+
65  }
+
66  }
+
67  printer.print("<Error>");
+
68 }
+
69 
+
70 }
+
virtual ZoneProcessor * getZoneProcessor(const void *zoneInfo)=0
Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.
+
void printTo(Print &printer) const
Print the human readable representation of the time zone.
Definition: TimeZone.cpp:12
+
ZoneProcessor * mZoneProcessor
Used by kTypeBasic, kTypeExtended.
Definition: TimeZone.h:460
+
bool isUtc() const
Return true if UTC (+00:00+00:00).
Definition: TimeZone.h:311
+
const void * mZoneInfo
Used by kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:456
+
void printTo(Print &printer) const
Print the human readable string.
Definition: TimeOffset.cpp:15
+
void printShortTo(Print &printer) const
Print the short human readable representation of the time zone.
Definition: TimeZone.cpp:39
+
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
+
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
+
virtual void printShortTo(Print &printer) const =0
Print a short human-readable identifier (e.g.
+
ZoneProcessorCache * mZoneProcessorCache
Used by kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:463
+
virtual void printTo(Print &printer) const =0
Print a human-readable identifier (e.g.
diff --git a/docs/html/TimeZone_8h_source.html b/docs/html/TimeZone_8h_source.html index 04b15eb7c..83e487633 100644 --- a/docs/html/TimeZone_8h_source.html +++ b/docs/html/TimeZone_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/TimeZone.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/TimeZone.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimeZone.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_TIME_ZONE_H
7 #define ACE_TIME_TIME_ZONE_H
8 
9 #include <stdint.h>
10 #include "TimeOffset.h"
11 #include "ZoneProcessor.h"
12 #include "ZoneProcessorCache.h"
13 #include "BasicZone.h"
14 #include "ExtendedZone.h"
15 #include "TimeZoneData.h"
16 
17 class Print;
18 
19 namespace ace_time {
20 
21 template<typename ZI, typename ZR, typename ZSC> class ZoneManager;
22 
82 class TimeZone {
83  public:
84  static const uint8_t kTypeError = 0;
85  static const uint8_t kTypeManual = 1;
86  static const uint8_t kTypeBasic = ZoneProcessor::kTypeBasic;
87  static const uint8_t kTypeExtended = ZoneProcessor::kTypeExtended;
88  static const uint8_t kTypeBasicManaged =
89  ZoneProcessorCache::kTypeBasicManaged;
90  static const uint8_t kTypeExtendedManaged =
91  ZoneProcessorCache::kTypeExtendedManaged;
92 
94  static TimeZone forUtc() {
95  return TimeZone();
96  }
97 
105  TimeOffset dstOffset = TimeOffset()) {
106  return TimeZone(stdOffset, dstOffset);
107  }
108 
117  static TimeZone forZoneInfo(const basic::ZoneInfo* zoneInfo,
118  BasicZoneProcessor* zoneProcessor) {
119  return TimeZone(kTypeBasic, zoneInfo, zoneProcessor);
120  }
121 
130  static TimeZone forZoneInfo(const extended::ZoneInfo* zoneInfo,
131  ExtendedZoneProcessor* zoneProcessor) {
132  return TimeZone(kTypeExtended, zoneInfo, zoneProcessor);
133  }
134 
139  static TimeZone forError() {
140  return TimeZone(kTypeError);
141  }
142 
145  mType(kTypeManual),
146  mStdOffsetMinutes(0),
147  mDstOffsetMinutes(0) {}
148 
153  uint8_t getType() const { return mType; }
154 
157  return TimeOffset::forMinutes(mStdOffsetMinutes);
158  }
159 
162  return TimeOffset::forMinutes(mDstOffsetMinutes);
163  }
164 
171  uint32_t getZoneId() const {
172  switch (mType) {
173  case kTypeManual:
174  return 0;
175  case kTypeBasic:
176  case kTypeBasicManaged:
177  return BasicZone((const basic::ZoneInfo*) mZoneInfo).zoneId();
178  case kTypeExtended:
179  case kTypeExtendedManaged:
180  return ExtendedZone((const extended::ZoneInfo*) mZoneInfo).zoneId();
181  }
182  return 0;
183  }
184 
186  bool isError() const { return mType == kTypeError; }
187 
191  TimeOffset getUtcOffset(acetime_t epochSeconds) const {
192  switch (mType) {
193  case kTypeManual:
194  return TimeOffset::forMinutes(mStdOffsetMinutes + mDstOffsetMinutes);
195  case kTypeBasic:
196  case kTypeExtended:
198  return mZoneProcessor->getUtcOffset(epochSeconds);
199  case kTypeBasicManaged:
200  case kTypeExtendedManaged:
201  {
202  ZoneProcessor* processor =
204  if (! processor) break;
205  return processor->getUtcOffset(epochSeconds);
206  }
207  }
208  return TimeOffset::forError();
209  }
210 
216  TimeOffset getDeltaOffset(acetime_t epochSeconds) const {
217  switch (mType) {
218  case kTypeManual:
219  return TimeOffset::forMinutes(mDstOffsetMinutes);
220  case kTypeBasic:
221  case kTypeExtended:
223  return mZoneProcessor->getDeltaOffset(epochSeconds);
224  case kTypeBasicManaged:
225  case kTypeExtendedManaged:
226  {
227  ZoneProcessor* processor =
229  if (! processor) break;
230  return processor->getDeltaOffset(epochSeconds);
231  }
232  }
233  return TimeOffset::forError();
234  }
235 
256  const char* getAbbrev(acetime_t epochSeconds) const {
257  switch (mType) {
258  case kTypeManual:
259  if (isUtc()) {
260  return "UTC";
261  } else {
262  return (mDstOffsetMinutes != 0) ? "DST" : "STD";
263  }
264  case kTypeBasic:
265  case kTypeExtended:
266  return mZoneProcessor->getAbbrev(epochSeconds);
267  case kTypeBasicManaged:
268  case kTypeExtendedManaged:
269  {
270  ZoneProcessor* processor =
272  if (! processor) break;
273  return processor->getAbbrev(epochSeconds);
274  }
275  }
276  return "";
277  }
278 
287  switch (mType) {
288  case kTypeManual:
290  TimeOffset::forMinutes(mStdOffsetMinutes + mDstOffsetMinutes));
291  break;
292  case kTypeBasic:
293  case kTypeExtended:
295  odt = mZoneProcessor->getOffsetDateTime(ldt);
296  break;
297  case kTypeBasicManaged:
298  case kTypeExtendedManaged:
299  {
300  ZoneProcessor* processor =
302  if (! processor) break;
303  odt = processor->getOffsetDateTime(ldt);
304  break;
305  }
306  }
307  return odt;
308  }
309 
311  bool isUtc() const {
312  if (mType != kTypeManual) return false;
313  return mStdOffsetMinutes == 0 && mDstOffsetMinutes == 0;
314  }
315 
323  bool isDst() const {
324  if (mType != kTypeManual) return false;
325  return mDstOffsetMinutes != 0;
326  }
327 
332  void setStdOffset(TimeOffset stdOffset) {
333  if (mType != kTypeManual) return;
334  mStdOffsetMinutes = stdOffset.toMinutes();
335  }
336 
341  void setDstOffset(TimeOffset dstOffset) {
342  if (mType != kTypeManual) return;
343  mDstOffsetMinutes = dstOffset.toMinutes();
344  }
345 
353  TimeZoneData d;
354  switch (mType) {
355  case TimeZone::kTypeManual:
356  d.stdOffsetMinutes = mStdOffsetMinutes;
357  d.dstOffsetMinutes = mDstOffsetMinutes;
358  d.type = TimeZoneData::kTypeManual;
359  break;
360  case TimeZone::kTypeBasic:
361  case TimeZone::kTypeExtended:
362  case TimeZone::kTypeBasicManaged:
363  case TimeZone::kTypeExtendedManaged:
364  d.zoneId = getZoneId();
365  d.type = TimeZoneData::kTypeZoneId;
366  break;
367  default:
368  d.type = TimeZoneData::kTypeError;
369  break;
370  }
371  return d;
372  }
373 
381  void printTo(Print& printer) const;
382 
389  void printShortTo(Print& printer) const;
390 
391  // Use default copy constructor and assignment operator.
392  TimeZone(const TimeZone&) = default;
393  TimeZone& operator=(const TimeZone&) = default;
394 
395  private:
396  friend bool operator==(const TimeZone& a, const TimeZone& b);
397 
398  // Allow ZoneManager to access the TimeZone() constructor that accepts
399  // a ZoneProcessorCache.
400  template<typename ZI, typename ZR, typename ZSC> friend class ZoneManager;
401 
409  explicit TimeZone(const void* zoneInfo,
410  ZoneProcessorCache* zoneProcessorCache):
411  mType(zoneProcessorCache->getType()),
412  mZoneInfo(zoneInfo),
413  mZoneProcessorCache(zoneProcessorCache) {}
414 
421  explicit TimeZone(TimeOffset stdOffset, TimeOffset dstOffset):
422  mType(kTypeManual),
423  mStdOffsetMinutes(stdOffset.toMinutes()),
424  mDstOffsetMinutes(dstOffset.toMinutes()) {}
425 
427  explicit TimeZone(uint8_t type):
428  mType(type) {}
429 
431  explicit TimeZone(uint8_t type, const void* zoneInfo,
433  mType(type),
434  mZoneInfo(zoneInfo),
435  mZoneProcessor(mZoneProcessor) {}
436 
437  uint8_t mType;
438 
439  // 4 combinations:
440  // (type) (kTypeError)
441  // (type, mStdOffsetMinutes, mDstOffsetMinutes)
442  // (type, mZoneInfo, mZoneProcessor)
443  // (type, mZoneInfo, mZoneProcessorCache)
444  union {
446  struct {
447  int16_t mStdOffsetMinutes;
448  int16_t mDstOffsetMinutes;
449  };
450 
451  struct {
456  const void* mZoneInfo;
457 
458  union {
461 
464  };
465  };
466  };
467 };
468 
469 inline bool operator==(const TimeZone& a, const TimeZone& b) {
470  if (a.mType != b.mType) return false;
471  switch (a.mType) {
472  case TimeZone::kTypeError:
473  return true;
474  case TimeZone::kTypeManual:
475  return a.mStdOffsetMinutes == b.mStdOffsetMinutes
476  && a.mDstOffsetMinutes == b.mDstOffsetMinutes;
477  case TimeZone::kTypeBasic:
478  case TimeZone::kTypeExtended:
479  case TimeZone::kTypeBasicManaged:
480  case TimeZone::kTypeExtendedManaged:
481  return (a.mZoneInfo == b.mZoneInfo);
482  default:
483  return false;
484  }
485 }
486 
487 inline bool operator!=(const TimeZone& a, const TimeZone& b) {
488  return ! (a == b);
489 }
490 
491 }
492 
493 #endif
void setDstOffset(TimeOffset dstOffset)
Sets the dstOffset of the TimeZone.
Definition: TimeZone.h:341
-
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
-
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
-
virtual TimeOffset getDeltaOffset(acetime_t epochSeconds) const =0
Return the DST delta offset at epochSeconds.
- -
bool isUtc() const
Return true if UTC (+00:00+00:00).
Definition: TimeZone.h:311
-
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
static TimeZone forError()
Return a TimeZone representing an error condition.
Definition: TimeZone.h:139
-
A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful ...
Definition: BasicZone.h:22
-
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
-
virtual ZoneProcessor * getZoneProcessor(const void *zoneInfo)=0
Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.
-
bool isDst() const
Return if mDstOffsetMinutes is not zero.
Definition: TimeZone.h:323
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
void printShortTo(Print &printer) const
Print the short human readable representation of the time zone.
Definition: TimeZone.cpp:39
-
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone...
Definition: TimeZone.h:285
-
static TimeZone forZoneInfo(const basic::ZoneInfo *zoneInfo, BasicZoneProcessor *zoneProcessor)
Factory method to create from a zoneInfo and an associated BasicZoneProcessor.
Definition: TimeZone.h:117
-
void setStdOffset(TimeOffset stdOffset)
Sets the stdOffset of the TimeZone.
Definition: TimeZone.h:332
-
const void * mZoneInfo
Used by kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:456
-
TimeOffset getDstOffset() const
Return the DST TimeOffset.
Definition: TimeZone.h:161
-
void printTo(Print &printer) const
Print the human readable representation of the time zone.
Definition: TimeZone.cpp:12
-
uint32_t getZoneId() const
Return the zoneId for kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:171
-
virtual TimeOffset getUtcOffset(acetime_t epochSeconds) const =0
Return the total UTC offset at epochSeconds, including DST offset.
-
virtual void setZoneInfo(const void *zoneInfo)=0
Set the opaque zoneInfo.
-
TimeZone()
Default constructor creates a UTC TimeZone.
Definition: TimeZone.h:144
-
virtual const char * getAbbrev(acetime_t epochSeconds) const =0
Return the time zone abbreviation at epochSeconds.
-
int16_t toMinutes() const
Return the time offset as minutes.
Definition: TimeOffset.h:111
-
virtual uint8_t getType()=0
Return the type of this cache.
-
An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.
-
const char * getAbbrev(acetime_t epochSeconds) const
Return the time zone abbreviation at the given epochSeconds.
Definition: TimeZone.h:256
-
Returns the TimeZone given the zoneInfo, zoneName, or zoneId.
Definition: TimeZone.h:21
-
static TimeZone forUtc()
Factory method to create a UTC TimeZone.
Definition: TimeZone.h:94
-
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
Definition: ExtendedZone.h:23
-
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database...
-
static TimeZone forZoneInfo(const extended::ZoneInfo *zoneInfo, ExtendedZoneProcessor *zoneProcessor)
Factory method to create from a zoneInfo and an associated ExtendedZoneProcessor. ...
Definition: TimeZone.h:130
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
static TimeZone forTimeOffset(TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
Factory method to create from a UTC offset and an optional DST offset.
Definition: TimeZone.h:104
-
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
-
Common interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache.
-
Class that describes a time zone.
Definition: TimeZone.h:82
-
TimeZoneData toTimeZoneData() const
Convert to a TimeZoneData object, which can be fed back into ZoneManager::createForTimeZoneData() to ...
Definition: TimeZone.h:352
-
Data structure that captures the internal state of a TimeZone object with enough information so that ...
Definition: TimeZoneData.h:27
-
uint8_t getType() const
Return the type of TimeZone.
Definition: TimeZone.h:153
-
TimeOffset getStdOffset() const
Return the Standard TimeOffset.
Definition: TimeZone.h:156
-
ZoneProcessor * mZoneProcessor
Used by kTypeBasic, kTypeExtended.
Definition: TimeZone.h:460
-
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
-
bool isError() const
Return true if TimeZone is an error.
Definition: TimeZone.h:186
-
virtual OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const =0
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the cur...
-
ZoneProcessorCache * mZoneProcessorCache
Used by kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:463
-
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
-
uint32_t zoneId
All of kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse down to a kTypeZon...
Definition: TimeZoneData.h:45
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
TimeOffset getUtcOffset(acetime_t epochSeconds) const
Return the total UTC offset at epochSeconds, including DST offset.
Definition: TimeZone.h:191
-
TimeOffset getDeltaOffset(acetime_t epochSeconds) const
Return the DST offset from standard UTC offset at epochSeconds.
Definition: TimeZone.h:216
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_TIME_ZONE_H
+
7 #define ACE_TIME_TIME_ZONE_H
+
8 
+
9 #include <stdint.h>
+
10 #include "TimeOffset.h"
+
11 #include "ZoneProcessor.h"
+
12 #include "ZoneProcessorCache.h"
+
13 #include "BasicZone.h"
+
14 #include "ExtendedZone.h"
+
15 #include "TimeZoneData.h"
+
16 
+
17 class Print;
+
18 
+
19 namespace ace_time {
+
20 
+
21 template<typename ZI, typename ZR, typename ZSC> class ZoneManager;
+
22 
+
82 class TimeZone {
+
83  public:
+
84  static const uint8_t kTypeError = 0;
+
85  static const uint8_t kTypeManual = 1;
+
86  static const uint8_t kTypeBasic = ZoneProcessor::kTypeBasic;
+
87  static const uint8_t kTypeExtended = ZoneProcessor::kTypeExtended;
+
88  static const uint8_t kTypeBasicManaged =
+
89  ZoneProcessorCache::kTypeBasicManaged;
+
90  static const uint8_t kTypeExtendedManaged =
+
91  ZoneProcessorCache::kTypeExtendedManaged;
+
92 
+
94  static TimeZone forUtc() {
+
95  return TimeZone();
+
96  }
+
97 
+ +
105  TimeOffset dstOffset = TimeOffset()) {
+
106  return TimeZone(stdOffset, dstOffset);
+
107  }
+
108 
+
117  static TimeZone forZoneInfo(const basic::ZoneInfo* zoneInfo,
+
118  BasicZoneProcessor* zoneProcessor) {
+
119  return TimeZone(kTypeBasic, zoneInfo, zoneProcessor);
+
120  }
+
121 
+
130  static TimeZone forZoneInfo(const extended::ZoneInfo* zoneInfo,
+
131  ExtendedZoneProcessor* zoneProcessor) {
+
132  return TimeZone(kTypeExtended, zoneInfo, zoneProcessor);
+
133  }
+
134 
+
139  static TimeZone forError() {
+
140  return TimeZone(kTypeError);
+
141  }
+
142 
+ +
145  mType(kTypeManual),
+
146  mStdOffsetMinutes(0),
+
147  mDstOffsetMinutes(0) {}
+
148 
+
153  uint8_t getType() const { return mType; }
+
154 
+ +
157  return TimeOffset::forMinutes(mStdOffsetMinutes);
+
158  }
+
159 
+ +
162  return TimeOffset::forMinutes(mDstOffsetMinutes);
+
163  }
+
164 
+
171  uint32_t getZoneId() const {
+
172  switch (mType) {
+
173  case kTypeManual:
+
174  return 0;
+
175  case kTypeBasic:
+
176  case kTypeBasicManaged:
+
177  return BasicZone((const basic::ZoneInfo*) mZoneInfo).zoneId();
+
178  case kTypeExtended:
+
179  case kTypeExtendedManaged:
+
180  return ExtendedZone((const extended::ZoneInfo*) mZoneInfo).zoneId();
+
181  }
+
182  return 0;
+
183  }
+
184 
+
186  bool isError() const { return mType == kTypeError; }
+
187 
+
191  TimeOffset getUtcOffset(acetime_t epochSeconds) const {
+
192  switch (mType) {
+
193  case kTypeManual:
+
194  return TimeOffset::forMinutes(mStdOffsetMinutes + mDstOffsetMinutes);
+
195  case kTypeBasic:
+
196  case kTypeExtended:
+ +
198  return mZoneProcessor->getUtcOffset(epochSeconds);
+
199  case kTypeBasicManaged:
+
200  case kTypeExtendedManaged:
+
201  {
+
202  ZoneProcessor* processor =
+ +
204  if (! processor) break;
+
205  return processor->getUtcOffset(epochSeconds);
+
206  }
+
207  }
+
208  return TimeOffset::forError();
+
209  }
+
210 
+
216  TimeOffset getDeltaOffset(acetime_t epochSeconds) const {
+
217  switch (mType) {
+
218  case kTypeManual:
+
219  return TimeOffset::forMinutes(mDstOffsetMinutes);
+
220  case kTypeBasic:
+
221  case kTypeExtended:
+ +
223  return mZoneProcessor->getDeltaOffset(epochSeconds);
+
224  case kTypeBasicManaged:
+
225  case kTypeExtendedManaged:
+
226  {
+
227  ZoneProcessor* processor =
+ +
229  if (! processor) break;
+
230  return processor->getDeltaOffset(epochSeconds);
+
231  }
+
232  }
+
233  return TimeOffset::forError();
+
234  }
+
235 
+
256  const char* getAbbrev(acetime_t epochSeconds) const {
+
257  switch (mType) {
+
258  case kTypeManual:
+
259  if (isUtc()) {
+
260  return "UTC";
+
261  } else {
+
262  return (mDstOffsetMinutes != 0) ? "DST" : "STD";
+
263  }
+
264  case kTypeBasic:
+
265  case kTypeExtended:
+
266  return mZoneProcessor->getAbbrev(epochSeconds);
+
267  case kTypeBasicManaged:
+
268  case kTypeExtendedManaged:
+
269  {
+
270  ZoneProcessor* processor =
+ +
272  if (! processor) break;
+
273  return processor->getAbbrev(epochSeconds);
+
274  }
+
275  }
+
276  return "";
+
277  }
+
278 
+ + +
287  switch (mType) {
+
288  case kTypeManual:
+ +
290  TimeOffset::forMinutes(mStdOffsetMinutes + mDstOffsetMinutes));
+
291  break;
+
292  case kTypeBasic:
+
293  case kTypeExtended:
+ +
295  odt = mZoneProcessor->getOffsetDateTime(ldt);
+
296  break;
+
297  case kTypeBasicManaged:
+
298  case kTypeExtendedManaged:
+
299  {
+
300  ZoneProcessor* processor =
+ +
302  if (! processor) break;
+
303  odt = processor->getOffsetDateTime(ldt);
+
304  break;
+
305  }
+
306  }
+
307  return odt;
+
308  }
+
309 
+
311  bool isUtc() const {
+
312  if (mType != kTypeManual) return false;
+
313  return mStdOffsetMinutes == 0 && mDstOffsetMinutes == 0;
+
314  }
+
315 
+
323  bool isDst() const {
+
324  if (mType != kTypeManual) return false;
+
325  return mDstOffsetMinutes != 0;
+
326  }
+
327 
+
332  void setStdOffset(TimeOffset stdOffset) {
+
333  if (mType != kTypeManual) return;
+
334  mStdOffsetMinutes = stdOffset.toMinutes();
+
335  }
+
336 
+
341  void setDstOffset(TimeOffset dstOffset) {
+
342  if (mType != kTypeManual) return;
+
343  mDstOffsetMinutes = dstOffset.toMinutes();
+
344  }
+
345 
+ +
353  TimeZoneData d;
+
354  switch (mType) {
+
355  case TimeZone::kTypeManual:
+
356  d.stdOffsetMinutes = mStdOffsetMinutes;
+
357  d.dstOffsetMinutes = mDstOffsetMinutes;
+
358  d.type = TimeZoneData::kTypeManual;
+
359  break;
+
360  case TimeZone::kTypeBasic:
+
361  case TimeZone::kTypeExtended:
+
362  case TimeZone::kTypeBasicManaged:
+
363  case TimeZone::kTypeExtendedManaged:
+
364  d.zoneId = getZoneId();
+
365  d.type = TimeZoneData::kTypeZoneId;
+
366  break;
+
367  default:
+
368  d.type = TimeZoneData::kTypeError;
+
369  break;
+
370  }
+
371  return d;
+
372  }
+
373 
+
381  void printTo(Print& printer) const;
+
382 
+
389  void printShortTo(Print& printer) const;
+
390 
+
391  // Use default copy constructor and assignment operator.
+
392  TimeZone(const TimeZone&) = default;
+
393  TimeZone& operator=(const TimeZone&) = default;
+
394 
+
395  private:
+
396  friend bool operator==(const TimeZone& a, const TimeZone& b);
+
397 
+
398  // Allow ZoneManager to access the TimeZone() constructor that accepts
+
399  // a ZoneProcessorCache.
+
400  template<typename ZI, typename ZR, typename ZSC> friend class ZoneManager;
+
401 
+
409  explicit TimeZone(const void* zoneInfo,
+
410  ZoneProcessorCache* zoneProcessorCache):
+
411  mType(zoneProcessorCache->getType()),
+
412  mZoneInfo(zoneInfo),
+
413  mZoneProcessorCache(zoneProcessorCache) {}
+
414 
+
421  explicit TimeZone(TimeOffset stdOffset, TimeOffset dstOffset):
+
422  mType(kTypeManual),
+
423  mStdOffsetMinutes(stdOffset.toMinutes()),
+
424  mDstOffsetMinutes(dstOffset.toMinutes()) {}
+
425 
+
427  explicit TimeZone(uint8_t type):
+
428  mType(type) {}
+
429 
+
431  explicit TimeZone(uint8_t type, const void* zoneInfo,
+
432  ZoneProcessor* mZoneProcessor):
+
433  mType(type),
+
434  mZoneInfo(zoneInfo),
+ +
436 
+
437  uint8_t mType;
+
438 
+
439  // 4 combinations:
+
440  // (type) (kTypeError)
+
441  // (type, mStdOffsetMinutes, mDstOffsetMinutes)
+
442  // (type, mZoneInfo, mZoneProcessor)
+
443  // (type, mZoneInfo, mZoneProcessorCache)
+
444  union {
+
446  struct {
+
447  int16_t mStdOffsetMinutes;
+
448  int16_t mDstOffsetMinutes;
+
449  };
+
450 
+
451  struct {
+
456  const void* mZoneInfo;
+
457 
+
458  union {
+ +
461 
+ +
464  };
+
465  };
+
466  };
+
467 };
+
468 
+
469 inline bool operator==(const TimeZone& a, const TimeZone& b) {
+
470  if (a.mType != b.mType) return false;
+
471  switch (a.mType) {
+
472  case TimeZone::kTypeError:
+
473  return true;
+
474  case TimeZone::kTypeManual:
+
475  return a.mStdOffsetMinutes == b.mStdOffsetMinutes
+
476  && a.mDstOffsetMinutes == b.mDstOffsetMinutes;
+
477  case TimeZone::kTypeBasic:
+
478  case TimeZone::kTypeExtended:
+
479  case TimeZone::kTypeBasicManaged:
+
480  case TimeZone::kTypeExtendedManaged:
+
481  return (a.mZoneInfo == b.mZoneInfo);
+
482  default:
+
483  return false;
+
484  }
+
485 }
+
486 
+
487 inline bool operator!=(const TimeZone& a, const TimeZone& b) {
+
488  return ! (a == b);
+
489 }
+
490 
+
491 }
+
492 
+
493 #endif
+
virtual ZoneProcessor * getZoneProcessor(const void *zoneInfo)=0
Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.
+
static TimeZone forZoneInfo(const basic::ZoneInfo *zoneInfo, BasicZoneProcessor *zoneProcessor)
Factory method to create from a zoneInfo and an associated BasicZoneProcessor.
Definition: TimeZone.h:117
+
void printTo(Print &printer) const
Print the human readable representation of the time zone.
Definition: TimeZone.cpp:12
+
static TimeZone forUtc()
Factory method to create a UTC TimeZone.
Definition: TimeZone.h:94
+
virtual void setZoneInfo(const void *zoneInfo)=0
Set the opaque zoneInfo.
+
ZoneProcessor * mZoneProcessor
Used by kTypeBasic, kTypeExtended.
Definition: TimeZone.h:460
+
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
static TimeOffset forError()
Return an error indicator.
Definition: TimeOffset.h:105
+
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
+
bool isUtc() const
Return true if UTC (+00:00+00:00).
Definition: TimeZone.h:311
+
const void * mZoneInfo
Used by kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:456
+
TimeOffset getStdOffset() const
Return the Standard TimeOffset.
Definition: TimeZone.h:156
+
uint8_t getType() const
Return the type of TimeZone.
Definition: TimeZone.h:153
+
void setDstOffset(TimeOffset dstOffset)
Sets the dstOffset of the TimeZone.
Definition: TimeZone.h:341
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some use...
Definition: ExtendedZone.h:23
+
static TimeZone forError()
Return a TimeZone representing an error condition.
Definition: TimeZone.h:139
+
virtual TimeOffset getDeltaOffset(acetime_t epochSeconds) const =0
Return the DST delta offset at epochSeconds.
+
A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful ...
Definition: BasicZone.h:22
+
TimeOffset getUtcOffset(acetime_t epochSeconds) const
Return the total UTC offset at epochSeconds, including DST offset.
Definition: TimeZone.h:191
+
int16_t toMinutes() const
Return the time offset as minutes.
Definition: TimeOffset.h:111
+
void printShortTo(Print &printer) const
Print the short human readable representation of the time zone.
Definition: TimeZone.cpp:39
+
void setStdOffset(TimeOffset stdOffset)
Sets the stdOffset of the TimeZone.
Definition: TimeZone.h:332
+
An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.
+
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone.
Definition: TimeZone.h:285
+
bool isError() const
Return true if TimeZone is an error.
Definition: TimeZone.h:186
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+
virtual const char * getAbbrev(acetime_t epochSeconds) const =0
Return the time zone abbreviation at epochSeconds.
+
const char * getAbbrev(acetime_t epochSeconds) const
Return the time zone abbreviation at the given epochSeconds.
Definition: TimeZone.h:256
+
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
+
TimeZoneData toTimeZoneData() const
Convert to a TimeZoneData object, which can be fed back into ZoneManager::createForTimeZoneData() to ...
Definition: TimeZone.h:352
+
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
+
bool isDst() const
Return if mDstOffsetMinutes is not zero.
Definition: TimeZone.h:323
+
static TimeZone forZoneInfo(const extended::ZoneInfo *zoneInfo, ExtendedZoneProcessor *zoneProcessor)
Factory method to create from a zoneInfo and an associated ExtendedZoneProcessor.
Definition: TimeZone.h:130
+
virtual TimeOffset getUtcOffset(acetime_t epochSeconds) const =0
Return the total UTC offset at epochSeconds, including DST offset.
+
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
+
uint32_t getZoneId() const
Return the zoneId for kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:171
+
Common interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache.
+
ZoneProcessorCache * mZoneProcessorCache
Used by kTypeBasicManaged, kTypeExtendedManaged.
Definition: TimeZone.h:463
+
Returns the TimeZone given the zoneInfo, zoneName, or zoneId.
Definition: TimeZone.h:21
+
Data structure that captures the internal state of a TimeZone object with enough information so that ...
Definition: TimeZoneData.h:27
+
static OffsetDateTime forLocalDateTimeAndOffset(const LocalDateTime &localDateTime, TimeOffset timeOffset)
Factory method from LocalDateTime and TimeOffset.
+
Class that describes a time zone.
Definition: TimeZone.h:82
+
static TimeZone forTimeOffset(TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
Factory method to create from a UTC offset and an optional DST offset.
Definition: TimeZone.h:104
+
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.
+
uint32_t zoneId
All of kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse down to a kTypeZon...
Definition: TimeZoneData.h:45
+
virtual OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const =0
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the cur...
+
TimeOffset getDeltaOffset(acetime_t epochSeconds) const
Return the DST offset from standard UTC offset at epochSeconds.
Definition: TimeZone.h:216
+
TimeOffset getDstOffset() const
Return the DST TimeOffset.
Definition: TimeZone.h:161
+
TimeZone()
Default constructor creates a UTC TimeZone.
Definition: TimeZone.h:144
diff --git a/docs/html/TimingStats_8h_source.html b/docs/html/TimingStats_8h_source.html index e76273e3f..30a629317 100644 --- a/docs/html/TimingStats_8h_source.html +++ b/docs/html/TimingStats_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/TimingStats.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/TimingStats.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
TimingStats.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_TIMING_STATS_H
7 #define ACE_TIME_TIMING_STATS_H
8 
9 #include <stdint.h>
10 
11 class Print;
12 
13 namespace ace_time {
14 namespace common {
15 
19 class TimingStats {
20  public:
22  TimingStats(): mCounter(0) {
23  reset();
24  }
25 
26  void reset() {
27  mExpDecayAvg = 0;
28  mMin = UINT16_MAX;
29  mMax = 0;
30  mSum = 0;
31  mCount = 0;
32  }
33 
34  uint16_t getMax() const { return mMax; }
35 
36  uint16_t getMin() const { return mMin; }
37 
38  uint16_t getAvg() const { return (mCount > 0) ? mSum / mCount : 0; }
39 
41  uint16_t getExpDecayAvg() const { return mExpDecayAvg; }
42 
44  uint16_t getCount() const { return mCount; }
45 
51  uint16_t getCounter() const { return mCounter; }
52 
53  void update(uint16_t duration) {
54  mCount++;
55  mCounter++;
56  mSum += duration;
57  if (duration < mMin) {
58  mMin = duration;
59  }
60  if (duration > mMax) {
61  mMax = duration;
62  }
63  mExpDecayAvg = (mExpDecayAvg + duration) / 2;
64  }
65 
66  private:
67  uint16_t mExpDecayAvg;
68  uint16_t mMin;
69  uint16_t mMax;
70  uint32_t mSum;
71  uint16_t mCount;
72  uint16_t mCounter;
73 };
74 
75 }
76 }
77 
78 #endif
-
uint16_t getExpDecayAvg() const
An exponential decay average.
Definition: TimingStats.h:41
- -
Helper class to collect timing statistics such as min, max, average.
Definition: TimingStats.h:19
-
uint16_t getCount() const
Number of times update() was called since last reset.
Definition: TimingStats.h:44
-
uint16_t getCounter() const
Number of times update() was called from the beginning of time.
Definition: TimingStats.h:51
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_TIMING_STATS_H
+
7 #define ACE_TIME_TIMING_STATS_H
+
8 
+
9 #include <stdint.h>
+
10 
+
11 class Print;
+
12 
+
13 namespace ace_time {
+
14 namespace common {
+
15 
+
19 class TimingStats {
+
20  public:
+
22  TimingStats(): mCounter(0) {
+
23  reset();
+
24  }
+
25 
+
26  void reset() {
+
27  mExpDecayAvg = 0;
+
28  mMin = UINT16_MAX;
+
29  mMax = 0;
+
30  mSum = 0;
+
31  mCount = 0;
+
32  }
+
33 
+
34  uint16_t getMax() const { return mMax; }
+
35 
+
36  uint16_t getMin() const { return mMin; }
+
37 
+
38  uint16_t getAvg() const { return (mCount > 0) ? mSum / mCount : 0; }
+
39 
+
41  uint16_t getExpDecayAvg() const { return mExpDecayAvg; }
+
42 
+
44  uint16_t getCount() const { return mCount; }
+
45 
+
51  uint16_t getCounter() const { return mCounter; }
+
52 
+
53  void update(uint16_t duration) {
+
54  mCount++;
+
55  mCounter++;
+
56  mSum += duration;
+
57  if (duration < mMin) {
+
58  mMin = duration;
+
59  }
+
60  if (duration > mMax) {
+
61  mMax = duration;
+
62  }
+
63  mExpDecayAvg = (mExpDecayAvg + duration) / 2;
+
64  }
+
65 
+
66  private:
+
67  uint16_t mExpDecayAvg;
+
68  uint16_t mMin;
+
69  uint16_t mMax;
+
70  uint32_t mSum;
+
71  uint16_t mCount;
+
72  uint16_t mCounter;
+
73 };
+
74 
+
75 }
+
76 }
+
77 
+
78 #endif
+
uint16_t getCounter() const
Number of times update() was called from the beginning of time.
Definition: TimingStats.h:51
+
Helper class to collect timing statistics such as min, max, average.
Definition: TimingStats.h:19
+
uint16_t getExpDecayAvg() const
An exponential decay average.
Definition: TimingStats.h:41
+ +
uint16_t getCount() const
Number of times update() was called since last reset.
Definition: TimingStats.h:44
diff --git a/docs/html/UnixClock_8h_source.html b/docs/html/UnixClock_8h_source.html index bc2a8fa2e..3b83b52eb 100644 --- a/docs/html/UnixClock_8h_source.html +++ b/docs/html/UnixClock_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock/UnixClock.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/clock/UnixClock.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
UnixClock.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_UNIX_CLOCK_H
7 #define ACE_TIME_UNIX_CLOCK_H
8 
9 #if defined(UNIX_HOST_DUINO)
10 
11 #include <time.h> // time()
12 #include "Clock.h"
13 #include "../LocalDate.h"
14 
15 namespace ace_time {
16 namespace clock {
17 
21 class UnixClock: public Clock {
22  public:
23  explicit UnixClock() {}
24 
25  void setup() {}
26 
27  acetime_t getNow() const override {
28  return time(nullptr) - LocalDate::kSecondsSinceUnixEpoch;
29  }
30 };
31 
32 }
33 }
34 
35 #endif
36 
37 #endif
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:69
- +
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_UNIX_CLOCK_H
+
7 #define ACE_TIME_UNIX_CLOCK_H
+
8 
+
9 #if defined(UNIX_HOST_DUINO)
+
10 
+
11 #include <time.h> // time()
+
12 #include "Clock.h"
+
13 #include "../LocalDate.h"
+
14 
+
15 namespace ace_time {
+
16 namespace clock {
+
17 
+
21 class UnixClock: public Clock {
+
22  public:
+
23  explicit UnixClock() {}
+
24 
+
25  void setup() {}
+
26 
+
27  acetime_t getNow() const override {
+
28  return time(nullptr) - LocalDate::kSecondsSinceUnixEpoch;
+
29  }
+
30 };
+
31 
+
32 }
+
33 }
+
34 
+
35 #endif
+
36 
+
37 #endif
+
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:69
diff --git a/docs/html/ZoneContext_8h_source.html b/docs/html/ZoneContext_8h_source.html index dba5cd9c0..0ba66f40f 100644 --- a/docs/html/ZoneContext_8h_source.html +++ b/docs/html/ZoneContext_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/ZoneContext.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/ZoneContext.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZoneContext.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_COMMON_ZONE_CONTEXT_H
7 #define ACE_TIME_COMMON_ZONE_CONTEXT_H
8 
9 namespace ace_time {
10 
11 // Data structure for BasicZoneProcessor
12 namespace basic {
13 #include "ZoneContext.inc"
14 }
15 
16 // Data structure for ExtendedZoneProcessor
17 namespace extended {
18 #include "ZoneContext.inc"
19 }
20 
21 }
22 
23 #endif
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_COMMON_ZONE_CONTEXT_H
+
7 #define ACE_TIME_COMMON_ZONE_CONTEXT_H
+
8 
+
9 namespace ace_time {
+
10 
+
11 // Data structure for BasicZoneProcessor
+
12 namespace basic {
+
13 #include "ZoneContext.inc"
+
14 }
+
15 
+
16 // Data structure for ExtendedZoneProcessor
+
17 namespace extended {
+
18 #include "ZoneContext.inc"
+
19 }
+
20 
+
21 }
+
22 
+
23 #endif
diff --git a/docs/html/ZoneContext_8inc_source.html b/docs/html/ZoneContext_8inc_source.html index b83c5928e..78b9735f5 100644 --- a/docs/html/ZoneContext_8inc_source.html +++ b/docs/html/ZoneContext_8inc_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/ZoneContext.inc Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/ZoneContext.inc Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZoneContext.inc
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
10 struct ZoneContext {
12  static const uint8_t kSuffixW = 0x00;
13 
15  static const uint8_t kSuffixS = 0x10;
16 
18  static const uint8_t kSuffixU = 0x20;
19 
20  /*
21  * Epoch year. Currently always 2000 but could change in the future. We're
22  * leaving this out for now because it's not clear how or if the various
23  * AceTime classes can use this information since the value '2000' is often
24  * a compile-time constant instead of a runtime constant.
25  */
26  //int16_t epoch_year;
27 
29  const int16_t startYear;
30 
32  const int16_t untilYear;
33 
35  const char* const tzVersion;
36 };
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
10 struct ZoneContext {
+
12  static const uint8_t kSuffixW = 0x00;
+
13 
+
15  static const uint8_t kSuffixS = 0x10;
+
16 
+
18  static const uint8_t kSuffixU = 0x20;
+
19 
+
20  /*
+
21  * Epoch year. Currently always 2000 but could change in the future. We're
+
22  * leaving this out for now because it's not clear how or if the various
+
23  * AceTime classes can use this information since the value '2000' is often
+
24  * a compile-time constant instead of a runtime constant.
+
25  */
+
26  //int16_t epoch_year;
+
27 
+
29  const int16_t startYear;
+
30 
+
32  const int16_t untilYear;
+
33 
+
35  const char* const tzVersion;
+
36 };
+
diff --git a/docs/html/ZoneInfo_8h_source.html b/docs/html/ZoneInfo_8h_source.html index 3b2f42b22..63e65e6bc 100644 --- a/docs/html/ZoneInfo_8h_source.html +++ b/docs/html/ZoneInfo_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/ZoneInfo.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/ZoneInfo.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */
ZoneInfo.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONE_INFO_H
7 #define ACE_TIME_ZONE_INFO_H
8 
9 #include <stdint.h>
10 #include "ZoneContext.h"
11 #include "ZonePolicy.h"
12 
13 namespace ace_time {
14 
15 // The data structures in ZoneInfo.inc are #included into the basic and
16 // extended namespaces, instead of subclassing them into the namespaces,
17 // because C++11 does not allow subclassed structs to be initialized using the
18 // curly-brace initializers. I believe C++14 removes this restriction but
19 // Arduino is currently limited to C++11.
20 
21 // Data structures for BasicZoneProcessor
22 namespace basic {
23 #include "ZoneInfo.inc"
24 }
25 
26 // Data structures for ExtendedZoneProcessor
27 namespace extended {
28 #include "ZoneInfo.inc"
29 }
30 
31 }
32 
33 #endif
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONE_INFO_H
+
7 #define ACE_TIME_ZONE_INFO_H
+
8 
+
9 #include <stdint.h>
+
10 #include "ZoneContext.h"
+
11 #include "ZonePolicy.h"
+
12 
+
13 namespace ace_time {
+
14 
+
15 // The data structures in ZoneInfo.inc are #included into the basic and
+
16 // extended namespaces, instead of subclassing them into the namespaces,
+
17 // because C++11 does not allow subclassed structs to be initialized using the
+
18 // curly-brace initializers. I believe C++14 removes this restriction but
+
19 // Arduino is currently limited to C++11.
+
20 
+
21 // Data structures for BasicZoneProcessor
+
22 namespace basic {
+
23 #include "ZoneInfo.inc"
+
24 }
+
25 
+
26 // Data structures for ExtendedZoneProcessor
+
27 namespace extended {
+
28 #include "ZoneInfo.inc"
+
29 }
+
30 
+
31 }
+
32 
+
33 #endif
diff --git a/docs/html/ZoneInfo_8inc_source.html b/docs/html/ZoneInfo_8inc_source.html index 8f3036897..5d6c86736 100644 --- a/docs/html/ZoneInfo_8inc_source.html +++ b/docs/html/ZoneInfo_8inc_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/ZoneInfo.inc Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/ZoneInfo.inc Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZoneInfo.inc
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
19 struct ZoneEra {
21  static const int8_t kMaxUntilYearTiny = ZoneRule::kMaxYearTiny + 1;
22 
27  const ZonePolicy* const zonePolicy;
28 
35  const char* const format;
36 
38  int8_t const offsetCode;
39 
58  int8_t const deltaCode;
59 
64  int8_t const untilYearTiny;
65 
67  uint8_t const untilMonth;
68 
74  uint8_t const untilDay;
75 
80  uint8_t const untilTimeCode;
81 
92  uint8_t const untilTimeModifier;
93 };
94 
99 struct ZoneInfo {
101  const char* const name;
102 
108  uint32_t const zoneId;
109 
111  const ZoneContext* const zoneContext;
112 
120  uint8_t const transitionBufSize;
121 
123  uint8_t const numEras;
124 
126  const ZoneEra* const eras;
127 };
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
19 struct ZoneEra {
+
21  static const int8_t kMaxUntilYearTiny = ZoneRule::kMaxYearTiny + 1;
+
22 
+
27  const ZonePolicy* const zonePolicy;
+
28 
+
35  const char* const format;
+
36 
+
38  int8_t const offsetCode;
+
39 
+
58  int8_t const deltaCode;
+
59 
+
64  int8_t const untilYearTiny;
+
65 
+
67  uint8_t const untilMonth;
+
68 
+
74  uint8_t const untilDay;
+
75 
+
80  uint8_t const untilTimeCode;
+
81 
+
92  uint8_t const untilTimeModifier;
+
93 };
+
94 
+
99 struct ZoneInfo {
+
101  const char* const name;
+
102 
+
108  uint32_t const zoneId;
+
109 
+
111  const ZoneContext* const zoneContext;
+
112 
+
120  uint8_t const transitionBufSize;
+
121 
+
123  uint8_t const numEras;
+
124 
+
126  const ZoneEra* const eras;
+
127 };
+
diff --git a/docs/html/ZoneManager_8h_source.html b/docs/html/ZoneManager_8h_source.html index d7822fb51..644b5c909 100644 --- a/docs/html/ZoneManager_8h_source.html +++ b/docs/html/ZoneManager_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ZoneManager.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ZoneManager.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */
ZoneManager.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONE_MANAGER_H
7 #define ACE_TIME_ZONE_MANAGER_H
8 
9 #include "ZoneProcessorCache.h"
10 #include "ZoneRegistrar.h"
11 #include "TimeZoneData.h"
12 #include "TimeZone.h"
13 
14 namespace ace_time {
15 
29 template<typename ZI, typename ZR, typename ZSC>
30 class ZoneManager {
31  public:
32  const ZR& getRegistrar() const { return mZoneRegistrar; }
33 
34  TimeZone createForZoneInfo(const ZI* zoneInfo) {
35  if (! zoneInfo) return TimeZone::forError();
36  return TimeZone(zoneInfo, &mZoneProcessorCache);
37  }
38 
39  TimeZone createForZoneName(const char* name) {
40  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForName(name);
41  return createForZoneInfo(zoneInfo);
42  }
43 
44  TimeZone createForZoneId(uint32_t id) {
45  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForId(id);
46  return createForZoneInfo(zoneInfo);
47  }
48 
49  TimeZone createForZoneIndex(uint16_t index) {
50  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForIndex(index);
51  return createForZoneInfo(zoneInfo);
52  }
53 
60  switch (d.type) {
61  case TimeZone::kTypeError:
62  return TimeZone::forError();
63  case TimeZone::kTypeManual:
65  TimeOffset::forMinutes(d.stdOffsetMinutes),
66  TimeOffset::forMinutes(d.dstOffsetMinutes));
67  case TimeZone::kTypeBasic:
68  case TimeZone::kTypeExtended:
69  return createForZoneId(d.zoneId);
70  default:
71  return TimeZone();
72  }
73  }
74 
75  uint16_t indexForZoneName(const char* name) const {
76  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForName(name);
77  if (! zoneInfo) return 0;
78  return (zoneInfo - mZoneRegistrar.getZoneInfoForIndex(0));
79  }
80 
81  uint16_t indexForZoneId(uint32_t id) const {
82  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForId(id);
83  if (! zoneInfo) return 0;
84  return (zoneInfo - mZoneRegistrar.getZoneInfoForIndex(0));
85  }
86 
87  protected:
88  ZoneManager(uint16_t registrySize, const ZI* const* zoneRegistry):
89  mZoneRegistrar(registrySize, zoneRegistry),
90  mZoneProcessorCache() {}
91 
92  private:
93  // disable copy constructor and assignment operator
94  ZoneManager(const ZoneManager&) = delete;
95  ZoneManager& operator=(const ZoneManager&) = delete;
96 
97  const ZR mZoneRegistrar;
98  ZSC mZoneProcessorCache;
99 };
100 
101 #if 1
102 
105 template<uint16_t SIZE>
106 class BasicZoneManager: public ZoneManager<basic::ZoneInfo,
107  BasicZoneRegistrar, BasicZoneProcessorCache<SIZE>> {
108  public:
109  BasicZoneManager(uint16_t registrySize,
110  const basic::ZoneInfo* const* zoneRegistry):
112  BasicZoneProcessorCache<SIZE>>(registrySize, zoneRegistry) {}
113 };
114 
118 template<uint16_t SIZE>
119 class ExtendedZoneManager: public ZoneManager<extended::ZoneInfo,
120  ExtendedZoneRegistrar, ExtendedZoneProcessorCache<SIZE>> {
121  public:
122  ExtendedZoneManager(uint16_t registrySize,
123  const extended::ZoneInfo* const* zoneRegistry):
125  ExtendedZoneProcessorCache<SIZE>>(registrySize, zoneRegistry) {}
126 };
127 
128 #else
129 
130 // NOTE: The following typedef seems shorter and easier to maintain. The
131 // problem is that it makes error messages basically impossible to decipher
132 // because the immensely long full template class name is printed out. There
133 // seems to be no difference in code size between the two. The compiler seems
134 // to optimize away the vtables of the parent and child classes.
135 
136 template<uint8_t SIZE>
139 
140 template<uint8_t SIZE>
143 
144 #endif
145 
146 }
147 
148 #endif
- - - -
Class that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g.
Definition: ZoneRegistrar.h:42
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
static TimeZone forError()
Return a TimeZone representing an error condition.
Definition: TimeZone.h:139
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
Returns the TimeZone given the zoneInfo, zoneName, or zoneId.
Definition: TimeZone.h:21
- -
static TimeZone forTimeOffset(TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
Factory method to create from a UTC offset and an optional DST offset.
Definition: TimeZone.h:104
-
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
-
Class that describes a time zone.
Definition: TimeZone.h:82
-
TimeZone createForTimeZoneData(const TimeZoneData &d)
Create from the TimeZoneData created by TimeZone::toTimeZoneData().
Definition: ZoneManager.h:59
-
Data structure that captures the internal state of a TimeZone object with enough information so that ...
Definition: TimeZoneData.h:27
-
uint32_t zoneId
All of kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse down to a kTypeZon...
Definition: TimeZoneData.h:45
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONE_MANAGER_H
+
7 #define ACE_TIME_ZONE_MANAGER_H
+
8 
+
9 #include "ZoneProcessorCache.h"
+
10 #include "ZoneRegistrar.h"
+
11 #include "TimeZoneData.h"
+
12 #include "TimeZone.h"
+
13 
+
14 namespace ace_time {
+
15 
+
29 template<typename ZI, typename ZR, typename ZSC>
+
30 class ZoneManager {
+
31  public:
+
32  const ZR& getRegistrar() const { return mZoneRegistrar; }
+
33 
+
34  TimeZone createForZoneInfo(const ZI* zoneInfo) {
+
35  if (! zoneInfo) return TimeZone::forError();
+
36  return TimeZone(zoneInfo, &mZoneProcessorCache);
+
37  }
+
38 
+
39  TimeZone createForZoneName(const char* name) {
+
40  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForName(name);
+
41  return createForZoneInfo(zoneInfo);
+
42  }
+
43 
+
44  TimeZone createForZoneId(uint32_t id) {
+
45  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForId(id);
+
46  return createForZoneInfo(zoneInfo);
+
47  }
+
48 
+
49  TimeZone createForZoneIndex(uint16_t index) {
+
50  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForIndex(index);
+
51  return createForZoneInfo(zoneInfo);
+
52  }
+
53 
+ +
60  switch (d.type) {
+
61  case TimeZone::kTypeError:
+
62  return TimeZone::forError();
+
63  case TimeZone::kTypeManual:
+ +
65  TimeOffset::forMinutes(d.stdOffsetMinutes),
+
66  TimeOffset::forMinutes(d.dstOffsetMinutes));
+
67  case TimeZone::kTypeBasic:
+
68  case TimeZone::kTypeExtended:
+
69  return createForZoneId(d.zoneId);
+
70  default:
+
71  return TimeZone();
+
72  }
+
73  }
+
74 
+
75  uint16_t indexForZoneName(const char* name) const {
+
76  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForName(name);
+
77  if (! zoneInfo) return 0;
+
78  return (zoneInfo - mZoneRegistrar.getZoneInfoForIndex(0));
+
79  }
+
80 
+
81  uint16_t indexForZoneId(uint32_t id) const {
+
82  const ZI* zoneInfo = mZoneRegistrar.getZoneInfoForId(id);
+
83  if (! zoneInfo) return 0;
+
84  return (zoneInfo - mZoneRegistrar.getZoneInfoForIndex(0));
+
85  }
+
86 
+
87  protected:
+
88  ZoneManager(uint16_t registrySize, const ZI* const* zoneRegistry):
+
89  mZoneRegistrar(registrySize, zoneRegistry),
+
90  mZoneProcessorCache() {}
+
91 
+
92  private:
+
93  // disable copy constructor and assignment operator
+
94  ZoneManager(const ZoneManager&) = delete;
+
95  ZoneManager& operator=(const ZoneManager&) = delete;
+
96 
+
97  const ZR mZoneRegistrar;
+
98  ZSC mZoneProcessorCache;
+
99 };
+
100 
+
101 #if 1
+
102 
+
105 template<uint16_t SIZE>
+
106 class BasicZoneManager: public ZoneManager<basic::ZoneInfo,
+
107  BasicZoneRegistrar, BasicZoneProcessorCache<SIZE>> {
+
108  public:
+
109  BasicZoneManager(uint16_t registrySize,
+
110  const basic::ZoneInfo* const* zoneRegistry):
+
111  ZoneManager<basic::ZoneInfo, BasicZoneRegistrar,
+
112  BasicZoneProcessorCache<SIZE>>(registrySize, zoneRegistry) {}
+
113 };
+
114 
+
118 template<uint16_t SIZE>
+
119 class ExtendedZoneManager: public ZoneManager<extended::ZoneInfo,
+
120  ExtendedZoneRegistrar, ExtendedZoneProcessorCache<SIZE>> {
+
121  public:
+
122  ExtendedZoneManager(uint16_t registrySize,
+
123  const extended::ZoneInfo* const* zoneRegistry):
+
124  ZoneManager<extended::ZoneInfo, ExtendedZoneRegistrar,
+
125  ExtendedZoneProcessorCache<SIZE>>(registrySize, zoneRegistry) {}
+
126 };
+
127 
+
128 #else
+
129 
+
130 // NOTE: The following typedef seems shorter and easier to maintain. The
+
131 // problem is that it makes error messages basically impossible to decipher
+
132 // because the immensely long full template class name is printed out. There
+
133 // seems to be no difference in code size between the two. The compiler seems
+
134 // to optimize away the vtables of the parent and child classes.
+
135 
+
136 template<uint8_t SIZE>
+
137 using BasicZoneManager = ZoneManager<basic::ZoneInfo,
+ +
139 
+
140 template<uint8_t SIZE>
+
141 using ExtendedZoneManager = ZoneManager<extended::ZoneInfo,
+ +
143 
+
144 #endif
+
145 
+
146 }
+
147 
+
148 #endif
+ + +
static TimeZone forError()
Return a TimeZone representing an error condition.
Definition: TimeZone.h:139
+
Class that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g.
Definition: ZoneRegistrar.h:42
+ +
static TimeOffset forMinutes(int16_t minutes)
Create TimeOffset from minutes from 00:00.
Definition: TimeOffset.h:83
+
TimeZone createForTimeZoneData(const TimeZoneData &d)
Create from the TimeZoneData created by TimeZone::toTimeZoneData().
Definition: ZoneManager.h:59
+
Returns the TimeZone given the zoneInfo, zoneName, or zoneId.
Definition: TimeZone.h:21
+
Data structure that captures the internal state of a TimeZone object with enough information so that ...
Definition: TimeZoneData.h:27
+ +
Class that describes a time zone.
Definition: TimeZone.h:82
+
static TimeZone forTimeOffset(TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
Factory method to create from a UTC offset and an optional DST offset.
Definition: TimeZone.h:104
+
uint32_t zoneId
All of kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse down to a kTypeZon...
Definition: TimeZoneData.h:45
diff --git a/docs/html/ZonePolicy_8h_source.html b/docs/html/ZonePolicy_8h_source.html index 82f697f6d..36a794baf 100644 --- a/docs/html/ZonePolicy_8h_source.html +++ b/docs/html/ZonePolicy_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/ZonePolicy.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/ZonePolicy.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZonePolicy.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONE_POLICY_H
7 #define ACE_TIME_ZONE_POLICY_H
8 
9 #include <stdint.h>
10 #include "ZoneContext.h"
11 
12 namespace ace_time {
13 
14 // The data structures in ZoneInfo.inc are #included into the basic and
15 // extended namespaces, instead of subclassing them into the namespaces,
16 // because C++11 does not allow subclassed structs to be initialized using the
17 // curly-brace initializers. I believe C++14 removes this restriction but
18 // Arduino is currently limited to C++11.
19 
20 // Data structures for BasicZoneProcessor
21 namespace basic {
22 #include "ZonePolicy.inc"
23 }
24 
25 // Data structures for ExtendedZoneProcessor
26 namespace extended {
27 #include "ZonePolicy.inc"
28 }
29 
30 }
31 
32 #endif
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONE_POLICY_H
+
7 #define ACE_TIME_ZONE_POLICY_H
+
8 
+
9 #include <stdint.h>
+
10 #include "ZoneContext.h"
+
11 
+
12 namespace ace_time {
+
13 
+
14 // The data structures in ZoneInfo.inc are #included into the basic and
+
15 // extended namespaces, instead of subclassing them into the namespaces,
+
16 // because C++11 does not allow subclassed structs to be initialized using the
+
17 // curly-brace initializers. I believe C++14 removes this restriction but
+
18 // Arduino is currently limited to C++11.
+
19 
+
20 // Data structures for BasicZoneProcessor
+
21 namespace basic {
+
22 #include "ZonePolicy.inc"
+
23 }
+
24 
+
25 // Data structures for ExtendedZoneProcessor
+
26 namespace extended {
+
27 #include "ZonePolicy.inc"
+
28 }
+
29 
+
30 }
+
31 
+
32 #endif
diff --git a/docs/html/ZonePolicy_8inc_source.html b/docs/html/ZonePolicy_8inc_source.html index c0078f6fd..d8cf17b45 100644 --- a/docs/html/ZonePolicy_8inc_source.html +++ b/docs/html/ZonePolicy_8inc_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal/ZonePolicy.inc Source File +AceTime: /home/brian/src/AceTime/src/ace_time/internal/ZonePolicy.inc Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZonePolicy.inc
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
11 struct ZoneRule {
16  static const int8_t kMaxYearTiny = 126;
17 
19  int8_t const fromYearTiny;
20 
22  int8_t const toYearTiny;
23 
25  uint8_t const inMonth;
26 
37  uint8_t const onDayOfWeek;
38 
43  int8_t const onDayOfMonth;
44 
49  uint8_t const atTimeCode;
50 
60  uint8_t const atTimeModifier;
61 
75  int8_t const deltaCode;
76 
93  uint8_t const letter;
94 };
95 
106 struct ZonePolicy {
107  const ZoneRule* const rules;
108  const char* const* const letters;
109  uint8_t const numRules;
110  uint8_t const numLetters;
111 };
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
11 struct ZoneRule {
+
16  static const int8_t kMaxYearTiny = 126;
+
17 
+
19  int8_t const fromYearTiny;
+
20 
+
22  int8_t const toYearTiny;
+
23 
+
25  uint8_t const inMonth;
+
26 
+
37  uint8_t const onDayOfWeek;
+
38 
+
43  int8_t const onDayOfMonth;
+
44 
+
49  uint8_t const atTimeCode;
+
50 
+
60  uint8_t const atTimeModifier;
+
61 
+
75  int8_t const deltaCode;
+
76 
+
93  uint8_t const letter;
+
94 };
+
95 
+
106 struct ZonePolicy {
+
107  const ZoneRule* const rules;
+
108  const char* const* const letters;
+
109  uint8_t const numRules;
+
110  uint8_t const numLetters;
+
111 };
+
diff --git a/docs/html/ZoneProcessorCache_8h_source.html b/docs/html/ZoneProcessorCache_8h_source.html index 8a96a1dba..4fef34c75 100644 --- a/docs/html/ZoneProcessorCache_8h_source.html +++ b/docs/html/ZoneProcessorCache_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ZoneProcessorCache.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ZoneProcessorCache.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */
ZoneProcessorCache.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONE_PROCESSOR_CACHE_H
7 #define ACE_TIME_ZONE_PROCESSOR_CACHE_H
8 
9 #include "common/common.h"
10 #include "TimeOffset.h"
11 #include "OffsetDateTime.h"
12 #include "BasicZoneProcessor.h"
13 #include "ExtendedZoneProcessor.h"
14 #include "ZoneRegistrar.h"
15 
16 namespace ace_time {
17 
25  public:
26  static const uint8_t kTypeBasicManaged = ZoneProcessor::kTypeBasic + 2;
27  static const uint8_t kTypeExtendedManaged =
29 
31  virtual uint8_t getType() = 0;
32 
39  virtual ZoneProcessor* getZoneProcessor(const void* zoneInfo) = 0;
40 };
41 
56 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
58  public:
60 
61  uint8_t getType() override { return TYPE; }
62 
64  ZoneProcessor* getZoneProcessor(const void* zoneInfo) override {
65  ZS* zoneProcessor = findUsingZoneInfo((const ZI*) zoneInfo);
66  if (zoneProcessor) return zoneProcessor;
67 
68  // Allocate the next ZoneProcessor in the cache using round-robin.
69  zoneProcessor = &mZoneProcessors[mCurrentIndex];
70  mCurrentIndex++;
71  if (mCurrentIndex >= SIZE) mCurrentIndex = 0;
72  zoneProcessor->setZoneInfo((const ZI*) zoneInfo);
73  return zoneProcessor;
74  }
75 
76  private:
77  // disable copy constructor and assignment operator
79  ZoneProcessorCacheImpl& operator=(const ZoneProcessorCacheImpl&) = delete;
80 
86  ZS* findUsingZoneInfo(const ZI* zoneInfoKey) {
87  for (uint8_t i = 0; i < SIZE; i++) {
88  const ZI* zoneInfo = (const ZI*) mZoneProcessors[i].getZoneInfo();
89  if (zoneInfo == zoneInfoKey) {
90  return &mZoneProcessors[i];
91  }
92  }
93  return nullptr;
94  }
95 
96  ZS mZoneProcessors[SIZE];
97  uint8_t mCurrentIndex = 0;
98 };
99 
100 #if 1
101 template<uint8_t SIZE>
103  SIZE, ZoneProcessorCache::kTypeBasicManaged,
104  BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker> {
105 };
106 
107 template<uint8_t SIZE>
109  SIZE, ZoneProcessorCache::kTypeExtendedManaged,
110  ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker> {
111 };
112 #else
113 
114 // NOTE: The following typedef seems shorter and easier to maintain. The
115 // problem is that it makes error messages basically impossible to decipher
116 // because the immensely long full template class name is printed out. There
117 // seems to be no difference in code size between the two. The compiler seems
118 // to optimize away the vtables of the parent and child classes.
119 
120 template<uint8_t SIZE>
122  SIZE, ZoneProcessorCache::kTypeBasicManaged,
124 
125 template<uint8_t SIZE>
127  SIZE, ZoneProcessorCache::kTypeExtendedManaged,
129 #endif
130 
131 }
132 
133 #endif
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
-
uint8_t getType() override
Return the type of this cache.
- - - -
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
-
virtual ZoneProcessor * getZoneProcessor(const void *zoneInfo)=0
Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.
-
ZoneProcessor * getZoneProcessor(const void *zoneInfo) override
Get the ZoneProcessor from the zoneInfo.
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
virtual uint8_t getType()=0
Return the type of this cache.
-
An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.
-
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database...
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
-
Common interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache.
-
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONE_PROCESSOR_CACHE_H
+
7 #define ACE_TIME_ZONE_PROCESSOR_CACHE_H
+
8 
+
9 #include "common/common.h"
+
10 #include "TimeOffset.h"
+
11 #include "OffsetDateTime.h"
+
12 #include "BasicZoneProcessor.h"
+
13 #include "ExtendedZoneProcessor.h"
+
14 #include "ZoneRegistrar.h"
+
15 
+
16 namespace ace_time {
+
17 
+ +
25  public:
+
26  static const uint8_t kTypeBasicManaged = ZoneProcessor::kTypeBasic + 2;
+
27  static const uint8_t kTypeExtendedManaged =
+ +
29 
+
31  virtual uint8_t getType() = 0;
+
32 
+
39  virtual ZoneProcessor* getZoneProcessor(const void* zoneInfo) = 0;
+
40 };
+
41 
+
56 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+ +
58  public:
+ +
60 
+
61  uint8_t getType() override { return TYPE; }
+
62 
+
64  ZoneProcessor* getZoneProcessor(const void* zoneInfo) override {
+
65  ZS* zoneProcessor = findUsingZoneInfo((const ZI*) zoneInfo);
+
66  if (zoneProcessor) return zoneProcessor;
+
67 
+
68  // Allocate the next ZoneProcessor in the cache using round-robin.
+
69  zoneProcessor = &mZoneProcessors[mCurrentIndex];
+
70  mCurrentIndex++;
+
71  if (mCurrentIndex >= SIZE) mCurrentIndex = 0;
+
72  zoneProcessor->setZoneInfo((const ZI*) zoneInfo);
+
73  return zoneProcessor;
+
74  }
+
75 
+
76  private:
+
77  // disable copy constructor and assignment operator
+ +
79  ZoneProcessorCacheImpl& operator=(const ZoneProcessorCacheImpl&) = delete;
+
80 
+
86  ZS* findUsingZoneInfo(const ZI* zoneInfoKey) {
+
87  for (uint8_t i = 0; i < SIZE; i++) {
+
88  const ZI* zoneInfo = (const ZI*) mZoneProcessors[i].getZoneInfo();
+
89  if (zoneInfo == zoneInfoKey) {
+
90  return &mZoneProcessors[i];
+
91  }
+
92  }
+
93  return nullptr;
+
94  }
+
95 
+
96  ZS mZoneProcessors[SIZE];
+
97  uint8_t mCurrentIndex = 0;
+
98 };
+
99 
+
100 #if 1
+
101 template<uint8_t SIZE>
+ +
103  SIZE, ZoneProcessorCache::kTypeBasicManaged,
+
104  BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker> {
+
105 };
+
106 
+
107 template<uint8_t SIZE>
+ +
109  SIZE, ZoneProcessorCache::kTypeExtendedManaged,
+
110  ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker> {
+
111 };
+
112 #else
+
113 
+
114 // NOTE: The following typedef seems shorter and easier to maintain. The
+
115 // problem is that it makes error messages basically impossible to decipher
+
116 // because the immensely long full template class name is printed out. There
+
117 // seems to be no difference in code size between the two. The compiler seems
+
118 // to optimize away the vtables of the parent and child classes.
+
119 
+
120 template<uint8_t SIZE>
+ +
122  SIZE, ZoneProcessorCache::kTypeBasicManaged,
+
123  BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker>;
+
124 
+
125 template<uint8_t SIZE>
+ +
127  SIZE, ZoneProcessorCache::kTypeExtendedManaged,
+
128  ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker>;
+
129 #endif
+
130 
+
131 }
+
132 
+
133 #endif
+
virtual ZoneProcessor * getZoneProcessor(const void *zoneInfo)=0
Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.
+
ZoneProcessor * getZoneProcessor(const void *zoneInfo) override
Get the ZoneProcessor from the zoneInfo.
+ +
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
+
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
+ +
An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.
+
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
+
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
+
virtual uint8_t getType()=0
Return the type of this cache.
+
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
+
Common interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache.
+
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
+
An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.
diff --git a/docs/html/ZoneProcessor_8h_source.html b/docs/html/ZoneProcessor_8h_source.html index 06b7dd70f..d2710ef7a 100644 --- a/docs/html/ZoneProcessor_8h_source.html +++ b/docs/html/ZoneProcessor_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ZoneProcessor.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ZoneProcessor.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZoneProcessor.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONE_PROCESSOR_H
7 #define ACE_TIME_ZONE_PROCESSOR_H
8 
9 #include "common/common.h"
10 #include "TimeOffset.h"
11 #include "OffsetDateTime.h"
12 
13 class Print;
14 
15 namespace ace_time {
16 
17 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
18 class ZoneProcessorCacheImpl;
19 
20 class LocalDateTime;
21 class TimeZone;
22 
46  public:
51  static const uint8_t kTypeBasic = 2;
52 
57  static const uint8_t kTypeExtended = 3;
58 
60  uint8_t getType() const { return mType; }
61 
63  virtual const void* getZoneInfo() const = 0;
64 
66  virtual uint32_t getZoneId() const = 0;
67 
72  virtual TimeOffset getUtcOffset(acetime_t epochSeconds) const = 0;
73 
79  virtual TimeOffset getDeltaOffset(acetime_t epochSeconds) const = 0;
80 
91  virtual const char* getAbbrev(acetime_t epochSeconds) const = 0;
92 
101  const = 0;
102 
104  virtual void printTo(Print& printer) const = 0;
105 
107  virtual void printShortTo(Print& printer) const = 0;
108 
109  protected:
110  friend bool operator==(const ZoneProcessor& a, const ZoneProcessor& b);
111 
112  friend class TimeZone; // setZoneInfo()
113 
114  template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
115  friend class ZoneProcessorCacheImpl; // setZoneInfo()
116 
117  // Disable copy constructor and assignment operator.
118  ZoneProcessor(const ZoneProcessor&) = delete;
119  ZoneProcessor& operator=(const ZoneProcessor&) = delete;
120 
122  ZoneProcessor(uint8_t type):
123  mType(type) {}
124 
126  virtual bool equals(const ZoneProcessor& other) const = 0;
127 
129  virtual void setZoneInfo(const void* zoneInfo) = 0;
130 
131  uint8_t mType;
132 };
133 
134 inline bool operator==(const ZoneProcessor& a, const ZoneProcessor& b) {
135  if (a.mType != b.mType) return false;
136  return a.equals(b);
137 }
138 
139 inline bool operator!=(const ZoneProcessor& a, const ZoneProcessor& b) {
140  return ! (a == b);
141 }
142 
143 }
144 
145 #endif
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
-
virtual TimeOffset getDeltaOffset(acetime_t epochSeconds) const =0
Return the DST delta offset at epochSeconds.
- -
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
-
uint8_t getType() const
Return the kTypeXxx of the current instance.
Definition: ZoneProcessor.h:60
-
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
-
virtual const void * getZoneInfo() const =0
Return the opaque zoneInfo.
-
virtual bool equals(const ZoneProcessor &other) const =0
Return true if equal.
-
virtual void printShortTo(Print &printer) const =0
Print a short human-readable identifier (e.g.
-
virtual TimeOffset getUtcOffset(acetime_t epochSeconds) const =0
Return the total UTC offset at epochSeconds, including DST offset.
-
virtual void setZoneInfo(const void *zoneInfo)=0
Set the opaque zoneInfo.
-
virtual const char * getAbbrev(acetime_t epochSeconds) const =0
Return the time zone abbreviation at epochSeconds.
-
virtual void printTo(Print &printer) const =0
Print a human-readable identifier (e.g.
-
virtual uint32_t getZoneId() const =0
Return the unique stable zoneId.
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
Class that describes a time zone.
Definition: TimeZone.h:82
-
ZoneProcessor(uint8_t type)
Constructor.
-
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
-
virtual OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const =0
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the cur...
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONE_PROCESSOR_H
+
7 #define ACE_TIME_ZONE_PROCESSOR_H
+
8 
+
9 #include "common/common.h"
+
10 #include "TimeOffset.h"
+
11 #include "OffsetDateTime.h"
+
12 
+
13 class Print;
+
14 
+
15 namespace ace_time {
+
16 
+
17 template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+
18 class ZoneProcessorCacheImpl;
+
19 
+
20 class LocalDateTime;
+
21 class TimeZone;
+
22 
+ +
46  public:
+
51  static const uint8_t kTypeBasic = 2;
+
52 
+
57  static const uint8_t kTypeExtended = 3;
+
58 
+
60  uint8_t getType() const { return mType; }
+
61 
+
63  virtual const void* getZoneInfo() const = 0;
+
64 
+
66  virtual uint32_t getZoneId() const = 0;
+
67 
+
72  virtual TimeOffset getUtcOffset(acetime_t epochSeconds) const = 0;
+
73 
+
79  virtual TimeOffset getDeltaOffset(acetime_t epochSeconds) const = 0;
+
80 
+
91  virtual const char* getAbbrev(acetime_t epochSeconds) const = 0;
+
92 
+ +
101  const = 0;
+
102 
+
104  virtual void printTo(Print& printer) const = 0;
+
105 
+
107  virtual void printShortTo(Print& printer) const = 0;
+
108 
+
109  protected:
+
110  friend bool operator==(const ZoneProcessor& a, const ZoneProcessor& b);
+
111 
+
112  friend class TimeZone; // setZoneInfo()
+
113 
+
114  template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
+
115  friend class ZoneProcessorCacheImpl; // setZoneInfo()
+
116 
+
117  // Disable copy constructor and assignment operator.
+
118  ZoneProcessor(const ZoneProcessor&) = delete;
+
119  ZoneProcessor& operator=(const ZoneProcessor&) = delete;
+
120 
+
122  ZoneProcessor(uint8_t type):
+
123  mType(type) {}
+
124 
+
126  virtual bool equals(const ZoneProcessor& other) const = 0;
+
127 
+
129  virtual void setZoneInfo(const void* zoneInfo) = 0;
+
130 
+
131  uint8_t mType;
+
132 };
+
133 
+
134 inline bool operator==(const ZoneProcessor& a, const ZoneProcessor& b) {
+
135  if (a.mType != b.mType) return false;
+
136  return a.equals(b);
+
137 }
+
138 
+
139 inline bool operator!=(const ZoneProcessor& a, const ZoneProcessor& b) {
+
140  return ! (a == b);
+
141 }
+
142 
+
143 }
+
144 
+
145 #endif
+
virtual bool equals(const ZoneProcessor &other) const =0
Return true if equal.
+
virtual void setZoneInfo(const void *zoneInfo)=0
Set the opaque zoneInfo.
+
static const uint8_t kTypeBasic
Indicate BasicZoneProcessor.
Definition: ZoneProcessor.h:51
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
virtual uint32_t getZoneId() const =0
Return the unique stable zoneId.
+
ZoneProcessor(uint8_t type)
Constructor.
+
static const uint8_t kTypeExtended
Indicate ExtendedZoneProcessor.
Definition: ZoneProcessor.h:57
+
virtual const void * getZoneInfo() const =0
Return the opaque zoneInfo.
+
uint8_t getType() const
Return the kTypeXxx of the current instance.
Definition: ZoneProcessor.h:60
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
virtual TimeOffset getDeltaOffset(acetime_t epochSeconds) const =0
Return the DST delta offset at epochSeconds.
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+
virtual const char * getAbbrev(acetime_t epochSeconds) const =0
Return the time zone abbreviation at epochSeconds.
+
Base interface for ZoneProcessor classes.
Definition: ZoneProcessor.h:45
+
virtual TimeOffset getUtcOffset(acetime_t epochSeconds) const =0
Return the total UTC offset at epochSeconds, including DST offset.
+
virtual void printShortTo(Print &printer) const =0
Print a short human-readable identifier (e.g.
+
Class that describes a time zone.
Definition: TimeZone.h:82
+
A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.
+
virtual void printTo(Print &printer) const =0
Print a human-readable identifier (e.g.
+
virtual OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const =0
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the cur...
diff --git a/docs/html/ZoneRegistrar_8h_source.html b/docs/html/ZoneRegistrar_8h_source.html index d4bb97021..619d9b599 100644 --- a/docs/html/ZoneRegistrar_8h_source.html +++ b/docs/html/ZoneRegistrar_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ZoneRegistrar.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ZoneRegistrar.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZoneRegistrar.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2019 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONE_REGISTRAR_H
7 #define ACE_TIME_ZONE_REGISTRAR_H
8 
9 #include <stdint.h>
10 #include <string.h> // strcmp(), strcmp_P()
11 #include "common/compat.h"
12 #include "internal/ZoneInfo.h"
13 #include "internal/Brokers.h"
14 
15 class BasicZoneRegistrarTest_Sorted_isSorted;
16 class BasicZoneRegistrarTest_Sorted_linearSearch;
17 class BasicZoneRegistrarTest_Sorted_linearSearch_not_found;
18 class BasicZoneRegistrarTest_Sorted_binarySearch;
19 class BasicZoneRegistrarTest_Sorted_binarySearch_not_found;
20 class BasicZoneRegistrarTest_Unsorted_isSorted;
21 class BasicZoneRegistrarTest_Unsorted_linearSearch;
22 
23 namespace ace_time {
24 
26 typedef int (*strcmp_t)(const char*, const char*);
27 
40 template<typename ZI, typename ZRB, typename ZIB, strcmp_t STRCMP_P,
41  strcmp_t STRCMP_PP>
43  public:
45  ZoneRegistrar(uint16_t registrySize, const ZI* const* zoneRegistry):
46  mRegistrySize(registrySize),
47  mZoneRegistry(zoneRegistry),
48  mIsSorted(isSorted(zoneRegistry, registrySize)) {}
49 
51  uint16_t registrySize() const { return mRegistrySize; }
52 
57  bool isSorted() const { return mIsSorted; }
58 
59  /* Return the ZoneInfo at index i. Return nullptr if i is out of range. */
60  const ZI* getZoneInfoForIndex(uint16_t i) const {
61  return (i < mRegistrySize) ? ZRB(mZoneRegistry).zoneInfo(i) : nullptr;
62  }
63 
68  const ZI* getZoneInfoForName(const char* name) const {
69  if (mIsSorted && mRegistrySize >= kBinarySearchThreshold) {
70  return binarySearch(mZoneRegistry, mRegistrySize, name);
71  } else {
72  return linearSearch(mZoneRegistry, mRegistrySize, name);
73  }
74  }
75 
76  /* Return the ZoneInfo using the zoneId. Return nullptr if not found. */
77  const ZI* getZoneInfoForId(uint32_t zoneId) const {
78  return linearSearchUsingId(mZoneRegistry, mRegistrySize, zoneId);
79  }
80 
81  protected:
82  friend class ::BasicZoneRegistrarTest_Sorted_isSorted;
83  friend class ::BasicZoneRegistrarTest_Sorted_linearSearch;
84  friend class ::BasicZoneRegistrarTest_Sorted_linearSearch_not_found;
85  friend class ::BasicZoneRegistrarTest_Sorted_binarySearch;
86  friend class ::BasicZoneRegistrarTest_Sorted_binarySearch_not_found;
87  friend class ::BasicZoneRegistrarTest_Unsorted_isSorted;
88  friend class ::BasicZoneRegistrarTest_Unsorted_linearSearch;
89 
91  static const uint8_t kBinarySearchThreshold = 6;
92 
93  static bool isSorted(const ZI* const* zr, uint16_t registrySize) {
94  if (registrySize == 0) {
95  return false;
96  }
97 
98  const ZRB zoneRegistry(zr);
99  const char* prevName = ZIB(zoneRegistry.zoneInfo(0)).name();
100  for (uint16_t i = 1; i < registrySize; ++i) {
101  const char* currName = ZIB(zoneRegistry.zoneInfo(i)).name();
102  if (STRCMP_PP(prevName, currName) > 0) {
103  return false;
104  }
105  prevName = currName;
106  }
107  return true;
108  }
109 
110  static const ZI* linearSearch(const ZI* const* zr,
111  uint16_t registrySize, const char* name) {
112  const ZRB zoneRegistry(zr);
113  for (uint16_t i = 0; i < registrySize; ++i) {
114  const ZI* zoneInfo = zoneRegistry.zoneInfo(i);
115  if (STRCMP_P(name, ZIB(zoneInfo).name()) == 0) {
116  return zoneInfo;
117  }
118  }
119  return nullptr;
120  }
121 
122  static const ZI* binarySearch(const ZI* const* zr,
123  uint16_t registrySize, const char* name) {
124  uint16_t a = 0;
125  uint16_t b = registrySize - 1;
126  const ZRB zoneRegistry(zr);
127  while (true) {
128  uint16_t c = (a + b) / 2;
129  const ZI* zoneInfo = zoneRegistry.zoneInfo(c);
130  int8_t compare = STRCMP_P(name, ZIB(zoneInfo).name());
131  if (compare == 0) return zoneInfo;
132  if (a == b) return nullptr;
133  if (compare < 0) {
134  b = c - 1;
135  } else {
136  a = c + 1;
137  }
138  }
139  }
140 
141  static const ZI* linearSearchUsingId(const ZI* const* zr,
142  uint16_t registrySize, uint32_t zoneId) {
143  const ZRB zoneRegistry(zr);
144  for (uint16_t i = 0; i < registrySize; ++i) {
145  const ZI* zoneInfo = zoneRegistry.zoneInfo(i);
146  if (zoneId == ZIB(zoneInfo).zoneId()) {
147  return zoneInfo;
148  }
149  }
150  return nullptr;
151  }
152 
153  uint16_t const mRegistrySize;
154  const ZI* const* const mZoneRegistry;
155  bool const mIsSorted;
156 };
157 
162 #if ACE_TIME_USE_PROGMEM
164  basic::ZoneInfoBroker, acetime_strcmp_P, acetime_strcmp_PP>
166 #else
167 typedef ZoneRegistrar<basic::ZoneInfo, basic::ZoneRegistryBroker,
168  basic::ZoneInfoBroker, strcmp, strcmp> BasicZoneRegistrar;
169 #endif
170 
175 #if ACE_TIME_USE_PROGMEM
177  extended::ZoneInfoBroker, acetime_strcmp_P, acetime_strcmp_PP>
179 #else
180 typedef ZoneRegistrar<extended::ZoneInfo, extended::ZoneRegistryBroker,
181  extended::ZoneInfoBroker, strcmp, strcmp> ExtendedZoneRegistrar;
182 #endif
183 
184 }
185 
186 #endif
Data broker for accessing the ZoneRegistry.
Definition: Brokers.h:376
- -
Class that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g.
Definition: ZoneRegistrar.h:42
-
const ZI * getZoneInfoForName(const char *name) const
Return the ZoneInfo corresponding to the given zone name.
Definition: ZoneRegistrar.h:68
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
Representation of a given time zone, implemented as an array of ZoneEra records.
Definition: ZoneInfo.h:100
-
bool isSorted() const
Return true if zoneRegistry is sorted, and eligible to use a binary search.
Definition: ZoneRegistrar.h:57
-
int acetime_strcmp_PP(const char *a, const char *b)
Compare 2 strings in flash memory.
Definition: compat.cpp:36
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:670
-
The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb...
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
ZoneRegistrar(uint16_t registrySize, const ZI *const *zoneRegistry)
Constructor.
Definition: ZoneRegistrar.h:45
-
Data broker for accessing the ZoneRegistry.
Definition: Brokers.h:740
-
static const uint8_t kBinarySearchThreshold
Use binarySearch() if registrySize >= threshold.
Definition: ZoneRegistrar.h:91
-
uint16_t registrySize() const
Return the number of zones.
Definition: ZoneRegistrar.h:51
-
Data broker for accessing ZoneInfo.
Definition: Brokers.h:306
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2019 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONE_REGISTRAR_H
+
7 #define ACE_TIME_ZONE_REGISTRAR_H
+
8 
+
9 #include <stdint.h>
+
10 #include <string.h> // strcmp(), strcmp_P()
+
11 #include "common/compat.h"
+
12 #include "internal/ZoneInfo.h"
+
13 #include "internal/Brokers.h"
+
14 
+
15 class BasicZoneRegistrarTest_Sorted_isSorted;
+
16 class BasicZoneRegistrarTest_Sorted_linearSearch;
+
17 class BasicZoneRegistrarTest_Sorted_linearSearch_not_found;
+
18 class BasicZoneRegistrarTest_Sorted_binarySearch;
+
19 class BasicZoneRegistrarTest_Sorted_binarySearch_not_found;
+
20 class BasicZoneRegistrarTest_Unsorted_isSorted;
+
21 class BasicZoneRegistrarTest_Unsorted_linearSearch;
+
22 
+
23 namespace ace_time {
+
24 
+
26 typedef int (*strcmp_t)(const char*, const char*);
+
27 
+
40 template<typename ZI, typename ZRB, typename ZIB, strcmp_t STRCMP_P,
+
41  strcmp_t STRCMP_PP>
+ +
43  public:
+
45  ZoneRegistrar(uint16_t registrySize, const ZI* const* zoneRegistry):
+
46  mRegistrySize(registrySize),
+
47  mZoneRegistry(zoneRegistry),
+
48  mIsSorted(isSorted(zoneRegistry, registrySize)) {}
+
49 
+
51  uint16_t registrySize() const { return mRegistrySize; }
+
52 
+
57  bool isSorted() const { return mIsSorted; }
+
58 
+
59  /* Return the ZoneInfo at index i. Return nullptr if i is out of range. */
+
60  const ZI* getZoneInfoForIndex(uint16_t i) const {
+
61  return (i < mRegistrySize) ? ZRB(mZoneRegistry).zoneInfo(i) : nullptr;
+
62  }
+
63 
+
68  const ZI* getZoneInfoForName(const char* name) const {
+
69  if (mIsSorted && mRegistrySize >= kBinarySearchThreshold) {
+
70  return binarySearch(mZoneRegistry, mRegistrySize, name);
+
71  } else {
+
72  return linearSearch(mZoneRegistry, mRegistrySize, name);
+
73  }
+
74  }
+
75 
+
76  /* Return the ZoneInfo using the zoneId. Return nullptr if not found. */
+
77  const ZI* getZoneInfoForId(uint32_t zoneId) const {
+
78  return linearSearchUsingId(mZoneRegistry, mRegistrySize, zoneId);
+
79  }
+
80 
+
81  protected:
+
82  friend class ::BasicZoneRegistrarTest_Sorted_isSorted;
+
83  friend class ::BasicZoneRegistrarTest_Sorted_linearSearch;
+
84  friend class ::BasicZoneRegistrarTest_Sorted_linearSearch_not_found;
+
85  friend class ::BasicZoneRegistrarTest_Sorted_binarySearch;
+
86  friend class ::BasicZoneRegistrarTest_Sorted_binarySearch_not_found;
+
87  friend class ::BasicZoneRegistrarTest_Unsorted_isSorted;
+
88  friend class ::BasicZoneRegistrarTest_Unsorted_linearSearch;
+
89 
+
91  static const uint8_t kBinarySearchThreshold = 6;
+
92 
+
93  static bool isSorted(const ZI* const* zr, uint16_t registrySize) {
+
94  if (registrySize == 0) {
+
95  return false;
+
96  }
+
97 
+
98  const ZRB zoneRegistry(zr);
+
99  const char* prevName = ZIB(zoneRegistry.zoneInfo(0)).name();
+
100  for (uint16_t i = 1; i < registrySize; ++i) {
+
101  const char* currName = ZIB(zoneRegistry.zoneInfo(i)).name();
+
102  if (STRCMP_PP(prevName, currName) > 0) {
+
103  return false;
+
104  }
+
105  prevName = currName;
+
106  }
+
107  return true;
+
108  }
+
109 
+
110  static const ZI* linearSearch(const ZI* const* zr,
+
111  uint16_t registrySize, const char* name) {
+
112  const ZRB zoneRegistry(zr);
+
113  for (uint16_t i = 0; i < registrySize; ++i) {
+
114  const ZI* zoneInfo = zoneRegistry.zoneInfo(i);
+
115  if (STRCMP_P(name, ZIB(zoneInfo).name()) == 0) {
+
116  return zoneInfo;
+
117  }
+
118  }
+
119  return nullptr;
+
120  }
+
121 
+
122  static const ZI* binarySearch(const ZI* const* zr,
+
123  uint16_t registrySize, const char* name) {
+
124  uint16_t a = 0;
+
125  uint16_t b = registrySize - 1;
+
126  const ZRB zoneRegistry(zr);
+
127  while (true) {
+
128  uint16_t c = (a + b) / 2;
+
129  const ZI* zoneInfo = zoneRegistry.zoneInfo(c);
+
130  int8_t compare = STRCMP_P(name, ZIB(zoneInfo).name());
+
131  if (compare == 0) return zoneInfo;
+
132  if (a == b) return nullptr;
+
133  if (compare < 0) {
+
134  b = c - 1;
+
135  } else {
+
136  a = c + 1;
+
137  }
+
138  }
+
139  }
+
140 
+
141  static const ZI* linearSearchUsingId(const ZI* const* zr,
+
142  uint16_t registrySize, uint32_t zoneId) {
+
143  const ZRB zoneRegistry(zr);
+
144  for (uint16_t i = 0; i < registrySize; ++i) {
+
145  const ZI* zoneInfo = zoneRegistry.zoneInfo(i);
+
146  if (zoneId == ZIB(zoneInfo).zoneId()) {
+
147  return zoneInfo;
+
148  }
+
149  }
+
150  return nullptr;
+
151  }
+
152 
+
153  uint16_t const mRegistrySize;
+
154  const ZI* const* const mZoneRegistry;
+
155  bool const mIsSorted;
+
156 };
+
157 
+
162 #if ACE_TIME_USE_PROGMEM
+
163 typedef ZoneRegistrar<basic::ZoneInfo, basic::ZoneRegistryBroker,
+
164  basic::ZoneInfoBroker, acetime_strcmp_P, acetime_strcmp_PP>
+
165  BasicZoneRegistrar;
+
166 #else
+
167 typedef ZoneRegistrar<basic::ZoneInfo, basic::ZoneRegistryBroker,
+
168  basic::ZoneInfoBroker, strcmp, strcmp> BasicZoneRegistrar;
+
169 #endif
+
170 
+
175 #if ACE_TIME_USE_PROGMEM
+
176 typedef ZoneRegistrar<extended::ZoneInfo, extended::ZoneRegistryBroker,
+
177  extended::ZoneInfoBroker, acetime_strcmp_P, acetime_strcmp_PP>
+
178  ExtendedZoneRegistrar;
+
179 #else
+
180 typedef ZoneRegistrar<extended::ZoneInfo, extended::ZoneRegistryBroker,
+
181  extended::ZoneInfoBroker, strcmp, strcmp> ExtendedZoneRegistrar;
+
182 #endif
+
183 
+
184 }
+
185 
+
186 #endif
+
static const uint8_t kBinarySearchThreshold
Use binarySearch() if registrySize >= threshold.
Definition: ZoneRegistrar.h:91
+ +
Class that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g.
Definition: ZoneRegistrar.h:42
+ +
bool isSorted() const
Return true if zoneRegistry is sorted, and eligible to use a binary search.
Definition: ZoneRegistrar.h:57
+
ZoneRegistrar(uint16_t registrySize, const ZI *const *zoneRegistry)
Constructor.
Definition: ZoneRegistrar.h:45
+
const ZI * getZoneInfoForName(const char *name) const
Return the ZoneInfo corresponding to the given zone name.
Definition: ZoneRegistrar.h:68
+
uint16_t registrySize() const
Return the number of zones.
Definition: ZoneRegistrar.h:51
+
int acetime_strcmp_PP(const char *a, const char *b)
Compare 2 strings in flash memory.
Definition: compat.cpp:36
diff --git a/docs/html/ZonedDateTime_8cpp_source.html b/docs/html/ZonedDateTime_8cpp_source.html index 080973b61..8ee2cd816 100644 --- a/docs/html/ZonedDateTime_8cpp_source.html +++ b/docs/html/ZonedDateTime_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ZonedDateTime.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ZonedDateTime.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZonedDateTime.cpp
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #include "common/util.h"
7 #include "common/DateStrings.h"
8 #include "ZonedDateTime.h"
9 
10 namespace ace_time {
11 
12 using common::printPad2;
13 
14 // Print ZonedDateTime in ISO 8601 format
15 void ZonedDateTime::printTo(Print& printer) const {
16  if (isError()) {
17  printer.print(F("<Invalid ZonedDateTime>"));
18  return;
19  }
20 
21  mOffsetDateTime.printTo(printer);
22  printer.print('[');
23  mTimeZone.printTo(printer);
24  printer.print(']');
25 }
26 
27 }
-
void printTo(Print &printer) const
Print OffsetDateTime to &#39;printer&#39; in ISO 8601 format.
-
void printTo(Print &printer) const
Print the human readable representation of the time zone.
Definition: TimeZone.cpp:12
-
bool isError() const
Return true if any component indicates an error condition.
-
void printTo(Print &printer) const
Print ZonedDateTime to &#39;printer&#39;.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #include "common/util.h"
+
7 #include "common/DateStrings.h"
+
8 #include "ZonedDateTime.h"
+
9 
+
10 namespace ace_time {
+
11 
+
12 using common::printPad2;
+
13 
+
14 // Print ZonedDateTime in ISO 8601 format
+
15 void ZonedDateTime::printTo(Print& printer) const {
+
16  if (isError()) {
+
17  printer.print(F("<Invalid ZonedDateTime>"));
+
18  return;
+
19  }
+
20 
+
21  mOffsetDateTime.printTo(printer);
+
22  printer.print('[');
+
23  mTimeZone.printTo(printer);
+
24  printer.print(']');
+
25 }
+
26 
+
27 }
+
void printTo(Print &printer) const
Print OffsetDateTime to 'printer' in ISO 8601 format.
+
void printTo(Print &printer) const
Print the human readable representation of the time zone.
Definition: TimeZone.cpp:12
+
void printTo(Print &printer) const
Print ZonedDateTime to 'printer'.
+
bool isError() const
Return true if any component indicates an error condition.
diff --git a/docs/html/ZonedDateTime_8h_source.html b/docs/html/ZonedDateTime_8h_source.html index 7015cee27..e4f8b0e10 100644 --- a/docs/html/ZonedDateTime_8h_source.html +++ b/docs/html/ZonedDateTime_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/ZonedDateTime.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/ZonedDateTime.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
ZonedDateTime.h
-
1 /*
2  * MIT License
3  * Copyright (c) 2018 Brian T. Park
4  */
5 
6 #ifndef ACE_TIME_ZONED_DATE_TIME_H
7 #define ACE_TIME_ZONED_DATE_TIME_H
8 
9 #include <stdint.h>
10 #include "common/compat.h"
11 #include "OffsetDateTime.h"
12 #include "TimeZone.h"
13 
14 class Print;
15 
16 namespace ace_time {
17 
33  public:
51  static ZonedDateTime forComponents(int16_t year, uint8_t month, uint8_t day,
52  uint8_t hour, uint8_t minute, uint8_t second,
53  const TimeZone& timeZone) {
55  year, month, day, hour, minute, second);
56  auto odt = timeZone.getOffsetDateTime(ldt);
57  return ZonedDateTime(odt, timeZone);
58  }
59 
71  static ZonedDateTime forEpochSeconds(acetime_t epochSeconds,
72  const TimeZone& timeZone) {
73  OffsetDateTime odt;
74  if (epochSeconds == LocalDate::kInvalidEpochSeconds) {
76  } else {
77  TimeOffset timeOffset = timeZone.getUtcOffset(epochSeconds);
78  odt = OffsetDateTime::forEpochSeconds(epochSeconds, timeOffset);
79  }
80  return ZonedDateTime(odt, timeZone);
81  }
82 
92  static ZonedDateTime forUnixSeconds(acetime_t unixSeconds,
93  const TimeZone& timeZone) {
94  acetime_t epochSeconds = (unixSeconds == LocalDate::kInvalidEpochSeconds)
95  ? unixSeconds
96  : unixSeconds - LocalDate::kSecondsSinceUnixEpoch;
97  return forEpochSeconds(epochSeconds, timeZone);
98  }
99 
113  static ZonedDateTime forDateString(const char* dateString) {
116  }
117 
122  static ZonedDateTime forDateString(const __FlashStringHelper* dateString) {
125  }
126 
130  }
131 
133  explicit ZonedDateTime() {}
134 
136  bool isError() const { return mOffsetDateTime.isError(); }
137 
139  int16_t year() const { return mOffsetDateTime.year(); }
140 
142  void year(int16_t year) { mOffsetDateTime.year(year); }
143 
149  int8_t yearTiny() const { return mOffsetDateTime.yearTiny(); }
150 
156  void yearTiny(int8_t yearTiny) { mOffsetDateTime.yearTiny(yearTiny); }
157 
159  uint8_t month() const { return mOffsetDateTime.month(); }
160 
162  void month(uint8_t month) { mOffsetDateTime.month(month); }
163 
165  uint8_t day() const { return mOffsetDateTime.day(); }
166 
168  void day(uint8_t day) { mOffsetDateTime.day(day); }
169 
171  uint8_t hour() const { return mOffsetDateTime.hour(); }
172 
174  void hour(uint8_t hour) { mOffsetDateTime.hour(hour); }
175 
177  uint8_t minute() const { return mOffsetDateTime.minute(); }
178 
180  void minute(uint8_t minute) { mOffsetDateTime.minute(minute); }
181 
183  uint8_t second() const { return mOffsetDateTime.second(); }
184 
186  void second(uint8_t second) { mOffsetDateTime.second(second); }
187 
192  uint8_t dayOfWeek() const { return mOffsetDateTime.dayOfWeek(); }
193 
195  TimeOffset timeOffset() const { return mOffsetDateTime.timeOffset(); }
196 
198  const TimeZone& timeZone() const { return mTimeZone; }
199 
204  void timeZone(const TimeZone& timeZone) { mTimeZone = timeZone; }
205 
207  const LocalDateTime& localDateTime() const {
208  return mOffsetDateTime.localDateTime();
209  }
210 
216  acetime_t epochSeconds = toEpochSeconds();
217  return ZonedDateTime::forEpochSeconds(epochSeconds, timeZone);
218  }
219 
224  acetime_t toEpochDays() const {
225  return mOffsetDateTime.toEpochDays();
226  }
227 
229  acetime_t toUnixDays() const {
232  }
233 
242  acetime_t toEpochSeconds() const {
243  return mOffsetDateTime.toEpochSeconds();
244  }
245 
253  acetime_t toUnixSeconds() const {
254  return mOffsetDateTime.toUnixSeconds();
255  }
256 
264  int8_t compareTo(const ZonedDateTime& that) const {
265  return mOffsetDateTime.compareTo(that.mOffsetDateTime);
266  }
267 
273  void printTo(Print& printer) const;
274 
275  // Use default copy constructor and assignment operator.
276  ZonedDateTime(const ZonedDateTime&) = default;
277  ZonedDateTime& operator=(const ZonedDateTime&) = default;
278 
279  private:
281  static const uint8_t kDateStringLength = 25;
282 
283  friend bool operator==(const ZonedDateTime& a, const ZonedDateTime& b);
284 
286  ZonedDateTime(const OffsetDateTime& offsetDateTime, const TimeZone& tz):
287  mOffsetDateTime(offsetDateTime),
288  mTimeZone(tz) {}
289 
290  OffsetDateTime mOffsetDateTime;
291  TimeZone mTimeZone;
292 };
293 
301 inline bool operator==(const ZonedDateTime& a, const ZonedDateTime& b) {
302  return a.mOffsetDateTime == b.mOffsetDateTime
303  && a.mTimeZone == b.mTimeZone;
304 }
305 
307 inline bool operator!=(const ZonedDateTime& a, const ZonedDateTime& b) {
308  return ! (a == b);
309 }
310 
311 }
312 
313 #endif
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:69
-
uint8_t dayOfWeek() const
Return the day of the week using ISO 8601 numbering where Monday=1 and Sunday=7.
-
uint8_t minute() const
Return the minute.
-
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z)...
Definition: LocalDate.h:75
-
uint8_t second() const
Return the second.
-
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
-
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offse...
- -
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
-
TimeOffset timeOffset() const
Return the offset zone of the OffsetDateTime.
-
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
-
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time zone...
-
uint8_t month() const
Return the month with January=1, December=12.
-
uint8_t hour() const
Return the hour.
-
uint8_t day() const
Return the day of the month.
-
void second(uint8_t second)
Set the second.
-
void hour(uint8_t hour)
Set the hour.
-
acetime_t toUnixSeconds() const
Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.
-
void day(uint8_t day)
Set the day of the month.
-
acetime_t toUnixSeconds() const
Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.
-
int8_t compareTo(const OffsetDateTime &that) const
Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether ...
-
static ZonedDateTime forError()
Return an instance whose isError() returns true.
-
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone...
Definition: TimeZone.h:285
-
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
-
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
-
const TimeZone & timeZone() const
Return the time zone of the ZonedDateTime.
-
TimeOffset timeOffset() const
Return the offset zone of the OffsetDateTime.
-
static ZonedDateTime forDateString(const char *dateString)
Factory method.
-
void year(int16_t year)
Set the year given the full year.
-
static ZonedDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, const TimeZone &timeZone)
Factory method using separated date, time, and time zone fields.
Definition: ZonedDateTime.h:51
-
int16_t year() const
Return the year.
-
const LocalDateTime & localDateTime() const
Return the LocalDateTime of the components.
-
uint8_t hour() const
Return the hour.
-
const LocalDateTime & localDateTime() const
Return the LocalDateTime.
-
int8_t compareTo(const ZonedDateTime &that) const
Compare this ZonedDateTime with another ZonedDateTime, and return (<0, 0, >0) according to whether th...
-
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
-
uint8_t month() const
Return the month with January=1, December=12.
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone...
-
bool isError() const
Return true if any component indicates an error condition.
-
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC...
Definition: TimeOffset.h:56
-
static ZonedDateTime forEpochSeconds(acetime_t epochSeconds, const TimeZone &timeZone)
Factory method.
Definition: ZonedDateTime.h:71
-
static TimeZone forTimeOffset(TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
Factory method to create from a UTC offset and an optional DST offset.
Definition: TimeZone.h:104
-
Class that describes a time zone.
Definition: TimeZone.h:82
-
The date (year, month, day), time (hour, minute, second), and a timeZone representing an instant in t...
Definition: ZonedDateTime.h:32
-
void printTo(Print &printer) const
Print ZonedDateTime to &#39;printer&#39;.
-
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time ...
-
ZonedDateTime convertToTimeZone(const TimeZone &timeZone) const
Create a ZonedDateTime in a different time zone (with the same epochSeconds).
-
void minute(uint8_t minute)
Set the minute.
-
static ZonedDateTime forDateString(const __FlashStringHelper *dateString)
Factory method.
-
static ZonedDateTime forUnixSeconds(acetime_t unixSeconds, const TimeZone &timeZone)
Factory method to create a ZonedDateTime using the number of seconds from Unix epoch.
Definition: ZonedDateTime.h:92
-
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
-
friend bool operator==(const ZonedDateTime &a, const ZonedDateTime &b)
Return true if two ZonedDateTime objects are equal in all components.
-
uint8_t second() const
Return the second.
-
uint8_t day() const
Return the day of the month.
-
void timeZone(const TimeZone &timeZone)
Set the time zone.
-
uint8_t minute() const
Return the minute.
-
ZonedDateTime()
Default constructor.
-
bool isError() const
Return true if any component indicates an error condition.
-
void month(uint8_t month)
Set the month.
-
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
-
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
-
TimeOffset getUtcOffset(acetime_t epochSeconds) const
Return the total UTC offset at epochSeconds, including DST offset.
Definition: TimeZone.h:191
-
int16_t year() const
Return the year.
-
static OffsetDateTime forDateString(const char *dateString)
Factory method.
+
1 /*
+
2  * MIT License
+
3  * Copyright (c) 2018 Brian T. Park
+
4  */
+
5 
+
6 #ifndef ACE_TIME_ZONED_DATE_TIME_H
+
7 #define ACE_TIME_ZONED_DATE_TIME_H
+
8 
+
9 #include <stdint.h>
+
10 #include "common/compat.h"
+
11 #include "OffsetDateTime.h"
+
12 #include "TimeZone.h"
+
13 
+
14 class Print;
+
15 
+
16 namespace ace_time {
+
17 
+ +
33  public:
+
51  static ZonedDateTime forComponents(int16_t year, uint8_t month, uint8_t day,
+
52  uint8_t hour, uint8_t minute, uint8_t second,
+
53  const TimeZone& timeZone) {
+ + +
56  auto odt = timeZone.getOffsetDateTime(ldt);
+
57  return ZonedDateTime(odt, timeZone);
+
58  }
+
59 
+
71  static ZonedDateTime forEpochSeconds(acetime_t epochSeconds,
+
72  const TimeZone& timeZone) {
+
73  OffsetDateTime odt;
+
74  if (epochSeconds == LocalDate::kInvalidEpochSeconds) {
+ +
76  } else {
+ +
78  odt = OffsetDateTime::forEpochSeconds(epochSeconds, timeOffset);
+
79  }
+
80  return ZonedDateTime(odt, timeZone);
+
81  }
+
82 
+
92  static ZonedDateTime forUnixSeconds(acetime_t unixSeconds,
+
93  const TimeZone& timeZone) {
+
94  acetime_t epochSeconds = (unixSeconds == LocalDate::kInvalidEpochSeconds)
+
95  ? unixSeconds
+
96  : unixSeconds - LocalDate::kSecondsSinceUnixEpoch;
+
97  return forEpochSeconds(epochSeconds, timeZone);
+
98  }
+
99 
+
113  static ZonedDateTime forDateString(const char* dateString) {
+ + +
116  }
+
117 
+
122  static ZonedDateTime forDateString(const __FlashStringHelper* dateString) {
+ + +
125  }
+
126 
+ + +
130  }
+
131 
+
133  explicit ZonedDateTime() {}
+
134 
+
136  bool isError() const { return mOffsetDateTime.isError(); }
+
137 
+
139  int16_t year() const { return mOffsetDateTime.year(); }
+
140 
+
142  void year(int16_t year) { mOffsetDateTime.year(year); }
+
143 
+
149  int8_t yearTiny() const { return mOffsetDateTime.yearTiny(); }
+
150 
+
156  void yearTiny(int8_t yearTiny) { mOffsetDateTime.yearTiny(yearTiny); }
+
157 
+
159  uint8_t month() const { return mOffsetDateTime.month(); }
+
160 
+
162  void month(uint8_t month) { mOffsetDateTime.month(month); }
+
163 
+
165  uint8_t day() const { return mOffsetDateTime.day(); }
+
166 
+
168  void day(uint8_t day) { mOffsetDateTime.day(day); }
+
169 
+
171  uint8_t hour() const { return mOffsetDateTime.hour(); }
+
172 
+
174  void hour(uint8_t hour) { mOffsetDateTime.hour(hour); }
+
175 
+
177  uint8_t minute() const { return mOffsetDateTime.minute(); }
+
178 
+
180  void minute(uint8_t minute) { mOffsetDateTime.minute(minute); }
+
181 
+
183  uint8_t second() const { return mOffsetDateTime.second(); }
+
184 
+
186  void second(uint8_t second) { mOffsetDateTime.second(second); }
+
187 
+
192  uint8_t dayOfWeek() const { return mOffsetDateTime.dayOfWeek(); }
+
193 
+
195  TimeOffset timeOffset() const { return mOffsetDateTime.timeOffset(); }
+
196 
+
198  const TimeZone& timeZone() const { return mTimeZone; }
+
199 
+
204  void timeZone(const TimeZone& timeZone) { mTimeZone = timeZone; }
+
205 
+
207  const LocalDateTime& localDateTime() const {
+
208  return mOffsetDateTime.localDateTime();
+
209  }
+
210 
+ +
216  acetime_t epochSeconds = toEpochSeconds();
+
217  return ZonedDateTime::forEpochSeconds(epochSeconds, timeZone);
+
218  }
+
219 
+
224  acetime_t toEpochDays() const {
+
225  return mOffsetDateTime.toEpochDays();
+
226  }
+
227 
+
229  acetime_t toUnixDays() const {
+ + +
232  }
+
233 
+
242  acetime_t toEpochSeconds() const {
+
243  return mOffsetDateTime.toEpochSeconds();
+
244  }
+
245 
+
253  acetime_t toUnixSeconds() const {
+
254  return mOffsetDateTime.toUnixSeconds();
+
255  }
+
256 
+
264  int8_t compareTo(const ZonedDateTime& that) const {
+
265  return mOffsetDateTime.compareTo(that.mOffsetDateTime);
+
266  }
+
267 
+
273  void printTo(Print& printer) const;
+
274 
+
275  // Use default copy constructor and assignment operator.
+
276  ZonedDateTime(const ZonedDateTime&) = default;
+
277  ZonedDateTime& operator=(const ZonedDateTime&) = default;
+
278 
+
279  private:
+
281  static const uint8_t kDateStringLength = 25;
+
282 
+
283  friend bool operator==(const ZonedDateTime& a, const ZonedDateTime& b);
+
284 
+
286  ZonedDateTime(const OffsetDateTime& offsetDateTime, const TimeZone& tz):
+
287  mOffsetDateTime(offsetDateTime),
+
288  mTimeZone(tz) {}
+
289 
+
290  OffsetDateTime mOffsetDateTime;
+
291  TimeZone mTimeZone;
+
292 };
+
293 
+
301 inline bool operator==(const ZonedDateTime& a, const ZonedDateTime& b) {
+
302  return a.mOffsetDateTime == b.mOffsetDateTime
+
303  && a.mTimeZone == b.mTimeZone;
+
304 }
+
305 
+
307 inline bool operator!=(const ZonedDateTime& a, const ZonedDateTime& b) {
+
308  return ! (a == b);
+
309 }
+
310 
+
311 }
+
312 
+
313 #endif
+
uint8_t second() const
Return the second.
+
static const acetime_t kSecondsSinceUnixEpoch
Number of seconds from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:69
+
acetime_t toUnixSeconds() const
Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.
+
static OffsetDateTime forDateString(const char *dateString)
Factory method.
+
static const acetime_t kInvalidEpochSeconds
Sentinel epochSeconds which indicates an error.
Definition: LocalDate.h:63
+
Class that holds the date-time as the components (year, month, day, hour, minute, second) without reg...
Definition: LocalDateTime.h:27
+
friend bool operator==(const ZonedDateTime &a, const ZonedDateTime &b)
Return true if two ZonedDateTime objects are equal in all components.
+
static const acetime_t kInvalidEpochDays
Sentinel epochDays which indicates an error.
Definition: LocalDate.h:60
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone.
+
uint8_t month() const
Return the month with January=1, December=12.
+
A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC,...
Definition: TimeOffset.h:56
+
void timeZone(const TimeZone &timeZone)
Set the time zone.
+
const LocalDateTime & localDateTime() const
Return the LocalDateTime of the components.
+
static OffsetDateTime forEpochSeconds(acetime_t epochSeconds, TimeOffset timeOffset)
Factory method.
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
+
uint8_t hour() const
Return the hour.
+
TimeOffset getUtcOffset(acetime_t epochSeconds) const
Return the total UTC offset at epochSeconds, including DST offset.
Definition: TimeZone.h:191
+
static ZonedDateTime forEpochSeconds(acetime_t epochSeconds, const TimeZone &timeZone)
Factory method.
Definition: ZonedDateTime.h:71
+
int8_t compareTo(const ZonedDateTime &that) const
Compare this ZonedDateTime with another ZonedDateTime, and return (<0, 0, >0) according to whether th...
+
void minute(uint8_t minute)
Set the minute.
+
uint8_t dayOfWeek() const
Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
+
acetime_t toUnixSeconds() const
Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.
+
OffsetDateTime getOffsetDateTime(const LocalDateTime &ldt) const
Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone.
Definition: TimeZone.h:285
+
static LocalDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second)
Factory method using separated date and time components.
Definition: LocalDateTime.h:40
+
The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).
+ +
const TimeZone & timeZone() const
Return the time zone of the ZonedDateTime.
+
void second(uint8_t second)
Set the second.
+
static OffsetDateTime forError()
Factory method that returns an instance whose isError() is true.
+
int16_t year() const
Return the year.
+
uint8_t second() const
Return the second.
+
static ZonedDateTime forDateString(const char *dateString)
Factory method.
+
static ZonedDateTime forUnixSeconds(acetime_t unixSeconds, const TimeZone &timeZone)
Factory method to create a ZonedDateTime using the number of seconds from Unix epoch.
Definition: ZonedDateTime.h:92
+
void printTo(Print &printer) const
Print ZonedDateTime to 'printer'.
+
int8_t compareTo(const OffsetDateTime &that) const
Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether ...
+
static ZonedDateTime forComponents(int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, const TimeZone &timeZone)
Factory method using separated date, time, and time zone fields.
Definition: ZonedDateTime.h:51
+
uint8_t month() const
Return the month with January=1, December=12.
+
bool isError() const
Return true if any component indicates an error condition.
+
uint8_t minute() const
Return the minute.
+
acetime_t toEpochSeconds() const
Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time zone.
+
TimeOffset timeOffset() const
Return the offset zone of the OffsetDateTime.
+
The date (year, month, day), time (hour, minute, second), and a timeZone representing an instant in t...
Definition: ZonedDateTime.h:32
+
uint8_t day() const
Return the day of the month.
+
TimeOffset timeOffset() const
Return the offset zone of the OffsetDateTime.
+
uint8_t minute() const
Return the minute.
+
static ZonedDateTime forError()
Return an instance whose isError() returns true.
+
acetime_t toUnixDays() const
Return the number of days since Unix epoch (1970-01-01 00:00:00).
+
void day(uint8_t day)
Set the day of the month.
+
void month(uint8_t month)
Set the month.
+
void yearTiny(int8_t yearTiny)
Set the single-byte year offset from year 2000.
+
bool isError() const
Return true if any component indicates an error condition.
+
uint8_t hour() const
Return the hour.
+
Class that describes a time zone.
Definition: TimeZone.h:82
+
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time ...
+
ZonedDateTime convertToTimeZone(const TimeZone &timeZone) const
Create a ZonedDateTime in a different time zone (with the same epochSeconds).
+
static TimeZone forTimeOffset(TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
Factory method to create from a UTC offset and an optional DST offset.
Definition: TimeZone.h:104
+
uint8_t dayOfWeek() const
Return the day of the week using ISO 8601 numbering where Monday=1 and Sunday=7.
+
static const acetime_t kDaysSinceUnixEpoch
Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
Definition: LocalDate.h:75
+
const LocalDateTime & localDateTime() const
Return the LocalDateTime.
+
uint8_t day() const
Return the day of the month.
+
void hour(uint8_t hour)
Set the hour.
+
void year(int16_t year)
Set the year given the full year.
+
ZonedDateTime()
Default constructor.
+
int16_t year() const
Return the year.
+
acetime_t toEpochDays() const
Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offse...
+
static ZonedDateTime forDateString(const __FlashStringHelper *dateString)
Factory method.
+
int8_t yearTiny() const
Return the single-byte year offset from year 2000.
diff --git a/docs/html/_2zone__infos_8cpp_source.html b/docs/html/_2zone__infos_8cpp_source.html index 57a47a3f5..611bdd2d1 100644 --- a/docs/html/_2zone__infos_8cpp_source.html +++ b/docs/html/_2zone__infos_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx/zone_infos.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx/zone_infos.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
zone_infos.cpp
-
1 // This file was generated by the following script:
2 //
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
4 //
5 // using the TZ Database files from
6 // https://github.com/eggert/tz/releases/tag/2020a
7 //
8 // Zones: 387
9 // Links: 206
10 // Strings (bytes): 9465
11 // Memory (8-bit): 21457
12 // Memory (32-bit): 27893
13 //
14 // DO NOT EDIT
15 
16 #include <ace_time/common/compat.h>
17 #include "zone_policies.h"
18 #include "zone_infos.h"
19 
20 namespace ace_time {
21 namespace zonedbx {
22 
23 //---------------------------------------------------------------------------
24 // ZoneContext (should not be in PROGMEM)
25 //---------------------------------------------------------------------------
26 
27 const char kTzDatabaseVersion[] = "2020a";
28 
29 const extended::ZoneContext kZoneContext = {
30  2000 /*startYear*/,
31  2050 /*untilYear*/,
32  kTzDatabaseVersion /*tzVersion*/,
33 };
34 
35 //---------------------------------------------------------------------------
36 // Zones: 387
37 //---------------------------------------------------------------------------
38 
39 //---------------------------------------------------------------------------
40 // Zone name: Africa/Abidjan
41 // Zone Eras: 1
42 // Strings (bytes): 19
43 // Memory (8-bit): 42
44 // Memory (32-bit): 55
45 //---------------------------------------------------------------------------
46 
47 static const extended::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
48  // 0:00 - GMT
49  {
50  nullptr /*zonePolicy*/,
51  "GMT" /*format*/,
52  0 /*offsetCode*/,
53  (0 << 4) + (0 + 4) /*deltaCode*/,
54  127 /*untilYearTiny*/,
55  1 /*untilMonth*/,
56  1 /*untilDay*/,
57  0 /*untilTimeCode*/,
58  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
59  },
60 
61 };
62 
63 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "Africa/Abidjan";
64 
65 const extended::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
66  kZoneNameAfrica_Abidjan /*name*/,
67  0xc21305a3 /*zoneId*/,
68  &kZoneContext /*zoneContext*/,
69  2 /*transitionBufSize*/,
70  1 /*numEras*/,
71  kZoneEraAfrica_Abidjan /*eras*/,
72 };
73 
74 //---------------------------------------------------------------------------
75 // Zone name: Africa/Accra
76 // Zone Eras: 1
77 // Strings (bytes): 23
78 // Memory (8-bit): 46
79 // Memory (32-bit): 59
80 //---------------------------------------------------------------------------
81 
82 static const extended::ZoneEra kZoneEraAfrica_Accra[] ACE_TIME_PROGMEM = {
83  // 0:00 Ghana GMT/+0020
84  {
85  &kPolicyGhana /*zonePolicy*/,
86  "GMT/+0020" /*format*/,
87  0 /*offsetCode*/,
88  (0 << 4) + (0 + 4) /*deltaCode*/,
89  127 /*untilYearTiny*/,
90  1 /*untilMonth*/,
91  1 /*untilDay*/,
92  0 /*untilTimeCode*/,
93  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
94  },
95 
96 };
97 
98 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "Africa/Accra";
99 
100 const extended::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
101  kZoneNameAfrica_Accra /*name*/,
102  0x77d5b054 /*zoneId*/,
103  &kZoneContext /*zoneContext*/,
104  2 /*transitionBufSize*/,
105  1 /*numEras*/,
106  kZoneEraAfrica_Accra /*eras*/,
107 };
108 
109 //---------------------------------------------------------------------------
110 // Zone name: Africa/Algiers
111 // Zone Eras: 1
112 // Strings (bytes): 19
113 // Memory (8-bit): 42
114 // Memory (32-bit): 55
115 //---------------------------------------------------------------------------
116 
117 static const extended::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
118  // 1:00 - CET
119  {
120  nullptr /*zonePolicy*/,
121  "CET" /*format*/,
122  4 /*offsetCode*/,
123  (0 << 4) + (0 + 4) /*deltaCode*/,
124  127 /*untilYearTiny*/,
125  1 /*untilMonth*/,
126  1 /*untilDay*/,
127  0 /*untilTimeCode*/,
128  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
129  },
130 
131 };
132 
133 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "Africa/Algiers";
134 
135 const extended::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
136  kZoneNameAfrica_Algiers /*name*/,
137  0xd94515c1 /*zoneId*/,
138  &kZoneContext /*zoneContext*/,
139  2 /*transitionBufSize*/,
140  1 /*numEras*/,
141  kZoneEraAfrica_Algiers /*eras*/,
142 };
143 
144 //---------------------------------------------------------------------------
145 // Zone name: Africa/Bissau
146 // Zone Eras: 1
147 // Strings (bytes): 18
148 // Memory (8-bit): 41
149 // Memory (32-bit): 54
150 //---------------------------------------------------------------------------
151 
152 static const extended::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
153  // 0:00 - GMT
154  {
155  nullptr /*zonePolicy*/,
156  "GMT" /*format*/,
157  0 /*offsetCode*/,
158  (0 << 4) + (0 + 4) /*deltaCode*/,
159  127 /*untilYearTiny*/,
160  1 /*untilMonth*/,
161  1 /*untilDay*/,
162  0 /*untilTimeCode*/,
163  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
164  },
165 
166 };
167 
168 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "Africa/Bissau";
169 
170 const extended::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
171  kZoneNameAfrica_Bissau /*name*/,
172  0x75564141 /*zoneId*/,
173  &kZoneContext /*zoneContext*/,
174  2 /*transitionBufSize*/,
175  1 /*numEras*/,
176  kZoneEraAfrica_Bissau /*eras*/,
177 };
178 
179 //---------------------------------------------------------------------------
180 // Zone name: Africa/Cairo
181 // Zone Eras: 1
182 // Strings (bytes): 18
183 // Memory (8-bit): 41
184 // Memory (32-bit): 54
185 //---------------------------------------------------------------------------
186 
187 static const extended::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
188  // 2:00 Egypt EE%sT
189  {
190  &kPolicyEgypt /*zonePolicy*/,
191  "EE%T" /*format*/,
192  8 /*offsetCode*/,
193  (0 << 4) + (0 + 4) /*deltaCode*/,
194  127 /*untilYearTiny*/,
195  1 /*untilMonth*/,
196  1 /*untilDay*/,
197  0 /*untilTimeCode*/,
198  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
199  },
200 
201 };
202 
203 static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "Africa/Cairo";
204 
205 const extended::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
206  kZoneNameAfrica_Cairo /*name*/,
207  0x77f8e228 /*zoneId*/,
208  &kZoneContext /*zoneContext*/,
209  6 /*transitionBufSize*/,
210  1 /*numEras*/,
211  kZoneEraAfrica_Cairo /*eras*/,
212 };
213 
214 //---------------------------------------------------------------------------
215 // Zone name: Africa/Casablanca
216 // Zone Eras: 2
217 // Strings (bytes): 34
218 // Memory (8-bit): 68
219 // Memory (32-bit): 86
220 //---------------------------------------------------------------------------
221 
222 static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
223  // 0:00 Morocco +00/+01 2018 Oct 28 3:00
224  {
225  &kPolicyMorocco /*zonePolicy*/,
226  "+00/+01" /*format*/,
227  0 /*offsetCode*/,
228  (0 << 4) + (0 + 4) /*deltaCode*/,
229  18 /*untilYearTiny*/,
230  10 /*untilMonth*/,
231  28 /*untilDay*/,
232  12 /*untilTimeCode*/,
233  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
234  },
235  // 1:00 Morocco +01/+00
236  {
237  &kPolicyMorocco /*zonePolicy*/,
238  "+01/+00" /*format*/,
239  4 /*offsetCode*/,
240  (0 << 4) + (0 + 4) /*deltaCode*/,
241  127 /*untilYearTiny*/,
242  1 /*untilMonth*/,
243  1 /*untilDay*/,
244  0 /*untilTimeCode*/,
245  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
246  },
247 
248 };
249 
250 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "Africa/Casablanca";
251 
252 const extended::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
253  kZoneNameAfrica_Casablanca /*name*/,
254  0xc59f1b33 /*zoneId*/,
255  &kZoneContext /*zoneContext*/,
256  7 /*transitionBufSize*/,
257  2 /*numEras*/,
258  kZoneEraAfrica_Casablanca /*eras*/,
259 };
260 
261 //---------------------------------------------------------------------------
262 // Zone name: Africa/Ceuta
263 // Zone Eras: 1
264 // Strings (bytes): 18
265 // Memory (8-bit): 41
266 // Memory (32-bit): 54
267 //---------------------------------------------------------------------------
268 
269 static const extended::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
270  // 1:00 EU CE%sT
271  {
272  &kPolicyEU /*zonePolicy*/,
273  "CE%T" /*format*/,
274  4 /*offsetCode*/,
275  (0 << 4) + (0 + 4) /*deltaCode*/,
276  127 /*untilYearTiny*/,
277  1 /*untilMonth*/,
278  1 /*untilDay*/,
279  0 /*untilTimeCode*/,
280  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
281  },
282 
283 };
284 
285 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "Africa/Ceuta";
286 
287 const extended::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
288  kZoneNameAfrica_Ceuta /*name*/,
289  0x77fb46ec /*zoneId*/,
290  &kZoneContext /*zoneContext*/,
291  5 /*transitionBufSize*/,
292  1 /*numEras*/,
293  kZoneEraAfrica_Ceuta /*eras*/,
294 };
295 
296 //---------------------------------------------------------------------------
297 // Zone name: Africa/El_Aaiun
298 // Zone Eras: 2
299 // Strings (bytes): 32
300 // Memory (8-bit): 66
301 // Memory (32-bit): 84
302 //---------------------------------------------------------------------------
303 
304 static const extended::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
305  // 0:00 Morocco +00/+01 2018 Oct 28 3:00
306  {
307  &kPolicyMorocco /*zonePolicy*/,
308  "+00/+01" /*format*/,
309  0 /*offsetCode*/,
310  (0 << 4) + (0 + 4) /*deltaCode*/,
311  18 /*untilYearTiny*/,
312  10 /*untilMonth*/,
313  28 /*untilDay*/,
314  12 /*untilTimeCode*/,
315  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
316  },
317  // 1:00 Morocco +01/+00
318  {
319  &kPolicyMorocco /*zonePolicy*/,
320  "+01/+00" /*format*/,
321  4 /*offsetCode*/,
322  (0 << 4) + (0 + 4) /*deltaCode*/,
323  127 /*untilYearTiny*/,
324  1 /*untilMonth*/,
325  1 /*untilDay*/,
326  0 /*untilTimeCode*/,
327  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
328  },
329 
330 };
331 
332 static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "Africa/El_Aaiun";
333 
334 const extended::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
335  kZoneNameAfrica_El_Aaiun /*name*/,
336  0x9d6fb118 /*zoneId*/,
337  &kZoneContext /*zoneContext*/,
338  7 /*transitionBufSize*/,
339  2 /*numEras*/,
340  kZoneEraAfrica_El_Aaiun /*eras*/,
341 };
342 
343 //---------------------------------------------------------------------------
344 // Zone name: Africa/Johannesburg
345 // Zone Eras: 1
346 // Strings (bytes): 25
347 // Memory (8-bit): 48
348 // Memory (32-bit): 61
349 //---------------------------------------------------------------------------
350 
351 static const extended::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
352  // 2:00 SA SAST
353  {
354  &kPolicySA /*zonePolicy*/,
355  "SAST" /*format*/,
356  8 /*offsetCode*/,
357  (0 << 4) + (0 + 4) /*deltaCode*/,
358  127 /*untilYearTiny*/,
359  1 /*untilMonth*/,
360  1 /*untilDay*/,
361  0 /*untilTimeCode*/,
362  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
363  },
364 
365 };
366 
367 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "Africa/Johannesburg";
368 
369 const extended::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
370  kZoneNameAfrica_Johannesburg /*name*/,
371  0xd5d157a0 /*zoneId*/,
372  &kZoneContext /*zoneContext*/,
373  2 /*transitionBufSize*/,
374  1 /*numEras*/,
375  kZoneEraAfrica_Johannesburg /*eras*/,
376 };
377 
378 //---------------------------------------------------------------------------
379 // Zone name: Africa/Juba
380 // Zone Eras: 2
381 // Strings (bytes): 21
382 // Memory (8-bit): 55
383 // Memory (32-bit): 73
384 //---------------------------------------------------------------------------
385 
386 static const extended::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
387  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
388  {
389  &kPolicySudan /*zonePolicy*/,
390  "CA%T" /*format*/,
391  8 /*offsetCode*/,
392  (0 << 4) + (0 + 4) /*deltaCode*/,
393  0 /*untilYearTiny*/,
394  1 /*untilMonth*/,
395  15 /*untilDay*/,
396  48 /*untilTimeCode*/,
397  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
398  },
399  // 3:00 - EAT
400  {
401  nullptr /*zonePolicy*/,
402  "EAT" /*format*/,
403  12 /*offsetCode*/,
404  (0 << 4) + (0 + 4) /*deltaCode*/,
405  127 /*untilYearTiny*/,
406  1 /*untilMonth*/,
407  1 /*untilDay*/,
408  0 /*untilTimeCode*/,
409  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
410  },
411 
412 };
413 
414 static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "Africa/Juba";
415 
416 const extended::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
417  kZoneNameAfrica_Juba /*name*/,
418  0xd51b395c /*zoneId*/,
419  &kZoneContext /*zoneContext*/,
420  3 /*transitionBufSize*/,
421  2 /*numEras*/,
422  kZoneEraAfrica_Juba /*eras*/,
423 };
424 
425 //---------------------------------------------------------------------------
426 // Zone name: Africa/Khartoum
427 // Zone Eras: 3
428 // Strings (bytes): 29
429 // Memory (8-bit): 74
430 // Memory (32-bit): 97
431 //---------------------------------------------------------------------------
432 
433 static const extended::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
434  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
435  {
436  &kPolicySudan /*zonePolicy*/,
437  "CA%T" /*format*/,
438  8 /*offsetCode*/,
439  (0 << 4) + (0 + 4) /*deltaCode*/,
440  0 /*untilYearTiny*/,
441  1 /*untilMonth*/,
442  15 /*untilDay*/,
443  48 /*untilTimeCode*/,
444  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
445  },
446  // 3:00 - EAT 2017 Nov 1
447  {
448  nullptr /*zonePolicy*/,
449  "EAT" /*format*/,
450  12 /*offsetCode*/,
451  (0 << 4) + (0 + 4) /*deltaCode*/,
452  17 /*untilYearTiny*/,
453  11 /*untilMonth*/,
454  1 /*untilDay*/,
455  0 /*untilTimeCode*/,
456  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
457  },
458  // 2:00 - CAT
459  {
460  nullptr /*zonePolicy*/,
461  "CAT" /*format*/,
462  8 /*offsetCode*/,
463  (0 << 4) + (0 + 4) /*deltaCode*/,
464  127 /*untilYearTiny*/,
465  1 /*untilMonth*/,
466  1 /*untilDay*/,
467  0 /*untilTimeCode*/,
468  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
469  },
470 
471 };
472 
473 static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "Africa/Khartoum";
474 
475 const extended::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
476  kZoneNameAfrica_Khartoum /*name*/,
477  0xfb3d4205 /*zoneId*/,
478  &kZoneContext /*zoneContext*/,
479  3 /*transitionBufSize*/,
480  3 /*numEras*/,
481  kZoneEraAfrica_Khartoum /*eras*/,
482 };
483 
484 //---------------------------------------------------------------------------
485 // Zone name: Africa/Lagos
486 // Zone Eras: 1
487 // Strings (bytes): 17
488 // Memory (8-bit): 40
489 // Memory (32-bit): 53
490 //---------------------------------------------------------------------------
491 
492 static const extended::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
493  // 1:00 - WAT
494  {
495  nullptr /*zonePolicy*/,
496  "WAT" /*format*/,
497  4 /*offsetCode*/,
498  (0 << 4) + (0 + 4) /*deltaCode*/,
499  127 /*untilYearTiny*/,
500  1 /*untilMonth*/,
501  1 /*untilDay*/,
502  0 /*untilTimeCode*/,
503  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
504  },
505 
506 };
507 
508 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "Africa/Lagos";
509 
510 const extended::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
511  kZoneNameAfrica_Lagos /*name*/,
512  0x789bb5d0 /*zoneId*/,
513  &kZoneContext /*zoneContext*/,
514  2 /*transitionBufSize*/,
515  1 /*numEras*/,
516  kZoneEraAfrica_Lagos /*eras*/,
517 };
518 
519 //---------------------------------------------------------------------------
520 // Zone name: Africa/Maputo
521 // Zone Eras: 1
522 // Strings (bytes): 18
523 // Memory (8-bit): 41
524 // Memory (32-bit): 54
525 //---------------------------------------------------------------------------
526 
527 static const extended::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
528  // 2:00 - CAT
529  {
530  nullptr /*zonePolicy*/,
531  "CAT" /*format*/,
532  8 /*offsetCode*/,
533  (0 << 4) + (0 + 4) /*deltaCode*/,
534  127 /*untilYearTiny*/,
535  1 /*untilMonth*/,
536  1 /*untilDay*/,
537  0 /*untilTimeCode*/,
538  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
539  },
540 
541 };
542 
543 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "Africa/Maputo";
544 
545 const extended::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
546  kZoneNameAfrica_Maputo /*name*/,
547  0x8e6ca1f0 /*zoneId*/,
548  &kZoneContext /*zoneContext*/,
549  2 /*transitionBufSize*/,
550  1 /*numEras*/,
551  kZoneEraAfrica_Maputo /*eras*/,
552 };
553 
554 //---------------------------------------------------------------------------
555 // Zone name: Africa/Monrovia
556 // Zone Eras: 1
557 // Strings (bytes): 20
558 // Memory (8-bit): 43
559 // Memory (32-bit): 56
560 //---------------------------------------------------------------------------
561 
562 static const extended::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
563  // 0:00 - GMT
564  {
565  nullptr /*zonePolicy*/,
566  "GMT" /*format*/,
567  0 /*offsetCode*/,
568  (0 << 4) + (0 + 4) /*deltaCode*/,
569  127 /*untilYearTiny*/,
570  1 /*untilMonth*/,
571  1 /*untilDay*/,
572  0 /*untilTimeCode*/,
573  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
574  },
575 
576 };
577 
578 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "Africa/Monrovia";
579 
580 const extended::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
581  kZoneNameAfrica_Monrovia /*name*/,
582  0x0ce90385 /*zoneId*/,
583  &kZoneContext /*zoneContext*/,
584  2 /*transitionBufSize*/,
585  1 /*numEras*/,
586  kZoneEraAfrica_Monrovia /*eras*/,
587 };
588 
589 //---------------------------------------------------------------------------
590 // Zone name: Africa/Nairobi
591 // Zone Eras: 1
592 // Strings (bytes): 19
593 // Memory (8-bit): 42
594 // Memory (32-bit): 55
595 //---------------------------------------------------------------------------
596 
597 static const extended::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
598  // 3:00 - EAT
599  {
600  nullptr /*zonePolicy*/,
601  "EAT" /*format*/,
602  12 /*offsetCode*/,
603  (0 << 4) + (0 + 4) /*deltaCode*/,
604  127 /*untilYearTiny*/,
605  1 /*untilMonth*/,
606  1 /*untilDay*/,
607  0 /*untilTimeCode*/,
608  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
609  },
610 
611 };
612 
613 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "Africa/Nairobi";
614 
615 const extended::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
616  kZoneNameAfrica_Nairobi /*name*/,
617  0xa87ab57e /*zoneId*/,
618  &kZoneContext /*zoneContext*/,
619  2 /*transitionBufSize*/,
620  1 /*numEras*/,
621  kZoneEraAfrica_Nairobi /*eras*/,
622 };
623 
624 //---------------------------------------------------------------------------
625 // Zone name: Africa/Ndjamena
626 // Zone Eras: 1
627 // Strings (bytes): 20
628 // Memory (8-bit): 43
629 // Memory (32-bit): 56
630 //---------------------------------------------------------------------------
631 
632 static const extended::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
633  // 1:00 - WAT
634  {
635  nullptr /*zonePolicy*/,
636  "WAT" /*format*/,
637  4 /*offsetCode*/,
638  (0 << 4) + (0 + 4) /*deltaCode*/,
639  127 /*untilYearTiny*/,
640  1 /*untilMonth*/,
641  1 /*untilDay*/,
642  0 /*untilTimeCode*/,
643  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
644  },
645 
646 };
647 
648 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "Africa/Ndjamena";
649 
650 const extended::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
651  kZoneNameAfrica_Ndjamena /*name*/,
652  0x9fe09898 /*zoneId*/,
653  &kZoneContext /*zoneContext*/,
654  2 /*transitionBufSize*/,
655  1 /*numEras*/,
656  kZoneEraAfrica_Ndjamena /*eras*/,
657 };
658 
659 //---------------------------------------------------------------------------
660 // Zone name: Africa/Sao_Tome
661 // Zone Eras: 3
662 // Strings (bytes): 28
663 // Memory (8-bit): 73
664 // Memory (32-bit): 96
665 //---------------------------------------------------------------------------
666 
667 static const extended::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
668  // 0:00 - GMT 2018 Jan 1 01:00
669  {
670  nullptr /*zonePolicy*/,
671  "GMT" /*format*/,
672  0 /*offsetCode*/,
673  (0 << 4) + (0 + 4) /*deltaCode*/,
674  18 /*untilYearTiny*/,
675  1 /*untilMonth*/,
676  1 /*untilDay*/,
677  4 /*untilTimeCode*/,
678  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
679  },
680  // 1:00 - WAT 2019 Jan 1 02:00
681  {
682  nullptr /*zonePolicy*/,
683  "WAT" /*format*/,
684  4 /*offsetCode*/,
685  (0 << 4) + (0 + 4) /*deltaCode*/,
686  19 /*untilYearTiny*/,
687  1 /*untilMonth*/,
688  1 /*untilDay*/,
689  8 /*untilTimeCode*/,
690  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
691  },
692  // 0:00 - GMT
693  {
694  nullptr /*zonePolicy*/,
695  "GMT" /*format*/,
696  0 /*offsetCode*/,
697  (0 << 4) + (0 + 4) /*deltaCode*/,
698  127 /*untilYearTiny*/,
699  1 /*untilMonth*/,
700  1 /*untilDay*/,
701  0 /*untilTimeCode*/,
702  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
703  },
704 
705 };
706 
707 static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "Africa/Sao_Tome";
708 
709 const extended::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
710  kZoneNameAfrica_Sao_Tome /*name*/,
711  0x61b319d1 /*zoneId*/,
712  &kZoneContext /*zoneContext*/,
713  4 /*transitionBufSize*/,
714  3 /*numEras*/,
715  kZoneEraAfrica_Sao_Tome /*eras*/,
716 };
717 
718 //---------------------------------------------------------------------------
719 // Zone name: Africa/Tripoli
720 // Zone Eras: 3
721 // Strings (bytes): 28
722 // Memory (8-bit): 73
723 // Memory (32-bit): 96
724 //---------------------------------------------------------------------------
725 
726 static const extended::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
727  // 2:00 - EET 2012 Nov 10 2:00
728  {
729  nullptr /*zonePolicy*/,
730  "EET" /*format*/,
731  8 /*offsetCode*/,
732  (0 << 4) + (0 + 4) /*deltaCode*/,
733  12 /*untilYearTiny*/,
734  11 /*untilMonth*/,
735  10 /*untilDay*/,
736  8 /*untilTimeCode*/,
737  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
738  },
739  // 1:00 Libya CE%sT 2013 Oct 25 2:00
740  {
741  &kPolicyLibya /*zonePolicy*/,
742  "CE%T" /*format*/,
743  4 /*offsetCode*/,
744  (0 << 4) + (0 + 4) /*deltaCode*/,
745  13 /*untilYearTiny*/,
746  10 /*untilMonth*/,
747  25 /*untilDay*/,
748  8 /*untilTimeCode*/,
749  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
750  },
751  // 2:00 - EET
752  {
753  nullptr /*zonePolicy*/,
754  "EET" /*format*/,
755  8 /*offsetCode*/,
756  (0 << 4) + (0 + 4) /*deltaCode*/,
757  127 /*untilYearTiny*/,
758  1 /*untilMonth*/,
759  1 /*untilDay*/,
760  0 /*untilTimeCode*/,
761  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
762  },
763 
764 };
765 
766 static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "Africa/Tripoli";
767 
768 const extended::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
769  kZoneNameAfrica_Tripoli /*name*/,
770  0x9dfebd3d /*zoneId*/,
771  &kZoneContext /*zoneContext*/,
772  4 /*transitionBufSize*/,
773  3 /*numEras*/,
774  kZoneEraAfrica_Tripoli /*eras*/,
775 };
776 
777 //---------------------------------------------------------------------------
778 // Zone name: Africa/Tunis
779 // Zone Eras: 1
780 // Strings (bytes): 18
781 // Memory (8-bit): 41
782 // Memory (32-bit): 54
783 //---------------------------------------------------------------------------
784 
785 static const extended::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
786  // 1:00 Tunisia CE%sT
787  {
788  &kPolicyTunisia /*zonePolicy*/,
789  "CE%T" /*format*/,
790  4 /*offsetCode*/,
791  (0 << 4) + (0 + 4) /*deltaCode*/,
792  127 /*untilYearTiny*/,
793  1 /*untilMonth*/,
794  1 /*untilDay*/,
795  0 /*untilTimeCode*/,
796  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
797  },
798 
799 };
800 
801 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "Africa/Tunis";
802 
803 const extended::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
804  kZoneNameAfrica_Tunis /*name*/,
805  0x79378e6d /*zoneId*/,
806  &kZoneContext /*zoneContext*/,
807  5 /*transitionBufSize*/,
808  1 /*numEras*/,
809  kZoneEraAfrica_Tunis /*eras*/,
810 };
811 
812 //---------------------------------------------------------------------------
813 // Zone name: Africa/Windhoek
814 // Zone Eras: 1
815 // Strings (bytes): 18
816 // Memory (8-bit): 41
817 // Memory (32-bit): 54
818 //---------------------------------------------------------------------------
819 
820 static const extended::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
821  // 2:00 Namibia %s
822  {
823  &kPolicyNamibia /*zonePolicy*/,
824  "%" /*format*/,
825  8 /*offsetCode*/,
826  (0 << 4) + (0 + 4) /*deltaCode*/,
827  127 /*untilYearTiny*/,
828  1 /*untilMonth*/,
829  1 /*untilDay*/,
830  0 /*untilTimeCode*/,
831  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
832  },
833 
834 };
835 
836 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "Africa/Windhoek";
837 
838 const extended::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
839  kZoneNameAfrica_Windhoek /*name*/,
840  0x789c9bd3 /*zoneId*/,
841  &kZoneContext /*zoneContext*/,
842  4 /*transitionBufSize*/,
843  1 /*numEras*/,
844  kZoneEraAfrica_Windhoek /*eras*/,
845 };
846 
847 //---------------------------------------------------------------------------
848 // Zone name: America/Adak
849 // Zone Eras: 1
850 // Strings (bytes): 17
851 // Memory (8-bit): 40
852 // Memory (32-bit): 53
853 //---------------------------------------------------------------------------
854 
855 static const extended::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
856  // -10:00 US H%sT
857  {
858  &kPolicyUS /*zonePolicy*/,
859  "H%T" /*format*/,
860  -40 /*offsetCode*/,
861  (0 << 4) + (0 + 4) /*deltaCode*/,
862  127 /*untilYearTiny*/,
863  1 /*untilMonth*/,
864  1 /*untilDay*/,
865  0 /*untilTimeCode*/,
866  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
867  },
868 
869 };
870 
871 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "America/Adak";
872 
873 const extended::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
874  kZoneNameAmerica_Adak /*name*/,
875  0x97fe49d7 /*zoneId*/,
876  &kZoneContext /*zoneContext*/,
877  6 /*transitionBufSize*/,
878  1 /*numEras*/,
879  kZoneEraAmerica_Adak /*eras*/,
880 };
881 
882 //---------------------------------------------------------------------------
883 // Zone name: America/Anchorage
884 // Zone Eras: 1
885 // Strings (bytes): 23
886 // Memory (8-bit): 46
887 // Memory (32-bit): 59
888 //---------------------------------------------------------------------------
889 
890 static const extended::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
891  // -9:00 US AK%sT
892  {
893  &kPolicyUS /*zonePolicy*/,
894  "AK%T" /*format*/,
895  -36 /*offsetCode*/,
896  (0 << 4) + (0 + 4) /*deltaCode*/,
897  127 /*untilYearTiny*/,
898  1 /*untilMonth*/,
899  1 /*untilDay*/,
900  0 /*untilTimeCode*/,
901  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
902  },
903 
904 };
905 
906 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "America/Anchorage";
907 
908 const extended::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
909  kZoneNameAmerica_Anchorage /*name*/,
910  0x5a79260e /*zoneId*/,
911  &kZoneContext /*zoneContext*/,
912  6 /*transitionBufSize*/,
913  1 /*numEras*/,
914  kZoneEraAmerica_Anchorage /*eras*/,
915 };
916 
917 //---------------------------------------------------------------------------
918 // Zone name: America/Araguaina
919 // Zone Eras: 4
920 // Strings (bytes): 42
921 // Memory (8-bit): 98
922 // Memory (32-bit): 126
923 //---------------------------------------------------------------------------
924 
925 static const extended::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
926  // -3:00 Brazil -03/-02 2003 Sep 24
927  {
928  &kPolicyBrazil /*zonePolicy*/,
929  "-03/-02" /*format*/,
930  -12 /*offsetCode*/,
931  (0 << 4) + (0 + 4) /*deltaCode*/,
932  3 /*untilYearTiny*/,
933  9 /*untilMonth*/,
934  24 /*untilDay*/,
935  0 /*untilTimeCode*/,
936  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
937  },
938  // -3:00 - -03 2012 Oct 21
939  {
940  nullptr /*zonePolicy*/,
941  "-03" /*format*/,
942  -12 /*offsetCode*/,
943  (0 << 4) + (0 + 4) /*deltaCode*/,
944  12 /*untilYearTiny*/,
945  10 /*untilMonth*/,
946  21 /*untilDay*/,
947  0 /*untilTimeCode*/,
948  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
949  },
950  // -3:00 Brazil -03/-02 2013 Sep
951  {
952  &kPolicyBrazil /*zonePolicy*/,
953  "-03/-02" /*format*/,
954  -12 /*offsetCode*/,
955  (0 << 4) + (0 + 4) /*deltaCode*/,
956  13 /*untilYearTiny*/,
957  9 /*untilMonth*/,
958  1 /*untilDay*/,
959  0 /*untilTimeCode*/,
960  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
961  },
962  // -3:00 - -03
963  {
964  nullptr /*zonePolicy*/,
965  "-03" /*format*/,
966  -12 /*offsetCode*/,
967  (0 << 4) + (0 + 4) /*deltaCode*/,
968  127 /*untilYearTiny*/,
969  1 /*untilMonth*/,
970  1 /*untilDay*/,
971  0 /*untilTimeCode*/,
972  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
973  },
974 
975 };
976 
977 static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "America/Araguaina";
978 
979 const extended::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
980  kZoneNameAmerica_Araguaina /*name*/,
981  0x6f9a3aef /*zoneId*/,
982  &kZoneContext /*zoneContext*/,
983  5 /*transitionBufSize*/,
984  4 /*numEras*/,
985  kZoneEraAmerica_Araguaina /*eras*/,
986 };
987 
988 //---------------------------------------------------------------------------
989 // Zone name: America/Argentina/Buenos_Aires
990 // Zone Eras: 3
991 // Strings (bytes): 55
992 // Memory (8-bit): 100
993 // Memory (32-bit): 123
994 //---------------------------------------------------------------------------
995 
996 static const extended::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
997  // -3:00 Arg -03/-02 1999 Oct 3
998  {
999  &kPolicyArg /*zonePolicy*/,
1000  "-03/-02" /*format*/,
1001  -12 /*offsetCode*/,
1002  (0 << 4) + (0 + 4) /*deltaCode*/,
1003  -1 /*untilYearTiny*/,
1004  10 /*untilMonth*/,
1005  3 /*untilDay*/,
1006  0 /*untilTimeCode*/,
1007  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1008  },
1009  // -4:00 Arg -04/-03 2000 Mar 3
1010  {
1011  &kPolicyArg /*zonePolicy*/,
1012  "-04/-03" /*format*/,
1013  -16 /*offsetCode*/,
1014  (0 << 4) + (0 + 4) /*deltaCode*/,
1015  0 /*untilYearTiny*/,
1016  3 /*untilMonth*/,
1017  3 /*untilDay*/,
1018  0 /*untilTimeCode*/,
1019  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1020  },
1021  // -3:00 Arg -03/-02
1022  {
1023  &kPolicyArg /*zonePolicy*/,
1024  "-03/-02" /*format*/,
1025  -12 /*offsetCode*/,
1026  (0 << 4) + (0 + 4) /*deltaCode*/,
1027  127 /*untilYearTiny*/,
1028  1 /*untilMonth*/,
1029  1 /*untilDay*/,
1030  0 /*untilTimeCode*/,
1031  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1032  },
1033 
1034 };
1035 
1036 static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "America/Argentina/Buenos_Aires";
1037 
1038 const extended::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
1039  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
1040  0xd43b4c0d /*zoneId*/,
1041  &kZoneContext /*zoneContext*/,
1042  6 /*transitionBufSize*/,
1043  3 /*numEras*/,
1044  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
1045 };
1046 
1047 //---------------------------------------------------------------------------
1048 // Zone name: America/Argentina/Catamarca
1049 // Zone Eras: 6
1050 // Strings (bytes): 64
1051 // Memory (8-bit): 142
1052 // Memory (32-bit): 180
1053 //---------------------------------------------------------------------------
1054 
1055 static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
1056  // -3:00 Arg -03/-02 1999 Oct 3
1057  {
1058  &kPolicyArg /*zonePolicy*/,
1059  "-03/-02" /*format*/,
1060  -12 /*offsetCode*/,
1061  (0 << 4) + (0 + 4) /*deltaCode*/,
1062  -1 /*untilYearTiny*/,
1063  10 /*untilMonth*/,
1064  3 /*untilDay*/,
1065  0 /*untilTimeCode*/,
1066  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1067  },
1068  // -4:00 Arg -04/-03 2000 Mar 3
1069  {
1070  &kPolicyArg /*zonePolicy*/,
1071  "-04/-03" /*format*/,
1072  -16 /*offsetCode*/,
1073  (0 << 4) + (0 + 4) /*deltaCode*/,
1074  0 /*untilYearTiny*/,
1075  3 /*untilMonth*/,
1076  3 /*untilDay*/,
1077  0 /*untilTimeCode*/,
1078  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1079  },
1080  // -3:00 - -03 2004 Jun 1
1081  {
1082  nullptr /*zonePolicy*/,
1083  "-03" /*format*/,
1084  -12 /*offsetCode*/,
1085  (0 << 4) + (0 + 4) /*deltaCode*/,
1086  4 /*untilYearTiny*/,
1087  6 /*untilMonth*/,
1088  1 /*untilDay*/,
1089  0 /*untilTimeCode*/,
1090  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1091  },
1092  // -4:00 - -04 2004 Jun 20
1093  {
1094  nullptr /*zonePolicy*/,
1095  "-04" /*format*/,
1096  -16 /*offsetCode*/,
1097  (0 << 4) + (0 + 4) /*deltaCode*/,
1098  4 /*untilYearTiny*/,
1099  6 /*untilMonth*/,
1100  20 /*untilDay*/,
1101  0 /*untilTimeCode*/,
1102  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1103  },
1104  // -3:00 Arg -03/-02 2008 Oct 18
1105  {
1106  &kPolicyArg /*zonePolicy*/,
1107  "-03/-02" /*format*/,
1108  -12 /*offsetCode*/,
1109  (0 << 4) + (0 + 4) /*deltaCode*/,
1110  8 /*untilYearTiny*/,
1111  10 /*untilMonth*/,
1112  18 /*untilDay*/,
1113  0 /*untilTimeCode*/,
1114  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1115  },
1116  // -3:00 - -03
1117  {
1118  nullptr /*zonePolicy*/,
1119  "-03" /*format*/,
1120  -12 /*offsetCode*/,
1121  (0 << 4) + (0 + 4) /*deltaCode*/,
1122  127 /*untilYearTiny*/,
1123  1 /*untilMonth*/,
1124  1 /*untilDay*/,
1125  0 /*untilTimeCode*/,
1126  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1127  },
1128 
1129 };
1130 
1131 static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "America/Argentina/Catamarca";
1132 
1133 const extended::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
1134  kZoneNameAmerica_Argentina_Catamarca /*name*/,
1135  0x8d40986b /*zoneId*/,
1136  &kZoneContext /*zoneContext*/,
1137  5 /*transitionBufSize*/,
1138  6 /*numEras*/,
1139  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
1140 };
1141 
1142 //---------------------------------------------------------------------------
1143 // Zone name: America/Argentina/Cordoba
1144 // Zone Eras: 3
1145 // Strings (bytes): 50
1146 // Memory (8-bit): 95
1147 // Memory (32-bit): 118
1148 //---------------------------------------------------------------------------
1149 
1150 static const extended::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
1151  // -3:00 Arg -03/-02 1999 Oct 3
1152  {
1153  &kPolicyArg /*zonePolicy*/,
1154  "-03/-02" /*format*/,
1155  -12 /*offsetCode*/,
1156  (0 << 4) + (0 + 4) /*deltaCode*/,
1157  -1 /*untilYearTiny*/,
1158  10 /*untilMonth*/,
1159  3 /*untilDay*/,
1160  0 /*untilTimeCode*/,
1161  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1162  },
1163  // -4:00 Arg -04/-03 2000 Mar 3
1164  {
1165  &kPolicyArg /*zonePolicy*/,
1166  "-04/-03" /*format*/,
1167  -16 /*offsetCode*/,
1168  (0 << 4) + (0 + 4) /*deltaCode*/,
1169  0 /*untilYearTiny*/,
1170  3 /*untilMonth*/,
1171  3 /*untilDay*/,
1172  0 /*untilTimeCode*/,
1173  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1174  },
1175  // -3:00 Arg -03/-02
1176  {
1177  &kPolicyArg /*zonePolicy*/,
1178  "-03/-02" /*format*/,
1179  -12 /*offsetCode*/,
1180  (0 << 4) + (0 + 4) /*deltaCode*/,
1181  127 /*untilYearTiny*/,
1182  1 /*untilMonth*/,
1183  1 /*untilDay*/,
1184  0 /*untilTimeCode*/,
1185  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1186  },
1187 
1188 };
1189 
1190 static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "America/Argentina/Cordoba";
1191 
1192 const extended::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
1193  kZoneNameAmerica_Argentina_Cordoba /*name*/,
1194  0xbfccc308 /*zoneId*/,
1195  &kZoneContext /*zoneContext*/,
1196  6 /*transitionBufSize*/,
1197  3 /*numEras*/,
1198  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
1199 };
1200 
1201 //---------------------------------------------------------------------------
1202 // Zone name: America/Argentina/Jujuy
1203 // Zone Eras: 4
1204 // Strings (bytes): 52
1205 // Memory (8-bit): 108
1206 // Memory (32-bit): 136
1207 //---------------------------------------------------------------------------
1208 
1209 static const extended::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
1210  // -3:00 Arg -03/-02 1999 Oct 3
1211  {
1212  &kPolicyArg /*zonePolicy*/,
1213  "-03/-02" /*format*/,
1214  -12 /*offsetCode*/,
1215  (0 << 4) + (0 + 4) /*deltaCode*/,
1216  -1 /*untilYearTiny*/,
1217  10 /*untilMonth*/,
1218  3 /*untilDay*/,
1219  0 /*untilTimeCode*/,
1220  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1221  },
1222  // -4:00 Arg -04/-03 2000 Mar 3
1223  {
1224  &kPolicyArg /*zonePolicy*/,
1225  "-04/-03" /*format*/,
1226  -16 /*offsetCode*/,
1227  (0 << 4) + (0 + 4) /*deltaCode*/,
1228  0 /*untilYearTiny*/,
1229  3 /*untilMonth*/,
1230  3 /*untilDay*/,
1231  0 /*untilTimeCode*/,
1232  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1233  },
1234  // -3:00 Arg -03/-02 2008 Oct 18
1235  {
1236  &kPolicyArg /*zonePolicy*/,
1237  "-03/-02" /*format*/,
1238  -12 /*offsetCode*/,
1239  (0 << 4) + (0 + 4) /*deltaCode*/,
1240  8 /*untilYearTiny*/,
1241  10 /*untilMonth*/,
1242  18 /*untilDay*/,
1243  0 /*untilTimeCode*/,
1244  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1245  },
1246  // -3:00 - -03
1247  {
1248  nullptr /*zonePolicy*/,
1249  "-03" /*format*/,
1250  -12 /*offsetCode*/,
1251  (0 << 4) + (0 + 4) /*deltaCode*/,
1252  127 /*untilYearTiny*/,
1253  1 /*untilMonth*/,
1254  1 /*untilDay*/,
1255  0 /*untilTimeCode*/,
1256  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1257  },
1258 
1259 };
1260 
1261 static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "America/Argentina/Jujuy";
1262 
1263 const extended::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
1264  kZoneNameAmerica_Argentina_Jujuy /*name*/,
1265  0x5f2f46c5 /*zoneId*/,
1266  &kZoneContext /*zoneContext*/,
1267  5 /*transitionBufSize*/,
1268  4 /*numEras*/,
1269  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
1270 };
1271 
1272 //---------------------------------------------------------------------------
1273 // Zone name: America/Argentina/La_Rioja
1274 // Zone Eras: 6
1275 // Strings (bytes): 63
1276 // Memory (8-bit): 141
1277 // Memory (32-bit): 179
1278 //---------------------------------------------------------------------------
1279 
1280 static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
1281  // -3:00 Arg -03/-02 1999 Oct 3
1282  {
1283  &kPolicyArg /*zonePolicy*/,
1284  "-03/-02" /*format*/,
1285  -12 /*offsetCode*/,
1286  (0 << 4) + (0 + 4) /*deltaCode*/,
1287  -1 /*untilYearTiny*/,
1288  10 /*untilMonth*/,
1289  3 /*untilDay*/,
1290  0 /*untilTimeCode*/,
1291  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1292  },
1293  // -4:00 Arg -04/-03 2000 Mar 3
1294  {
1295  &kPolicyArg /*zonePolicy*/,
1296  "-04/-03" /*format*/,
1297  -16 /*offsetCode*/,
1298  (0 << 4) + (0 + 4) /*deltaCode*/,
1299  0 /*untilYearTiny*/,
1300  3 /*untilMonth*/,
1301  3 /*untilDay*/,
1302  0 /*untilTimeCode*/,
1303  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1304  },
1305  // -3:00 - -03 2004 Jun 1
1306  {
1307  nullptr /*zonePolicy*/,
1308  "-03" /*format*/,
1309  -12 /*offsetCode*/,
1310  (0 << 4) + (0 + 4) /*deltaCode*/,
1311  4 /*untilYearTiny*/,
1312  6 /*untilMonth*/,
1313  1 /*untilDay*/,
1314  0 /*untilTimeCode*/,
1315  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1316  },
1317  // -4:00 - -04 2004 Jun 20
1318  {
1319  nullptr /*zonePolicy*/,
1320  "-04" /*format*/,
1321  -16 /*offsetCode*/,
1322  (0 << 4) + (0 + 4) /*deltaCode*/,
1323  4 /*untilYearTiny*/,
1324  6 /*untilMonth*/,
1325  20 /*untilDay*/,
1326  0 /*untilTimeCode*/,
1327  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1328  },
1329  // -3:00 Arg -03/-02 2008 Oct 18
1330  {
1331  &kPolicyArg /*zonePolicy*/,
1332  "-03/-02" /*format*/,
1333  -12 /*offsetCode*/,
1334  (0 << 4) + (0 + 4) /*deltaCode*/,
1335  8 /*untilYearTiny*/,
1336  10 /*untilMonth*/,
1337  18 /*untilDay*/,
1338  0 /*untilTimeCode*/,
1339  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1340  },
1341  // -3:00 - -03
1342  {
1343  nullptr /*zonePolicy*/,
1344  "-03" /*format*/,
1345  -12 /*offsetCode*/,
1346  (0 << 4) + (0 + 4) /*deltaCode*/,
1347  127 /*untilYearTiny*/,
1348  1 /*untilMonth*/,
1349  1 /*untilDay*/,
1350  0 /*untilTimeCode*/,
1351  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1352  },
1353 
1354 };
1355 
1356 static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "America/Argentina/La_Rioja";
1357 
1358 const extended::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
1359  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
1360  0xa46b7eef /*zoneId*/,
1361  &kZoneContext /*zoneContext*/,
1362  5 /*transitionBufSize*/,
1363  6 /*numEras*/,
1364  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
1365 };
1366 
1367 //---------------------------------------------------------------------------
1368 // Zone name: America/Argentina/Mendoza
1369 // Zone Eras: 6
1370 // Strings (bytes): 62
1371 // Memory (8-bit): 140
1372 // Memory (32-bit): 178
1373 //---------------------------------------------------------------------------
1374 
1375 static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
1376  // -3:00 Arg -03/-02 1999 Oct 3
1377  {
1378  &kPolicyArg /*zonePolicy*/,
1379  "-03/-02" /*format*/,
1380  -12 /*offsetCode*/,
1381  (0 << 4) + (0 + 4) /*deltaCode*/,
1382  -1 /*untilYearTiny*/,
1383  10 /*untilMonth*/,
1384  3 /*untilDay*/,
1385  0 /*untilTimeCode*/,
1386  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1387  },
1388  // -4:00 Arg -04/-03 2000 Mar 3
1389  {
1390  &kPolicyArg /*zonePolicy*/,
1391  "-04/-03" /*format*/,
1392  -16 /*offsetCode*/,
1393  (0 << 4) + (0 + 4) /*deltaCode*/,
1394  0 /*untilYearTiny*/,
1395  3 /*untilMonth*/,
1396  3 /*untilDay*/,
1397  0 /*untilTimeCode*/,
1398  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1399  },
1400  // -3:00 - -03 2004 May 23
1401  {
1402  nullptr /*zonePolicy*/,
1403  "-03" /*format*/,
1404  -12 /*offsetCode*/,
1405  (0 << 4) + (0 + 4) /*deltaCode*/,
1406  4 /*untilYearTiny*/,
1407  5 /*untilMonth*/,
1408  23 /*untilDay*/,
1409  0 /*untilTimeCode*/,
1410  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1411  },
1412  // -4:00 - -04 2004 Sep 26
1413  {
1414  nullptr /*zonePolicy*/,
1415  "-04" /*format*/,
1416  -16 /*offsetCode*/,
1417  (0 << 4) + (0 + 4) /*deltaCode*/,
1418  4 /*untilYearTiny*/,
1419  9 /*untilMonth*/,
1420  26 /*untilDay*/,
1421  0 /*untilTimeCode*/,
1422  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1423  },
1424  // -3:00 Arg -03/-02 2008 Oct 18
1425  {
1426  &kPolicyArg /*zonePolicy*/,
1427  "-03/-02" /*format*/,
1428  -12 /*offsetCode*/,
1429  (0 << 4) + (0 + 4) /*deltaCode*/,
1430  8 /*untilYearTiny*/,
1431  10 /*untilMonth*/,
1432  18 /*untilDay*/,
1433  0 /*untilTimeCode*/,
1434  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1435  },
1436  // -3:00 - -03
1437  {
1438  nullptr /*zonePolicy*/,
1439  "-03" /*format*/,
1440  -12 /*offsetCode*/,
1441  (0 << 4) + (0 + 4) /*deltaCode*/,
1442  127 /*untilYearTiny*/,
1443  1 /*untilMonth*/,
1444  1 /*untilDay*/,
1445  0 /*untilTimeCode*/,
1446  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1447  },
1448 
1449 };
1450 
1451 static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "America/Argentina/Mendoza";
1452 
1453 const extended::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
1454  kZoneNameAmerica_Argentina_Mendoza /*name*/,
1455  0xa9f72d5c /*zoneId*/,
1456  &kZoneContext /*zoneContext*/,
1457  5 /*transitionBufSize*/,
1458  6 /*numEras*/,
1459  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
1460 };
1461 
1462 //---------------------------------------------------------------------------
1463 // Zone name: America/Argentina/Rio_Gallegos
1464 // Zone Eras: 6
1465 // Strings (bytes): 67
1466 // Memory (8-bit): 145
1467 // Memory (32-bit): 183
1468 //---------------------------------------------------------------------------
1469 
1470 static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
1471  // -3:00 Arg -03/-02 1999 Oct 3
1472  {
1473  &kPolicyArg /*zonePolicy*/,
1474  "-03/-02" /*format*/,
1475  -12 /*offsetCode*/,
1476  (0 << 4) + (0 + 4) /*deltaCode*/,
1477  -1 /*untilYearTiny*/,
1478  10 /*untilMonth*/,
1479  3 /*untilDay*/,
1480  0 /*untilTimeCode*/,
1481  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1482  },
1483  // -4:00 Arg -04/-03 2000 Mar 3
1484  {
1485  &kPolicyArg /*zonePolicy*/,
1486  "-04/-03" /*format*/,
1487  -16 /*offsetCode*/,
1488  (0 << 4) + (0 + 4) /*deltaCode*/,
1489  0 /*untilYearTiny*/,
1490  3 /*untilMonth*/,
1491  3 /*untilDay*/,
1492  0 /*untilTimeCode*/,
1493  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1494  },
1495  // -3:00 - -03 2004 Jun 1
1496  {
1497  nullptr /*zonePolicy*/,
1498  "-03" /*format*/,
1499  -12 /*offsetCode*/,
1500  (0 << 4) + (0 + 4) /*deltaCode*/,
1501  4 /*untilYearTiny*/,
1502  6 /*untilMonth*/,
1503  1 /*untilDay*/,
1504  0 /*untilTimeCode*/,
1505  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1506  },
1507  // -4:00 - -04 2004 Jun 20
1508  {
1509  nullptr /*zonePolicy*/,
1510  "-04" /*format*/,
1511  -16 /*offsetCode*/,
1512  (0 << 4) + (0 + 4) /*deltaCode*/,
1513  4 /*untilYearTiny*/,
1514  6 /*untilMonth*/,
1515  20 /*untilDay*/,
1516  0 /*untilTimeCode*/,
1517  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1518  },
1519  // -3:00 Arg -03/-02 2008 Oct 18
1520  {
1521  &kPolicyArg /*zonePolicy*/,
1522  "-03/-02" /*format*/,
1523  -12 /*offsetCode*/,
1524  (0 << 4) + (0 + 4) /*deltaCode*/,
1525  8 /*untilYearTiny*/,
1526  10 /*untilMonth*/,
1527  18 /*untilDay*/,
1528  0 /*untilTimeCode*/,
1529  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1530  },
1531  // -3:00 - -03
1532  {
1533  nullptr /*zonePolicy*/,
1534  "-03" /*format*/,
1535  -12 /*offsetCode*/,
1536  (0 << 4) + (0 + 4) /*deltaCode*/,
1537  127 /*untilYearTiny*/,
1538  1 /*untilMonth*/,
1539  1 /*untilDay*/,
1540  0 /*untilTimeCode*/,
1541  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1542  },
1543 
1544 };
1545 
1546 static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "America/Argentina/Rio_Gallegos";
1547 
1548 const extended::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
1549  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
1550  0xc5b0f565 /*zoneId*/,
1551  &kZoneContext /*zoneContext*/,
1552  5 /*transitionBufSize*/,
1553  6 /*numEras*/,
1554  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
1555 };
1556 
1557 //---------------------------------------------------------------------------
1558 // Zone name: America/Argentina/Salta
1559 // Zone Eras: 4
1560 // Strings (bytes): 52
1561 // Memory (8-bit): 108
1562 // Memory (32-bit): 136
1563 //---------------------------------------------------------------------------
1564 
1565 static const extended::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
1566  // -3:00 Arg -03/-02 1999 Oct 3
1567  {
1568  &kPolicyArg /*zonePolicy*/,
1569  "-03/-02" /*format*/,
1570  -12 /*offsetCode*/,
1571  (0 << 4) + (0 + 4) /*deltaCode*/,
1572  -1 /*untilYearTiny*/,
1573  10 /*untilMonth*/,
1574  3 /*untilDay*/,
1575  0 /*untilTimeCode*/,
1576  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1577  },
1578  // -4:00 Arg -04/-03 2000 Mar 3
1579  {
1580  &kPolicyArg /*zonePolicy*/,
1581  "-04/-03" /*format*/,
1582  -16 /*offsetCode*/,
1583  (0 << 4) + (0 + 4) /*deltaCode*/,
1584  0 /*untilYearTiny*/,
1585  3 /*untilMonth*/,
1586  3 /*untilDay*/,
1587  0 /*untilTimeCode*/,
1588  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1589  },
1590  // -3:00 Arg -03/-02 2008 Oct 18
1591  {
1592  &kPolicyArg /*zonePolicy*/,
1593  "-03/-02" /*format*/,
1594  -12 /*offsetCode*/,
1595  (0 << 4) + (0 + 4) /*deltaCode*/,
1596  8 /*untilYearTiny*/,
1597  10 /*untilMonth*/,
1598  18 /*untilDay*/,
1599  0 /*untilTimeCode*/,
1600  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1601  },
1602  // -3:00 - -03
1603  {
1604  nullptr /*zonePolicy*/,
1605  "-03" /*format*/,
1606  -12 /*offsetCode*/,
1607  (0 << 4) + (0 + 4) /*deltaCode*/,
1608  127 /*untilYearTiny*/,
1609  1 /*untilMonth*/,
1610  1 /*untilDay*/,
1611  0 /*untilTimeCode*/,
1612  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1613  },
1614 
1615 };
1616 
1617 static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "America/Argentina/Salta";
1618 
1619 const extended::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
1620  kZoneNameAmerica_Argentina_Salta /*name*/,
1621  0x5fc73403 /*zoneId*/,
1622  &kZoneContext /*zoneContext*/,
1623  5 /*transitionBufSize*/,
1624  4 /*numEras*/,
1625  kZoneEraAmerica_Argentina_Salta /*eras*/,
1626 };
1627 
1628 //---------------------------------------------------------------------------
1629 // Zone name: America/Argentina/San_Juan
1630 // Zone Eras: 6
1631 // Strings (bytes): 63
1632 // Memory (8-bit): 141
1633 // Memory (32-bit): 179
1634 //---------------------------------------------------------------------------
1635 
1636 static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
1637  // -3:00 Arg -03/-02 1999 Oct 3
1638  {
1639  &kPolicyArg /*zonePolicy*/,
1640  "-03/-02" /*format*/,
1641  -12 /*offsetCode*/,
1642  (0 << 4) + (0 + 4) /*deltaCode*/,
1643  -1 /*untilYearTiny*/,
1644  10 /*untilMonth*/,
1645  3 /*untilDay*/,
1646  0 /*untilTimeCode*/,
1647  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1648  },
1649  // -4:00 Arg -04/-03 2000 Mar 3
1650  {
1651  &kPolicyArg /*zonePolicy*/,
1652  "-04/-03" /*format*/,
1653  -16 /*offsetCode*/,
1654  (0 << 4) + (0 + 4) /*deltaCode*/,
1655  0 /*untilYearTiny*/,
1656  3 /*untilMonth*/,
1657  3 /*untilDay*/,
1658  0 /*untilTimeCode*/,
1659  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1660  },
1661  // -3:00 - -03 2004 May 31
1662  {
1663  nullptr /*zonePolicy*/,
1664  "-03" /*format*/,
1665  -12 /*offsetCode*/,
1666  (0 << 4) + (0 + 4) /*deltaCode*/,
1667  4 /*untilYearTiny*/,
1668  5 /*untilMonth*/,
1669  31 /*untilDay*/,
1670  0 /*untilTimeCode*/,
1671  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1672  },
1673  // -4:00 - -04 2004 Jul 25
1674  {
1675  nullptr /*zonePolicy*/,
1676  "-04" /*format*/,
1677  -16 /*offsetCode*/,
1678  (0 << 4) + (0 + 4) /*deltaCode*/,
1679  4 /*untilYearTiny*/,
1680  7 /*untilMonth*/,
1681  25 /*untilDay*/,
1682  0 /*untilTimeCode*/,
1683  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1684  },
1685  // -3:00 Arg -03/-02 2008 Oct 18
1686  {
1687  &kPolicyArg /*zonePolicy*/,
1688  "-03/-02" /*format*/,
1689  -12 /*offsetCode*/,
1690  (0 << 4) + (0 + 4) /*deltaCode*/,
1691  8 /*untilYearTiny*/,
1692  10 /*untilMonth*/,
1693  18 /*untilDay*/,
1694  0 /*untilTimeCode*/,
1695  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1696  },
1697  // -3:00 - -03
1698  {
1699  nullptr /*zonePolicy*/,
1700  "-03" /*format*/,
1701  -12 /*offsetCode*/,
1702  (0 << 4) + (0 + 4) /*deltaCode*/,
1703  127 /*untilYearTiny*/,
1704  1 /*untilMonth*/,
1705  1 /*untilDay*/,
1706  0 /*untilTimeCode*/,
1707  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1708  },
1709 
1710 };
1711 
1712 static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "America/Argentina/San_Juan";
1713 
1714 const extended::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
1715  kZoneNameAmerica_Argentina_San_Juan /*name*/,
1716  0x3e1009bd /*zoneId*/,
1717  &kZoneContext /*zoneContext*/,
1718  5 /*transitionBufSize*/,
1719  6 /*numEras*/,
1720  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
1721 };
1722 
1723 //---------------------------------------------------------------------------
1724 // Zone name: America/Argentina/San_Luis
1725 // Zone Eras: 7
1726 // Strings (bytes): 63
1727 // Memory (8-bit): 152
1728 // Memory (32-bit): 195
1729 //---------------------------------------------------------------------------
1730 
1731 static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
1732  // -3:00 - -03 1999 Oct 3
1733  {
1734  nullptr /*zonePolicy*/,
1735  "-03" /*format*/,
1736  -12 /*offsetCode*/,
1737  (0 << 4) + (0 + 4) /*deltaCode*/,
1738  -1 /*untilYearTiny*/,
1739  10 /*untilMonth*/,
1740  3 /*untilDay*/,
1741  0 /*untilTimeCode*/,
1742  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1743  },
1744  // -4:00 1:00 -03 2000 Mar 3
1745  {
1746  nullptr /*zonePolicy*/,
1747  "-03" /*format*/,
1748  -16 /*offsetCode*/,
1749  (0 << 4) + (4 + 4) /*deltaCode*/,
1750  0 /*untilYearTiny*/,
1751  3 /*untilMonth*/,
1752  3 /*untilDay*/,
1753  0 /*untilTimeCode*/,
1754  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1755  },
1756  // -3:00 - -03 2004 May 31
1757  {
1758  nullptr /*zonePolicy*/,
1759  "-03" /*format*/,
1760  -12 /*offsetCode*/,
1761  (0 << 4) + (0 + 4) /*deltaCode*/,
1762  4 /*untilYearTiny*/,
1763  5 /*untilMonth*/,
1764  31 /*untilDay*/,
1765  0 /*untilTimeCode*/,
1766  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1767  },
1768  // -4:00 - -04 2004 Jul 25
1769  {
1770  nullptr /*zonePolicy*/,
1771  "-04" /*format*/,
1772  -16 /*offsetCode*/,
1773  (0 << 4) + (0 + 4) /*deltaCode*/,
1774  4 /*untilYearTiny*/,
1775  7 /*untilMonth*/,
1776  25 /*untilDay*/,
1777  0 /*untilTimeCode*/,
1778  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1779  },
1780  // -3:00 Arg -03/-02 2008 Jan 21
1781  {
1782  &kPolicyArg /*zonePolicy*/,
1783  "-03/-02" /*format*/,
1784  -12 /*offsetCode*/,
1785  (0 << 4) + (0 + 4) /*deltaCode*/,
1786  8 /*untilYearTiny*/,
1787  1 /*untilMonth*/,
1788  21 /*untilDay*/,
1789  0 /*untilTimeCode*/,
1790  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1791  },
1792  // -4:00 SanLuis -04/-03 2009 Oct 11
1793  {
1794  &kPolicySanLuis /*zonePolicy*/,
1795  "-04/-03" /*format*/,
1796  -16 /*offsetCode*/,
1797  (0 << 4) + (0 + 4) /*deltaCode*/,
1798  9 /*untilYearTiny*/,
1799  10 /*untilMonth*/,
1800  11 /*untilDay*/,
1801  0 /*untilTimeCode*/,
1802  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1803  },
1804  // -3:00 - -03
1805  {
1806  nullptr /*zonePolicy*/,
1807  "-03" /*format*/,
1808  -12 /*offsetCode*/,
1809  (0 << 4) + (0 + 4) /*deltaCode*/,
1810  127 /*untilYearTiny*/,
1811  1 /*untilMonth*/,
1812  1 /*untilDay*/,
1813  0 /*untilTimeCode*/,
1814  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1815  },
1816 
1817 };
1818 
1819 static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "America/Argentina/San_Luis";
1820 
1821 const extended::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
1822  kZoneNameAmerica_Argentina_San_Luis /*name*/,
1823  0x3e11238c /*zoneId*/,
1824  &kZoneContext /*zoneContext*/,
1825  7 /*transitionBufSize*/,
1826  7 /*numEras*/,
1827  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
1828 };
1829 
1830 //---------------------------------------------------------------------------
1831 // Zone name: America/Argentina/Tucuman
1832 // Zone Eras: 5
1833 // Strings (bytes): 58
1834 // Memory (8-bit): 125
1835 // Memory (32-bit): 158
1836 //---------------------------------------------------------------------------
1837 
1838 static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
1839  // -3:00 Arg -03/-02 1999 Oct 3
1840  {
1841  &kPolicyArg /*zonePolicy*/,
1842  "-03/-02" /*format*/,
1843  -12 /*offsetCode*/,
1844  (0 << 4) + (0 + 4) /*deltaCode*/,
1845  -1 /*untilYearTiny*/,
1846  10 /*untilMonth*/,
1847  3 /*untilDay*/,
1848  0 /*untilTimeCode*/,
1849  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1850  },
1851  // -4:00 Arg -04/-03 2000 Mar 3
1852  {
1853  &kPolicyArg /*zonePolicy*/,
1854  "-04/-03" /*format*/,
1855  -16 /*offsetCode*/,
1856  (0 << 4) + (0 + 4) /*deltaCode*/,
1857  0 /*untilYearTiny*/,
1858  3 /*untilMonth*/,
1859  3 /*untilDay*/,
1860  0 /*untilTimeCode*/,
1861  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1862  },
1863  // -3:00 - -03 2004 Jun 1
1864  {
1865  nullptr /*zonePolicy*/,
1866  "-03" /*format*/,
1867  -12 /*offsetCode*/,
1868  (0 << 4) + (0 + 4) /*deltaCode*/,
1869  4 /*untilYearTiny*/,
1870  6 /*untilMonth*/,
1871  1 /*untilDay*/,
1872  0 /*untilTimeCode*/,
1873  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1874  },
1875  // -4:00 - -04 2004 Jun 13
1876  {
1877  nullptr /*zonePolicy*/,
1878  "-04" /*format*/,
1879  -16 /*offsetCode*/,
1880  (0 << 4) + (0 + 4) /*deltaCode*/,
1881  4 /*untilYearTiny*/,
1882  6 /*untilMonth*/,
1883  13 /*untilDay*/,
1884  0 /*untilTimeCode*/,
1885  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1886  },
1887  // -3:00 Arg -03/-02
1888  {
1889  &kPolicyArg /*zonePolicy*/,
1890  "-03/-02" /*format*/,
1891  -12 /*offsetCode*/,
1892  (0 << 4) + (0 + 4) /*deltaCode*/,
1893  127 /*untilYearTiny*/,
1894  1 /*untilMonth*/,
1895  1 /*untilDay*/,
1896  0 /*untilTimeCode*/,
1897  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1898  },
1899 
1900 };
1901 
1902 static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "America/Argentina/Tucuman";
1903 
1904 const extended::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
1905  kZoneNameAmerica_Argentina_Tucuman /*name*/,
1906  0xe96399eb /*zoneId*/,
1907  &kZoneContext /*zoneContext*/,
1908  6 /*transitionBufSize*/,
1909  5 /*numEras*/,
1910  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
1911 };
1912 
1913 //---------------------------------------------------------------------------
1914 // Zone name: America/Argentina/Ushuaia
1915 // Zone Eras: 6
1916 // Strings (bytes): 62
1917 // Memory (8-bit): 140
1918 // Memory (32-bit): 178
1919 //---------------------------------------------------------------------------
1920 
1921 static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
1922  // -3:00 Arg -03/-02 1999 Oct 3
1923  {
1924  &kPolicyArg /*zonePolicy*/,
1925  "-03/-02" /*format*/,
1926  -12 /*offsetCode*/,
1927  (0 << 4) + (0 + 4) /*deltaCode*/,
1928  -1 /*untilYearTiny*/,
1929  10 /*untilMonth*/,
1930  3 /*untilDay*/,
1931  0 /*untilTimeCode*/,
1932  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1933  },
1934  // -4:00 Arg -04/-03 2000 Mar 3
1935  {
1936  &kPolicyArg /*zonePolicy*/,
1937  "-04/-03" /*format*/,
1938  -16 /*offsetCode*/,
1939  (0 << 4) + (0 + 4) /*deltaCode*/,
1940  0 /*untilYearTiny*/,
1941  3 /*untilMonth*/,
1942  3 /*untilDay*/,
1943  0 /*untilTimeCode*/,
1944  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1945  },
1946  // -3:00 - -03 2004 May 30
1947  {
1948  nullptr /*zonePolicy*/,
1949  "-03" /*format*/,
1950  -12 /*offsetCode*/,
1951  (0 << 4) + (0 + 4) /*deltaCode*/,
1952  4 /*untilYearTiny*/,
1953  5 /*untilMonth*/,
1954  30 /*untilDay*/,
1955  0 /*untilTimeCode*/,
1956  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1957  },
1958  // -4:00 - -04 2004 Jun 20
1959  {
1960  nullptr /*zonePolicy*/,
1961  "-04" /*format*/,
1962  -16 /*offsetCode*/,
1963  (0 << 4) + (0 + 4) /*deltaCode*/,
1964  4 /*untilYearTiny*/,
1965  6 /*untilMonth*/,
1966  20 /*untilDay*/,
1967  0 /*untilTimeCode*/,
1968  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1969  },
1970  // -3:00 Arg -03/-02 2008 Oct 18
1971  {
1972  &kPolicyArg /*zonePolicy*/,
1973  "-03/-02" /*format*/,
1974  -12 /*offsetCode*/,
1975  (0 << 4) + (0 + 4) /*deltaCode*/,
1976  8 /*untilYearTiny*/,
1977  10 /*untilMonth*/,
1978  18 /*untilDay*/,
1979  0 /*untilTimeCode*/,
1980  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1981  },
1982  // -3:00 - -03
1983  {
1984  nullptr /*zonePolicy*/,
1985  "-03" /*format*/,
1986  -12 /*offsetCode*/,
1987  (0 << 4) + (0 + 4) /*deltaCode*/,
1988  127 /*untilYearTiny*/,
1989  1 /*untilMonth*/,
1990  1 /*untilDay*/,
1991  0 /*untilTimeCode*/,
1992  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
1993  },
1994 
1995 };
1996 
1997 static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "America/Argentina/Ushuaia";
1998 
1999 const extended::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
2000  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
2001  0x320dcdde /*zoneId*/,
2002  &kZoneContext /*zoneContext*/,
2003  5 /*transitionBufSize*/,
2004  6 /*numEras*/,
2005  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
2006 };
2007 
2008 //---------------------------------------------------------------------------
2009 // Zone name: America/Asuncion
2010 // Zone Eras: 1
2011 // Strings (bytes): 25
2012 // Memory (8-bit): 48
2013 // Memory (32-bit): 61
2014 //---------------------------------------------------------------------------
2015 
2016 static const extended::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
2017  // -4:00 Para -04/-03
2018  {
2019  &kPolicyPara /*zonePolicy*/,
2020  "-04/-03" /*format*/,
2021  -16 /*offsetCode*/,
2022  (0 << 4) + (0 + 4) /*deltaCode*/,
2023  127 /*untilYearTiny*/,
2024  1 /*untilMonth*/,
2025  1 /*untilDay*/,
2026  0 /*untilTimeCode*/,
2027  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2028  },
2029 
2030 };
2031 
2032 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "America/Asuncion";
2033 
2034 const extended::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
2035  kZoneNameAmerica_Asuncion /*name*/,
2036  0x50ec79a6 /*zoneId*/,
2037  &kZoneContext /*zoneContext*/,
2038  5 /*transitionBufSize*/,
2039  1 /*numEras*/,
2040  kZoneEraAmerica_Asuncion /*eras*/,
2041 };
2042 
2043 //---------------------------------------------------------------------------
2044 // Zone name: America/Atikokan
2045 // Zone Eras: 1
2046 // Strings (bytes): 21
2047 // Memory (8-bit): 44
2048 // Memory (32-bit): 57
2049 //---------------------------------------------------------------------------
2050 
2051 static const extended::ZoneEra kZoneEraAmerica_Atikokan[] ACE_TIME_PROGMEM = {
2052  // -5:00 - EST
2053  {
2054  nullptr /*zonePolicy*/,
2055  "EST" /*format*/,
2056  -20 /*offsetCode*/,
2057  (0 << 4) + (0 + 4) /*deltaCode*/,
2058  127 /*untilYearTiny*/,
2059  1 /*untilMonth*/,
2060  1 /*untilDay*/,
2061  0 /*untilTimeCode*/,
2062  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2063  },
2064 
2065 };
2066 
2067 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "America/Atikokan";
2068 
2069 const extended::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
2070  kZoneNameAmerica_Atikokan /*name*/,
2071  0x81b92098 /*zoneId*/,
2072  &kZoneContext /*zoneContext*/,
2073  2 /*transitionBufSize*/,
2074  1 /*numEras*/,
2075  kZoneEraAmerica_Atikokan /*eras*/,
2076 };
2077 
2078 //---------------------------------------------------------------------------
2079 // Zone name: America/Bahia
2080 // Zone Eras: 4
2081 // Strings (bytes): 38
2082 // Memory (8-bit): 94
2083 // Memory (32-bit): 122
2084 //---------------------------------------------------------------------------
2085 
2086 static const extended::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
2087  // -3:00 Brazil -03/-02 2003 Sep 24
2088  {
2089  &kPolicyBrazil /*zonePolicy*/,
2090  "-03/-02" /*format*/,
2091  -12 /*offsetCode*/,
2092  (0 << 4) + (0 + 4) /*deltaCode*/,
2093  3 /*untilYearTiny*/,
2094  9 /*untilMonth*/,
2095  24 /*untilDay*/,
2096  0 /*untilTimeCode*/,
2097  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2098  },
2099  // -3:00 - -03 2011 Oct 16
2100  {
2101  nullptr /*zonePolicy*/,
2102  "-03" /*format*/,
2103  -12 /*offsetCode*/,
2104  (0 << 4) + (0 + 4) /*deltaCode*/,
2105  11 /*untilYearTiny*/,
2106  10 /*untilMonth*/,
2107  16 /*untilDay*/,
2108  0 /*untilTimeCode*/,
2109  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2110  },
2111  // -3:00 Brazil -03/-02 2012 Oct 21
2112  {
2113  &kPolicyBrazil /*zonePolicy*/,
2114  "-03/-02" /*format*/,
2115  -12 /*offsetCode*/,
2116  (0 << 4) + (0 + 4) /*deltaCode*/,
2117  12 /*untilYearTiny*/,
2118  10 /*untilMonth*/,
2119  21 /*untilDay*/,
2120  0 /*untilTimeCode*/,
2121  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2122  },
2123  // -3:00 - -03
2124  {
2125  nullptr /*zonePolicy*/,
2126  "-03" /*format*/,
2127  -12 /*offsetCode*/,
2128  (0 << 4) + (0 + 4) /*deltaCode*/,
2129  127 /*untilYearTiny*/,
2130  1 /*untilMonth*/,
2131  1 /*untilDay*/,
2132  0 /*untilTimeCode*/,
2133  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2134  },
2135 
2136 };
2137 
2138 static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "America/Bahia";
2139 
2140 const extended::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
2141  kZoneNameAmerica_Bahia /*name*/,
2142  0x97d815fb /*zoneId*/,
2143  &kZoneContext /*zoneContext*/,
2144  5 /*transitionBufSize*/,
2145  4 /*numEras*/,
2146  kZoneEraAmerica_Bahia /*eras*/,
2147 };
2148 
2149 //---------------------------------------------------------------------------
2150 // Zone name: America/Bahia_Banderas
2151 // Zone Eras: 2
2152 // Strings (bytes): 31
2153 // Memory (8-bit): 65
2154 // Memory (32-bit): 83
2155 //---------------------------------------------------------------------------
2156 
2157 static const extended::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
2158  // -7:00 Mexico M%sT 2010 Apr 4 2:00
2159  {
2160  &kPolicyMexico /*zonePolicy*/,
2161  "M%T" /*format*/,
2162  -28 /*offsetCode*/,
2163  (0 << 4) + (0 + 4) /*deltaCode*/,
2164  10 /*untilYearTiny*/,
2165  4 /*untilMonth*/,
2166  4 /*untilDay*/,
2167  8 /*untilTimeCode*/,
2168  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2169  },
2170  // -6:00 Mexico C%sT
2171  {
2172  &kPolicyMexico /*zonePolicy*/,
2173  "C%T" /*format*/,
2174  -24 /*offsetCode*/,
2175  (0 << 4) + (0 + 4) /*deltaCode*/,
2176  127 /*untilYearTiny*/,
2177  1 /*untilMonth*/,
2178  1 /*untilDay*/,
2179  0 /*untilTimeCode*/,
2180  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2181  },
2182 
2183 };
2184 
2185 static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "America/Bahia_Banderas";
2186 
2187 const extended::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
2188  kZoneNameAmerica_Bahia_Banderas /*name*/,
2189  0x14f6329a /*zoneId*/,
2190  &kZoneContext /*zoneContext*/,
2191  5 /*transitionBufSize*/,
2192  2 /*numEras*/,
2193  kZoneEraAmerica_Bahia_Banderas /*eras*/,
2194 };
2195 
2196 //---------------------------------------------------------------------------
2197 // Zone name: America/Barbados
2198 // Zone Eras: 1
2199 // Strings (bytes): 21
2200 // Memory (8-bit): 44
2201 // Memory (32-bit): 57
2202 //---------------------------------------------------------------------------
2203 
2204 static const extended::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
2205  // -4:00 Barb A%sT
2206  {
2207  &kPolicyBarb /*zonePolicy*/,
2208  "A%T" /*format*/,
2209  -16 /*offsetCode*/,
2210  (0 << 4) + (0 + 4) /*deltaCode*/,
2211  127 /*untilYearTiny*/,
2212  1 /*untilMonth*/,
2213  1 /*untilDay*/,
2214  0 /*untilTimeCode*/,
2215  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2216  },
2217 
2218 };
2219 
2220 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "America/Barbados";
2221 
2222 const extended::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
2223  kZoneNameAmerica_Barbados /*name*/,
2224  0xcbbc3b04 /*zoneId*/,
2225  &kZoneContext /*zoneContext*/,
2226  2 /*transitionBufSize*/,
2227  1 /*numEras*/,
2228  kZoneEraAmerica_Barbados /*eras*/,
2229 };
2230 
2231 //---------------------------------------------------------------------------
2232 // Zone name: America/Belem
2233 // Zone Eras: 1
2234 // Strings (bytes): 18
2235 // Memory (8-bit): 41
2236 // Memory (32-bit): 54
2237 //---------------------------------------------------------------------------
2238 
2239 static const extended::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
2240  // -3:00 - -03
2241  {
2242  nullptr /*zonePolicy*/,
2243  "-03" /*format*/,
2244  -12 /*offsetCode*/,
2245  (0 << 4) + (0 + 4) /*deltaCode*/,
2246  127 /*untilYearTiny*/,
2247  1 /*untilMonth*/,
2248  1 /*untilDay*/,
2249  0 /*untilTimeCode*/,
2250  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2251  },
2252 
2253 };
2254 
2255 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "America/Belem";
2256 
2257 const extended::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
2258  kZoneNameAmerica_Belem /*name*/,
2259  0x97da580b /*zoneId*/,
2260  &kZoneContext /*zoneContext*/,
2261  2 /*transitionBufSize*/,
2262  1 /*numEras*/,
2263  kZoneEraAmerica_Belem /*eras*/,
2264 };
2265 
2266 //---------------------------------------------------------------------------
2267 // Zone name: America/Belize
2268 // Zone Eras: 1
2269 // Strings (bytes): 17
2270 // Memory (8-bit): 40
2271 // Memory (32-bit): 53
2272 //---------------------------------------------------------------------------
2273 
2274 static const extended::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
2275  // -6:00 Belize %s
2276  {
2277  &kPolicyBelize /*zonePolicy*/,
2278  "%" /*format*/,
2279  -24 /*offsetCode*/,
2280  (0 << 4) + (0 + 4) /*deltaCode*/,
2281  127 /*untilYearTiny*/,
2282  1 /*untilMonth*/,
2283  1 /*untilDay*/,
2284  0 /*untilTimeCode*/,
2285  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2286  },
2287 
2288 };
2289 
2290 static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "America/Belize";
2291 
2292 const extended::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
2293  kZoneNameAmerica_Belize /*name*/,
2294  0x93256c81 /*zoneId*/,
2295  &kZoneContext /*zoneContext*/,
2296  2 /*transitionBufSize*/,
2297  1 /*numEras*/,
2298  kZoneEraAmerica_Belize /*eras*/,
2299 };
2300 
2301 //---------------------------------------------------------------------------
2302 // Zone name: America/Blanc-Sablon
2303 // Zone Eras: 1
2304 // Strings (bytes): 25
2305 // Memory (8-bit): 48
2306 // Memory (32-bit): 61
2307 //---------------------------------------------------------------------------
2308 
2309 static const extended::ZoneEra kZoneEraAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = {
2310  // -4:00 - AST
2311  {
2312  nullptr /*zonePolicy*/,
2313  "AST" /*format*/,
2314  -16 /*offsetCode*/,
2315  (0 << 4) + (0 + 4) /*deltaCode*/,
2316  127 /*untilYearTiny*/,
2317  1 /*untilMonth*/,
2318  1 /*untilDay*/,
2319  0 /*untilTimeCode*/,
2320  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2321  },
2322 
2323 };
2324 
2325 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "America/Blanc-Sablon";
2326 
2327 const extended::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
2328  kZoneNameAmerica_Blanc_Sablon /*name*/,
2329  0x6e299892 /*zoneId*/,
2330  &kZoneContext /*zoneContext*/,
2331  2 /*transitionBufSize*/,
2332  1 /*numEras*/,
2333  kZoneEraAmerica_Blanc_Sablon /*eras*/,
2334 };
2335 
2336 //---------------------------------------------------------------------------
2337 // Zone name: America/Boa_Vista
2338 // Zone Eras: 3
2339 // Strings (bytes): 34
2340 // Memory (8-bit): 79
2341 // Memory (32-bit): 102
2342 //---------------------------------------------------------------------------
2343 
2344 static const extended::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
2345  // -4:00 - -04 1999 Sep 30
2346  {
2347  nullptr /*zonePolicy*/,
2348  "-04" /*format*/,
2349  -16 /*offsetCode*/,
2350  (0 << 4) + (0 + 4) /*deltaCode*/,
2351  -1 /*untilYearTiny*/,
2352  9 /*untilMonth*/,
2353  30 /*untilDay*/,
2354  0 /*untilTimeCode*/,
2355  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2356  },
2357  // -4:00 Brazil -04/-03 2000 Oct 15
2358  {
2359  &kPolicyBrazil /*zonePolicy*/,
2360  "-04/-03" /*format*/,
2361  -16 /*offsetCode*/,
2362  (0 << 4) + (0 + 4) /*deltaCode*/,
2363  0 /*untilYearTiny*/,
2364  10 /*untilMonth*/,
2365  15 /*untilDay*/,
2366  0 /*untilTimeCode*/,
2367  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2368  },
2369  // -4:00 - -04
2370  {
2371  nullptr /*zonePolicy*/,
2372  "-04" /*format*/,
2373  -16 /*offsetCode*/,
2374  (0 << 4) + (0 + 4) /*deltaCode*/,
2375  127 /*untilYearTiny*/,
2376  1 /*untilMonth*/,
2377  1 /*untilDay*/,
2378  0 /*untilTimeCode*/,
2379  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2380  },
2381 
2382 };
2383 
2384 static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "America/Boa_Vista";
2385 
2386 const extended::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
2387  kZoneNameAmerica_Boa_Vista /*name*/,
2388  0x0a7b7efe /*zoneId*/,
2389  &kZoneContext /*zoneContext*/,
2390  5 /*transitionBufSize*/,
2391  3 /*numEras*/,
2392  kZoneEraAmerica_Boa_Vista /*eras*/,
2393 };
2394 
2395 //---------------------------------------------------------------------------
2396 // Zone name: America/Bogota
2397 // Zone Eras: 1
2398 // Strings (bytes): 23
2399 // Memory (8-bit): 46
2400 // Memory (32-bit): 59
2401 //---------------------------------------------------------------------------
2402 
2403 static const extended::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
2404  // -5:00 CO -05/-04
2405  {
2406  &kPolicyCO /*zonePolicy*/,
2407  "-05/-04" /*format*/,
2408  -20 /*offsetCode*/,
2409  (0 << 4) + (0 + 4) /*deltaCode*/,
2410  127 /*untilYearTiny*/,
2411  1 /*untilMonth*/,
2412  1 /*untilDay*/,
2413  0 /*untilTimeCode*/,
2414  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2415  },
2416 
2417 };
2418 
2419 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "America/Bogota";
2420 
2421 const extended::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
2422  kZoneNameAmerica_Bogota /*name*/,
2423  0x93d7bc62 /*zoneId*/,
2424  &kZoneContext /*zoneContext*/,
2425  2 /*transitionBufSize*/,
2426  1 /*numEras*/,
2427  kZoneEraAmerica_Bogota /*eras*/,
2428 };
2429 
2430 //---------------------------------------------------------------------------
2431 // Zone name: America/Boise
2432 // Zone Eras: 1
2433 // Strings (bytes): 18
2434 // Memory (8-bit): 41
2435 // Memory (32-bit): 54
2436 //---------------------------------------------------------------------------
2437 
2438 static const extended::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
2439  // -7:00 US M%sT
2440  {
2441  &kPolicyUS /*zonePolicy*/,
2442  "M%T" /*format*/,
2443  -28 /*offsetCode*/,
2444  (0 << 4) + (0 + 4) /*deltaCode*/,
2445  127 /*untilYearTiny*/,
2446  1 /*untilMonth*/,
2447  1 /*untilDay*/,
2448  0 /*untilTimeCode*/,
2449  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2450  },
2451 
2452 };
2453 
2454 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "America/Boise";
2455 
2456 const extended::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
2457  kZoneNameAmerica_Boise /*name*/,
2458  0x97dfc8d8 /*zoneId*/,
2459  &kZoneContext /*zoneContext*/,
2460  6 /*transitionBufSize*/,
2461  1 /*numEras*/,
2462  kZoneEraAmerica_Boise /*eras*/,
2463 };
2464 
2465 //---------------------------------------------------------------------------
2466 // Zone name: America/Cambridge_Bay
2467 // Zone Eras: 5
2468 // Strings (bytes): 42
2469 // Memory (8-bit): 109
2470 // Memory (32-bit): 142
2471 //---------------------------------------------------------------------------
2472 
2473 static const extended::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
2474  // -7:00 NT_YK M%sT 1999 Oct 31 2:00
2475  {
2476  &kPolicyNT_YK /*zonePolicy*/,
2477  "M%T" /*format*/,
2478  -28 /*offsetCode*/,
2479  (0 << 4) + (0 + 4) /*deltaCode*/,
2480  -1 /*untilYearTiny*/,
2481  10 /*untilMonth*/,
2482  31 /*untilDay*/,
2483  8 /*untilTimeCode*/,
2484  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2485  },
2486  // -6:00 Canada C%sT 2000 Oct 29 2:00
2487  {
2488  &kPolicyCanada /*zonePolicy*/,
2489  "C%T" /*format*/,
2490  -24 /*offsetCode*/,
2491  (0 << 4) + (0 + 4) /*deltaCode*/,
2492  0 /*untilYearTiny*/,
2493  10 /*untilMonth*/,
2494  29 /*untilDay*/,
2495  8 /*untilTimeCode*/,
2496  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2497  },
2498  // -5:00 - EST 2000 Nov 5 0:00
2499  {
2500  nullptr /*zonePolicy*/,
2501  "EST" /*format*/,
2502  -20 /*offsetCode*/,
2503  (0 << 4) + (0 + 4) /*deltaCode*/,
2504  0 /*untilYearTiny*/,
2505  11 /*untilMonth*/,
2506  5 /*untilDay*/,
2507  0 /*untilTimeCode*/,
2508  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2509  },
2510  // -6:00 - CST 2001 Apr 1 3:00
2511  {
2512  nullptr /*zonePolicy*/,
2513  "CST" /*format*/,
2514  -24 /*offsetCode*/,
2515  (0 << 4) + (0 + 4) /*deltaCode*/,
2516  1 /*untilYearTiny*/,
2517  4 /*untilMonth*/,
2518  1 /*untilDay*/,
2519  12 /*untilTimeCode*/,
2520  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2521  },
2522  // -7:00 Canada M%sT
2523  {
2524  &kPolicyCanada /*zonePolicy*/,
2525  "M%T" /*format*/,
2526  -28 /*offsetCode*/,
2527  (0 << 4) + (0 + 4) /*deltaCode*/,
2528  127 /*untilYearTiny*/,
2529  1 /*untilMonth*/,
2530  1 /*untilDay*/,
2531  0 /*untilTimeCode*/,
2532  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2533  },
2534 
2535 };
2536 
2537 static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "America/Cambridge_Bay";
2538 
2539 const extended::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
2540  kZoneNameAmerica_Cambridge_Bay /*name*/,
2541  0xd5a44aff /*zoneId*/,
2542  &kZoneContext /*zoneContext*/,
2543  6 /*transitionBufSize*/,
2544  5 /*numEras*/,
2545  kZoneEraAmerica_Cambridge_Bay /*eras*/,
2546 };
2547 
2548 //---------------------------------------------------------------------------
2549 // Zone name: America/Campo_Grande
2550 // Zone Eras: 1
2551 // Strings (bytes): 29
2552 // Memory (8-bit): 52
2553 // Memory (32-bit): 65
2554 //---------------------------------------------------------------------------
2555 
2556 static const extended::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
2557  // -4:00 Brazil -04/-03
2558  {
2559  &kPolicyBrazil /*zonePolicy*/,
2560  "-04/-03" /*format*/,
2561  -16 /*offsetCode*/,
2562  (0 << 4) + (0 + 4) /*deltaCode*/,
2563  127 /*untilYearTiny*/,
2564  1 /*untilMonth*/,
2565  1 /*untilDay*/,
2566  0 /*untilTimeCode*/,
2567  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2568  },
2569 
2570 };
2571 
2572 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "America/Campo_Grande";
2573 
2574 const extended::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
2575  kZoneNameAmerica_Campo_Grande /*name*/,
2576  0xfec3e7a6 /*zoneId*/,
2577  &kZoneContext /*zoneContext*/,
2578  6 /*transitionBufSize*/,
2579  1 /*numEras*/,
2580  kZoneEraAmerica_Campo_Grande /*eras*/,
2581 };
2582 
2583 //---------------------------------------------------------------------------
2584 // Zone name: America/Cancun
2585 // Zone Eras: 2
2586 // Strings (bytes): 23
2587 // Memory (8-bit): 57
2588 // Memory (32-bit): 75
2589 //---------------------------------------------------------------------------
2590 
2591 static const extended::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
2592  // -6:00 Mexico C%sT 2015 Feb 1 2:00
2593  {
2594  &kPolicyMexico /*zonePolicy*/,
2595  "C%T" /*format*/,
2596  -24 /*offsetCode*/,
2597  (0 << 4) + (0 + 4) /*deltaCode*/,
2598  15 /*untilYearTiny*/,
2599  2 /*untilMonth*/,
2600  1 /*untilDay*/,
2601  8 /*untilTimeCode*/,
2602  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2603  },
2604  // -5:00 - EST
2605  {
2606  nullptr /*zonePolicy*/,
2607  "EST" /*format*/,
2608  -20 /*offsetCode*/,
2609  (0 << 4) + (0 + 4) /*deltaCode*/,
2610  127 /*untilYearTiny*/,
2611  1 /*untilMonth*/,
2612  1 /*untilDay*/,
2613  0 /*untilTimeCode*/,
2614  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2615  },
2616 
2617 };
2618 
2619 static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "America/Cancun";
2620 
2621 const extended::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
2622  kZoneNameAmerica_Cancun /*name*/,
2623  0x953331be /*zoneId*/,
2624  &kZoneContext /*zoneContext*/,
2625  4 /*transitionBufSize*/,
2626  2 /*numEras*/,
2627  kZoneEraAmerica_Cancun /*eras*/,
2628 };
2629 
2630 //---------------------------------------------------------------------------
2631 // Zone name: America/Caracas
2632 // Zone Eras: 3
2633 // Strings (bytes): 30
2634 // Memory (8-bit): 75
2635 // Memory (32-bit): 98
2636 //---------------------------------------------------------------------------
2637 
2638 static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
2639  // -4:00 - -04 2007 Dec 9 3:00
2640  {
2641  nullptr /*zonePolicy*/,
2642  "-04" /*format*/,
2643  -16 /*offsetCode*/,
2644  (0 << 4) + (0 + 4) /*deltaCode*/,
2645  7 /*untilYearTiny*/,
2646  12 /*untilMonth*/,
2647  9 /*untilDay*/,
2648  12 /*untilTimeCode*/,
2649  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2650  },
2651  // -4:30 - -0430 2016 May 1 2:30
2652  {
2653  nullptr /*zonePolicy*/,
2654  "-0430" /*format*/,
2655  -18 /*offsetCode*/,
2656  (0 << 4) + (0 + 4) /*deltaCode*/,
2657  16 /*untilYearTiny*/,
2658  5 /*untilMonth*/,
2659  1 /*untilDay*/,
2660  10 /*untilTimeCode*/,
2661  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2662  },
2663  // -4:00 - -04
2664  {
2665  nullptr /*zonePolicy*/,
2666  "-04" /*format*/,
2667  -16 /*offsetCode*/,
2668  (0 << 4) + (0 + 4) /*deltaCode*/,
2669  127 /*untilYearTiny*/,
2670  1 /*untilMonth*/,
2671  1 /*untilDay*/,
2672  0 /*untilTimeCode*/,
2673  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2674  },
2675 
2676 };
2677 
2678 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "America/Caracas";
2679 
2680 const extended::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
2681  kZoneNameAmerica_Caracas /*name*/,
2682  0x3be064f4 /*zoneId*/,
2683  &kZoneContext /*zoneContext*/,
2684  3 /*transitionBufSize*/,
2685  3 /*numEras*/,
2686  kZoneEraAmerica_Caracas /*eras*/,
2687 };
2688 
2689 //---------------------------------------------------------------------------
2690 // Zone name: America/Cayenne
2691 // Zone Eras: 1
2692 // Strings (bytes): 20
2693 // Memory (8-bit): 43
2694 // Memory (32-bit): 56
2695 //---------------------------------------------------------------------------
2696 
2697 static const extended::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
2698  // -3:00 - -03
2699  {
2700  nullptr /*zonePolicy*/,
2701  "-03" /*format*/,
2702  -12 /*offsetCode*/,
2703  (0 << 4) + (0 + 4) /*deltaCode*/,
2704  127 /*untilYearTiny*/,
2705  1 /*untilMonth*/,
2706  1 /*untilDay*/,
2707  0 /*untilTimeCode*/,
2708  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2709  },
2710 
2711 };
2712 
2713 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "America/Cayenne";
2714 
2715 const extended::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
2716  kZoneNameAmerica_Cayenne /*name*/,
2717  0x3c617269 /*zoneId*/,
2718  &kZoneContext /*zoneContext*/,
2719  2 /*transitionBufSize*/,
2720  1 /*numEras*/,
2721  kZoneEraAmerica_Cayenne /*eras*/,
2722 };
2723 
2724 //---------------------------------------------------------------------------
2725 // Zone name: America/Chicago
2726 // Zone Eras: 1
2727 // Strings (bytes): 20
2728 // Memory (8-bit): 43
2729 // Memory (32-bit): 56
2730 //---------------------------------------------------------------------------
2731 
2732 static const extended::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
2733  // -6:00 US C%sT
2734  {
2735  &kPolicyUS /*zonePolicy*/,
2736  "C%T" /*format*/,
2737  -24 /*offsetCode*/,
2738  (0 << 4) + (0 + 4) /*deltaCode*/,
2739  127 /*untilYearTiny*/,
2740  1 /*untilMonth*/,
2741  1 /*untilDay*/,
2742  0 /*untilTimeCode*/,
2743  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2744  },
2745 
2746 };
2747 
2748 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "America/Chicago";
2749 
2750 const extended::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
2751  kZoneNameAmerica_Chicago /*name*/,
2752  0x4b92b5d4 /*zoneId*/,
2753  &kZoneContext /*zoneContext*/,
2754  6 /*transitionBufSize*/,
2755  1 /*numEras*/,
2756  kZoneEraAmerica_Chicago /*eras*/,
2757 };
2758 
2759 //---------------------------------------------------------------------------
2760 // Zone name: America/Chihuahua
2761 // Zone Eras: 1
2762 // Strings (bytes): 22
2763 // Memory (8-bit): 45
2764 // Memory (32-bit): 58
2765 //---------------------------------------------------------------------------
2766 
2767 static const extended::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
2768  // -7:00 Mexico M%sT
2769  {
2770  &kPolicyMexico /*zonePolicy*/,
2771  "M%T" /*format*/,
2772  -28 /*offsetCode*/,
2773  (0 << 4) + (0 + 4) /*deltaCode*/,
2774  127 /*untilYearTiny*/,
2775  1 /*untilMonth*/,
2776  1 /*untilDay*/,
2777  0 /*untilTimeCode*/,
2778  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2779  },
2780 
2781 };
2782 
2783 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "America/Chihuahua";
2784 
2785 const extended::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
2786  kZoneNameAmerica_Chihuahua /*name*/,
2787  0x8827d776 /*zoneId*/,
2788  &kZoneContext /*zoneContext*/,
2789  4 /*transitionBufSize*/,
2790  1 /*numEras*/,
2791  kZoneEraAmerica_Chihuahua /*eras*/,
2792 };
2793 
2794 //---------------------------------------------------------------------------
2795 // Zone name: America/Costa_Rica
2796 // Zone Eras: 1
2797 // Strings (bytes): 23
2798 // Memory (8-bit): 46
2799 // Memory (32-bit): 59
2800 //---------------------------------------------------------------------------
2801 
2802 static const extended::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
2803  // -6:00 CR C%sT
2804  {
2805  &kPolicyCR /*zonePolicy*/,
2806  "C%T" /*format*/,
2807  -24 /*offsetCode*/,
2808  (0 << 4) + (0 + 4) /*deltaCode*/,
2809  127 /*untilYearTiny*/,
2810  1 /*untilMonth*/,
2811  1 /*untilDay*/,
2812  0 /*untilTimeCode*/,
2813  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2814  },
2815 
2816 };
2817 
2818 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "America/Costa_Rica";
2819 
2820 const extended::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
2821  kZoneNameAmerica_Costa_Rica /*name*/,
2822  0x63ff66be /*zoneId*/,
2823  &kZoneContext /*zoneContext*/,
2824  2 /*transitionBufSize*/,
2825  1 /*numEras*/,
2826  kZoneEraAmerica_Costa_Rica /*eras*/,
2827 };
2828 
2829 //---------------------------------------------------------------------------
2830 // Zone name: America/Creston
2831 // Zone Eras: 1
2832 // Strings (bytes): 20
2833 // Memory (8-bit): 43
2834 // Memory (32-bit): 56
2835 //---------------------------------------------------------------------------
2836 
2837 static const extended::ZoneEra kZoneEraAmerica_Creston[] ACE_TIME_PROGMEM = {
2838  // -7:00 - MST
2839  {
2840  nullptr /*zonePolicy*/,
2841  "MST" /*format*/,
2842  -28 /*offsetCode*/,
2843  (0 << 4) + (0 + 4) /*deltaCode*/,
2844  127 /*untilYearTiny*/,
2845  1 /*untilMonth*/,
2846  1 /*untilDay*/,
2847  0 /*untilTimeCode*/,
2848  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2849  },
2850 
2851 };
2852 
2853 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "America/Creston";
2854 
2855 const extended::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
2856  kZoneNameAmerica_Creston /*name*/,
2857  0x62a70204 /*zoneId*/,
2858  &kZoneContext /*zoneContext*/,
2859  2 /*transitionBufSize*/,
2860  1 /*numEras*/,
2861  kZoneEraAmerica_Creston /*eras*/,
2862 };
2863 
2864 //---------------------------------------------------------------------------
2865 // Zone name: America/Cuiaba
2866 // Zone Eras: 3
2867 // Strings (bytes): 35
2868 // Memory (8-bit): 80
2869 // Memory (32-bit): 103
2870 //---------------------------------------------------------------------------
2871 
2872 static const extended::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
2873  // -4:00 Brazil -04/-03 2003 Sep 24
2874  {
2875  &kPolicyBrazil /*zonePolicy*/,
2876  "-04/-03" /*format*/,
2877  -16 /*offsetCode*/,
2878  (0 << 4) + (0 + 4) /*deltaCode*/,
2879  3 /*untilYearTiny*/,
2880  9 /*untilMonth*/,
2881  24 /*untilDay*/,
2882  0 /*untilTimeCode*/,
2883  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2884  },
2885  // -4:00 - -04 2004 Oct 1
2886  {
2887  nullptr /*zonePolicy*/,
2888  "-04" /*format*/,
2889  -16 /*offsetCode*/,
2890  (0 << 4) + (0 + 4) /*deltaCode*/,
2891  4 /*untilYearTiny*/,
2892  10 /*untilMonth*/,
2893  1 /*untilDay*/,
2894  0 /*untilTimeCode*/,
2895  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2896  },
2897  // -4:00 Brazil -04/-03
2898  {
2899  &kPolicyBrazil /*zonePolicy*/,
2900  "-04/-03" /*format*/,
2901  -16 /*offsetCode*/,
2902  (0 << 4) + (0 + 4) /*deltaCode*/,
2903  127 /*untilYearTiny*/,
2904  1 /*untilMonth*/,
2905  1 /*untilDay*/,
2906  0 /*untilTimeCode*/,
2907  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2908  },
2909 
2910 };
2911 
2912 static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "America/Cuiaba";
2913 
2914 const extended::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
2915  kZoneNameAmerica_Cuiaba /*name*/,
2916  0x969a52eb /*zoneId*/,
2917  &kZoneContext /*zoneContext*/,
2918  6 /*transitionBufSize*/,
2919  3 /*numEras*/,
2920  kZoneEraAmerica_Cuiaba /*eras*/,
2921 };
2922 
2923 //---------------------------------------------------------------------------
2924 // Zone name: America/Curacao
2925 // Zone Eras: 1
2926 // Strings (bytes): 20
2927 // Memory (8-bit): 43
2928 // Memory (32-bit): 56
2929 //---------------------------------------------------------------------------
2930 
2931 static const extended::ZoneEra kZoneEraAmerica_Curacao[] ACE_TIME_PROGMEM = {
2932  // -4:00 - AST
2933  {
2934  nullptr /*zonePolicy*/,
2935  "AST" /*format*/,
2936  -16 /*offsetCode*/,
2937  (0 << 4) + (0 + 4) /*deltaCode*/,
2938  127 /*untilYearTiny*/,
2939  1 /*untilMonth*/,
2940  1 /*untilDay*/,
2941  0 /*untilTimeCode*/,
2942  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2943  },
2944 
2945 };
2946 
2947 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "America/Curacao";
2948 
2949 const extended::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
2950  kZoneNameAmerica_Curacao /*name*/,
2951  0x6a879184 /*zoneId*/,
2952  &kZoneContext /*zoneContext*/,
2953  2 /*transitionBufSize*/,
2954  1 /*numEras*/,
2955  kZoneEraAmerica_Curacao /*eras*/,
2956 };
2957 
2958 //---------------------------------------------------------------------------
2959 // Zone name: America/Danmarkshavn
2960 // Zone Eras: 1
2961 // Strings (bytes): 25
2962 // Memory (8-bit): 48
2963 // Memory (32-bit): 61
2964 //---------------------------------------------------------------------------
2965 
2966 static const extended::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
2967  // 0:00 - GMT
2968  {
2969  nullptr /*zonePolicy*/,
2970  "GMT" /*format*/,
2971  0 /*offsetCode*/,
2972  (0 << 4) + (0 + 4) /*deltaCode*/,
2973  127 /*untilYearTiny*/,
2974  1 /*untilMonth*/,
2975  1 /*untilDay*/,
2976  0 /*untilTimeCode*/,
2977  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
2978  },
2979 
2980 };
2981 
2982 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "America/Danmarkshavn";
2983 
2984 const extended::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
2985  kZoneNameAmerica_Danmarkshavn /*name*/,
2986  0xf554d204 /*zoneId*/,
2987  &kZoneContext /*zoneContext*/,
2988  2 /*transitionBufSize*/,
2989  1 /*numEras*/,
2990  kZoneEraAmerica_Danmarkshavn /*eras*/,
2991 };
2992 
2993 //---------------------------------------------------------------------------
2994 // Zone name: America/Dawson
2995 // Zone Eras: 2
2996 // Strings (bytes): 23
2997 // Memory (8-bit): 57
2998 // Memory (32-bit): 75
2999 //---------------------------------------------------------------------------
3000 
3001 static const extended::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
3002  // -8:00 Canada P%sT 2020 Mar 8 2:00
3003  {
3004  &kPolicyCanada /*zonePolicy*/,
3005  "P%T" /*format*/,
3006  -32 /*offsetCode*/,
3007  (0 << 4) + (0 + 4) /*deltaCode*/,
3008  20 /*untilYearTiny*/,
3009  3 /*untilMonth*/,
3010  8 /*untilDay*/,
3011  8 /*untilTimeCode*/,
3012  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3013  },
3014  // -7:00 - MST
3015  {
3016  nullptr /*zonePolicy*/,
3017  "MST" /*format*/,
3018  -28 /*offsetCode*/,
3019  (0 << 4) + (0 + 4) /*deltaCode*/,
3020  127 /*untilYearTiny*/,
3021  1 /*untilMonth*/,
3022  1 /*untilDay*/,
3023  0 /*untilTimeCode*/,
3024  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3025  },
3026 
3027 };
3028 
3029 static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "America/Dawson";
3030 
3031 const extended::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
3032  kZoneNameAmerica_Dawson /*name*/,
3033  0x978d8d12 /*zoneId*/,
3034  &kZoneContext /*zoneContext*/,
3035  6 /*transitionBufSize*/,
3036  2 /*numEras*/,
3037  kZoneEraAmerica_Dawson /*eras*/,
3038 };
3039 
3040 //---------------------------------------------------------------------------
3041 // Zone name: America/Dawson_Creek
3042 // Zone Eras: 1
3043 // Strings (bytes): 25
3044 // Memory (8-bit): 48
3045 // Memory (32-bit): 61
3046 //---------------------------------------------------------------------------
3047 
3048 static const extended::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
3049  // -7:00 - MST
3050  {
3051  nullptr /*zonePolicy*/,
3052  "MST" /*format*/,
3053  -28 /*offsetCode*/,
3054  (0 << 4) + (0 + 4) /*deltaCode*/,
3055  127 /*untilYearTiny*/,
3056  1 /*untilMonth*/,
3057  1 /*untilDay*/,
3058  0 /*untilTimeCode*/,
3059  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3060  },
3061 
3062 };
3063 
3064 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "America/Dawson_Creek";
3065 
3066 const extended::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
3067  kZoneNameAmerica_Dawson_Creek /*name*/,
3068  0x6cf24e5b /*zoneId*/,
3069  &kZoneContext /*zoneContext*/,
3070  2 /*transitionBufSize*/,
3071  1 /*numEras*/,
3072  kZoneEraAmerica_Dawson_Creek /*eras*/,
3073 };
3074 
3075 //---------------------------------------------------------------------------
3076 // Zone name: America/Denver
3077 // Zone Eras: 1
3078 // Strings (bytes): 19
3079 // Memory (8-bit): 42
3080 // Memory (32-bit): 55
3081 //---------------------------------------------------------------------------
3082 
3083 static const extended::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
3084  // -7:00 US M%sT
3085  {
3086  &kPolicyUS /*zonePolicy*/,
3087  "M%T" /*format*/,
3088  -28 /*offsetCode*/,
3089  (0 << 4) + (0 + 4) /*deltaCode*/,
3090  127 /*untilYearTiny*/,
3091  1 /*untilMonth*/,
3092  1 /*untilDay*/,
3093  0 /*untilTimeCode*/,
3094  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3095  },
3096 
3097 };
3098 
3099 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "America/Denver";
3100 
3101 const extended::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
3102  kZoneNameAmerica_Denver /*name*/,
3103  0x97d10b2a /*zoneId*/,
3104  &kZoneContext /*zoneContext*/,
3105  6 /*transitionBufSize*/,
3106  1 /*numEras*/,
3107  kZoneEraAmerica_Denver /*eras*/,
3108 };
3109 
3110 //---------------------------------------------------------------------------
3111 // Zone name: America/Detroit
3112 // Zone Eras: 1
3113 // Strings (bytes): 20
3114 // Memory (8-bit): 43
3115 // Memory (32-bit): 56
3116 //---------------------------------------------------------------------------
3117 
3118 static const extended::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
3119  // -5:00 US E%sT
3120  {
3121  &kPolicyUS /*zonePolicy*/,
3122  "E%T" /*format*/,
3123  -20 /*offsetCode*/,
3124  (0 << 4) + (0 + 4) /*deltaCode*/,
3125  127 /*untilYearTiny*/,
3126  1 /*untilMonth*/,
3127  1 /*untilDay*/,
3128  0 /*untilTimeCode*/,
3129  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3130  },
3131 
3132 };
3133 
3134 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "America/Detroit";
3135 
3136 const extended::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
3137  kZoneNameAmerica_Detroit /*name*/,
3138  0x925cfbc1 /*zoneId*/,
3139  &kZoneContext /*zoneContext*/,
3140  6 /*transitionBufSize*/,
3141  1 /*numEras*/,
3142  kZoneEraAmerica_Detroit /*eras*/,
3143 };
3144 
3145 //---------------------------------------------------------------------------
3146 // Zone name: America/Edmonton
3147 // Zone Eras: 1
3148 // Strings (bytes): 21
3149 // Memory (8-bit): 44
3150 // Memory (32-bit): 57
3151 //---------------------------------------------------------------------------
3152 
3153 static const extended::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
3154  // -7:00 Canada M%sT
3155  {
3156  &kPolicyCanada /*zonePolicy*/,
3157  "M%T" /*format*/,
3158  -28 /*offsetCode*/,
3159  (0 << 4) + (0 + 4) /*deltaCode*/,
3160  127 /*untilYearTiny*/,
3161  1 /*untilMonth*/,
3162  1 /*untilDay*/,
3163  0 /*untilTimeCode*/,
3164  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3165  },
3166 
3167 };
3168 
3169 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "America/Edmonton";
3170 
3171 const extended::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
3172  kZoneNameAmerica_Edmonton /*name*/,
3173  0x6cb9484a /*zoneId*/,
3174  &kZoneContext /*zoneContext*/,
3175  6 /*transitionBufSize*/,
3176  1 /*numEras*/,
3177  kZoneEraAmerica_Edmonton /*eras*/,
3178 };
3179 
3180 //---------------------------------------------------------------------------
3181 // Zone name: America/Eirunepe
3182 // Zone Eras: 3
3183 // Strings (bytes): 29
3184 // Memory (8-bit): 74
3185 // Memory (32-bit): 97
3186 //---------------------------------------------------------------------------
3187 
3188 static const extended::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
3189  // -5:00 - -05 2008 Jun 24 0:00
3190  {
3191  nullptr /*zonePolicy*/,
3192  "-05" /*format*/,
3193  -20 /*offsetCode*/,
3194  (0 << 4) + (0 + 4) /*deltaCode*/,
3195  8 /*untilYearTiny*/,
3196  6 /*untilMonth*/,
3197  24 /*untilDay*/,
3198  0 /*untilTimeCode*/,
3199  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3200  },
3201  // -4:00 - -04 2013 Nov 10
3202  {
3203  nullptr /*zonePolicy*/,
3204  "-04" /*format*/,
3205  -16 /*offsetCode*/,
3206  (0 << 4) + (0 + 4) /*deltaCode*/,
3207  13 /*untilYearTiny*/,
3208  11 /*untilMonth*/,
3209  10 /*untilDay*/,
3210  0 /*untilTimeCode*/,
3211  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3212  },
3213  // -5:00 - -05
3214  {
3215  nullptr /*zonePolicy*/,
3216  "-05" /*format*/,
3217  -20 /*offsetCode*/,
3218  (0 << 4) + (0 + 4) /*deltaCode*/,
3219  127 /*untilYearTiny*/,
3220  1 /*untilMonth*/,
3221  1 /*untilDay*/,
3222  0 /*untilTimeCode*/,
3223  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3224  },
3225 
3226 };
3227 
3228 static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "America/Eirunepe";
3229 
3230 const extended::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
3231  kZoneNameAmerica_Eirunepe /*name*/,
3232  0xf9b29683 /*zoneId*/,
3233  &kZoneContext /*zoneContext*/,
3234  3 /*transitionBufSize*/,
3235  3 /*numEras*/,
3236  kZoneEraAmerica_Eirunepe /*eras*/,
3237 };
3238 
3239 //---------------------------------------------------------------------------
3240 // Zone name: America/El_Salvador
3241 // Zone Eras: 1
3242 // Strings (bytes): 24
3243 // Memory (8-bit): 47
3244 // Memory (32-bit): 60
3245 //---------------------------------------------------------------------------
3246 
3247 static const extended::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
3248  // -6:00 Salv C%sT
3249  {
3250  &kPolicySalv /*zonePolicy*/,
3251  "C%T" /*format*/,
3252  -24 /*offsetCode*/,
3253  (0 << 4) + (0 + 4) /*deltaCode*/,
3254  127 /*untilYearTiny*/,
3255  1 /*untilMonth*/,
3256  1 /*untilDay*/,
3257  0 /*untilTimeCode*/,
3258  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3259  },
3260 
3261 };
3262 
3263 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "America/El_Salvador";
3264 
3265 const extended::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
3266  kZoneNameAmerica_El_Salvador /*name*/,
3267  0x752ad652 /*zoneId*/,
3268  &kZoneContext /*zoneContext*/,
3269  2 /*transitionBufSize*/,
3270  1 /*numEras*/,
3271  kZoneEraAmerica_El_Salvador /*eras*/,
3272 };
3273 
3274 //---------------------------------------------------------------------------
3275 // Zone name: America/Fort_Nelson
3276 // Zone Eras: 2
3277 // Strings (bytes): 28
3278 // Memory (8-bit): 62
3279 // Memory (32-bit): 80
3280 //---------------------------------------------------------------------------
3281 
3282 static const extended::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
3283  // -8:00 Canada P%sT 2015 Mar 8 2:00
3284  {
3285  &kPolicyCanada /*zonePolicy*/,
3286  "P%T" /*format*/,
3287  -32 /*offsetCode*/,
3288  (0 << 4) + (0 + 4) /*deltaCode*/,
3289  15 /*untilYearTiny*/,
3290  3 /*untilMonth*/,
3291  8 /*untilDay*/,
3292  8 /*untilTimeCode*/,
3293  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3294  },
3295  // -7:00 - MST
3296  {
3297  nullptr /*zonePolicy*/,
3298  "MST" /*format*/,
3299  -28 /*offsetCode*/,
3300  (0 << 4) + (0 + 4) /*deltaCode*/,
3301  127 /*untilYearTiny*/,
3302  1 /*untilMonth*/,
3303  1 /*untilDay*/,
3304  0 /*untilTimeCode*/,
3305  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3306  },
3307 
3308 };
3309 
3310 static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "America/Fort_Nelson";
3311 
3312 const extended::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
3313  kZoneNameAmerica_Fort_Nelson /*name*/,
3314  0x3f437e0f /*zoneId*/,
3315  &kZoneContext /*zoneContext*/,
3316  6 /*transitionBufSize*/,
3317  2 /*numEras*/,
3318  kZoneEraAmerica_Fort_Nelson /*eras*/,
3319 };
3320 
3321 //---------------------------------------------------------------------------
3322 // Zone name: America/Fortaleza
3323 // Zone Eras: 5
3324 // Strings (bytes): 46
3325 // Memory (8-bit): 113
3326 // Memory (32-bit): 146
3327 //---------------------------------------------------------------------------
3328 
3329 static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
3330  // -3:00 - -03 1999 Sep 30
3331  {
3332  nullptr /*zonePolicy*/,
3333  "-03" /*format*/,
3334  -12 /*offsetCode*/,
3335  (0 << 4) + (0 + 4) /*deltaCode*/,
3336  -1 /*untilYearTiny*/,
3337  9 /*untilMonth*/,
3338  30 /*untilDay*/,
3339  0 /*untilTimeCode*/,
3340  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3341  },
3342  // -3:00 Brazil -03/-02 2000 Oct 22
3343  {
3344  &kPolicyBrazil /*zonePolicy*/,
3345  "-03/-02" /*format*/,
3346  -12 /*offsetCode*/,
3347  (0 << 4) + (0 + 4) /*deltaCode*/,
3348  0 /*untilYearTiny*/,
3349  10 /*untilMonth*/,
3350  22 /*untilDay*/,
3351  0 /*untilTimeCode*/,
3352  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3353  },
3354  // -3:00 - -03 2001 Sep 13
3355  {
3356  nullptr /*zonePolicy*/,
3357  "-03" /*format*/,
3358  -12 /*offsetCode*/,
3359  (0 << 4) + (0 + 4) /*deltaCode*/,
3360  1 /*untilYearTiny*/,
3361  9 /*untilMonth*/,
3362  13 /*untilDay*/,
3363  0 /*untilTimeCode*/,
3364  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3365  },
3366  // -3:00 Brazil -03/-02 2002 Oct 1
3367  {
3368  &kPolicyBrazil /*zonePolicy*/,
3369  "-03/-02" /*format*/,
3370  -12 /*offsetCode*/,
3371  (0 << 4) + (0 + 4) /*deltaCode*/,
3372  2 /*untilYearTiny*/,
3373  10 /*untilMonth*/,
3374  1 /*untilDay*/,
3375  0 /*untilTimeCode*/,
3376  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3377  },
3378  // -3:00 - -03
3379  {
3380  nullptr /*zonePolicy*/,
3381  "-03" /*format*/,
3382  -12 /*offsetCode*/,
3383  (0 << 4) + (0 + 4) /*deltaCode*/,
3384  127 /*untilYearTiny*/,
3385  1 /*untilMonth*/,
3386  1 /*untilDay*/,
3387  0 /*untilTimeCode*/,
3388  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3389  },
3390 
3391 };
3392 
3393 static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "America/Fortaleza";
3394 
3395 const extended::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
3396  kZoneNameAmerica_Fortaleza /*name*/,
3397  0x2ad018ee /*zoneId*/,
3398  &kZoneContext /*zoneContext*/,
3399  5 /*transitionBufSize*/,
3400  5 /*numEras*/,
3401  kZoneEraAmerica_Fortaleza /*eras*/,
3402 };
3403 
3404 //---------------------------------------------------------------------------
3405 // Zone name: America/Glace_Bay
3406 // Zone Eras: 1
3407 // Strings (bytes): 22
3408 // Memory (8-bit): 45
3409 // Memory (32-bit): 58
3410 //---------------------------------------------------------------------------
3411 
3412 static const extended::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
3413  // -4:00 Canada A%sT
3414  {
3415  &kPolicyCanada /*zonePolicy*/,
3416  "A%T" /*format*/,
3417  -16 /*offsetCode*/,
3418  (0 << 4) + (0 + 4) /*deltaCode*/,
3419  127 /*untilYearTiny*/,
3420  1 /*untilMonth*/,
3421  1 /*untilDay*/,
3422  0 /*untilTimeCode*/,
3423  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3424  },
3425 
3426 };
3427 
3428 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "America/Glace_Bay";
3429 
3430 const extended::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
3431  kZoneNameAmerica_Glace_Bay /*name*/,
3432  0x9681f8dd /*zoneId*/,
3433  &kZoneContext /*zoneContext*/,
3434  6 /*transitionBufSize*/,
3435  1 /*numEras*/,
3436  kZoneEraAmerica_Glace_Bay /*eras*/,
3437 };
3438 
3439 //---------------------------------------------------------------------------
3440 // Zone name: America/Goose_Bay
3441 // Zone Eras: 2
3442 // Strings (bytes): 26
3443 // Memory (8-bit): 60
3444 // Memory (32-bit): 78
3445 //---------------------------------------------------------------------------
3446 
3447 static const extended::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
3448  // -4:00 StJohns A%sT 2011 Nov
3449  {
3450  &kPolicyStJohns /*zonePolicy*/,
3451  "A%T" /*format*/,
3452  -16 /*offsetCode*/,
3453  (0 << 4) + (0 + 4) /*deltaCode*/,
3454  11 /*untilYearTiny*/,
3455  11 /*untilMonth*/,
3456  1 /*untilDay*/,
3457  0 /*untilTimeCode*/,
3458  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3459  },
3460  // -4:00 Canada A%sT
3461  {
3462  &kPolicyCanada /*zonePolicy*/,
3463  "A%T" /*format*/,
3464  -16 /*offsetCode*/,
3465  (0 << 4) + (0 + 4) /*deltaCode*/,
3466  127 /*untilYearTiny*/,
3467  1 /*untilMonth*/,
3468  1 /*untilDay*/,
3469  0 /*untilTimeCode*/,
3470  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3471  },
3472 
3473 };
3474 
3475 static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "America/Goose_Bay";
3476 
3477 const extended::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
3478  kZoneNameAmerica_Goose_Bay /*name*/,
3479  0xb649541e /*zoneId*/,
3480  &kZoneContext /*zoneContext*/,
3481  6 /*transitionBufSize*/,
3482  2 /*numEras*/,
3483  kZoneEraAmerica_Goose_Bay /*eras*/,
3484 };
3485 
3486 //---------------------------------------------------------------------------
3487 // Zone name: America/Grand_Turk
3488 // Zone Eras: 3
3489 // Strings (bytes): 31
3490 // Memory (8-bit): 76
3491 // Memory (32-bit): 99
3492 //---------------------------------------------------------------------------
3493 
3494 static const extended::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
3495  // -5:00 US E%sT 2015 Nov Sun>=1 2:00
3496  {
3497  &kPolicyUS /*zonePolicy*/,
3498  "E%T" /*format*/,
3499  -20 /*offsetCode*/,
3500  (0 << 4) + (0 + 4) /*deltaCode*/,
3501  15 /*untilYearTiny*/,
3502  11 /*untilMonth*/,
3503  1 /*untilDay*/,
3504  8 /*untilTimeCode*/,
3505  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3506  },
3507  // -4:00 - AST 2018 Mar 11 3:00
3508  {
3509  nullptr /*zonePolicy*/,
3510  "AST" /*format*/,
3511  -16 /*offsetCode*/,
3512  (0 << 4) + (0 + 4) /*deltaCode*/,
3513  18 /*untilYearTiny*/,
3514  3 /*untilMonth*/,
3515  11 /*untilDay*/,
3516  12 /*untilTimeCode*/,
3517  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3518  },
3519  // -5:00 US E%sT
3520  {
3521  &kPolicyUS /*zonePolicy*/,
3522  "E%T" /*format*/,
3523  -20 /*offsetCode*/,
3524  (0 << 4) + (0 + 4) /*deltaCode*/,
3525  127 /*untilYearTiny*/,
3526  1 /*untilMonth*/,
3527  1 /*untilDay*/,
3528  0 /*untilTimeCode*/,
3529  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3530  },
3531 
3532 };
3533 
3534 static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "America/Grand_Turk";
3535 
3536 const extended::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
3537  kZoneNameAmerica_Grand_Turk /*name*/,
3538  0x6e216197 /*zoneId*/,
3539  &kZoneContext /*zoneContext*/,
3540  6 /*transitionBufSize*/,
3541  3 /*numEras*/,
3542  kZoneEraAmerica_Grand_Turk /*eras*/,
3543 };
3544 
3545 //---------------------------------------------------------------------------
3546 // Zone name: America/Guatemala
3547 // Zone Eras: 1
3548 // Strings (bytes): 22
3549 // Memory (8-bit): 45
3550 // Memory (32-bit): 58
3551 //---------------------------------------------------------------------------
3552 
3553 static const extended::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
3554  // -6:00 Guat C%sT
3555  {
3556  &kPolicyGuat /*zonePolicy*/,
3557  "C%T" /*format*/,
3558  -24 /*offsetCode*/,
3559  (0 << 4) + (0 + 4) /*deltaCode*/,
3560  127 /*untilYearTiny*/,
3561  1 /*untilMonth*/,
3562  1 /*untilDay*/,
3563  0 /*untilTimeCode*/,
3564  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3565  },
3566 
3567 };
3568 
3569 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "America/Guatemala";
3570 
3571 const extended::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
3572  kZoneNameAmerica_Guatemala /*name*/,
3573  0x0c8259f7 /*zoneId*/,
3574  &kZoneContext /*zoneContext*/,
3575  4 /*transitionBufSize*/,
3576  1 /*numEras*/,
3577  kZoneEraAmerica_Guatemala /*eras*/,
3578 };
3579 
3580 //---------------------------------------------------------------------------
3581 // Zone name: America/Guayaquil
3582 // Zone Eras: 1
3583 // Strings (bytes): 26
3584 // Memory (8-bit): 49
3585 // Memory (32-bit): 62
3586 //---------------------------------------------------------------------------
3587 
3588 static const extended::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
3589  // -5:00 Ecuador -05/-04
3590  {
3591  &kPolicyEcuador /*zonePolicy*/,
3592  "-05/-04" /*format*/,
3593  -20 /*offsetCode*/,
3594  (0 << 4) + (0 + 4) /*deltaCode*/,
3595  127 /*untilYearTiny*/,
3596  1 /*untilMonth*/,
3597  1 /*untilDay*/,
3598  0 /*untilTimeCode*/,
3599  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3600  },
3601 
3602 };
3603 
3604 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "America/Guayaquil";
3605 
3606 const extended::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
3607  kZoneNameAmerica_Guayaquil /*name*/,
3608  0x17e64958 /*zoneId*/,
3609  &kZoneContext /*zoneContext*/,
3610  2 /*transitionBufSize*/,
3611  1 /*numEras*/,
3612  kZoneEraAmerica_Guayaquil /*eras*/,
3613 };
3614 
3615 //---------------------------------------------------------------------------
3616 // Zone name: America/Guyana
3617 // Zone Eras: 1
3618 // Strings (bytes): 19
3619 // Memory (8-bit): 42
3620 // Memory (32-bit): 55
3621 //---------------------------------------------------------------------------
3622 
3623 static const extended::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
3624  // -4:00 - -04
3625  {
3626  nullptr /*zonePolicy*/,
3627  "-04" /*format*/,
3628  -16 /*offsetCode*/,
3629  (0 << 4) + (0 + 4) /*deltaCode*/,
3630  127 /*untilYearTiny*/,
3631  1 /*untilMonth*/,
3632  1 /*untilDay*/,
3633  0 /*untilTimeCode*/,
3634  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3635  },
3636 
3637 };
3638 
3639 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "America/Guyana";
3640 
3641 const extended::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
3642  kZoneNameAmerica_Guyana /*name*/,
3643  0x9ff7bd0b /*zoneId*/,
3644  &kZoneContext /*zoneContext*/,
3645  2 /*transitionBufSize*/,
3646  1 /*numEras*/,
3647  kZoneEraAmerica_Guyana /*eras*/,
3648 };
3649 
3650 //---------------------------------------------------------------------------
3651 // Zone name: America/Halifax
3652 // Zone Eras: 1
3653 // Strings (bytes): 20
3654 // Memory (8-bit): 43
3655 // Memory (32-bit): 56
3656 //---------------------------------------------------------------------------
3657 
3658 static const extended::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
3659  // -4:00 Canada A%sT
3660  {
3661  &kPolicyCanada /*zonePolicy*/,
3662  "A%T" /*format*/,
3663  -16 /*offsetCode*/,
3664  (0 << 4) + (0 + 4) /*deltaCode*/,
3665  127 /*untilYearTiny*/,
3666  1 /*untilMonth*/,
3667  1 /*untilDay*/,
3668  0 /*untilTimeCode*/,
3669  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3670  },
3671 
3672 };
3673 
3674 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "America/Halifax";
3675 
3676 const extended::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
3677  kZoneNameAmerica_Halifax /*name*/,
3678  0xbc5b7183 /*zoneId*/,
3679  &kZoneContext /*zoneContext*/,
3680  6 /*transitionBufSize*/,
3681  1 /*numEras*/,
3682  kZoneEraAmerica_Halifax /*eras*/,
3683 };
3684 
3685 //---------------------------------------------------------------------------
3686 // Zone name: America/Havana
3687 // Zone Eras: 1
3688 // Strings (bytes): 19
3689 // Memory (8-bit): 42
3690 // Memory (32-bit): 55
3691 //---------------------------------------------------------------------------
3692 
3693 static const extended::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
3694  // -5:00 Cuba C%sT
3695  {
3696  &kPolicyCuba /*zonePolicy*/,
3697  "C%T" /*format*/,
3698  -20 /*offsetCode*/,
3699  (0 << 4) + (0 + 4) /*deltaCode*/,
3700  127 /*untilYearTiny*/,
3701  1 /*untilMonth*/,
3702  1 /*untilDay*/,
3703  0 /*untilTimeCode*/,
3704  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3705  },
3706 
3707 };
3708 
3709 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "America/Havana";
3710 
3711 const extended::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
3712  kZoneNameAmerica_Havana /*name*/,
3713  0xa0e15675 /*zoneId*/,
3714  &kZoneContext /*zoneContext*/,
3715  6 /*transitionBufSize*/,
3716  1 /*numEras*/,
3717  kZoneEraAmerica_Havana /*eras*/,
3718 };
3719 
3720 //---------------------------------------------------------------------------
3721 // Zone name: America/Hermosillo
3722 // Zone Eras: 2
3723 // Strings (bytes): 27
3724 // Memory (8-bit): 61
3725 // Memory (32-bit): 79
3726 //---------------------------------------------------------------------------
3727 
3728 static const extended::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
3729  // -7:00 Mexico M%sT 1999
3730  {
3731  &kPolicyMexico /*zonePolicy*/,
3732  "M%T" /*format*/,
3733  -28 /*offsetCode*/,
3734  (0 << 4) + (0 + 4) /*deltaCode*/,
3735  -1 /*untilYearTiny*/,
3736  1 /*untilMonth*/,
3737  1 /*untilDay*/,
3738  0 /*untilTimeCode*/,
3739  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3740  },
3741  // -7:00 - MST
3742  {
3743  nullptr /*zonePolicy*/,
3744  "MST" /*format*/,
3745  -28 /*offsetCode*/,
3746  (0 << 4) + (0 + 4) /*deltaCode*/,
3747  127 /*untilYearTiny*/,
3748  1 /*untilMonth*/,
3749  1 /*untilDay*/,
3750  0 /*untilTimeCode*/,
3751  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3752  },
3753 
3754 };
3755 
3756 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "America/Hermosillo";
3757 
3758 const extended::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
3759  kZoneNameAmerica_Hermosillo /*name*/,
3760  0x065d21c4 /*zoneId*/,
3761  &kZoneContext /*zoneContext*/,
3762  2 /*transitionBufSize*/,
3763  2 /*numEras*/,
3764  kZoneEraAmerica_Hermosillo /*eras*/,
3765 };
3766 
3767 //---------------------------------------------------------------------------
3768 // Zone name: America/Indiana/Indianapolis
3769 // Zone Eras: 2
3770 // Strings (bytes): 37
3771 // Memory (8-bit): 71
3772 // Memory (32-bit): 89
3773 //---------------------------------------------------------------------------
3774 
3775 static const extended::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
3776  // -5:00 - EST 2006
3777  {
3778  nullptr /*zonePolicy*/,
3779  "EST" /*format*/,
3780  -20 /*offsetCode*/,
3781  (0 << 4) + (0 + 4) /*deltaCode*/,
3782  6 /*untilYearTiny*/,
3783  1 /*untilMonth*/,
3784  1 /*untilDay*/,
3785  0 /*untilTimeCode*/,
3786  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3787  },
3788  // -5:00 US E%sT
3789  {
3790  &kPolicyUS /*zonePolicy*/,
3791  "E%T" /*format*/,
3792  -20 /*offsetCode*/,
3793  (0 << 4) + (0 + 4) /*deltaCode*/,
3794  127 /*untilYearTiny*/,
3795  1 /*untilMonth*/,
3796  1 /*untilDay*/,
3797  0 /*untilTimeCode*/,
3798  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3799  },
3800 
3801 };
3802 
3803 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "America/Indiana/Indianapolis";
3804 
3805 const extended::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
3806  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
3807  0x28a669a4 /*zoneId*/,
3808  &kZoneContext /*zoneContext*/,
3809  6 /*transitionBufSize*/,
3810  2 /*numEras*/,
3811  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
3812 };
3813 
3814 //---------------------------------------------------------------------------
3815 // Zone name: America/Indiana/Knox
3816 // Zone Eras: 2
3817 // Strings (bytes): 29
3818 // Memory (8-bit): 63
3819 // Memory (32-bit): 81
3820 //---------------------------------------------------------------------------
3821 
3822 static const extended::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
3823  // -5:00 - EST 2006 Apr 2 2:00
3824  {
3825  nullptr /*zonePolicy*/,
3826  "EST" /*format*/,
3827  -20 /*offsetCode*/,
3828  (0 << 4) + (0 + 4) /*deltaCode*/,
3829  6 /*untilYearTiny*/,
3830  4 /*untilMonth*/,
3831  2 /*untilDay*/,
3832  8 /*untilTimeCode*/,
3833  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3834  },
3835  // -6:00 US C%sT
3836  {
3837  &kPolicyUS /*zonePolicy*/,
3838  "C%T" /*format*/,
3839  -24 /*offsetCode*/,
3840  (0 << 4) + (0 + 4) /*deltaCode*/,
3841  127 /*untilYearTiny*/,
3842  1 /*untilMonth*/,
3843  1 /*untilDay*/,
3844  0 /*untilTimeCode*/,
3845  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3846  },
3847 
3848 };
3849 
3850 static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "America/Indiana/Knox";
3851 
3852 const extended::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
3853  kZoneNameAmerica_Indiana_Knox /*name*/,
3854  0x6554adc9 /*zoneId*/,
3855  &kZoneContext /*zoneContext*/,
3856  6 /*transitionBufSize*/,
3857  2 /*numEras*/,
3858  kZoneEraAmerica_Indiana_Knox /*eras*/,
3859 };
3860 
3861 //---------------------------------------------------------------------------
3862 // Zone name: America/Indiana/Marengo
3863 // Zone Eras: 2
3864 // Strings (bytes): 32
3865 // Memory (8-bit): 66
3866 // Memory (32-bit): 84
3867 //---------------------------------------------------------------------------
3868 
3869 static const extended::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
3870  // -5:00 - EST 2006
3871  {
3872  nullptr /*zonePolicy*/,
3873  "EST" /*format*/,
3874  -20 /*offsetCode*/,
3875  (0 << 4) + (0 + 4) /*deltaCode*/,
3876  6 /*untilYearTiny*/,
3877  1 /*untilMonth*/,
3878  1 /*untilDay*/,
3879  0 /*untilTimeCode*/,
3880  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3881  },
3882  // -5:00 US E%sT
3883  {
3884  &kPolicyUS /*zonePolicy*/,
3885  "E%T" /*format*/,
3886  -20 /*offsetCode*/,
3887  (0 << 4) + (0 + 4) /*deltaCode*/,
3888  127 /*untilYearTiny*/,
3889  1 /*untilMonth*/,
3890  1 /*untilDay*/,
3891  0 /*untilTimeCode*/,
3892  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3893  },
3894 
3895 };
3896 
3897 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "America/Indiana/Marengo";
3898 
3899 const extended::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
3900  kZoneNameAmerica_Indiana_Marengo /*name*/,
3901  0x2feeee72 /*zoneId*/,
3902  &kZoneContext /*zoneContext*/,
3903  6 /*transitionBufSize*/,
3904  2 /*numEras*/,
3905  kZoneEraAmerica_Indiana_Marengo /*eras*/,
3906 };
3907 
3908 //---------------------------------------------------------------------------
3909 // Zone name: America/Indiana/Petersburg
3910 // Zone Eras: 3
3911 // Strings (bytes): 39
3912 // Memory (8-bit): 84
3913 // Memory (32-bit): 107
3914 //---------------------------------------------------------------------------
3915 
3916 static const extended::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
3917  // -5:00 - EST 2006 Apr 2 2:00
3918  {
3919  nullptr /*zonePolicy*/,
3920  "EST" /*format*/,
3921  -20 /*offsetCode*/,
3922  (0 << 4) + (0 + 4) /*deltaCode*/,
3923  6 /*untilYearTiny*/,
3924  4 /*untilMonth*/,
3925  2 /*untilDay*/,
3926  8 /*untilTimeCode*/,
3927  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3928  },
3929  // -6:00 US C%sT 2007 Nov 4 2:00
3930  {
3931  &kPolicyUS /*zonePolicy*/,
3932  "C%T" /*format*/,
3933  -24 /*offsetCode*/,
3934  (0 << 4) + (0 + 4) /*deltaCode*/,
3935  7 /*untilYearTiny*/,
3936  11 /*untilMonth*/,
3937  4 /*untilDay*/,
3938  8 /*untilTimeCode*/,
3939  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3940  },
3941  // -5:00 US E%sT
3942  {
3943  &kPolicyUS /*zonePolicy*/,
3944  "E%T" /*format*/,
3945  -20 /*offsetCode*/,
3946  (0 << 4) + (0 + 4) /*deltaCode*/,
3947  127 /*untilYearTiny*/,
3948  1 /*untilMonth*/,
3949  1 /*untilDay*/,
3950  0 /*untilTimeCode*/,
3951  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3952  },
3953 
3954 };
3955 
3956 static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "America/Indiana/Petersburg";
3957 
3958 const extended::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
3959  kZoneNameAmerica_Indiana_Petersburg /*name*/,
3960  0x94ac7acc /*zoneId*/,
3961  &kZoneContext /*zoneContext*/,
3962  6 /*transitionBufSize*/,
3963  3 /*numEras*/,
3964  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
3965 };
3966 
3967 //---------------------------------------------------------------------------
3968 // Zone name: America/Indiana/Tell_City
3969 // Zone Eras: 2
3970 // Strings (bytes): 34
3971 // Memory (8-bit): 68
3972 // Memory (32-bit): 86
3973 //---------------------------------------------------------------------------
3974 
3975 static const extended::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
3976  // -5:00 - EST 2006 Apr 2 2:00
3977  {
3978  nullptr /*zonePolicy*/,
3979  "EST" /*format*/,
3980  -20 /*offsetCode*/,
3981  (0 << 4) + (0 + 4) /*deltaCode*/,
3982  6 /*untilYearTiny*/,
3983  4 /*untilMonth*/,
3984  2 /*untilDay*/,
3985  8 /*untilTimeCode*/,
3986  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3987  },
3988  // -6:00 US C%sT
3989  {
3990  &kPolicyUS /*zonePolicy*/,
3991  "C%T" /*format*/,
3992  -24 /*offsetCode*/,
3993  (0 << 4) + (0 + 4) /*deltaCode*/,
3994  127 /*untilYearTiny*/,
3995  1 /*untilMonth*/,
3996  1 /*untilDay*/,
3997  0 /*untilTimeCode*/,
3998  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
3999  },
4000 
4001 };
4002 
4003 static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "America/Indiana/Tell_City";
4004 
4005 const extended::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
4006  kZoneNameAmerica_Indiana_Tell_City /*name*/,
4007  0x09263612 /*zoneId*/,
4008  &kZoneContext /*zoneContext*/,
4009  6 /*transitionBufSize*/,
4010  2 /*numEras*/,
4011  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
4012 };
4013 
4014 //---------------------------------------------------------------------------
4015 // Zone name: America/Indiana/Vevay
4016 // Zone Eras: 2
4017 // Strings (bytes): 30
4018 // Memory (8-bit): 64
4019 // Memory (32-bit): 82
4020 //---------------------------------------------------------------------------
4021 
4022 static const extended::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
4023  // -5:00 - EST 2006
4024  {
4025  nullptr /*zonePolicy*/,
4026  "EST" /*format*/,
4027  -20 /*offsetCode*/,
4028  (0 << 4) + (0 + 4) /*deltaCode*/,
4029  6 /*untilYearTiny*/,
4030  1 /*untilMonth*/,
4031  1 /*untilDay*/,
4032  0 /*untilTimeCode*/,
4033  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4034  },
4035  // -5:00 US E%sT
4036  {
4037  &kPolicyUS /*zonePolicy*/,
4038  "E%T" /*format*/,
4039  -20 /*offsetCode*/,
4040  (0 << 4) + (0 + 4) /*deltaCode*/,
4041  127 /*untilYearTiny*/,
4042  1 /*untilMonth*/,
4043  1 /*untilDay*/,
4044  0 /*untilTimeCode*/,
4045  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4046  },
4047 
4048 };
4049 
4050 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "America/Indiana/Vevay";
4051 
4052 const extended::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
4053  kZoneNameAmerica_Indiana_Vevay /*name*/,
4054  0x10aca054 /*zoneId*/,
4055  &kZoneContext /*zoneContext*/,
4056  6 /*transitionBufSize*/,
4057  2 /*numEras*/,
4058  kZoneEraAmerica_Indiana_Vevay /*eras*/,
4059 };
4060 
4061 //---------------------------------------------------------------------------
4062 // Zone name: America/Indiana/Vincennes
4063 // Zone Eras: 3
4064 // Strings (bytes): 38
4065 // Memory (8-bit): 83
4066 // Memory (32-bit): 106
4067 //---------------------------------------------------------------------------
4068 
4069 static const extended::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
4070  // -5:00 - EST 2006 Apr 2 2:00
4071  {
4072  nullptr /*zonePolicy*/,
4073  "EST" /*format*/,
4074  -20 /*offsetCode*/,
4075  (0 << 4) + (0 + 4) /*deltaCode*/,
4076  6 /*untilYearTiny*/,
4077  4 /*untilMonth*/,
4078  2 /*untilDay*/,
4079  8 /*untilTimeCode*/,
4080  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4081  },
4082  // -6:00 US C%sT 2007 Nov 4 2:00
4083  {
4084  &kPolicyUS /*zonePolicy*/,
4085  "C%T" /*format*/,
4086  -24 /*offsetCode*/,
4087  (0 << 4) + (0 + 4) /*deltaCode*/,
4088  7 /*untilYearTiny*/,
4089  11 /*untilMonth*/,
4090  4 /*untilDay*/,
4091  8 /*untilTimeCode*/,
4092  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4093  },
4094  // -5:00 US E%sT
4095  {
4096  &kPolicyUS /*zonePolicy*/,
4097  "E%T" /*format*/,
4098  -20 /*offsetCode*/,
4099  (0 << 4) + (0 + 4) /*deltaCode*/,
4100  127 /*untilYearTiny*/,
4101  1 /*untilMonth*/,
4102  1 /*untilDay*/,
4103  0 /*untilTimeCode*/,
4104  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4105  },
4106 
4107 };
4108 
4109 static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "America/Indiana/Vincennes";
4110 
4111 const extended::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
4112  kZoneNameAmerica_Indiana_Vincennes /*name*/,
4113  0x28a0b212 /*zoneId*/,
4114  &kZoneContext /*zoneContext*/,
4115  6 /*transitionBufSize*/,
4116  3 /*numEras*/,
4117  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
4118 };
4119 
4120 //---------------------------------------------------------------------------
4121 // Zone name: America/Indiana/Winamac
4122 // Zone Eras: 3
4123 // Strings (bytes): 36
4124 // Memory (8-bit): 81
4125 // Memory (32-bit): 104
4126 //---------------------------------------------------------------------------
4127 
4128 static const extended::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
4129  // -5:00 - EST 2006 Apr 2 2:00
4130  {
4131  nullptr /*zonePolicy*/,
4132  "EST" /*format*/,
4133  -20 /*offsetCode*/,
4134  (0 << 4) + (0 + 4) /*deltaCode*/,
4135  6 /*untilYearTiny*/,
4136  4 /*untilMonth*/,
4137  2 /*untilDay*/,
4138  8 /*untilTimeCode*/,
4139  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4140  },
4141  // -6:00 US C%sT 2007 Mar 11 2:00
4142  {
4143  &kPolicyUS /*zonePolicy*/,
4144  "C%T" /*format*/,
4145  -24 /*offsetCode*/,
4146  (0 << 4) + (0 + 4) /*deltaCode*/,
4147  7 /*untilYearTiny*/,
4148  3 /*untilMonth*/,
4149  11 /*untilDay*/,
4150  8 /*untilTimeCode*/,
4151  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4152  },
4153  // -5:00 US E%sT
4154  {
4155  &kPolicyUS /*zonePolicy*/,
4156  "E%T" /*format*/,
4157  -20 /*offsetCode*/,
4158  (0 << 4) + (0 + 4) /*deltaCode*/,
4159  127 /*untilYearTiny*/,
4160  1 /*untilMonth*/,
4161  1 /*untilDay*/,
4162  0 /*untilTimeCode*/,
4163  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4164  },
4165 
4166 };
4167 
4168 static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "America/Indiana/Winamac";
4169 
4170 const extended::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
4171  kZoneNameAmerica_Indiana_Winamac /*name*/,
4172  0x4413fa69 /*zoneId*/,
4173  &kZoneContext /*zoneContext*/,
4174  6 /*transitionBufSize*/,
4175  3 /*numEras*/,
4176  kZoneEraAmerica_Indiana_Winamac /*eras*/,
4177 };
4178 
4179 //---------------------------------------------------------------------------
4180 // Zone name: America/Inuvik
4181 // Zone Eras: 1
4182 // Strings (bytes): 19
4183 // Memory (8-bit): 42
4184 // Memory (32-bit): 55
4185 //---------------------------------------------------------------------------
4186 
4187 static const extended::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
4188  // -7:00 Canada M%sT
4189  {
4190  &kPolicyCanada /*zonePolicy*/,
4191  "M%T" /*format*/,
4192  -28 /*offsetCode*/,
4193  (0 << 4) + (0 + 4) /*deltaCode*/,
4194  127 /*untilYearTiny*/,
4195  1 /*untilMonth*/,
4196  1 /*untilDay*/,
4197  0 /*untilTimeCode*/,
4198  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4199  },
4200 
4201 };
4202 
4203 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "America/Inuvik";
4204 
4205 const extended::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
4206  kZoneNameAmerica_Inuvik /*name*/,
4207  0xa42189fc /*zoneId*/,
4208  &kZoneContext /*zoneContext*/,
4209  6 /*transitionBufSize*/,
4210  1 /*numEras*/,
4211  kZoneEraAmerica_Inuvik /*eras*/,
4212 };
4213 
4214 //---------------------------------------------------------------------------
4215 // Zone name: America/Iqaluit
4216 // Zone Eras: 3
4217 // Strings (bytes): 28
4218 // Memory (8-bit): 73
4219 // Memory (32-bit): 96
4220 //---------------------------------------------------------------------------
4221 
4222 static const extended::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
4223  // -5:00 NT_YK E%sT 1999 Oct 31 2:00
4224  {
4225  &kPolicyNT_YK /*zonePolicy*/,
4226  "E%T" /*format*/,
4227  -20 /*offsetCode*/,
4228  (0 << 4) + (0 + 4) /*deltaCode*/,
4229  -1 /*untilYearTiny*/,
4230  10 /*untilMonth*/,
4231  31 /*untilDay*/,
4232  8 /*untilTimeCode*/,
4233  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4234  },
4235  // -6:00 Canada C%sT 2000 Oct 29 2:00
4236  {
4237  &kPolicyCanada /*zonePolicy*/,
4238  "C%T" /*format*/,
4239  -24 /*offsetCode*/,
4240  (0 << 4) + (0 + 4) /*deltaCode*/,
4241  0 /*untilYearTiny*/,
4242  10 /*untilMonth*/,
4243  29 /*untilDay*/,
4244  8 /*untilTimeCode*/,
4245  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4246  },
4247  // -5:00 Canada E%sT
4248  {
4249  &kPolicyCanada /*zonePolicy*/,
4250  "E%T" /*format*/,
4251  -20 /*offsetCode*/,
4252  (0 << 4) + (0 + 4) /*deltaCode*/,
4253  127 /*untilYearTiny*/,
4254  1 /*untilMonth*/,
4255  1 /*untilDay*/,
4256  0 /*untilTimeCode*/,
4257  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4258  },
4259 
4260 };
4261 
4262 static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "America/Iqaluit";
4263 
4264 const extended::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
4265  kZoneNameAmerica_Iqaluit /*name*/,
4266  0x2de310bf /*zoneId*/,
4267  &kZoneContext /*zoneContext*/,
4268  6 /*transitionBufSize*/,
4269  3 /*numEras*/,
4270  kZoneEraAmerica_Iqaluit /*eras*/,
4271 };
4272 
4273 //---------------------------------------------------------------------------
4274 // Zone name: America/Jamaica
4275 // Zone Eras: 1
4276 // Strings (bytes): 20
4277 // Memory (8-bit): 43
4278 // Memory (32-bit): 56
4279 //---------------------------------------------------------------------------
4280 
4281 static const extended::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
4282  // -5:00 - EST
4283  {
4284  nullptr /*zonePolicy*/,
4285  "EST" /*format*/,
4286  -20 /*offsetCode*/,
4287  (0 << 4) + (0 + 4) /*deltaCode*/,
4288  127 /*untilYearTiny*/,
4289  1 /*untilMonth*/,
4290  1 /*untilDay*/,
4291  0 /*untilTimeCode*/,
4292  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4293  },
4294 
4295 };
4296 
4297 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "America/Jamaica";
4298 
4299 const extended::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
4300  kZoneNameAmerica_Jamaica /*name*/,
4301  0x565dad6c /*zoneId*/,
4302  &kZoneContext /*zoneContext*/,
4303  2 /*transitionBufSize*/,
4304  1 /*numEras*/,
4305  kZoneEraAmerica_Jamaica /*eras*/,
4306 };
4307 
4308 //---------------------------------------------------------------------------
4309 // Zone name: America/Juneau
4310 // Zone Eras: 1
4311 // Strings (bytes): 20
4312 // Memory (8-bit): 43
4313 // Memory (32-bit): 56
4314 //---------------------------------------------------------------------------
4315 
4316 static const extended::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
4317  // -9:00 US AK%sT
4318  {
4319  &kPolicyUS /*zonePolicy*/,
4320  "AK%T" /*format*/,
4321  -36 /*offsetCode*/,
4322  (0 << 4) + (0 + 4) /*deltaCode*/,
4323  127 /*untilYearTiny*/,
4324  1 /*untilMonth*/,
4325  1 /*untilDay*/,
4326  0 /*untilTimeCode*/,
4327  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4328  },
4329 
4330 };
4331 
4332 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "America/Juneau";
4333 
4334 const extended::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
4335  kZoneNameAmerica_Juneau /*name*/,
4336  0xa6f13e2e /*zoneId*/,
4337  &kZoneContext /*zoneContext*/,
4338  6 /*transitionBufSize*/,
4339  1 /*numEras*/,
4340  kZoneEraAmerica_Juneau /*eras*/,
4341 };
4342 
4343 //---------------------------------------------------------------------------
4344 // Zone name: America/Kentucky/Louisville
4345 // Zone Eras: 1
4346 // Strings (bytes): 32
4347 // Memory (8-bit): 55
4348 // Memory (32-bit): 68
4349 //---------------------------------------------------------------------------
4350 
4351 static const extended::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
4352  // -5:00 US E%sT
4353  {
4354  &kPolicyUS /*zonePolicy*/,
4355  "E%T" /*format*/,
4356  -20 /*offsetCode*/,
4357  (0 << 4) + (0 + 4) /*deltaCode*/,
4358  127 /*untilYearTiny*/,
4359  1 /*untilMonth*/,
4360  1 /*untilDay*/,
4361  0 /*untilTimeCode*/,
4362  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4363  },
4364 
4365 };
4366 
4367 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "America/Kentucky/Louisville";
4368 
4369 const extended::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
4370  kZoneNameAmerica_Kentucky_Louisville /*name*/,
4371  0x1a21024b /*zoneId*/,
4372  &kZoneContext /*zoneContext*/,
4373  6 /*transitionBufSize*/,
4374  1 /*numEras*/,
4375  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
4376 };
4377 
4378 //---------------------------------------------------------------------------
4379 // Zone name: America/Kentucky/Monticello
4380 // Zone Eras: 2
4381 // Strings (bytes): 36
4382 // Memory (8-bit): 70
4383 // Memory (32-bit): 88
4384 //---------------------------------------------------------------------------
4385 
4386 static const extended::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
4387  // -6:00 US C%sT 2000 Oct 29 2:00
4388  {
4389  &kPolicyUS /*zonePolicy*/,
4390  "C%T" /*format*/,
4391  -24 /*offsetCode*/,
4392  (0 << 4) + (0 + 4) /*deltaCode*/,
4393  0 /*untilYearTiny*/,
4394  10 /*untilMonth*/,
4395  29 /*untilDay*/,
4396  8 /*untilTimeCode*/,
4397  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4398  },
4399  // -5:00 US E%sT
4400  {
4401  &kPolicyUS /*zonePolicy*/,
4402  "E%T" /*format*/,
4403  -20 /*offsetCode*/,
4404  (0 << 4) + (0 + 4) /*deltaCode*/,
4405  127 /*untilYearTiny*/,
4406  1 /*untilMonth*/,
4407  1 /*untilDay*/,
4408  0 /*untilTimeCode*/,
4409  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4410  },
4411 
4412 };
4413 
4414 static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "America/Kentucky/Monticello";
4415 
4416 const extended::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
4417  kZoneNameAmerica_Kentucky_Monticello /*name*/,
4418  0xde71c439 /*zoneId*/,
4419  &kZoneContext /*zoneContext*/,
4420  6 /*transitionBufSize*/,
4421  2 /*numEras*/,
4422  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
4423 };
4424 
4425 //---------------------------------------------------------------------------
4426 // Zone name: America/La_Paz
4427 // Zone Eras: 1
4428 // Strings (bytes): 19
4429 // Memory (8-bit): 42
4430 // Memory (32-bit): 55
4431 //---------------------------------------------------------------------------
4432 
4433 static const extended::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
4434  // -4:00 - -04
4435  {
4436  nullptr /*zonePolicy*/,
4437  "-04" /*format*/,
4438  -16 /*offsetCode*/,
4439  (0 << 4) + (0 + 4) /*deltaCode*/,
4440  127 /*untilYearTiny*/,
4441  1 /*untilMonth*/,
4442  1 /*untilDay*/,
4443  0 /*untilTimeCode*/,
4444  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4445  },
4446 
4447 };
4448 
4449 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "America/La_Paz";
4450 
4451 const extended::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
4452  kZoneNameAmerica_La_Paz /*name*/,
4453  0xaa29125d /*zoneId*/,
4454  &kZoneContext /*zoneContext*/,
4455  2 /*transitionBufSize*/,
4456  1 /*numEras*/,
4457  kZoneEraAmerica_La_Paz /*eras*/,
4458 };
4459 
4460 //---------------------------------------------------------------------------
4461 // Zone name: America/Lima
4462 // Zone Eras: 1
4463 // Strings (bytes): 21
4464 // Memory (8-bit): 44
4465 // Memory (32-bit): 57
4466 //---------------------------------------------------------------------------
4467 
4468 static const extended::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
4469  // -5:00 Peru -05/-04
4470  {
4471  &kPolicyPeru /*zonePolicy*/,
4472  "-05/-04" /*format*/,
4473  -20 /*offsetCode*/,
4474  (0 << 4) + (0 + 4) /*deltaCode*/,
4475  127 /*untilYearTiny*/,
4476  1 /*untilMonth*/,
4477  1 /*untilDay*/,
4478  0 /*untilTimeCode*/,
4479  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4480  },
4481 
4482 };
4483 
4484 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "America/Lima";
4485 
4486 const extended::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
4487  kZoneNameAmerica_Lima /*name*/,
4488  0x980468c9 /*zoneId*/,
4489  &kZoneContext /*zoneContext*/,
4490  2 /*transitionBufSize*/,
4491  1 /*numEras*/,
4492  kZoneEraAmerica_Lima /*eras*/,
4493 };
4494 
4495 //---------------------------------------------------------------------------
4496 // Zone name: America/Los_Angeles
4497 // Zone Eras: 1
4498 // Strings (bytes): 24
4499 // Memory (8-bit): 47
4500 // Memory (32-bit): 60
4501 //---------------------------------------------------------------------------
4502 
4503 static const extended::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
4504  // -8:00 US P%sT
4505  {
4506  &kPolicyUS /*zonePolicy*/,
4507  "P%T" /*format*/,
4508  -32 /*offsetCode*/,
4509  (0 << 4) + (0 + 4) /*deltaCode*/,
4510  127 /*untilYearTiny*/,
4511  1 /*untilMonth*/,
4512  1 /*untilDay*/,
4513  0 /*untilTimeCode*/,
4514  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4515  },
4516 
4517 };
4518 
4519 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "America/Los_Angeles";
4520 
4521 const extended::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
4522  kZoneNameAmerica_Los_Angeles /*name*/,
4523  0xb7f7e8f2 /*zoneId*/,
4524  &kZoneContext /*zoneContext*/,
4525  6 /*transitionBufSize*/,
4526  1 /*numEras*/,
4527  kZoneEraAmerica_Los_Angeles /*eras*/,
4528 };
4529 
4530 //---------------------------------------------------------------------------
4531 // Zone name: America/Maceio
4532 // Zone Eras: 5
4533 // Strings (bytes): 43
4534 // Memory (8-bit): 110
4535 // Memory (32-bit): 143
4536 //---------------------------------------------------------------------------
4537 
4538 static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
4539  // -3:00 - -03 1999 Sep 30
4540  {
4541  nullptr /*zonePolicy*/,
4542  "-03" /*format*/,
4543  -12 /*offsetCode*/,
4544  (0 << 4) + (0 + 4) /*deltaCode*/,
4545  -1 /*untilYearTiny*/,
4546  9 /*untilMonth*/,
4547  30 /*untilDay*/,
4548  0 /*untilTimeCode*/,
4549  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4550  },
4551  // -3:00 Brazil -03/-02 2000 Oct 22
4552  {
4553  &kPolicyBrazil /*zonePolicy*/,
4554  "-03/-02" /*format*/,
4555  -12 /*offsetCode*/,
4556  (0 << 4) + (0 + 4) /*deltaCode*/,
4557  0 /*untilYearTiny*/,
4558  10 /*untilMonth*/,
4559  22 /*untilDay*/,
4560  0 /*untilTimeCode*/,
4561  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4562  },
4563  // -3:00 - -03 2001 Sep 13
4564  {
4565  nullptr /*zonePolicy*/,
4566  "-03" /*format*/,
4567  -12 /*offsetCode*/,
4568  (0 << 4) + (0 + 4) /*deltaCode*/,
4569  1 /*untilYearTiny*/,
4570  9 /*untilMonth*/,
4571  13 /*untilDay*/,
4572  0 /*untilTimeCode*/,
4573  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4574  },
4575  // -3:00 Brazil -03/-02 2002 Oct 1
4576  {
4577  &kPolicyBrazil /*zonePolicy*/,
4578  "-03/-02" /*format*/,
4579  -12 /*offsetCode*/,
4580  (0 << 4) + (0 + 4) /*deltaCode*/,
4581  2 /*untilYearTiny*/,
4582  10 /*untilMonth*/,
4583  1 /*untilDay*/,
4584  0 /*untilTimeCode*/,
4585  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4586  },
4587  // -3:00 - -03
4588  {
4589  nullptr /*zonePolicy*/,
4590  "-03" /*format*/,
4591  -12 /*offsetCode*/,
4592  (0 << 4) + (0 + 4) /*deltaCode*/,
4593  127 /*untilYearTiny*/,
4594  1 /*untilMonth*/,
4595  1 /*untilDay*/,
4596  0 /*untilTimeCode*/,
4597  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4598  },
4599 
4600 };
4601 
4602 static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "America/Maceio";
4603 
4604 const extended::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
4605  kZoneNameAmerica_Maceio /*name*/,
4606  0xac80c6d4 /*zoneId*/,
4607  &kZoneContext /*zoneContext*/,
4608  5 /*transitionBufSize*/,
4609  5 /*numEras*/,
4610  kZoneEraAmerica_Maceio /*eras*/,
4611 };
4612 
4613 //---------------------------------------------------------------------------
4614 // Zone name: America/Managua
4615 // Zone Eras: 1
4616 // Strings (bytes): 20
4617 // Memory (8-bit): 43
4618 // Memory (32-bit): 56
4619 //---------------------------------------------------------------------------
4620 
4621 static const extended::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
4622  // -6:00 Nic C%sT
4623  {
4624  &kPolicyNic /*zonePolicy*/,
4625  "C%T" /*format*/,
4626  -24 /*offsetCode*/,
4627  (0 << 4) + (0 + 4) /*deltaCode*/,
4628  127 /*untilYearTiny*/,
4629  1 /*untilMonth*/,
4630  1 /*untilDay*/,
4631  0 /*untilTimeCode*/,
4632  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4633  },
4634 
4635 };
4636 
4637 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "America/Managua";
4638 
4639 const extended::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
4640  kZoneNameAmerica_Managua /*name*/,
4641  0x3d5e7600 /*zoneId*/,
4642  &kZoneContext /*zoneContext*/,
4643  4 /*transitionBufSize*/,
4644  1 /*numEras*/,
4645  kZoneEraAmerica_Managua /*eras*/,
4646 };
4647 
4648 //---------------------------------------------------------------------------
4649 // Zone name: America/Manaus
4650 // Zone Eras: 1
4651 // Strings (bytes): 19
4652 // Memory (8-bit): 42
4653 // Memory (32-bit): 55
4654 //---------------------------------------------------------------------------
4655 
4656 static const extended::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
4657  // -4:00 - -04
4658  {
4659  nullptr /*zonePolicy*/,
4660  "-04" /*format*/,
4661  -16 /*offsetCode*/,
4662  (0 << 4) + (0 + 4) /*deltaCode*/,
4663  127 /*untilYearTiny*/,
4664  1 /*untilMonth*/,
4665  1 /*untilDay*/,
4666  0 /*untilTimeCode*/,
4667  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4668  },
4669 
4670 };
4671 
4672 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "America/Manaus";
4673 
4674 const extended::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
4675  kZoneNameAmerica_Manaus /*name*/,
4676  0xac86bf8b /*zoneId*/,
4677  &kZoneContext /*zoneContext*/,
4678  2 /*transitionBufSize*/,
4679  1 /*numEras*/,
4680  kZoneEraAmerica_Manaus /*eras*/,
4681 };
4682 
4683 //---------------------------------------------------------------------------
4684 // Zone name: America/Martinique
4685 // Zone Eras: 1
4686 // Strings (bytes): 23
4687 // Memory (8-bit): 46
4688 // Memory (32-bit): 59
4689 //---------------------------------------------------------------------------
4690 
4691 static const extended::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
4692  // -4:00 - AST
4693  {
4694  nullptr /*zonePolicy*/,
4695  "AST" /*format*/,
4696  -16 /*offsetCode*/,
4697  (0 << 4) + (0 + 4) /*deltaCode*/,
4698  127 /*untilYearTiny*/,
4699  1 /*untilMonth*/,
4700  1 /*untilDay*/,
4701  0 /*untilTimeCode*/,
4702  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4703  },
4704 
4705 };
4706 
4707 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "America/Martinique";
4708 
4709 const extended::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
4710  kZoneNameAmerica_Martinique /*name*/,
4711  0x551e84c5 /*zoneId*/,
4712  &kZoneContext /*zoneContext*/,
4713  2 /*transitionBufSize*/,
4714  1 /*numEras*/,
4715  kZoneEraAmerica_Martinique /*eras*/,
4716 };
4717 
4718 //---------------------------------------------------------------------------
4719 // Zone name: America/Matamoros
4720 // Zone Eras: 2
4721 // Strings (bytes): 26
4722 // Memory (8-bit): 60
4723 // Memory (32-bit): 78
4724 //---------------------------------------------------------------------------
4725 
4726 static const extended::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
4727  // -6:00 Mexico C%sT 2010
4728  {
4729  &kPolicyMexico /*zonePolicy*/,
4730  "C%T" /*format*/,
4731  -24 /*offsetCode*/,
4732  (0 << 4) + (0 + 4) /*deltaCode*/,
4733  10 /*untilYearTiny*/,
4734  1 /*untilMonth*/,
4735  1 /*untilDay*/,
4736  0 /*untilTimeCode*/,
4737  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4738  },
4739  // -6:00 US C%sT
4740  {
4741  &kPolicyUS /*zonePolicy*/,
4742  "C%T" /*format*/,
4743  -24 /*offsetCode*/,
4744  (0 << 4) + (0 + 4) /*deltaCode*/,
4745  127 /*untilYearTiny*/,
4746  1 /*untilMonth*/,
4747  1 /*untilDay*/,
4748  0 /*untilTimeCode*/,
4749  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4750  },
4751 
4752 };
4753 
4754 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "America/Matamoros";
4755 
4756 const extended::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
4757  kZoneNameAmerica_Matamoros /*name*/,
4758  0xdd1b0259 /*zoneId*/,
4759  &kZoneContext /*zoneContext*/,
4760  6 /*transitionBufSize*/,
4761  2 /*numEras*/,
4762  kZoneEraAmerica_Matamoros /*eras*/,
4763 };
4764 
4765 //---------------------------------------------------------------------------
4766 // Zone name: America/Mazatlan
4767 // Zone Eras: 1
4768 // Strings (bytes): 21
4769 // Memory (8-bit): 44
4770 // Memory (32-bit): 57
4771 //---------------------------------------------------------------------------
4772 
4773 static const extended::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
4774  // -7:00 Mexico M%sT
4775  {
4776  &kPolicyMexico /*zonePolicy*/,
4777  "M%T" /*format*/,
4778  -28 /*offsetCode*/,
4779  (0 << 4) + (0 + 4) /*deltaCode*/,
4780  127 /*untilYearTiny*/,
4781  1 /*untilMonth*/,
4782  1 /*untilDay*/,
4783  0 /*untilTimeCode*/,
4784  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4785  },
4786 
4787 };
4788 
4789 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "America/Mazatlan";
4790 
4791 const extended::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
4792  kZoneNameAmerica_Mazatlan /*name*/,
4793  0x0532189e /*zoneId*/,
4794  &kZoneContext /*zoneContext*/,
4795  4 /*transitionBufSize*/,
4796  1 /*numEras*/,
4797  kZoneEraAmerica_Mazatlan /*eras*/,
4798 };
4799 
4800 //---------------------------------------------------------------------------
4801 // Zone name: America/Menominee
4802 // Zone Eras: 1
4803 // Strings (bytes): 22
4804 // Memory (8-bit): 45
4805 // Memory (32-bit): 58
4806 //---------------------------------------------------------------------------
4807 
4808 static const extended::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
4809  // -6:00 US C%sT
4810  {
4811  &kPolicyUS /*zonePolicy*/,
4812  "C%T" /*format*/,
4813  -24 /*offsetCode*/,
4814  (0 << 4) + (0 + 4) /*deltaCode*/,
4815  127 /*untilYearTiny*/,
4816  1 /*untilMonth*/,
4817  1 /*untilDay*/,
4818  0 /*untilTimeCode*/,
4819  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4820  },
4821 
4822 };
4823 
4824 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "America/Menominee";
4825 
4826 const extended::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
4827  kZoneNameAmerica_Menominee /*name*/,
4828  0xe0e9c583 /*zoneId*/,
4829  &kZoneContext /*zoneContext*/,
4830  6 /*transitionBufSize*/,
4831  1 /*numEras*/,
4832  kZoneEraAmerica_Menominee /*eras*/,
4833 };
4834 
4835 //---------------------------------------------------------------------------
4836 // Zone name: America/Merida
4837 // Zone Eras: 1
4838 // Strings (bytes): 19
4839 // Memory (8-bit): 42
4840 // Memory (32-bit): 55
4841 //---------------------------------------------------------------------------
4842 
4843 static const extended::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
4844  // -6:00 Mexico C%sT
4845  {
4846  &kPolicyMexico /*zonePolicy*/,
4847  "C%T" /*format*/,
4848  -24 /*offsetCode*/,
4849  (0 << 4) + (0 + 4) /*deltaCode*/,
4850  127 /*untilYearTiny*/,
4851  1 /*untilMonth*/,
4852  1 /*untilDay*/,
4853  0 /*untilTimeCode*/,
4854  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4855  },
4856 
4857 };
4858 
4859 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "America/Merida";
4860 
4861 const extended::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
4862  kZoneNameAmerica_Merida /*name*/,
4863  0xacd172d8 /*zoneId*/,
4864  &kZoneContext /*zoneContext*/,
4865  4 /*transitionBufSize*/,
4866  1 /*numEras*/,
4867  kZoneEraAmerica_Merida /*eras*/,
4868 };
4869 
4870 //---------------------------------------------------------------------------
4871 // Zone name: America/Metlakatla
4872 // Zone Eras: 4
4873 // Strings (bytes): 37
4874 // Memory (8-bit): 93
4875 // Memory (32-bit): 121
4876 //---------------------------------------------------------------------------
4877 
4878 static const extended::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
4879  // -8:00 - PST 2015 Nov 1 2:00
4880  {
4881  nullptr /*zonePolicy*/,
4882  "PST" /*format*/,
4883  -32 /*offsetCode*/,
4884  (0 << 4) + (0 + 4) /*deltaCode*/,
4885  15 /*untilYearTiny*/,
4886  11 /*untilMonth*/,
4887  1 /*untilDay*/,
4888  8 /*untilTimeCode*/,
4889  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4890  },
4891  // -9:00 US AK%sT 2018 Nov 4 2:00
4892  {
4893  &kPolicyUS /*zonePolicy*/,
4894  "AK%T" /*format*/,
4895  -36 /*offsetCode*/,
4896  (0 << 4) + (0 + 4) /*deltaCode*/,
4897  18 /*untilYearTiny*/,
4898  11 /*untilMonth*/,
4899  4 /*untilDay*/,
4900  8 /*untilTimeCode*/,
4901  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4902  },
4903  // -8:00 - PST 2019 Jan 20 2:00
4904  {
4905  nullptr /*zonePolicy*/,
4906  "PST" /*format*/,
4907  -32 /*offsetCode*/,
4908  (0 << 4) + (0 + 4) /*deltaCode*/,
4909  19 /*untilYearTiny*/,
4910  1 /*untilMonth*/,
4911  20 /*untilDay*/,
4912  8 /*untilTimeCode*/,
4913  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4914  },
4915  // -9:00 US AK%sT
4916  {
4917  &kPolicyUS /*zonePolicy*/,
4918  "AK%T" /*format*/,
4919  -36 /*offsetCode*/,
4920  (0 << 4) + (0 + 4) /*deltaCode*/,
4921  127 /*untilYearTiny*/,
4922  1 /*untilMonth*/,
4923  1 /*untilDay*/,
4924  0 /*untilTimeCode*/,
4925  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4926  },
4927 
4928 };
4929 
4930 static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "America/Metlakatla";
4931 
4932 const extended::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
4933  kZoneNameAmerica_Metlakatla /*name*/,
4934  0x84de2686 /*zoneId*/,
4935  &kZoneContext /*zoneContext*/,
4936  6 /*transitionBufSize*/,
4937  4 /*numEras*/,
4938  kZoneEraAmerica_Metlakatla /*eras*/,
4939 };
4940 
4941 //---------------------------------------------------------------------------
4942 // Zone name: America/Mexico_City
4943 // Zone Eras: 3
4944 // Strings (bytes): 32
4945 // Memory (8-bit): 77
4946 // Memory (32-bit): 100
4947 //---------------------------------------------------------------------------
4948 
4949 static const extended::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
4950  // -6:00 Mexico C%sT 2001 Sep 30 2:00
4951  {
4952  &kPolicyMexico /*zonePolicy*/,
4953  "C%T" /*format*/,
4954  -24 /*offsetCode*/,
4955  (0 << 4) + (0 + 4) /*deltaCode*/,
4956  1 /*untilYearTiny*/,
4957  9 /*untilMonth*/,
4958  30 /*untilDay*/,
4959  8 /*untilTimeCode*/,
4960  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4961  },
4962  // -6:00 - CST 2002 Feb 20
4963  {
4964  nullptr /*zonePolicy*/,
4965  "CST" /*format*/,
4966  -24 /*offsetCode*/,
4967  (0 << 4) + (0 + 4) /*deltaCode*/,
4968  2 /*untilYearTiny*/,
4969  2 /*untilMonth*/,
4970  20 /*untilDay*/,
4971  0 /*untilTimeCode*/,
4972  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4973  },
4974  // -6:00 Mexico C%sT
4975  {
4976  &kPolicyMexico /*zonePolicy*/,
4977  "C%T" /*format*/,
4978  -24 /*offsetCode*/,
4979  (0 << 4) + (0 + 4) /*deltaCode*/,
4980  127 /*untilYearTiny*/,
4981  1 /*untilMonth*/,
4982  1 /*untilDay*/,
4983  0 /*untilTimeCode*/,
4984  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
4985  },
4986 
4987 };
4988 
4989 static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "America/Mexico_City";
4990 
4991 const extended::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
4992  kZoneNameAmerica_Mexico_City /*name*/,
4993  0xd0d93f43 /*zoneId*/,
4994  &kZoneContext /*zoneContext*/,
4995  5 /*transitionBufSize*/,
4996  3 /*numEras*/,
4997  kZoneEraAmerica_Mexico_City /*eras*/,
4998 };
4999 
5000 //---------------------------------------------------------------------------
5001 // Zone name: America/Miquelon
5002 // Zone Eras: 1
5003 // Strings (bytes): 25
5004 // Memory (8-bit): 48
5005 // Memory (32-bit): 61
5006 //---------------------------------------------------------------------------
5007 
5008 static const extended::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
5009  // -3:00 Canada -03/-02
5010  {
5011  &kPolicyCanada /*zonePolicy*/,
5012  "-03/-02" /*format*/,
5013  -12 /*offsetCode*/,
5014  (0 << 4) + (0 + 4) /*deltaCode*/,
5015  127 /*untilYearTiny*/,
5016  1 /*untilMonth*/,
5017  1 /*untilDay*/,
5018  0 /*untilTimeCode*/,
5019  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5020  },
5021 
5022 };
5023 
5024 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "America/Miquelon";
5025 
5026 const extended::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
5027  kZoneNameAmerica_Miquelon /*name*/,
5028  0x59674330 /*zoneId*/,
5029  &kZoneContext /*zoneContext*/,
5030  6 /*transitionBufSize*/,
5031  1 /*numEras*/,
5032  kZoneEraAmerica_Miquelon /*eras*/,
5033 };
5034 
5035 //---------------------------------------------------------------------------
5036 // Zone name: America/Moncton
5037 // Zone Eras: 2
5038 // Strings (bytes): 24
5039 // Memory (8-bit): 58
5040 // Memory (32-bit): 76
5041 //---------------------------------------------------------------------------
5042 
5043 static const extended::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
5044  // -4:00 Moncton A%sT 2007
5045  {
5046  &kPolicyMoncton /*zonePolicy*/,
5047  "A%T" /*format*/,
5048  -16 /*offsetCode*/,
5049  (0 << 4) + (0 + 4) /*deltaCode*/,
5050  7 /*untilYearTiny*/,
5051  1 /*untilMonth*/,
5052  1 /*untilDay*/,
5053  0 /*untilTimeCode*/,
5054  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5055  },
5056  // -4:00 Canada A%sT
5057  {
5058  &kPolicyCanada /*zonePolicy*/,
5059  "A%T" /*format*/,
5060  -16 /*offsetCode*/,
5061  (0 << 4) + (0 + 4) /*deltaCode*/,
5062  127 /*untilYearTiny*/,
5063  1 /*untilMonth*/,
5064  1 /*untilDay*/,
5065  0 /*untilTimeCode*/,
5066  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5067  },
5068 
5069 };
5070 
5071 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "America/Moncton";
5072 
5073 const extended::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
5074  kZoneNameAmerica_Moncton /*name*/,
5075  0x5e07fe24 /*zoneId*/,
5076  &kZoneContext /*zoneContext*/,
5077  6 /*transitionBufSize*/,
5078  2 /*numEras*/,
5079  kZoneEraAmerica_Moncton /*eras*/,
5080 };
5081 
5082 //---------------------------------------------------------------------------
5083 // Zone name: America/Monterrey
5084 // Zone Eras: 1
5085 // Strings (bytes): 22
5086 // Memory (8-bit): 45
5087 // Memory (32-bit): 58
5088 //---------------------------------------------------------------------------
5089 
5090 static const extended::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
5091  // -6:00 Mexico C%sT
5092  {
5093  &kPolicyMexico /*zonePolicy*/,
5094  "C%T" /*format*/,
5095  -24 /*offsetCode*/,
5096  (0 << 4) + (0 + 4) /*deltaCode*/,
5097  127 /*untilYearTiny*/,
5098  1 /*untilMonth*/,
5099  1 /*untilDay*/,
5100  0 /*untilTimeCode*/,
5101  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5102  },
5103 
5104 };
5105 
5106 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "America/Monterrey";
5107 
5108 const extended::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
5109  kZoneNameAmerica_Monterrey /*name*/,
5110  0x269a1deb /*zoneId*/,
5111  &kZoneContext /*zoneContext*/,
5112  4 /*transitionBufSize*/,
5113  1 /*numEras*/,
5114  kZoneEraAmerica_Monterrey /*eras*/,
5115 };
5116 
5117 //---------------------------------------------------------------------------
5118 // Zone name: America/Montevideo
5119 // Zone Eras: 1
5120 // Strings (bytes): 27
5121 // Memory (8-bit): 50
5122 // Memory (32-bit): 63
5123 //---------------------------------------------------------------------------
5124 
5125 static const extended::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
5126  // -3:00 Uruguay -03/-02
5127  {
5128  &kPolicyUruguay /*zonePolicy*/,
5129  "-03/-02" /*format*/,
5130  -12 /*offsetCode*/,
5131  (0 << 4) + (0 + 4) /*deltaCode*/,
5132  127 /*untilYearTiny*/,
5133  1 /*untilMonth*/,
5134  1 /*untilDay*/,
5135  0 /*untilTimeCode*/,
5136  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5137  },
5138 
5139 };
5140 
5141 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "America/Montevideo";
5142 
5143 const extended::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
5144  kZoneNameAmerica_Montevideo /*name*/,
5145  0xfa214780 /*zoneId*/,
5146  &kZoneContext /*zoneContext*/,
5147  5 /*transitionBufSize*/,
5148  1 /*numEras*/,
5149  kZoneEraAmerica_Montevideo /*eras*/,
5150 };
5151 
5152 //---------------------------------------------------------------------------
5153 // Zone name: America/Nassau
5154 // Zone Eras: 1
5155 // Strings (bytes): 19
5156 // Memory (8-bit): 42
5157 // Memory (32-bit): 55
5158 //---------------------------------------------------------------------------
5159 
5160 static const extended::ZoneEra kZoneEraAmerica_Nassau[] ACE_TIME_PROGMEM = {
5161  // -5:00 US E%sT
5162  {
5163  &kPolicyUS /*zonePolicy*/,
5164  "E%T" /*format*/,
5165  -20 /*offsetCode*/,
5166  (0 << 4) + (0 + 4) /*deltaCode*/,
5167  127 /*untilYearTiny*/,
5168  1 /*untilMonth*/,
5169  1 /*untilDay*/,
5170  0 /*untilTimeCode*/,
5171  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5172  },
5173 
5174 };
5175 
5176 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "America/Nassau";
5177 
5178 const extended::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
5179  kZoneNameAmerica_Nassau /*name*/,
5180  0xaedef011 /*zoneId*/,
5181  &kZoneContext /*zoneContext*/,
5182  6 /*transitionBufSize*/,
5183  1 /*numEras*/,
5184  kZoneEraAmerica_Nassau /*eras*/,
5185 };
5186 
5187 //---------------------------------------------------------------------------
5188 // Zone name: America/New_York
5189 // Zone Eras: 1
5190 // Strings (bytes): 21
5191 // Memory (8-bit): 44
5192 // Memory (32-bit): 57
5193 //---------------------------------------------------------------------------
5194 
5195 static const extended::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
5196  // -5:00 US E%sT
5197  {
5198  &kPolicyUS /*zonePolicy*/,
5199  "E%T" /*format*/,
5200  -20 /*offsetCode*/,
5201  (0 << 4) + (0 + 4) /*deltaCode*/,
5202  127 /*untilYearTiny*/,
5203  1 /*untilMonth*/,
5204  1 /*untilDay*/,
5205  0 /*untilTimeCode*/,
5206  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5207  },
5208 
5209 };
5210 
5211 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "America/New_York";
5212 
5213 const extended::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
5214  kZoneNameAmerica_New_York /*name*/,
5215  0x1e2a7654 /*zoneId*/,
5216  &kZoneContext /*zoneContext*/,
5217  6 /*transitionBufSize*/,
5218  1 /*numEras*/,
5219  kZoneEraAmerica_New_York /*eras*/,
5220 };
5221 
5222 //---------------------------------------------------------------------------
5223 // Zone name: America/Nipigon
5224 // Zone Eras: 1
5225 // Strings (bytes): 20
5226 // Memory (8-bit): 43
5227 // Memory (32-bit): 56
5228 //---------------------------------------------------------------------------
5229 
5230 static const extended::ZoneEra kZoneEraAmerica_Nipigon[] ACE_TIME_PROGMEM = {
5231  // -5:00 Canada E%sT
5232  {
5233  &kPolicyCanada /*zonePolicy*/,
5234  "E%T" /*format*/,
5235  -20 /*offsetCode*/,
5236  (0 << 4) + (0 + 4) /*deltaCode*/,
5237  127 /*untilYearTiny*/,
5238  1 /*untilMonth*/,
5239  1 /*untilDay*/,
5240  0 /*untilTimeCode*/,
5241  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5242  },
5243 
5244 };
5245 
5246 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "America/Nipigon";
5247 
5248 const extended::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
5249  kZoneNameAmerica_Nipigon /*name*/,
5250  0x9d2a8b1a /*zoneId*/,
5251  &kZoneContext /*zoneContext*/,
5252  6 /*transitionBufSize*/,
5253  1 /*numEras*/,
5254  kZoneEraAmerica_Nipigon /*eras*/,
5255 };
5256 
5257 //---------------------------------------------------------------------------
5258 // Zone name: America/Nome
5259 // Zone Eras: 1
5260 // Strings (bytes): 18
5261 // Memory (8-bit): 41
5262 // Memory (32-bit): 54
5263 //---------------------------------------------------------------------------
5264 
5265 static const extended::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
5266  // -9:00 US AK%sT
5267  {
5268  &kPolicyUS /*zonePolicy*/,
5269  "AK%T" /*format*/,
5270  -36 /*offsetCode*/,
5271  (0 << 4) + (0 + 4) /*deltaCode*/,
5272  127 /*untilYearTiny*/,
5273  1 /*untilMonth*/,
5274  1 /*untilDay*/,
5275  0 /*untilTimeCode*/,
5276  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5277  },
5278 
5279 };
5280 
5281 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "America/Nome";
5282 
5283 const extended::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
5284  kZoneNameAmerica_Nome /*name*/,
5285  0x98059b15 /*zoneId*/,
5286  &kZoneContext /*zoneContext*/,
5287  6 /*transitionBufSize*/,
5288  1 /*numEras*/,
5289  kZoneEraAmerica_Nome /*eras*/,
5290 };
5291 
5292 //---------------------------------------------------------------------------
5293 // Zone name: America/Noronha
5294 // Zone Eras: 5
5295 // Strings (bytes): 44
5296 // Memory (8-bit): 111
5297 // Memory (32-bit): 144
5298 //---------------------------------------------------------------------------
5299 
5300 static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
5301  // -2:00 - -02 1999 Sep 30
5302  {
5303  nullptr /*zonePolicy*/,
5304  "-02" /*format*/,
5305  -8 /*offsetCode*/,
5306  (0 << 4) + (0 + 4) /*deltaCode*/,
5307  -1 /*untilYearTiny*/,
5308  9 /*untilMonth*/,
5309  30 /*untilDay*/,
5310  0 /*untilTimeCode*/,
5311  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5312  },
5313  // -2:00 Brazil -02/-01 2000 Oct 15
5314  {
5315  &kPolicyBrazil /*zonePolicy*/,
5316  "-02/-01" /*format*/,
5317  -8 /*offsetCode*/,
5318  (0 << 4) + (0 + 4) /*deltaCode*/,
5319  0 /*untilYearTiny*/,
5320  10 /*untilMonth*/,
5321  15 /*untilDay*/,
5322  0 /*untilTimeCode*/,
5323  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5324  },
5325  // -2:00 - -02 2001 Sep 13
5326  {
5327  nullptr /*zonePolicy*/,
5328  "-02" /*format*/,
5329  -8 /*offsetCode*/,
5330  (0 << 4) + (0 + 4) /*deltaCode*/,
5331  1 /*untilYearTiny*/,
5332  9 /*untilMonth*/,
5333  13 /*untilDay*/,
5334  0 /*untilTimeCode*/,
5335  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5336  },
5337  // -2:00 Brazil -02/-01 2002 Oct 1
5338  {
5339  &kPolicyBrazil /*zonePolicy*/,
5340  "-02/-01" /*format*/,
5341  -8 /*offsetCode*/,
5342  (0 << 4) + (0 + 4) /*deltaCode*/,
5343  2 /*untilYearTiny*/,
5344  10 /*untilMonth*/,
5345  1 /*untilDay*/,
5346  0 /*untilTimeCode*/,
5347  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5348  },
5349  // -2:00 - -02
5350  {
5351  nullptr /*zonePolicy*/,
5352  "-02" /*format*/,
5353  -8 /*offsetCode*/,
5354  (0 << 4) + (0 + 4) /*deltaCode*/,
5355  127 /*untilYearTiny*/,
5356  1 /*untilMonth*/,
5357  1 /*untilDay*/,
5358  0 /*untilTimeCode*/,
5359  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5360  },
5361 
5362 };
5363 
5364 static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "America/Noronha";
5365 
5366 const extended::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
5367  kZoneNameAmerica_Noronha /*name*/,
5368  0xab5116fb /*zoneId*/,
5369  &kZoneContext /*zoneContext*/,
5370  5 /*transitionBufSize*/,
5371  5 /*numEras*/,
5372  kZoneEraAmerica_Noronha /*eras*/,
5373 };
5374 
5375 //---------------------------------------------------------------------------
5376 // Zone name: America/North_Dakota/Beulah
5377 // Zone Eras: 2
5378 // Strings (bytes): 36
5379 // Memory (8-bit): 70
5380 // Memory (32-bit): 88
5381 //---------------------------------------------------------------------------
5382 
5383 static const extended::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
5384  // -7:00 US M%sT 2010 Nov 7 2:00
5385  {
5386  &kPolicyUS /*zonePolicy*/,
5387  "M%T" /*format*/,
5388  -28 /*offsetCode*/,
5389  (0 << 4) + (0 + 4) /*deltaCode*/,
5390  10 /*untilYearTiny*/,
5391  11 /*untilMonth*/,
5392  7 /*untilDay*/,
5393  8 /*untilTimeCode*/,
5394  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5395  },
5396  // -6:00 US C%sT
5397  {
5398  &kPolicyUS /*zonePolicy*/,
5399  "C%T" /*format*/,
5400  -24 /*offsetCode*/,
5401  (0 << 4) + (0 + 4) /*deltaCode*/,
5402  127 /*untilYearTiny*/,
5403  1 /*untilMonth*/,
5404  1 /*untilDay*/,
5405  0 /*untilTimeCode*/,
5406  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5407  },
5408 
5409 };
5410 
5411 static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "America/North_Dakota/Beulah";
5412 
5413 const extended::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
5414  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
5415  0x9b52b384 /*zoneId*/,
5416  &kZoneContext /*zoneContext*/,
5417  6 /*transitionBufSize*/,
5418  2 /*numEras*/,
5419  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
5420 };
5421 
5422 //---------------------------------------------------------------------------
5423 // Zone name: America/North_Dakota/Center
5424 // Zone Eras: 1
5425 // Strings (bytes): 32
5426 // Memory (8-bit): 55
5427 // Memory (32-bit): 68
5428 //---------------------------------------------------------------------------
5429 
5430 static const extended::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
5431  // -6:00 US C%sT
5432  {
5433  &kPolicyUS /*zonePolicy*/,
5434  "C%T" /*format*/,
5435  -24 /*offsetCode*/,
5436  (0 << 4) + (0 + 4) /*deltaCode*/,
5437  127 /*untilYearTiny*/,
5438  1 /*untilMonth*/,
5439  1 /*untilDay*/,
5440  0 /*untilTimeCode*/,
5441  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5442  },
5443 
5444 };
5445 
5446 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "America/North_Dakota/Center";
5447 
5448 const extended::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
5449  kZoneNameAmerica_North_Dakota_Center /*name*/,
5450  0x9da42814 /*zoneId*/,
5451  &kZoneContext /*zoneContext*/,
5452  6 /*transitionBufSize*/,
5453  1 /*numEras*/,
5454  kZoneEraAmerica_North_Dakota_Center /*eras*/,
5455 };
5456 
5457 //---------------------------------------------------------------------------
5458 // Zone name: America/North_Dakota/New_Salem
5459 // Zone Eras: 2
5460 // Strings (bytes): 39
5461 // Memory (8-bit): 73
5462 // Memory (32-bit): 91
5463 //---------------------------------------------------------------------------
5464 
5465 static const extended::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
5466  // -7:00 US M%sT 2003 Oct 26 2:00
5467  {
5468  &kPolicyUS /*zonePolicy*/,
5469  "M%T" /*format*/,
5470  -28 /*offsetCode*/,
5471  (0 << 4) + (0 + 4) /*deltaCode*/,
5472  3 /*untilYearTiny*/,
5473  10 /*untilMonth*/,
5474  26 /*untilDay*/,
5475  8 /*untilTimeCode*/,
5476  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5477  },
5478  // -6:00 US C%sT
5479  {
5480  &kPolicyUS /*zonePolicy*/,
5481  "C%T" /*format*/,
5482  -24 /*offsetCode*/,
5483  (0 << 4) + (0 + 4) /*deltaCode*/,
5484  127 /*untilYearTiny*/,
5485  1 /*untilMonth*/,
5486  1 /*untilDay*/,
5487  0 /*untilTimeCode*/,
5488  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5489  },
5490 
5491 };
5492 
5493 static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "America/North_Dakota/New_Salem";
5494 
5495 const extended::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
5496  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
5497  0x04f9958e /*zoneId*/,
5498  &kZoneContext /*zoneContext*/,
5499  6 /*transitionBufSize*/,
5500  2 /*numEras*/,
5501  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
5502 };
5503 
5504 //---------------------------------------------------------------------------
5505 // Zone name: America/Nuuk
5506 // Zone Eras: 1
5507 // Strings (bytes): 21
5508 // Memory (8-bit): 44
5509 // Memory (32-bit): 57
5510 //---------------------------------------------------------------------------
5511 
5512 static const extended::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
5513  // -3:00 EU -03/-02
5514  {
5515  &kPolicyEU /*zonePolicy*/,
5516  "-03/-02" /*format*/,
5517  -12 /*offsetCode*/,
5518  (0 << 4) + (0 + 4) /*deltaCode*/,
5519  127 /*untilYearTiny*/,
5520  1 /*untilMonth*/,
5521  1 /*untilDay*/,
5522  0 /*untilTimeCode*/,
5523  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5524  },
5525 
5526 };
5527 
5528 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "America/Nuuk";
5529 
5530 const extended::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
5531  kZoneNameAmerica_Nuuk /*name*/,
5532  0x9805b5a9 /*zoneId*/,
5533  &kZoneContext /*zoneContext*/,
5534  5 /*transitionBufSize*/,
5535  1 /*numEras*/,
5536  kZoneEraAmerica_Nuuk /*eras*/,
5537 };
5538 
5539 //---------------------------------------------------------------------------
5540 // Zone name: America/Ojinaga
5541 // Zone Eras: 2
5542 // Strings (bytes): 24
5543 // Memory (8-bit): 58
5544 // Memory (32-bit): 76
5545 //---------------------------------------------------------------------------
5546 
5547 static const extended::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
5548  // -7:00 Mexico M%sT 2010
5549  {
5550  &kPolicyMexico /*zonePolicy*/,
5551  "M%T" /*format*/,
5552  -28 /*offsetCode*/,
5553  (0 << 4) + (0 + 4) /*deltaCode*/,
5554  10 /*untilYearTiny*/,
5555  1 /*untilMonth*/,
5556  1 /*untilDay*/,
5557  0 /*untilTimeCode*/,
5558  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5559  },
5560  // -7:00 US M%sT
5561  {
5562  &kPolicyUS /*zonePolicy*/,
5563  "M%T" /*format*/,
5564  -28 /*offsetCode*/,
5565  (0 << 4) + (0 + 4) /*deltaCode*/,
5566  127 /*untilYearTiny*/,
5567  1 /*untilMonth*/,
5568  1 /*untilDay*/,
5569  0 /*untilTimeCode*/,
5570  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5571  },
5572 
5573 };
5574 
5575 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "America/Ojinaga";
5576 
5577 const extended::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
5578  kZoneNameAmerica_Ojinaga /*name*/,
5579  0xebfde83f /*zoneId*/,
5580  &kZoneContext /*zoneContext*/,
5581  6 /*transitionBufSize*/,
5582  2 /*numEras*/,
5583  kZoneEraAmerica_Ojinaga /*eras*/,
5584 };
5585 
5586 //---------------------------------------------------------------------------
5587 // Zone name: America/Panama
5588 // Zone Eras: 1
5589 // Strings (bytes): 19
5590 // Memory (8-bit): 42
5591 // Memory (32-bit): 55
5592 //---------------------------------------------------------------------------
5593 
5594 static const extended::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
5595  // -5:00 - EST
5596  {
5597  nullptr /*zonePolicy*/,
5598  "EST" /*format*/,
5599  -20 /*offsetCode*/,
5600  (0 << 4) + (0 + 4) /*deltaCode*/,
5601  127 /*untilYearTiny*/,
5602  1 /*untilMonth*/,
5603  1 /*untilDay*/,
5604  0 /*untilTimeCode*/,
5605  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5606  },
5607 
5608 };
5609 
5610 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "America/Panama";
5611 
5612 const extended::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
5613  kZoneNameAmerica_Panama /*name*/,
5614  0xb3863854 /*zoneId*/,
5615  &kZoneContext /*zoneContext*/,
5616  2 /*transitionBufSize*/,
5617  1 /*numEras*/,
5618  kZoneEraAmerica_Panama /*eras*/,
5619 };
5620 
5621 //---------------------------------------------------------------------------
5622 // Zone name: America/Pangnirtung
5623 // Zone Eras: 3
5624 // Strings (bytes): 32
5625 // Memory (8-bit): 77
5626 // Memory (32-bit): 100
5627 //---------------------------------------------------------------------------
5628 
5629 static const extended::ZoneEra kZoneEraAmerica_Pangnirtung[] ACE_TIME_PROGMEM = {
5630  // -5:00 Canada E%sT 1999 Oct 31 2:00
5631  {
5632  &kPolicyCanada /*zonePolicy*/,
5633  "E%T" /*format*/,
5634  -20 /*offsetCode*/,
5635  (0 << 4) + (0 + 4) /*deltaCode*/,
5636  -1 /*untilYearTiny*/,
5637  10 /*untilMonth*/,
5638  31 /*untilDay*/,
5639  8 /*untilTimeCode*/,
5640  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5641  },
5642  // -6:00 Canada C%sT 2000 Oct 29 2:00
5643  {
5644  &kPolicyCanada /*zonePolicy*/,
5645  "C%T" /*format*/,
5646  -24 /*offsetCode*/,
5647  (0 << 4) + (0 + 4) /*deltaCode*/,
5648  0 /*untilYearTiny*/,
5649  10 /*untilMonth*/,
5650  29 /*untilDay*/,
5651  8 /*untilTimeCode*/,
5652  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5653  },
5654  // -5:00 Canada E%sT
5655  {
5656  &kPolicyCanada /*zonePolicy*/,
5657  "E%T" /*format*/,
5658  -20 /*offsetCode*/,
5659  (0 << 4) + (0 + 4) /*deltaCode*/,
5660  127 /*untilYearTiny*/,
5661  1 /*untilMonth*/,
5662  1 /*untilDay*/,
5663  0 /*untilTimeCode*/,
5664  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5665  },
5666 
5667 };
5668 
5669 static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "America/Pangnirtung";
5670 
5671 const extended::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
5672  kZoneNameAmerica_Pangnirtung /*name*/,
5673  0x2d999193 /*zoneId*/,
5674  &kZoneContext /*zoneContext*/,
5675  6 /*transitionBufSize*/,
5676  3 /*numEras*/,
5677  kZoneEraAmerica_Pangnirtung /*eras*/,
5678 };
5679 
5680 //---------------------------------------------------------------------------
5681 // Zone name: America/Paramaribo
5682 // Zone Eras: 1
5683 // Strings (bytes): 23
5684 // Memory (8-bit): 46
5685 // Memory (32-bit): 59
5686 //---------------------------------------------------------------------------
5687 
5688 static const extended::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
5689  // -3:00 - -03
5690  {
5691  nullptr /*zonePolicy*/,
5692  "-03" /*format*/,
5693  -12 /*offsetCode*/,
5694  (0 << 4) + (0 + 4) /*deltaCode*/,
5695  127 /*untilYearTiny*/,
5696  1 /*untilMonth*/,
5697  1 /*untilDay*/,
5698  0 /*untilTimeCode*/,
5699  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5700  },
5701 
5702 };
5703 
5704 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "America/Paramaribo";
5705 
5706 const extended::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
5707  kZoneNameAmerica_Paramaribo /*name*/,
5708  0xb319e4c4 /*zoneId*/,
5709  &kZoneContext /*zoneContext*/,
5710  2 /*transitionBufSize*/,
5711  1 /*numEras*/,
5712  kZoneEraAmerica_Paramaribo /*eras*/,
5713 };
5714 
5715 //---------------------------------------------------------------------------
5716 // Zone name: America/Phoenix
5717 // Zone Eras: 1
5718 // Strings (bytes): 20
5719 // Memory (8-bit): 43
5720 // Memory (32-bit): 56
5721 //---------------------------------------------------------------------------
5722 
5723 static const extended::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
5724  // -7:00 - MST
5725  {
5726  nullptr /*zonePolicy*/,
5727  "MST" /*format*/,
5728  -28 /*offsetCode*/,
5729  (0 << 4) + (0 + 4) /*deltaCode*/,
5730  127 /*untilYearTiny*/,
5731  1 /*untilMonth*/,
5732  1 /*untilDay*/,
5733  0 /*untilTimeCode*/,
5734  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5735  },
5736 
5737 };
5738 
5739 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "America/Phoenix";
5740 
5741 const extended::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
5742  kZoneNameAmerica_Phoenix /*name*/,
5743  0x34b5af01 /*zoneId*/,
5744  &kZoneContext /*zoneContext*/,
5745  2 /*transitionBufSize*/,
5746  1 /*numEras*/,
5747  kZoneEraAmerica_Phoenix /*eras*/,
5748 };
5749 
5750 //---------------------------------------------------------------------------
5751 // Zone name: America/Port-au-Prince
5752 // Zone Eras: 1
5753 // Strings (bytes): 27
5754 // Memory (8-bit): 50
5755 // Memory (32-bit): 63
5756 //---------------------------------------------------------------------------
5757 
5758 static const extended::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
5759  // -5:00 Haiti E%sT
5760  {
5761  &kPolicyHaiti /*zonePolicy*/,
5762  "E%T" /*format*/,
5763  -20 /*offsetCode*/,
5764  (0 << 4) + (0 + 4) /*deltaCode*/,
5765  127 /*untilYearTiny*/,
5766  1 /*untilMonth*/,
5767  1 /*untilDay*/,
5768  0 /*untilTimeCode*/,
5769  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5770  },
5771 
5772 };
5773 
5774 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "America/Port-au-Prince";
5775 
5776 const extended::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
5777  kZoneNameAmerica_Port_au_Prince /*name*/,
5778  0x8e4a7bdc /*zoneId*/,
5779  &kZoneContext /*zoneContext*/,
5780  6 /*transitionBufSize*/,
5781  1 /*numEras*/,
5782  kZoneEraAmerica_Port_au_Prince /*eras*/,
5783 };
5784 
5785 //---------------------------------------------------------------------------
5786 // Zone name: America/Port_of_Spain
5787 // Zone Eras: 1
5788 // Strings (bytes): 26
5789 // Memory (8-bit): 49
5790 // Memory (32-bit): 62
5791 //---------------------------------------------------------------------------
5792 
5793 static const extended::ZoneEra kZoneEraAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = {
5794  // -4:00 - AST
5795  {
5796  nullptr /*zonePolicy*/,
5797  "AST" /*format*/,
5798  -16 /*offsetCode*/,
5799  (0 << 4) + (0 + 4) /*deltaCode*/,
5800  127 /*untilYearTiny*/,
5801  1 /*untilMonth*/,
5802  1 /*untilDay*/,
5803  0 /*untilTimeCode*/,
5804  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5805  },
5806 
5807 };
5808 
5809 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "America/Port_of_Spain";
5810 
5811 const extended::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
5812  kZoneNameAmerica_Port_of_Spain /*name*/,
5813  0xd8b28d59 /*zoneId*/,
5814  &kZoneContext /*zoneContext*/,
5815  2 /*transitionBufSize*/,
5816  1 /*numEras*/,
5817  kZoneEraAmerica_Port_of_Spain /*eras*/,
5818 };
5819 
5820 //---------------------------------------------------------------------------
5821 // Zone name: America/Porto_Velho
5822 // Zone Eras: 1
5823 // Strings (bytes): 24
5824 // Memory (8-bit): 47
5825 // Memory (32-bit): 60
5826 //---------------------------------------------------------------------------
5827 
5828 static const extended::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
5829  // -4:00 - -04
5830  {
5831  nullptr /*zonePolicy*/,
5832  "-04" /*format*/,
5833  -16 /*offsetCode*/,
5834  (0 << 4) + (0 + 4) /*deltaCode*/,
5835  127 /*untilYearTiny*/,
5836  1 /*untilMonth*/,
5837  1 /*untilDay*/,
5838  0 /*untilTimeCode*/,
5839  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5840  },
5841 
5842 };
5843 
5844 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "America/Porto_Velho";
5845 
5846 const extended::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
5847  kZoneNameAmerica_Porto_Velho /*name*/,
5848  0x6b1aac77 /*zoneId*/,
5849  &kZoneContext /*zoneContext*/,
5850  2 /*transitionBufSize*/,
5851  1 /*numEras*/,
5852  kZoneEraAmerica_Porto_Velho /*eras*/,
5853 };
5854 
5855 //---------------------------------------------------------------------------
5856 // Zone name: America/Puerto_Rico
5857 // Zone Eras: 1
5858 // Strings (bytes): 24
5859 // Memory (8-bit): 47
5860 // Memory (32-bit): 60
5861 //---------------------------------------------------------------------------
5862 
5863 static const extended::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
5864  // -4:00 - AST
5865  {
5866  nullptr /*zonePolicy*/,
5867  "AST" /*format*/,
5868  -16 /*offsetCode*/,
5869  (0 << 4) + (0 + 4) /*deltaCode*/,
5870  127 /*untilYearTiny*/,
5871  1 /*untilMonth*/,
5872  1 /*untilDay*/,
5873  0 /*untilTimeCode*/,
5874  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5875  },
5876 
5877 };
5878 
5879 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "America/Puerto_Rico";
5880 
5881 const extended::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
5882  kZoneNameAmerica_Puerto_Rico /*name*/,
5883  0x6752ca31 /*zoneId*/,
5884  &kZoneContext /*zoneContext*/,
5885  2 /*transitionBufSize*/,
5886  1 /*numEras*/,
5887  kZoneEraAmerica_Puerto_Rico /*eras*/,
5888 };
5889 
5890 //---------------------------------------------------------------------------
5891 // Zone name: America/Punta_Arenas
5892 // Zone Eras: 2
5893 // Strings (bytes): 33
5894 // Memory (8-bit): 67
5895 // Memory (32-bit): 85
5896 //---------------------------------------------------------------------------
5897 
5898 static const extended::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
5899  // -4:00 Chile -04/-03 2016 Dec 4
5900  {
5901  &kPolicyChile /*zonePolicy*/,
5902  "-04/-03" /*format*/,
5903  -16 /*offsetCode*/,
5904  (0 << 4) + (0 + 4) /*deltaCode*/,
5905  16 /*untilYearTiny*/,
5906  12 /*untilMonth*/,
5907  4 /*untilDay*/,
5908  0 /*untilTimeCode*/,
5909  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5910  },
5911  // -3:00 - -03
5912  {
5913  nullptr /*zonePolicy*/,
5914  "-03" /*format*/,
5915  -12 /*offsetCode*/,
5916  (0 << 4) + (0 + 4) /*deltaCode*/,
5917  127 /*untilYearTiny*/,
5918  1 /*untilMonth*/,
5919  1 /*untilDay*/,
5920  0 /*untilTimeCode*/,
5921  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5922  },
5923 
5924 };
5925 
5926 static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "America/Punta_Arenas";
5927 
5928 const extended::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
5929  kZoneNameAmerica_Punta_Arenas /*name*/,
5930  0xc2c3bce7 /*zoneId*/,
5931  &kZoneContext /*zoneContext*/,
5932  5 /*transitionBufSize*/,
5933  2 /*numEras*/,
5934  kZoneEraAmerica_Punta_Arenas /*eras*/,
5935 };
5936 
5937 //---------------------------------------------------------------------------
5938 // Zone name: America/Rainy_River
5939 // Zone Eras: 1
5940 // Strings (bytes): 24
5941 // Memory (8-bit): 47
5942 // Memory (32-bit): 60
5943 //---------------------------------------------------------------------------
5944 
5945 static const extended::ZoneEra kZoneEraAmerica_Rainy_River[] ACE_TIME_PROGMEM = {
5946  // -6:00 Canada C%sT
5947  {
5948  &kPolicyCanada /*zonePolicy*/,
5949  "C%T" /*format*/,
5950  -24 /*offsetCode*/,
5951  (0 << 4) + (0 + 4) /*deltaCode*/,
5952  127 /*untilYearTiny*/,
5953  1 /*untilMonth*/,
5954  1 /*untilDay*/,
5955  0 /*untilTimeCode*/,
5956  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5957  },
5958 
5959 };
5960 
5961 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "America/Rainy_River";
5962 
5963 const extended::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
5964  kZoneNameAmerica_Rainy_River /*name*/,
5965  0x9cd58a10 /*zoneId*/,
5966  &kZoneContext /*zoneContext*/,
5967  6 /*transitionBufSize*/,
5968  1 /*numEras*/,
5969  kZoneEraAmerica_Rainy_River /*eras*/,
5970 };
5971 
5972 //---------------------------------------------------------------------------
5973 // Zone name: America/Rankin_Inlet
5974 // Zone Eras: 3
5975 // Strings (bytes): 33
5976 // Memory (8-bit): 78
5977 // Memory (32-bit): 101
5978 //---------------------------------------------------------------------------
5979 
5980 static const extended::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
5981  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
5982  {
5983  &kPolicyNT_YK /*zonePolicy*/,
5984  "C%T" /*format*/,
5985  -24 /*offsetCode*/,
5986  (0 << 4) + (0 + 4) /*deltaCode*/,
5987  0 /*untilYearTiny*/,
5988  10 /*untilMonth*/,
5989  29 /*untilDay*/,
5990  8 /*untilTimeCode*/,
5991  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
5992  },
5993  // -5:00 - EST 2001 Apr 1 3:00
5994  {
5995  nullptr /*zonePolicy*/,
5996  "EST" /*format*/,
5997  -20 /*offsetCode*/,
5998  (0 << 4) + (0 + 4) /*deltaCode*/,
5999  1 /*untilYearTiny*/,
6000  4 /*untilMonth*/,
6001  1 /*untilDay*/,
6002  12 /*untilTimeCode*/,
6003  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6004  },
6005  // -6:00 Canada C%sT
6006  {
6007  &kPolicyCanada /*zonePolicy*/,
6008  "C%T" /*format*/,
6009  -24 /*offsetCode*/,
6010  (0 << 4) + (0 + 4) /*deltaCode*/,
6011  127 /*untilYearTiny*/,
6012  1 /*untilMonth*/,
6013  1 /*untilDay*/,
6014  0 /*untilTimeCode*/,
6015  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6016  },
6017 
6018 };
6019 
6020 static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "America/Rankin_Inlet";
6021 
6022 const extended::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
6023  kZoneNameAmerica_Rankin_Inlet /*name*/,
6024  0xc8de4984 /*zoneId*/,
6025  &kZoneContext /*zoneContext*/,
6026  6 /*transitionBufSize*/,
6027  3 /*numEras*/,
6028  kZoneEraAmerica_Rankin_Inlet /*eras*/,
6029 };
6030 
6031 //---------------------------------------------------------------------------
6032 // Zone name: America/Recife
6033 // Zone Eras: 5
6034 // Strings (bytes): 43
6035 // Memory (8-bit): 110
6036 // Memory (32-bit): 143
6037 //---------------------------------------------------------------------------
6038 
6039 static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
6040  // -3:00 - -03 1999 Sep 30
6041  {
6042  nullptr /*zonePolicy*/,
6043  "-03" /*format*/,
6044  -12 /*offsetCode*/,
6045  (0 << 4) + (0 + 4) /*deltaCode*/,
6046  -1 /*untilYearTiny*/,
6047  9 /*untilMonth*/,
6048  30 /*untilDay*/,
6049  0 /*untilTimeCode*/,
6050  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6051  },
6052  // -3:00 Brazil -03/-02 2000 Oct 15
6053  {
6054  &kPolicyBrazil /*zonePolicy*/,
6055  "-03/-02" /*format*/,
6056  -12 /*offsetCode*/,
6057  (0 << 4) + (0 + 4) /*deltaCode*/,
6058  0 /*untilYearTiny*/,
6059  10 /*untilMonth*/,
6060  15 /*untilDay*/,
6061  0 /*untilTimeCode*/,
6062  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6063  },
6064  // -3:00 - -03 2001 Sep 13
6065  {
6066  nullptr /*zonePolicy*/,
6067  "-03" /*format*/,
6068  -12 /*offsetCode*/,
6069  (0 << 4) + (0 + 4) /*deltaCode*/,
6070  1 /*untilYearTiny*/,
6071  9 /*untilMonth*/,
6072  13 /*untilDay*/,
6073  0 /*untilTimeCode*/,
6074  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6075  },
6076  // -3:00 Brazil -03/-02 2002 Oct 1
6077  {
6078  &kPolicyBrazil /*zonePolicy*/,
6079  "-03/-02" /*format*/,
6080  -12 /*offsetCode*/,
6081  (0 << 4) + (0 + 4) /*deltaCode*/,
6082  2 /*untilYearTiny*/,
6083  10 /*untilMonth*/,
6084  1 /*untilDay*/,
6085  0 /*untilTimeCode*/,
6086  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6087  },
6088  // -3:00 - -03
6089  {
6090  nullptr /*zonePolicy*/,
6091  "-03" /*format*/,
6092  -12 /*offsetCode*/,
6093  (0 << 4) + (0 + 4) /*deltaCode*/,
6094  127 /*untilYearTiny*/,
6095  1 /*untilMonth*/,
6096  1 /*untilDay*/,
6097  0 /*untilTimeCode*/,
6098  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6099  },
6100 
6101 };
6102 
6103 static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "America/Recife";
6104 
6105 const extended::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
6106  kZoneNameAmerica_Recife /*name*/,
6107  0xb8730494 /*zoneId*/,
6108  &kZoneContext /*zoneContext*/,
6109  5 /*transitionBufSize*/,
6110  5 /*numEras*/,
6111  kZoneEraAmerica_Recife /*eras*/,
6112 };
6113 
6114 //---------------------------------------------------------------------------
6115 // Zone name: America/Regina
6116 // Zone Eras: 1
6117 // Strings (bytes): 19
6118 // Memory (8-bit): 42
6119 // Memory (32-bit): 55
6120 //---------------------------------------------------------------------------
6121 
6122 static const extended::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
6123  // -6:00 - CST
6124  {
6125  nullptr /*zonePolicy*/,
6126  "CST" /*format*/,
6127  -24 /*offsetCode*/,
6128  (0 << 4) + (0 + 4) /*deltaCode*/,
6129  127 /*untilYearTiny*/,
6130  1 /*untilMonth*/,
6131  1 /*untilDay*/,
6132  0 /*untilTimeCode*/,
6133  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6134  },
6135 
6136 };
6137 
6138 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "America/Regina";
6139 
6140 const extended::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
6141  kZoneNameAmerica_Regina /*name*/,
6142  0xb875371c /*zoneId*/,
6143  &kZoneContext /*zoneContext*/,
6144  2 /*transitionBufSize*/,
6145  1 /*numEras*/,
6146  kZoneEraAmerica_Regina /*eras*/,
6147 };
6148 
6149 //---------------------------------------------------------------------------
6150 // Zone name: America/Resolute
6151 // Zone Eras: 5
6152 // Strings (bytes): 37
6153 // Memory (8-bit): 104
6154 // Memory (32-bit): 137
6155 //---------------------------------------------------------------------------
6156 
6157 static const extended::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
6158  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
6159  {
6160  &kPolicyNT_YK /*zonePolicy*/,
6161  "C%T" /*format*/,
6162  -24 /*offsetCode*/,
6163  (0 << 4) + (0 + 4) /*deltaCode*/,
6164  0 /*untilYearTiny*/,
6165  10 /*untilMonth*/,
6166  29 /*untilDay*/,
6167  8 /*untilTimeCode*/,
6168  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6169  },
6170  // -5:00 - EST 2001 Apr 1 3:00
6171  {
6172  nullptr /*zonePolicy*/,
6173  "EST" /*format*/,
6174  -20 /*offsetCode*/,
6175  (0 << 4) + (0 + 4) /*deltaCode*/,
6176  1 /*untilYearTiny*/,
6177  4 /*untilMonth*/,
6178  1 /*untilDay*/,
6179  12 /*untilTimeCode*/,
6180  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6181  },
6182  // -6:00 Canada C%sT 2006 Oct 29 2:00
6183  {
6184  &kPolicyCanada /*zonePolicy*/,
6185  "C%T" /*format*/,
6186  -24 /*offsetCode*/,
6187  (0 << 4) + (0 + 4) /*deltaCode*/,
6188  6 /*untilYearTiny*/,
6189  10 /*untilMonth*/,
6190  29 /*untilDay*/,
6191  8 /*untilTimeCode*/,
6192  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6193  },
6194  // -5:00 - EST 2007 Mar 11 3:00
6195  {
6196  nullptr /*zonePolicy*/,
6197  "EST" /*format*/,
6198  -20 /*offsetCode*/,
6199  (0 << 4) + (0 + 4) /*deltaCode*/,
6200  7 /*untilYearTiny*/,
6201  3 /*untilMonth*/,
6202  11 /*untilDay*/,
6203  12 /*untilTimeCode*/,
6204  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6205  },
6206  // -6:00 Canada C%sT
6207  {
6208  &kPolicyCanada /*zonePolicy*/,
6209  "C%T" /*format*/,
6210  -24 /*offsetCode*/,
6211  (0 << 4) + (0 + 4) /*deltaCode*/,
6212  127 /*untilYearTiny*/,
6213  1 /*untilMonth*/,
6214  1 /*untilDay*/,
6215  0 /*untilTimeCode*/,
6216  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6217  },
6218 
6219 };
6220 
6221 static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "America/Resolute";
6222 
6223 const extended::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
6224  kZoneNameAmerica_Resolute /*name*/,
6225  0xc7093459 /*zoneId*/,
6226  &kZoneContext /*zoneContext*/,
6227  6 /*transitionBufSize*/,
6228  5 /*numEras*/,
6229  kZoneEraAmerica_Resolute /*eras*/,
6230 };
6231 
6232 //---------------------------------------------------------------------------
6233 // Zone name: America/Rio_Branco
6234 // Zone Eras: 3
6235 // Strings (bytes): 31
6236 // Memory (8-bit): 76
6237 // Memory (32-bit): 99
6238 //---------------------------------------------------------------------------
6239 
6240 static const extended::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
6241  // -5:00 - -05 2008 Jun 24 0:00
6242  {
6243  nullptr /*zonePolicy*/,
6244  "-05" /*format*/,
6245  -20 /*offsetCode*/,
6246  (0 << 4) + (0 + 4) /*deltaCode*/,
6247  8 /*untilYearTiny*/,
6248  6 /*untilMonth*/,
6249  24 /*untilDay*/,
6250  0 /*untilTimeCode*/,
6251  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6252  },
6253  // -4:00 - -04 2013 Nov 10
6254  {
6255  nullptr /*zonePolicy*/,
6256  "-04" /*format*/,
6257  -16 /*offsetCode*/,
6258  (0 << 4) + (0 + 4) /*deltaCode*/,
6259  13 /*untilYearTiny*/,
6260  11 /*untilMonth*/,
6261  10 /*untilDay*/,
6262  0 /*untilTimeCode*/,
6263  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6264  },
6265  // -5:00 - -05
6266  {
6267  nullptr /*zonePolicy*/,
6268  "-05" /*format*/,
6269  -20 /*offsetCode*/,
6270  (0 << 4) + (0 + 4) /*deltaCode*/,
6271  127 /*untilYearTiny*/,
6272  1 /*untilMonth*/,
6273  1 /*untilDay*/,
6274  0 /*untilTimeCode*/,
6275  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6276  },
6277 
6278 };
6279 
6280 static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "America/Rio_Branco";
6281 
6282 const extended::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
6283  kZoneNameAmerica_Rio_Branco /*name*/,
6284  0x9d352764 /*zoneId*/,
6285  &kZoneContext /*zoneContext*/,
6286  3 /*transitionBufSize*/,
6287  3 /*numEras*/,
6288  kZoneEraAmerica_Rio_Branco /*eras*/,
6289 };
6290 
6291 //---------------------------------------------------------------------------
6292 // Zone name: America/Santarem
6293 // Zone Eras: 2
6294 // Strings (bytes): 25
6295 // Memory (8-bit): 59
6296 // Memory (32-bit): 77
6297 //---------------------------------------------------------------------------
6298 
6299 static const extended::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
6300  // -4:00 - -04 2008 Jun 24 0:00
6301  {
6302  nullptr /*zonePolicy*/,
6303  "-04" /*format*/,
6304  -16 /*offsetCode*/,
6305  (0 << 4) + (0 + 4) /*deltaCode*/,
6306  8 /*untilYearTiny*/,
6307  6 /*untilMonth*/,
6308  24 /*untilDay*/,
6309  0 /*untilTimeCode*/,
6310  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6311  },
6312  // -3:00 - -03
6313  {
6314  nullptr /*zonePolicy*/,
6315  "-03" /*format*/,
6316  -12 /*offsetCode*/,
6317  (0 << 4) + (0 + 4) /*deltaCode*/,
6318  127 /*untilYearTiny*/,
6319  1 /*untilMonth*/,
6320  1 /*untilDay*/,
6321  0 /*untilTimeCode*/,
6322  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6323  },
6324 
6325 };
6326 
6327 static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "America/Santarem";
6328 
6329 const extended::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
6330  kZoneNameAmerica_Santarem /*name*/,
6331  0x740caec1 /*zoneId*/,
6332  &kZoneContext /*zoneContext*/,
6333  3 /*transitionBufSize*/,
6334  2 /*numEras*/,
6335  kZoneEraAmerica_Santarem /*eras*/,
6336 };
6337 
6338 //---------------------------------------------------------------------------
6339 // Zone name: America/Santiago
6340 // Zone Eras: 1
6341 // Strings (bytes): 25
6342 // Memory (8-bit): 48
6343 // Memory (32-bit): 61
6344 //---------------------------------------------------------------------------
6345 
6346 static const extended::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
6347  // -4:00 Chile -04/-03
6348  {
6349  &kPolicyChile /*zonePolicy*/,
6350  "-04/-03" /*format*/,
6351  -16 /*offsetCode*/,
6352  (0 << 4) + (0 + 4) /*deltaCode*/,
6353  127 /*untilYearTiny*/,
6354  1 /*untilMonth*/,
6355  1 /*untilDay*/,
6356  0 /*untilTimeCode*/,
6357  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6358  },
6359 
6360 };
6361 
6362 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "America/Santiago";
6363 
6364 const extended::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
6365  kZoneNameAmerica_Santiago /*name*/,
6366  0x7410c9bc /*zoneId*/,
6367  &kZoneContext /*zoneContext*/,
6368  5 /*transitionBufSize*/,
6369  1 /*numEras*/,
6370  kZoneEraAmerica_Santiago /*eras*/,
6371 };
6372 
6373 //---------------------------------------------------------------------------
6374 // Zone name: America/Santo_Domingo
6375 // Zone Eras: 3
6376 // Strings (bytes): 34
6377 // Memory (8-bit): 79
6378 // Memory (32-bit): 102
6379 //---------------------------------------------------------------------------
6380 
6381 static const extended::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
6382  // -4:00 - AST 2000 Oct 29 2:00
6383  {
6384  nullptr /*zonePolicy*/,
6385  "AST" /*format*/,
6386  -16 /*offsetCode*/,
6387  (0 << 4) + (0 + 4) /*deltaCode*/,
6388  0 /*untilYearTiny*/,
6389  10 /*untilMonth*/,
6390  29 /*untilDay*/,
6391  8 /*untilTimeCode*/,
6392  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6393  },
6394  // -5:00 US E%sT 2000 Dec 3 1:00
6395  {
6396  &kPolicyUS /*zonePolicy*/,
6397  "E%T" /*format*/,
6398  -20 /*offsetCode*/,
6399  (0 << 4) + (0 + 4) /*deltaCode*/,
6400  0 /*untilYearTiny*/,
6401  12 /*untilMonth*/,
6402  3 /*untilDay*/,
6403  4 /*untilTimeCode*/,
6404  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6405  },
6406  // -4:00 - AST
6407  {
6408  nullptr /*zonePolicy*/,
6409  "AST" /*format*/,
6410  -16 /*offsetCode*/,
6411  (0 << 4) + (0 + 4) /*deltaCode*/,
6412  127 /*untilYearTiny*/,
6413  1 /*untilMonth*/,
6414  1 /*untilDay*/,
6415  0 /*untilTimeCode*/,
6416  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6417  },
6418 
6419 };
6420 
6421 static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "America/Santo_Domingo";
6422 
6423 const extended::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
6424  kZoneNameAmerica_Santo_Domingo /*name*/,
6425  0x75a0d177 /*zoneId*/,
6426  &kZoneContext /*zoneContext*/,
6427  4 /*transitionBufSize*/,
6428  3 /*numEras*/,
6429  kZoneEraAmerica_Santo_Domingo /*eras*/,
6430 };
6431 
6432 //---------------------------------------------------------------------------
6433 // Zone name: America/Sao_Paulo
6434 // Zone Eras: 1
6435 // Strings (bytes): 26
6436 // Memory (8-bit): 49
6437 // Memory (32-bit): 62
6438 //---------------------------------------------------------------------------
6439 
6440 static const extended::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
6441  // -3:00 Brazil -03/-02
6442  {
6443  &kPolicyBrazil /*zonePolicy*/,
6444  "-03/-02" /*format*/,
6445  -12 /*offsetCode*/,
6446  (0 << 4) + (0 + 4) /*deltaCode*/,
6447  127 /*untilYearTiny*/,
6448  1 /*untilMonth*/,
6449  1 /*untilDay*/,
6450  0 /*untilTimeCode*/,
6451  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6452  },
6453 
6454 };
6455 
6456 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "America/Sao_Paulo";
6457 
6458 const extended::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
6459  kZoneNameAmerica_Sao_Paulo /*name*/,
6460  0x1063bfc9 /*zoneId*/,
6461  &kZoneContext /*zoneContext*/,
6462  6 /*transitionBufSize*/,
6463  1 /*numEras*/,
6464  kZoneEraAmerica_Sao_Paulo /*eras*/,
6465 };
6466 
6467 //---------------------------------------------------------------------------
6468 // Zone name: America/Scoresbysund
6469 // Zone Eras: 1
6470 // Strings (bytes): 29
6471 // Memory (8-bit): 52
6472 // Memory (32-bit): 65
6473 //---------------------------------------------------------------------------
6474 
6475 static const extended::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
6476  // -1:00 EU -01/+00
6477  {
6478  &kPolicyEU /*zonePolicy*/,
6479  "-01/+00" /*format*/,
6480  -4 /*offsetCode*/,
6481  (0 << 4) + (0 + 4) /*deltaCode*/,
6482  127 /*untilYearTiny*/,
6483  1 /*untilMonth*/,
6484  1 /*untilDay*/,
6485  0 /*untilTimeCode*/,
6486  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6487  },
6488 
6489 };
6490 
6491 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "America/Scoresbysund";
6492 
6493 const extended::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
6494  kZoneNameAmerica_Scoresbysund /*name*/,
6495  0x123f8d2a /*zoneId*/,
6496  &kZoneContext /*zoneContext*/,
6497  5 /*transitionBufSize*/,
6498  1 /*numEras*/,
6499  kZoneEraAmerica_Scoresbysund /*eras*/,
6500 };
6501 
6502 //---------------------------------------------------------------------------
6503 // Zone name: America/Sitka
6504 // Zone Eras: 1
6505 // Strings (bytes): 19
6506 // Memory (8-bit): 42
6507 // Memory (32-bit): 55
6508 //---------------------------------------------------------------------------
6509 
6510 static const extended::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
6511  // -9:00 US AK%sT
6512  {
6513  &kPolicyUS /*zonePolicy*/,
6514  "AK%T" /*format*/,
6515  -36 /*offsetCode*/,
6516  (0 << 4) + (0 + 4) /*deltaCode*/,
6517  127 /*untilYearTiny*/,
6518  1 /*untilMonth*/,
6519  1 /*untilDay*/,
6520  0 /*untilTimeCode*/,
6521  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6522  },
6523 
6524 };
6525 
6526 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "America/Sitka";
6527 
6528 const extended::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
6529  kZoneNameAmerica_Sitka /*name*/,
6530  0x99104ce2 /*zoneId*/,
6531  &kZoneContext /*zoneContext*/,
6532  6 /*transitionBufSize*/,
6533  1 /*numEras*/,
6534  kZoneEraAmerica_Sitka /*eras*/,
6535 };
6536 
6537 //---------------------------------------------------------------------------
6538 // Zone name: America/St_Johns
6539 // Zone Eras: 2
6540 // Strings (bytes): 25
6541 // Memory (8-bit): 59
6542 // Memory (32-bit): 77
6543 //---------------------------------------------------------------------------
6544 
6545 static const extended::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
6546  // -3:30 StJohns N%sT 2011 Nov
6547  {
6548  &kPolicyStJohns /*zonePolicy*/,
6549  "N%T" /*format*/,
6550  -14 /*offsetCode*/,
6551  (0 << 4) + (0 + 4) /*deltaCode*/,
6552  11 /*untilYearTiny*/,
6553  11 /*untilMonth*/,
6554  1 /*untilDay*/,
6555  0 /*untilTimeCode*/,
6556  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6557  },
6558  // -3:30 Canada N%sT
6559  {
6560  &kPolicyCanada /*zonePolicy*/,
6561  "N%T" /*format*/,
6562  -14 /*offsetCode*/,
6563  (0 << 4) + (0 + 4) /*deltaCode*/,
6564  127 /*untilYearTiny*/,
6565  1 /*untilMonth*/,
6566  1 /*untilDay*/,
6567  0 /*untilTimeCode*/,
6568  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6569  },
6570 
6571 };
6572 
6573 static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "America/St_Johns";
6574 
6575 const extended::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
6576  kZoneNameAmerica_St_Johns /*name*/,
6577  0x04b14e6e /*zoneId*/,
6578  &kZoneContext /*zoneContext*/,
6579  6 /*transitionBufSize*/,
6580  2 /*numEras*/,
6581  kZoneEraAmerica_St_Johns /*eras*/,
6582 };
6583 
6584 //---------------------------------------------------------------------------
6585 // Zone name: America/Swift_Current
6586 // Zone Eras: 1
6587 // Strings (bytes): 26
6588 // Memory (8-bit): 49
6589 // Memory (32-bit): 62
6590 //---------------------------------------------------------------------------
6591 
6592 static const extended::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
6593  // -6:00 - CST
6594  {
6595  nullptr /*zonePolicy*/,
6596  "CST" /*format*/,
6597  -24 /*offsetCode*/,
6598  (0 << 4) + (0 + 4) /*deltaCode*/,
6599  127 /*untilYearTiny*/,
6600  1 /*untilMonth*/,
6601  1 /*untilDay*/,
6602  0 /*untilTimeCode*/,
6603  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6604  },
6605 
6606 };
6607 
6608 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "America/Swift_Current";
6609 
6610 const extended::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
6611  kZoneNameAmerica_Swift_Current /*name*/,
6612  0xdef98e55 /*zoneId*/,
6613  &kZoneContext /*zoneContext*/,
6614  2 /*transitionBufSize*/,
6615  1 /*numEras*/,
6616  kZoneEraAmerica_Swift_Current /*eras*/,
6617 };
6618 
6619 //---------------------------------------------------------------------------
6620 // Zone name: America/Tegucigalpa
6621 // Zone Eras: 1
6622 // Strings (bytes): 24
6623 // Memory (8-bit): 47
6624 // Memory (32-bit): 60
6625 //---------------------------------------------------------------------------
6626 
6627 static const extended::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
6628  // -6:00 Hond C%sT
6629  {
6630  &kPolicyHond /*zonePolicy*/,
6631  "C%T" /*format*/,
6632  -24 /*offsetCode*/,
6633  (0 << 4) + (0 + 4) /*deltaCode*/,
6634  127 /*untilYearTiny*/,
6635  1 /*untilMonth*/,
6636  1 /*untilDay*/,
6637  0 /*untilTimeCode*/,
6638  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6639  },
6640 
6641 };
6642 
6643 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "America/Tegucigalpa";
6644 
6645 const extended::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
6646  kZoneNameAmerica_Tegucigalpa /*name*/,
6647  0xbfd6fd4c /*zoneId*/,
6648  &kZoneContext /*zoneContext*/,
6649  4 /*transitionBufSize*/,
6650  1 /*numEras*/,
6651  kZoneEraAmerica_Tegucigalpa /*eras*/,
6652 };
6653 
6654 //---------------------------------------------------------------------------
6655 // Zone name: America/Thule
6656 // Zone Eras: 1
6657 // Strings (bytes): 18
6658 // Memory (8-bit): 41
6659 // Memory (32-bit): 54
6660 //---------------------------------------------------------------------------
6661 
6662 static const extended::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
6663  // -4:00 Thule A%sT
6664  {
6665  &kPolicyThule /*zonePolicy*/,
6666  "A%T" /*format*/,
6667  -16 /*offsetCode*/,
6668  (0 << 4) + (0 + 4) /*deltaCode*/,
6669  127 /*untilYearTiny*/,
6670  1 /*untilMonth*/,
6671  1 /*untilDay*/,
6672  0 /*untilTimeCode*/,
6673  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6674  },
6675 
6676 };
6677 
6678 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "America/Thule";
6679 
6680 const extended::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
6681  kZoneNameAmerica_Thule /*name*/,
6682  0x9921dd68 /*zoneId*/,
6683  &kZoneContext /*zoneContext*/,
6684  6 /*transitionBufSize*/,
6685  1 /*numEras*/,
6686  kZoneEraAmerica_Thule /*eras*/,
6687 };
6688 
6689 //---------------------------------------------------------------------------
6690 // Zone name: America/Thunder_Bay
6691 // Zone Eras: 1
6692 // Strings (bytes): 24
6693 // Memory (8-bit): 47
6694 // Memory (32-bit): 60
6695 //---------------------------------------------------------------------------
6696 
6697 static const extended::ZoneEra kZoneEraAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = {
6698  // -5:00 Canada E%sT
6699  {
6700  &kPolicyCanada /*zonePolicy*/,
6701  "E%T" /*format*/,
6702  -20 /*offsetCode*/,
6703  (0 << 4) + (0 + 4) /*deltaCode*/,
6704  127 /*untilYearTiny*/,
6705  1 /*untilMonth*/,
6706  1 /*untilDay*/,
6707  0 /*untilTimeCode*/,
6708  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6709  },
6710 
6711 };
6712 
6713 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "America/Thunder_Bay";
6714 
6715 const extended::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
6716  kZoneNameAmerica_Thunder_Bay /*name*/,
6717  0xf962e71b /*zoneId*/,
6718  &kZoneContext /*zoneContext*/,
6719  6 /*transitionBufSize*/,
6720  1 /*numEras*/,
6721  kZoneEraAmerica_Thunder_Bay /*eras*/,
6722 };
6723 
6724 //---------------------------------------------------------------------------
6725 // Zone name: America/Tijuana
6726 // Zone Eras: 4
6727 // Strings (bytes): 32
6728 // Memory (8-bit): 88
6729 // Memory (32-bit): 116
6730 //---------------------------------------------------------------------------
6731 
6732 static const extended::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
6733  // -8:00 Mexico P%sT 2001
6734  {
6735  &kPolicyMexico /*zonePolicy*/,
6736  "P%T" /*format*/,
6737  -32 /*offsetCode*/,
6738  (0 << 4) + (0 + 4) /*deltaCode*/,
6739  1 /*untilYearTiny*/,
6740  1 /*untilMonth*/,
6741  1 /*untilDay*/,
6742  0 /*untilTimeCode*/,
6743  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6744  },
6745  // -8:00 US P%sT 2002 Feb 20
6746  {
6747  &kPolicyUS /*zonePolicy*/,
6748  "P%T" /*format*/,
6749  -32 /*offsetCode*/,
6750  (0 << 4) + (0 + 4) /*deltaCode*/,
6751  2 /*untilYearTiny*/,
6752  2 /*untilMonth*/,
6753  20 /*untilDay*/,
6754  0 /*untilTimeCode*/,
6755  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6756  },
6757  // -8:00 Mexico P%sT 2010
6758  {
6759  &kPolicyMexico /*zonePolicy*/,
6760  "P%T" /*format*/,
6761  -32 /*offsetCode*/,
6762  (0 << 4) + (0 + 4) /*deltaCode*/,
6763  10 /*untilYearTiny*/,
6764  1 /*untilMonth*/,
6765  1 /*untilDay*/,
6766  0 /*untilTimeCode*/,
6767  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6768  },
6769  // -8:00 US P%sT
6770  {
6771  &kPolicyUS /*zonePolicy*/,
6772  "P%T" /*format*/,
6773  -32 /*offsetCode*/,
6774  (0 << 4) + (0 + 4) /*deltaCode*/,
6775  127 /*untilYearTiny*/,
6776  1 /*untilMonth*/,
6777  1 /*untilDay*/,
6778  0 /*untilTimeCode*/,
6779  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6780  },
6781 
6782 };
6783 
6784 static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "America/Tijuana";
6785 
6786 const extended::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
6787  kZoneNameAmerica_Tijuana /*name*/,
6788  0x6aa1df72 /*zoneId*/,
6789  &kZoneContext /*zoneContext*/,
6790  6 /*transitionBufSize*/,
6791  4 /*numEras*/,
6792  kZoneEraAmerica_Tijuana /*eras*/,
6793 };
6794 
6795 //---------------------------------------------------------------------------
6796 // Zone name: America/Toronto
6797 // Zone Eras: 1
6798 // Strings (bytes): 20
6799 // Memory (8-bit): 43
6800 // Memory (32-bit): 56
6801 //---------------------------------------------------------------------------
6802 
6803 static const extended::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
6804  // -5:00 Canada E%sT
6805  {
6806  &kPolicyCanada /*zonePolicy*/,
6807  "E%T" /*format*/,
6808  -20 /*offsetCode*/,
6809  (0 << 4) + (0 + 4) /*deltaCode*/,
6810  127 /*untilYearTiny*/,
6811  1 /*untilMonth*/,
6812  1 /*untilDay*/,
6813  0 /*untilTimeCode*/,
6814  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6815  },
6816 
6817 };
6818 
6819 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "America/Toronto";
6820 
6821 const extended::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
6822  kZoneNameAmerica_Toronto /*name*/,
6823  0x792e851b /*zoneId*/,
6824  &kZoneContext /*zoneContext*/,
6825  6 /*transitionBufSize*/,
6826  1 /*numEras*/,
6827  kZoneEraAmerica_Toronto /*eras*/,
6828 };
6829 
6830 //---------------------------------------------------------------------------
6831 // Zone name: America/Vancouver
6832 // Zone Eras: 1
6833 // Strings (bytes): 22
6834 // Memory (8-bit): 45
6835 // Memory (32-bit): 58
6836 //---------------------------------------------------------------------------
6837 
6838 static const extended::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
6839  // -8:00 Canada P%sT
6840  {
6841  &kPolicyCanada /*zonePolicy*/,
6842  "P%T" /*format*/,
6843  -32 /*offsetCode*/,
6844  (0 << 4) + (0 + 4) /*deltaCode*/,
6845  127 /*untilYearTiny*/,
6846  1 /*untilMonth*/,
6847  1 /*untilDay*/,
6848  0 /*untilTimeCode*/,
6849  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6850  },
6851 
6852 };
6853 
6854 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "America/Vancouver";
6855 
6856 const extended::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
6857  kZoneNameAmerica_Vancouver /*name*/,
6858  0x2c6f6b1f /*zoneId*/,
6859  &kZoneContext /*zoneContext*/,
6860  6 /*transitionBufSize*/,
6861  1 /*numEras*/,
6862  kZoneEraAmerica_Vancouver /*eras*/,
6863 };
6864 
6865 //---------------------------------------------------------------------------
6866 // Zone name: America/Whitehorse
6867 // Zone Eras: 2
6868 // Strings (bytes): 27
6869 // Memory (8-bit): 61
6870 // Memory (32-bit): 79
6871 //---------------------------------------------------------------------------
6872 
6873 static const extended::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
6874  // -8:00 Canada P%sT 2020 Mar 8 2:00
6875  {
6876  &kPolicyCanada /*zonePolicy*/,
6877  "P%T" /*format*/,
6878  -32 /*offsetCode*/,
6879  (0 << 4) + (0 + 4) /*deltaCode*/,
6880  20 /*untilYearTiny*/,
6881  3 /*untilMonth*/,
6882  8 /*untilDay*/,
6883  8 /*untilTimeCode*/,
6884  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6885  },
6886  // -7:00 - MST
6887  {
6888  nullptr /*zonePolicy*/,
6889  "MST" /*format*/,
6890  -28 /*offsetCode*/,
6891  (0 << 4) + (0 + 4) /*deltaCode*/,
6892  127 /*untilYearTiny*/,
6893  1 /*untilMonth*/,
6894  1 /*untilDay*/,
6895  0 /*untilTimeCode*/,
6896  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6897  },
6898 
6899 };
6900 
6901 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "America/Whitehorse";
6902 
6903 const extended::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
6904  kZoneNameAmerica_Whitehorse /*name*/,
6905  0x54e0e3e8 /*zoneId*/,
6906  &kZoneContext /*zoneContext*/,
6907  6 /*transitionBufSize*/,
6908  2 /*numEras*/,
6909  kZoneEraAmerica_Whitehorse /*eras*/,
6910 };
6911 
6912 //---------------------------------------------------------------------------
6913 // Zone name: America/Winnipeg
6914 // Zone Eras: 2
6915 // Strings (bytes): 25
6916 // Memory (8-bit): 59
6917 // Memory (32-bit): 77
6918 //---------------------------------------------------------------------------
6919 
6920 static const extended::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
6921  // -6:00 Winn C%sT 2006
6922  {
6923  &kPolicyWinn /*zonePolicy*/,
6924  "C%T" /*format*/,
6925  -24 /*offsetCode*/,
6926  (0 << 4) + (0 + 4) /*deltaCode*/,
6927  6 /*untilYearTiny*/,
6928  1 /*untilMonth*/,
6929  1 /*untilDay*/,
6930  0 /*untilTimeCode*/,
6931  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6932  },
6933  // -6:00 Canada C%sT
6934  {
6935  &kPolicyCanada /*zonePolicy*/,
6936  "C%T" /*format*/,
6937  -24 /*offsetCode*/,
6938  (0 << 4) + (0 + 4) /*deltaCode*/,
6939  127 /*untilYearTiny*/,
6940  1 /*untilMonth*/,
6941  1 /*untilDay*/,
6942  0 /*untilTimeCode*/,
6943  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6944  },
6945 
6946 };
6947 
6948 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "America/Winnipeg";
6949 
6950 const extended::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
6951  kZoneNameAmerica_Winnipeg /*name*/,
6952  0x8c7dafc7 /*zoneId*/,
6953  &kZoneContext /*zoneContext*/,
6954  6 /*transitionBufSize*/,
6955  2 /*numEras*/,
6956  kZoneEraAmerica_Winnipeg /*eras*/,
6957 };
6958 
6959 //---------------------------------------------------------------------------
6960 // Zone name: America/Yakutat
6961 // Zone Eras: 1
6962 // Strings (bytes): 21
6963 // Memory (8-bit): 44
6964 // Memory (32-bit): 57
6965 //---------------------------------------------------------------------------
6966 
6967 static const extended::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
6968  // -9:00 US AK%sT
6969  {
6970  &kPolicyUS /*zonePolicy*/,
6971  "AK%T" /*format*/,
6972  -36 /*offsetCode*/,
6973  (0 << 4) + (0 + 4) /*deltaCode*/,
6974  127 /*untilYearTiny*/,
6975  1 /*untilMonth*/,
6976  1 /*untilDay*/,
6977  0 /*untilTimeCode*/,
6978  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
6979  },
6980 
6981 };
6982 
6983 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "America/Yakutat";
6984 
6985 const extended::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
6986  kZoneNameAmerica_Yakutat /*name*/,
6987  0xd8ee31e9 /*zoneId*/,
6988  &kZoneContext /*zoneContext*/,
6989  6 /*transitionBufSize*/,
6990  1 /*numEras*/,
6991  kZoneEraAmerica_Yakutat /*eras*/,
6992 };
6993 
6994 //---------------------------------------------------------------------------
6995 // Zone name: America/Yellowknife
6996 // Zone Eras: 1
6997 // Strings (bytes): 24
6998 // Memory (8-bit): 47
6999 // Memory (32-bit): 60
7000 //---------------------------------------------------------------------------
7001 
7002 static const extended::ZoneEra kZoneEraAmerica_Yellowknife[] ACE_TIME_PROGMEM = {
7003  // -7:00 Canada M%sT
7004  {
7005  &kPolicyCanada /*zonePolicy*/,
7006  "M%T" /*format*/,
7007  -28 /*offsetCode*/,
7008  (0 << 4) + (0 + 4) /*deltaCode*/,
7009  127 /*untilYearTiny*/,
7010  1 /*untilMonth*/,
7011  1 /*untilDay*/,
7012  0 /*untilTimeCode*/,
7013  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7014  },
7015 
7016 };
7017 
7018 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "America/Yellowknife";
7019 
7020 const extended::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
7021  kZoneNameAmerica_Yellowknife /*name*/,
7022  0x0f76c76f /*zoneId*/,
7023  &kZoneContext /*zoneContext*/,
7024  6 /*transitionBufSize*/,
7025  1 /*numEras*/,
7026  kZoneEraAmerica_Yellowknife /*eras*/,
7027 };
7028 
7029 //---------------------------------------------------------------------------
7030 // Zone name: Antarctica/Casey
7031 // Zone Eras: 7
7032 // Strings (bytes): 45
7033 // Memory (8-bit): 134
7034 // Memory (32-bit): 177
7035 //---------------------------------------------------------------------------
7036 
7037 static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
7038  // 8:00 - +08 2009 Oct 18 2:00
7039  {
7040  nullptr /*zonePolicy*/,
7041  "+08" /*format*/,
7042  32 /*offsetCode*/,
7043  (0 << 4) + (0 + 4) /*deltaCode*/,
7044  9 /*untilYearTiny*/,
7045  10 /*untilMonth*/,
7046  18 /*untilDay*/,
7047  8 /*untilTimeCode*/,
7048  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7049  },
7050  // 11:00 - +11 2010 Mar 5 2:00
7051  {
7052  nullptr /*zonePolicy*/,
7053  "+11" /*format*/,
7054  44 /*offsetCode*/,
7055  (0 << 4) + (0 + 4) /*deltaCode*/,
7056  10 /*untilYearTiny*/,
7057  3 /*untilMonth*/,
7058  5 /*untilDay*/,
7059  8 /*untilTimeCode*/,
7060  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7061  },
7062  // 8:00 - +08 2011 Oct 28 2:00
7063  {
7064  nullptr /*zonePolicy*/,
7065  "+08" /*format*/,
7066  32 /*offsetCode*/,
7067  (0 << 4) + (0 + 4) /*deltaCode*/,
7068  11 /*untilYearTiny*/,
7069  10 /*untilMonth*/,
7070  28 /*untilDay*/,
7071  8 /*untilTimeCode*/,
7072  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7073  },
7074  // 11:00 - +11 2012 Feb 21 17:00u
7075  {
7076  nullptr /*zonePolicy*/,
7077  "+11" /*format*/,
7078  44 /*offsetCode*/,
7079  (0 << 4) + (0 + 4) /*deltaCode*/,
7080  12 /*untilYearTiny*/,
7081  2 /*untilMonth*/,
7082  21 /*untilDay*/,
7083  68 /*untilTimeCode*/,
7084  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
7085  },
7086  // 8:00 - +08 2016 Oct 22
7087  {
7088  nullptr /*zonePolicy*/,
7089  "+08" /*format*/,
7090  32 /*offsetCode*/,
7091  (0 << 4) + (0 + 4) /*deltaCode*/,
7092  16 /*untilYearTiny*/,
7093  10 /*untilMonth*/,
7094  22 /*untilDay*/,
7095  0 /*untilTimeCode*/,
7096  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7097  },
7098  // 11:00 - +11 2018 Mar 11 4:00
7099  {
7100  nullptr /*zonePolicy*/,
7101  "+11" /*format*/,
7102  44 /*offsetCode*/,
7103  (0 << 4) + (0 + 4) /*deltaCode*/,
7104  18 /*untilYearTiny*/,
7105  3 /*untilMonth*/,
7106  11 /*untilDay*/,
7107  16 /*untilTimeCode*/,
7108  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7109  },
7110  // 8:00 - +08
7111  {
7112  nullptr /*zonePolicy*/,
7113  "+08" /*format*/,
7114  32 /*offsetCode*/,
7115  (0 << 4) + (0 + 4) /*deltaCode*/,
7116  127 /*untilYearTiny*/,
7117  1 /*untilMonth*/,
7118  1 /*untilDay*/,
7119  0 /*untilTimeCode*/,
7120  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7121  },
7122 
7123 };
7124 
7125 static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "Antarctica/Casey";
7126 
7127 const extended::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
7128  kZoneNameAntarctica_Casey /*name*/,
7129  0xe2022583 /*zoneId*/,
7130  &kZoneContext /*zoneContext*/,
7131  3 /*transitionBufSize*/,
7132  7 /*numEras*/,
7133  kZoneEraAntarctica_Casey /*eras*/,
7134 };
7135 
7136 //---------------------------------------------------------------------------
7137 // Zone name: Antarctica/Davis
7138 // Zone Eras: 5
7139 // Strings (bytes): 37
7140 // Memory (8-bit): 104
7141 // Memory (32-bit): 137
7142 //---------------------------------------------------------------------------
7143 
7144 static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
7145  // 7:00 - +07 2009 Oct 18 2:00
7146  {
7147  nullptr /*zonePolicy*/,
7148  "+07" /*format*/,
7149  28 /*offsetCode*/,
7150  (0 << 4) + (0 + 4) /*deltaCode*/,
7151  9 /*untilYearTiny*/,
7152  10 /*untilMonth*/,
7153  18 /*untilDay*/,
7154  8 /*untilTimeCode*/,
7155  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7156  },
7157  // 5:00 - +05 2010 Mar 10 20:00u
7158  {
7159  nullptr /*zonePolicy*/,
7160  "+05" /*format*/,
7161  20 /*offsetCode*/,
7162  (0 << 4) + (0 + 4) /*deltaCode*/,
7163  10 /*untilYearTiny*/,
7164  3 /*untilMonth*/,
7165  10 /*untilDay*/,
7166  80 /*untilTimeCode*/,
7167  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
7168  },
7169  // 7:00 - +07 2011 Oct 28 2:00
7170  {
7171  nullptr /*zonePolicy*/,
7172  "+07" /*format*/,
7173  28 /*offsetCode*/,
7174  (0 << 4) + (0 + 4) /*deltaCode*/,
7175  11 /*untilYearTiny*/,
7176  10 /*untilMonth*/,
7177  28 /*untilDay*/,
7178  8 /*untilTimeCode*/,
7179  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7180  },
7181  // 5:00 - +05 2012 Feb 21 20:00u
7182  {
7183  nullptr /*zonePolicy*/,
7184  "+05" /*format*/,
7185  20 /*offsetCode*/,
7186  (0 << 4) + (0 + 4) /*deltaCode*/,
7187  12 /*untilYearTiny*/,
7188  2 /*untilMonth*/,
7189  21 /*untilDay*/,
7190  80 /*untilTimeCode*/,
7191  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
7192  },
7193  // 7:00 - +07
7194  {
7195  nullptr /*zonePolicy*/,
7196  "+07" /*format*/,
7197  28 /*offsetCode*/,
7198  (0 << 4) + (0 + 4) /*deltaCode*/,
7199  127 /*untilYearTiny*/,
7200  1 /*untilMonth*/,
7201  1 /*untilDay*/,
7202  0 /*untilTimeCode*/,
7203  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7204  },
7205 
7206 };
7207 
7208 static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "Antarctica/Davis";
7209 
7210 const extended::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
7211  kZoneNameAntarctica_Davis /*name*/,
7212  0xe2144b45 /*zoneId*/,
7213  &kZoneContext /*zoneContext*/,
7214  3 /*transitionBufSize*/,
7215  5 /*numEras*/,
7216  kZoneEraAntarctica_Davis /*eras*/,
7217 };
7218 
7219 //---------------------------------------------------------------------------
7220 // Zone name: Antarctica/DumontDUrville
7221 // Zone Eras: 1
7222 // Strings (bytes): 30
7223 // Memory (8-bit): 53
7224 // Memory (32-bit): 66
7225 //---------------------------------------------------------------------------
7226 
7227 static const extended::ZoneEra kZoneEraAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = {
7228  // 10:00 - +10
7229  {
7230  nullptr /*zonePolicy*/,
7231  "+10" /*format*/,
7232  40 /*offsetCode*/,
7233  (0 << 4) + (0 + 4) /*deltaCode*/,
7234  127 /*untilYearTiny*/,
7235  1 /*untilMonth*/,
7236  1 /*untilDay*/,
7237  0 /*untilTimeCode*/,
7238  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7239  },
7240 
7241 };
7242 
7243 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "Antarctica/DumontDUrville";
7244 
7245 const extended::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
7246  kZoneNameAntarctica_DumontDUrville /*name*/,
7247  0x5a3c656c /*zoneId*/,
7248  &kZoneContext /*zoneContext*/,
7249  2 /*transitionBufSize*/,
7250  1 /*numEras*/,
7251  kZoneEraAntarctica_DumontDUrville /*eras*/,
7252 };
7253 
7254 //---------------------------------------------------------------------------
7255 // Zone name: Antarctica/Macquarie
7256 // Zone Eras: 2
7257 // Strings (bytes): 30
7258 // Memory (8-bit): 64
7259 // Memory (32-bit): 82
7260 //---------------------------------------------------------------------------
7261 
7262 static const extended::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
7263  // 10:00 AT AE%sT 2010 Apr 4 3:00
7264  {
7265  &kPolicyAT /*zonePolicy*/,
7266  "AE%T" /*format*/,
7267  40 /*offsetCode*/,
7268  (0 << 4) + (0 + 4) /*deltaCode*/,
7269  10 /*untilYearTiny*/,
7270  4 /*untilMonth*/,
7271  4 /*untilDay*/,
7272  12 /*untilTimeCode*/,
7273  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7274  },
7275  // 11:00 - +11
7276  {
7277  nullptr /*zonePolicy*/,
7278  "+11" /*format*/,
7279  44 /*offsetCode*/,
7280  (0 << 4) + (0 + 4) /*deltaCode*/,
7281  127 /*untilYearTiny*/,
7282  1 /*untilMonth*/,
7283  1 /*untilDay*/,
7284  0 /*untilTimeCode*/,
7285  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7286  },
7287 
7288 };
7289 
7290 static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "Antarctica/Macquarie";
7291 
7292 const extended::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
7293  kZoneNameAntarctica_Macquarie /*name*/,
7294  0x92f47626 /*zoneId*/,
7295  &kZoneContext /*zoneContext*/,
7296  5 /*transitionBufSize*/,
7297  2 /*numEras*/,
7298  kZoneEraAntarctica_Macquarie /*eras*/,
7299 };
7300 
7301 //---------------------------------------------------------------------------
7302 // Zone name: Antarctica/Mawson
7303 // Zone Eras: 2
7304 // Strings (bytes): 26
7305 // Memory (8-bit): 60
7306 // Memory (32-bit): 78
7307 //---------------------------------------------------------------------------
7308 
7309 static const extended::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
7310  // 6:00 - +06 2009 Oct 18 2:00
7311  {
7312  nullptr /*zonePolicy*/,
7313  "+06" /*format*/,
7314  24 /*offsetCode*/,
7315  (0 << 4) + (0 + 4) /*deltaCode*/,
7316  9 /*untilYearTiny*/,
7317  10 /*untilMonth*/,
7318  18 /*untilDay*/,
7319  8 /*untilTimeCode*/,
7320  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7321  },
7322  // 5:00 - +05
7323  {
7324  nullptr /*zonePolicy*/,
7325  "+05" /*format*/,
7326  20 /*offsetCode*/,
7327  (0 << 4) + (0 + 4) /*deltaCode*/,
7328  127 /*untilYearTiny*/,
7329  1 /*untilMonth*/,
7330  1 /*untilDay*/,
7331  0 /*untilTimeCode*/,
7332  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7333  },
7334 
7335 };
7336 
7337 static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "Antarctica/Mawson";
7338 
7339 const extended::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
7340  kZoneNameAntarctica_Mawson /*name*/,
7341  0x399cd863 /*zoneId*/,
7342  &kZoneContext /*zoneContext*/,
7343  3 /*transitionBufSize*/,
7344  2 /*numEras*/,
7345  kZoneEraAntarctica_Mawson /*eras*/,
7346 };
7347 
7348 //---------------------------------------------------------------------------
7349 // Zone name: Antarctica/Palmer
7350 // Zone Eras: 2
7351 // Strings (bytes): 30
7352 // Memory (8-bit): 64
7353 // Memory (32-bit): 82
7354 //---------------------------------------------------------------------------
7355 
7356 static const extended::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
7357  // -4:00 Chile -04/-03 2016 Dec 4
7358  {
7359  &kPolicyChile /*zonePolicy*/,
7360  "-04/-03" /*format*/,
7361  -16 /*offsetCode*/,
7362  (0 << 4) + (0 + 4) /*deltaCode*/,
7363  16 /*untilYearTiny*/,
7364  12 /*untilMonth*/,
7365  4 /*untilDay*/,
7366  0 /*untilTimeCode*/,
7367  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7368  },
7369  // -3:00 - -03
7370  {
7371  nullptr /*zonePolicy*/,
7372  "-03" /*format*/,
7373  -12 /*offsetCode*/,
7374  (0 << 4) + (0 + 4) /*deltaCode*/,
7375  127 /*untilYearTiny*/,
7376  1 /*untilMonth*/,
7377  1 /*untilDay*/,
7378  0 /*untilTimeCode*/,
7379  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7380  },
7381 
7382 };
7383 
7384 static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "Antarctica/Palmer";
7385 
7386 const extended::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
7387  kZoneNameAntarctica_Palmer /*name*/,
7388  0x40962f4f /*zoneId*/,
7389  &kZoneContext /*zoneContext*/,
7390  5 /*transitionBufSize*/,
7391  2 /*numEras*/,
7392  kZoneEraAntarctica_Palmer /*eras*/,
7393 };
7394 
7395 //---------------------------------------------------------------------------
7396 // Zone name: Antarctica/Rothera
7397 // Zone Eras: 1
7398 // Strings (bytes): 23
7399 // Memory (8-bit): 46
7400 // Memory (32-bit): 59
7401 //---------------------------------------------------------------------------
7402 
7403 static const extended::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
7404  // -3:00 - -03
7405  {
7406  nullptr /*zonePolicy*/,
7407  "-03" /*format*/,
7408  -12 /*offsetCode*/,
7409  (0 << 4) + (0 + 4) /*deltaCode*/,
7410  127 /*untilYearTiny*/,
7411  1 /*untilMonth*/,
7412  1 /*untilDay*/,
7413  0 /*untilTimeCode*/,
7414  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7415  },
7416 
7417 };
7418 
7419 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "Antarctica/Rothera";
7420 
7421 const extended::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
7422  kZoneNameAntarctica_Rothera /*name*/,
7423  0x0e86d203 /*zoneId*/,
7424  &kZoneContext /*zoneContext*/,
7425  2 /*transitionBufSize*/,
7426  1 /*numEras*/,
7427  kZoneEraAntarctica_Rothera /*eras*/,
7428 };
7429 
7430 //---------------------------------------------------------------------------
7431 // Zone name: Antarctica/Syowa
7432 // Zone Eras: 1
7433 // Strings (bytes): 21
7434 // Memory (8-bit): 44
7435 // Memory (32-bit): 57
7436 //---------------------------------------------------------------------------
7437 
7438 static const extended::ZoneEra kZoneEraAntarctica_Syowa[] ACE_TIME_PROGMEM = {
7439  // 3:00 - +03
7440  {
7441  nullptr /*zonePolicy*/,
7442  "+03" /*format*/,
7443  12 /*offsetCode*/,
7444  (0 << 4) + (0 + 4) /*deltaCode*/,
7445  127 /*untilYearTiny*/,
7446  1 /*untilMonth*/,
7447  1 /*untilDay*/,
7448  0 /*untilTimeCode*/,
7449  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7450  },
7451 
7452 };
7453 
7454 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "Antarctica/Syowa";
7455 
7456 const extended::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
7457  kZoneNameAntarctica_Syowa /*name*/,
7458  0xe330c7e1 /*zoneId*/,
7459  &kZoneContext /*zoneContext*/,
7460  2 /*transitionBufSize*/,
7461  1 /*numEras*/,
7462  kZoneEraAntarctica_Syowa /*eras*/,
7463 };
7464 
7465 //---------------------------------------------------------------------------
7466 // Zone name: Antarctica/Troll
7467 // Zone Eras: 2
7468 // Strings (bytes): 23
7469 // Memory (8-bit): 57
7470 // Memory (32-bit): 75
7471 //---------------------------------------------------------------------------
7472 
7473 static const extended::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
7474  // 0 - -00 2005 Feb 12
7475  {
7476  nullptr /*zonePolicy*/,
7477  "-00" /*format*/,
7478  0 /*offsetCode*/,
7479  (0 << 4) + (0 + 4) /*deltaCode*/,
7480  5 /*untilYearTiny*/,
7481  2 /*untilMonth*/,
7482  12 /*untilDay*/,
7483  0 /*untilTimeCode*/,
7484  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7485  },
7486  // 0:00 Troll %s
7487  {
7488  &kPolicyTroll /*zonePolicy*/,
7489  "%" /*format*/,
7490  0 /*offsetCode*/,
7491  (0 << 4) + (0 + 4) /*deltaCode*/,
7492  127 /*untilYearTiny*/,
7493  1 /*untilMonth*/,
7494  1 /*untilDay*/,
7495  0 /*untilTimeCode*/,
7496  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7497  },
7498 
7499 };
7500 
7501 static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "Antarctica/Troll";
7502 
7503 const extended::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
7504  kZoneNameAntarctica_Troll /*name*/,
7505  0xe33f085b /*zoneId*/,
7506  &kZoneContext /*zoneContext*/,
7507  6 /*transitionBufSize*/,
7508  2 /*numEras*/,
7509  kZoneEraAntarctica_Troll /*eras*/,
7510 };
7511 
7512 //---------------------------------------------------------------------------
7513 // Zone name: Antarctica/Vostok
7514 // Zone Eras: 1
7515 // Strings (bytes): 22
7516 // Memory (8-bit): 45
7517 // Memory (32-bit): 58
7518 //---------------------------------------------------------------------------
7519 
7520 static const extended::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
7521  // 6:00 - +06
7522  {
7523  nullptr /*zonePolicy*/,
7524  "+06" /*format*/,
7525  24 /*offsetCode*/,
7526  (0 << 4) + (0 + 4) /*deltaCode*/,
7527  127 /*untilYearTiny*/,
7528  1 /*untilMonth*/,
7529  1 /*untilDay*/,
7530  0 /*untilTimeCode*/,
7531  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7532  },
7533 
7534 };
7535 
7536 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "Antarctica/Vostok";
7537 
7538 const extended::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
7539  kZoneNameAntarctica_Vostok /*name*/,
7540  0x4f966fd4 /*zoneId*/,
7541  &kZoneContext /*zoneContext*/,
7542  2 /*transitionBufSize*/,
7543  1 /*numEras*/,
7544  kZoneEraAntarctica_Vostok /*eras*/,
7545 };
7546 
7547 //---------------------------------------------------------------------------
7548 // Zone name: Asia/Almaty
7549 // Zone Eras: 2
7550 // Strings (bytes): 24
7551 // Memory (8-bit): 58
7552 // Memory (32-bit): 76
7553 //---------------------------------------------------------------------------
7554 
7555 static const extended::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
7556  // 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
7557  {
7558  &kPolicyRussiaAsia /*zonePolicy*/,
7559  "+06/+07" /*format*/,
7560  24 /*offsetCode*/,
7561  (0 << 4) + (0 + 4) /*deltaCode*/,
7562  4 /*untilYearTiny*/,
7563  10 /*untilMonth*/,
7564  31 /*untilDay*/,
7565  8 /*untilTimeCode*/,
7566  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7567  },
7568  // 6:00 - +06
7569  {
7570  nullptr /*zonePolicy*/,
7571  "+06" /*format*/,
7572  24 /*offsetCode*/,
7573  (0 << 4) + (0 + 4) /*deltaCode*/,
7574  127 /*untilYearTiny*/,
7575  1 /*untilMonth*/,
7576  1 /*untilDay*/,
7577  0 /*untilTimeCode*/,
7578  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7579  },
7580 
7581 };
7582 
7583 static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "Asia/Almaty";
7584 
7585 const extended::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
7586  kZoneNameAsia_Almaty /*name*/,
7587  0xa61f41fa /*zoneId*/,
7588  &kZoneContext /*zoneContext*/,
7589  5 /*transitionBufSize*/,
7590  2 /*numEras*/,
7591  kZoneEraAsia_Almaty /*eras*/,
7592 };
7593 
7594 //---------------------------------------------------------------------------
7595 // Zone name: Asia/Amman
7596 // Zone Eras: 1
7597 // Strings (bytes): 16
7598 // Memory (8-bit): 39
7599 // Memory (32-bit): 52
7600 //---------------------------------------------------------------------------
7601 
7602 static const extended::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
7603  // 2:00 Jordan EE%sT
7604  {
7605  &kPolicyJordan /*zonePolicy*/,
7606  "EE%T" /*format*/,
7607  8 /*offsetCode*/,
7608  (0 << 4) + (0 + 4) /*deltaCode*/,
7609  127 /*untilYearTiny*/,
7610  1 /*untilMonth*/,
7611  1 /*untilDay*/,
7612  0 /*untilTimeCode*/,
7613  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7614  },
7615 
7616 };
7617 
7618 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "Asia/Amman";
7619 
7620 const extended::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
7621  kZoneNameAsia_Amman /*name*/,
7622  0x148d21bc /*zoneId*/,
7623  &kZoneContext /*zoneContext*/,
7624  6 /*transitionBufSize*/,
7625  1 /*numEras*/,
7626  kZoneEraAsia_Amman /*eras*/,
7627 };
7628 
7629 //---------------------------------------------------------------------------
7630 // Zone name: Asia/Anadyr
7631 // Zone Eras: 3
7632 // Strings (bytes): 32
7633 // Memory (8-bit): 77
7634 // Memory (32-bit): 100
7635 //---------------------------------------------------------------------------
7636 
7637 static const extended::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
7638  // 12:00 Russia +12/+13 2010 Mar 28 2:00s
7639  {
7640  &kPolicyRussia /*zonePolicy*/,
7641  "+12/+13" /*format*/,
7642  48 /*offsetCode*/,
7643  (0 << 4) + (0 + 4) /*deltaCode*/,
7644  10 /*untilYearTiny*/,
7645  3 /*untilMonth*/,
7646  28 /*untilDay*/,
7647  8 /*untilTimeCode*/,
7648  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7649  },
7650  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
7651  {
7652  &kPolicyRussia /*zonePolicy*/,
7653  "+11/+12" /*format*/,
7654  44 /*offsetCode*/,
7655  (0 << 4) + (0 + 4) /*deltaCode*/,
7656  11 /*untilYearTiny*/,
7657  3 /*untilMonth*/,
7658  27 /*untilDay*/,
7659  8 /*untilTimeCode*/,
7660  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7661  },
7662  // 12:00 - +12
7663  {
7664  nullptr /*zonePolicy*/,
7665  "+12" /*format*/,
7666  48 /*offsetCode*/,
7667  (0 << 4) + (0 + 4) /*deltaCode*/,
7668  127 /*untilYearTiny*/,
7669  1 /*untilMonth*/,
7670  1 /*untilDay*/,
7671  0 /*untilTimeCode*/,
7672  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7673  },
7674 
7675 };
7676 
7677 static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "Asia/Anadyr";
7678 
7679 const extended::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
7680  kZoneNameAsia_Anadyr /*name*/,
7681  0xa63cebd1 /*zoneId*/,
7682  &kZoneContext /*zoneContext*/,
7683  5 /*transitionBufSize*/,
7684  3 /*numEras*/,
7685  kZoneEraAsia_Anadyr /*eras*/,
7686 };
7687 
7688 //---------------------------------------------------------------------------
7689 // Zone name: Asia/Aqtau
7690 // Zone Eras: 2
7691 // Strings (bytes): 23
7692 // Memory (8-bit): 57
7693 // Memory (32-bit): 75
7694 //---------------------------------------------------------------------------
7695 
7696 static const extended::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
7697  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
7698  {
7699  &kPolicyRussiaAsia /*zonePolicy*/,
7700  "+04/+05" /*format*/,
7701  16 /*offsetCode*/,
7702  (0 << 4) + (0 + 4) /*deltaCode*/,
7703  4 /*untilYearTiny*/,
7704  10 /*untilMonth*/,
7705  31 /*untilDay*/,
7706  8 /*untilTimeCode*/,
7707  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7708  },
7709  // 5:00 - +05
7710  {
7711  nullptr /*zonePolicy*/,
7712  "+05" /*format*/,
7713  20 /*offsetCode*/,
7714  (0 << 4) + (0 + 4) /*deltaCode*/,
7715  127 /*untilYearTiny*/,
7716  1 /*untilMonth*/,
7717  1 /*untilDay*/,
7718  0 /*untilTimeCode*/,
7719  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7720  },
7721 
7722 };
7723 
7724 static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "Asia/Aqtau";
7725 
7726 const extended::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
7727  kZoneNameAsia_Aqtau /*name*/,
7728  0x148f710e /*zoneId*/,
7729  &kZoneContext /*zoneContext*/,
7730  5 /*transitionBufSize*/,
7731  2 /*numEras*/,
7732  kZoneEraAsia_Aqtau /*eras*/,
7733 };
7734 
7735 //---------------------------------------------------------------------------
7736 // Zone name: Asia/Aqtobe
7737 // Zone Eras: 2
7738 // Strings (bytes): 24
7739 // Memory (8-bit): 58
7740 // Memory (32-bit): 76
7741 //---------------------------------------------------------------------------
7742 
7743 static const extended::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
7744  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
7745  {
7746  &kPolicyRussiaAsia /*zonePolicy*/,
7747  "+05/+06" /*format*/,
7748  20 /*offsetCode*/,
7749  (0 << 4) + (0 + 4) /*deltaCode*/,
7750  4 /*untilYearTiny*/,
7751  10 /*untilMonth*/,
7752  31 /*untilDay*/,
7753  8 /*untilTimeCode*/,
7754  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7755  },
7756  // 5:00 - +05
7757  {
7758  nullptr /*zonePolicy*/,
7759  "+05" /*format*/,
7760  20 /*offsetCode*/,
7761  (0 << 4) + (0 + 4) /*deltaCode*/,
7762  127 /*untilYearTiny*/,
7763  1 /*untilMonth*/,
7764  1 /*untilDay*/,
7765  0 /*untilTimeCode*/,
7766  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7767  },
7768 
7769 };
7770 
7771 static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "Asia/Aqtobe";
7772 
7773 const extended::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
7774  kZoneNameAsia_Aqtobe /*name*/,
7775  0xa67dcc4e /*zoneId*/,
7776  &kZoneContext /*zoneContext*/,
7777  5 /*transitionBufSize*/,
7778  2 /*numEras*/,
7779  kZoneEraAsia_Aqtobe /*eras*/,
7780 };
7781 
7782 //---------------------------------------------------------------------------
7783 // Zone name: Asia/Ashgabat
7784 // Zone Eras: 1
7785 // Strings (bytes): 18
7786 // Memory (8-bit): 41
7787 // Memory (32-bit): 54
7788 //---------------------------------------------------------------------------
7789 
7790 static const extended::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
7791  // 5:00 - +05
7792  {
7793  nullptr /*zonePolicy*/,
7794  "+05" /*format*/,
7795  20 /*offsetCode*/,
7796  (0 << 4) + (0 + 4) /*deltaCode*/,
7797  127 /*untilYearTiny*/,
7798  1 /*untilMonth*/,
7799  1 /*untilDay*/,
7800  0 /*untilTimeCode*/,
7801  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7802  },
7803 
7804 };
7805 
7806 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "Asia/Ashgabat";
7807 
7808 const extended::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
7809  kZoneNameAsia_Ashgabat /*name*/,
7810  0xba87598d /*zoneId*/,
7811  &kZoneContext /*zoneContext*/,
7812  2 /*transitionBufSize*/,
7813  1 /*numEras*/,
7814  kZoneEraAsia_Ashgabat /*eras*/,
7815 };
7816 
7817 //---------------------------------------------------------------------------
7818 // Zone name: Asia/Atyrau
7819 // Zone Eras: 3
7820 // Strings (bytes): 32
7821 // Memory (8-bit): 77
7822 // Memory (32-bit): 100
7823 //---------------------------------------------------------------------------
7824 
7825 static const extended::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
7826  // 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
7827  {
7828  &kPolicyRussiaAsia /*zonePolicy*/,
7829  "+05/+06" /*format*/,
7830  20 /*offsetCode*/,
7831  (0 << 4) + (0 + 4) /*deltaCode*/,
7832  -1 /*untilYearTiny*/,
7833  3 /*untilMonth*/,
7834  28 /*untilDay*/,
7835  8 /*untilTimeCode*/,
7836  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7837  },
7838  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
7839  {
7840  &kPolicyRussiaAsia /*zonePolicy*/,
7841  "+04/+05" /*format*/,
7842  16 /*offsetCode*/,
7843  (0 << 4) + (0 + 4) /*deltaCode*/,
7844  4 /*untilYearTiny*/,
7845  10 /*untilMonth*/,
7846  31 /*untilDay*/,
7847  8 /*untilTimeCode*/,
7848  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
7849  },
7850  // 5:00 - +05
7851  {
7852  nullptr /*zonePolicy*/,
7853  "+05" /*format*/,
7854  20 /*offsetCode*/,
7855  (0 << 4) + (0 + 4) /*deltaCode*/,
7856  127 /*untilYearTiny*/,
7857  1 /*untilMonth*/,
7858  1 /*untilDay*/,
7859  0 /*untilTimeCode*/,
7860  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7861  },
7862 
7863 };
7864 
7865 static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "Asia/Atyrau";
7866 
7867 const extended::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
7868  kZoneNameAsia_Atyrau /*name*/,
7869  0xa6b6e068 /*zoneId*/,
7870  &kZoneContext /*zoneContext*/,
7871  6 /*transitionBufSize*/,
7872  3 /*numEras*/,
7873  kZoneEraAsia_Atyrau /*eras*/,
7874 };
7875 
7876 //---------------------------------------------------------------------------
7877 // Zone name: Asia/Baghdad
7878 // Zone Eras: 1
7879 // Strings (bytes): 21
7880 // Memory (8-bit): 44
7881 // Memory (32-bit): 57
7882 //---------------------------------------------------------------------------
7883 
7884 static const extended::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
7885  // 3:00 Iraq +03/+04
7886  {
7887  &kPolicyIraq /*zonePolicy*/,
7888  "+03/+04" /*format*/,
7889  12 /*offsetCode*/,
7890  (0 << 4) + (0 + 4) /*deltaCode*/,
7891  127 /*untilYearTiny*/,
7892  1 /*untilMonth*/,
7893  1 /*untilDay*/,
7894  0 /*untilTimeCode*/,
7895  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7896  },
7897 
7898 };
7899 
7900 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "Asia/Baghdad";
7901 
7902 const extended::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
7903  kZoneNameAsia_Baghdad /*name*/,
7904  0x9ceffbed /*zoneId*/,
7905  &kZoneContext /*zoneContext*/,
7906  4 /*transitionBufSize*/,
7907  1 /*numEras*/,
7908  kZoneEraAsia_Baghdad /*eras*/,
7909 };
7910 
7911 //---------------------------------------------------------------------------
7912 // Zone name: Asia/Baku
7913 // Zone Eras: 1
7914 // Strings (bytes): 18
7915 // Memory (8-bit): 41
7916 // Memory (32-bit): 54
7917 //---------------------------------------------------------------------------
7918 
7919 static const extended::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
7920  // 4:00 Azer +04/+05
7921  {
7922  &kPolicyAzer /*zonePolicy*/,
7923  "+04/+05" /*format*/,
7924  16 /*offsetCode*/,
7925  (0 << 4) + (0 + 4) /*deltaCode*/,
7926  127 /*untilYearTiny*/,
7927  1 /*untilMonth*/,
7928  1 /*untilDay*/,
7929  0 /*untilTimeCode*/,
7930  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7931  },
7932 
7933 };
7934 
7935 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "Asia/Baku";
7936 
7937 const extended::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
7938  kZoneNameAsia_Baku /*name*/,
7939  0x1fa788b5 /*zoneId*/,
7940  &kZoneContext /*zoneContext*/,
7941  5 /*transitionBufSize*/,
7942  1 /*numEras*/,
7943  kZoneEraAsia_Baku /*eras*/,
7944 };
7945 
7946 //---------------------------------------------------------------------------
7947 // Zone name: Asia/Bangkok
7948 // Zone Eras: 1
7949 // Strings (bytes): 17
7950 // Memory (8-bit): 40
7951 // Memory (32-bit): 53
7952 //---------------------------------------------------------------------------
7953 
7954 static const extended::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
7955  // 7:00 - +07
7956  {
7957  nullptr /*zonePolicy*/,
7958  "+07" /*format*/,
7959  28 /*offsetCode*/,
7960  (0 << 4) + (0 + 4) /*deltaCode*/,
7961  127 /*untilYearTiny*/,
7962  1 /*untilMonth*/,
7963  1 /*untilDay*/,
7964  0 /*untilTimeCode*/,
7965  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
7966  },
7967 
7968 };
7969 
7970 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "Asia/Bangkok";
7971 
7972 const extended::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
7973  kZoneNameAsia_Bangkok /*name*/,
7974  0x9d6e3aaf /*zoneId*/,
7975  &kZoneContext /*zoneContext*/,
7976  2 /*transitionBufSize*/,
7977  1 /*numEras*/,
7978  kZoneEraAsia_Bangkok /*eras*/,
7979 };
7980 
7981 //---------------------------------------------------------------------------
7982 // Zone name: Asia/Barnaul
7983 // Zone Eras: 4
7984 // Strings (bytes): 33
7985 // Memory (8-bit): 89
7986 // Memory (32-bit): 117
7987 //---------------------------------------------------------------------------
7988 
7989 static const extended::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
7990  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
7991  {
7992  &kPolicyRussia /*zonePolicy*/,
7993  "+06/+07" /*format*/,
7994  24 /*offsetCode*/,
7995  (0 << 4) + (0 + 4) /*deltaCode*/,
7996  11 /*untilYearTiny*/,
7997  3 /*untilMonth*/,
7998  27 /*untilDay*/,
7999  8 /*untilTimeCode*/,
8000  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8001  },
8002  // 7:00 - +07 2014 Oct 26 2:00s
8003  {
8004  nullptr /*zonePolicy*/,
8005  "+07" /*format*/,
8006  28 /*offsetCode*/,
8007  (0 << 4) + (0 + 4) /*deltaCode*/,
8008  14 /*untilYearTiny*/,
8009  10 /*untilMonth*/,
8010  26 /*untilDay*/,
8011  8 /*untilTimeCode*/,
8012  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8013  },
8014  // 6:00 - +06 2016 Mar 27 2:00s
8015  {
8016  nullptr /*zonePolicy*/,
8017  "+06" /*format*/,
8018  24 /*offsetCode*/,
8019  (0 << 4) + (0 + 4) /*deltaCode*/,
8020  16 /*untilYearTiny*/,
8021  3 /*untilMonth*/,
8022  27 /*untilDay*/,
8023  8 /*untilTimeCode*/,
8024  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8025  },
8026  // 7:00 - +07
8027  {
8028  nullptr /*zonePolicy*/,
8029  "+07" /*format*/,
8030  28 /*offsetCode*/,
8031  (0 << 4) + (0 + 4) /*deltaCode*/,
8032  127 /*untilYearTiny*/,
8033  1 /*untilMonth*/,
8034  1 /*untilDay*/,
8035  0 /*untilTimeCode*/,
8036  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8037  },
8038 
8039 };
8040 
8041 static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "Asia/Barnaul";
8042 
8043 const extended::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
8044  kZoneNameAsia_Barnaul /*name*/,
8045  0x9dba4997 /*zoneId*/,
8046  &kZoneContext /*zoneContext*/,
8047  5 /*transitionBufSize*/,
8048  4 /*numEras*/,
8049  kZoneEraAsia_Barnaul /*eras*/,
8050 };
8051 
8052 //---------------------------------------------------------------------------
8053 // Zone name: Asia/Beirut
8054 // Zone Eras: 1
8055 // Strings (bytes): 17
8056 // Memory (8-bit): 40
8057 // Memory (32-bit): 53
8058 //---------------------------------------------------------------------------
8059 
8060 static const extended::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
8061  // 2:00 Lebanon EE%sT
8062  {
8063  &kPolicyLebanon /*zonePolicy*/,
8064  "EE%T" /*format*/,
8065  8 /*offsetCode*/,
8066  (0 << 4) + (0 + 4) /*deltaCode*/,
8067  127 /*untilYearTiny*/,
8068  1 /*untilMonth*/,
8069  1 /*untilDay*/,
8070  0 /*untilTimeCode*/,
8071  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8072  },
8073 
8074 };
8075 
8076 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "Asia/Beirut";
8077 
8078 const extended::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
8079  kZoneNameAsia_Beirut /*name*/,
8080  0xa7f3d5fd /*zoneId*/,
8081  &kZoneContext /*zoneContext*/,
8082  5 /*transitionBufSize*/,
8083  1 /*numEras*/,
8084  kZoneEraAsia_Beirut /*eras*/,
8085 };
8086 
8087 //---------------------------------------------------------------------------
8088 // Zone name: Asia/Bishkek
8089 // Zone Eras: 2
8090 // Strings (bytes): 25
8091 // Memory (8-bit): 59
8092 // Memory (32-bit): 77
8093 //---------------------------------------------------------------------------
8094 
8095 static const extended::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
8096  // 5:00 Kyrgyz +05/+06 2005 Aug 12
8097  {
8098  &kPolicyKyrgyz /*zonePolicy*/,
8099  "+05/+06" /*format*/,
8100  20 /*offsetCode*/,
8101  (0 << 4) + (0 + 4) /*deltaCode*/,
8102  5 /*untilYearTiny*/,
8103  8 /*untilMonth*/,
8104  12 /*untilDay*/,
8105  0 /*untilTimeCode*/,
8106  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8107  },
8108  // 6:00 - +06
8109  {
8110  nullptr /*zonePolicy*/,
8111  "+06" /*format*/,
8112  24 /*offsetCode*/,
8113  (0 << 4) + (0 + 4) /*deltaCode*/,
8114  127 /*untilYearTiny*/,
8115  1 /*untilMonth*/,
8116  1 /*untilDay*/,
8117  0 /*untilTimeCode*/,
8118  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8119  },
8120 
8121 };
8122 
8123 static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "Asia/Bishkek";
8124 
8125 const extended::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
8126  kZoneNameAsia_Bishkek /*name*/,
8127  0xb0728553 /*zoneId*/,
8128  &kZoneContext /*zoneContext*/,
8129  5 /*transitionBufSize*/,
8130  2 /*numEras*/,
8131  kZoneEraAsia_Bishkek /*eras*/,
8132 };
8133 
8134 //---------------------------------------------------------------------------
8135 // Zone name: Asia/Brunei
8136 // Zone Eras: 1
8137 // Strings (bytes): 16
8138 // Memory (8-bit): 39
8139 // Memory (32-bit): 52
8140 //---------------------------------------------------------------------------
8141 
8142 static const extended::ZoneEra kZoneEraAsia_Brunei[] ACE_TIME_PROGMEM = {
8143  // 8:00 - +08
8144  {
8145  nullptr /*zonePolicy*/,
8146  "+08" /*format*/,
8147  32 /*offsetCode*/,
8148  (0 << 4) + (0 + 4) /*deltaCode*/,
8149  127 /*untilYearTiny*/,
8150  1 /*untilMonth*/,
8151  1 /*untilDay*/,
8152  0 /*untilTimeCode*/,
8153  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8154  },
8155 
8156 };
8157 
8158 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "Asia/Brunei";
8159 
8160 const extended::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
8161  kZoneNameAsia_Brunei /*name*/,
8162  0xa8e595f7 /*zoneId*/,
8163  &kZoneContext /*zoneContext*/,
8164  2 /*transitionBufSize*/,
8165  1 /*numEras*/,
8166  kZoneEraAsia_Brunei /*eras*/,
8167 };
8168 
8169 //---------------------------------------------------------------------------
8170 // Zone name: Asia/Chita
8171 // Zone Eras: 4
8172 // Strings (bytes): 31
8173 // Memory (8-bit): 87
8174 // Memory (32-bit): 115
8175 //---------------------------------------------------------------------------
8176 
8177 static const extended::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
8178  // 9:00 Russia +09/+10 2011 Mar 27 2:00s
8179  {
8180  &kPolicyRussia /*zonePolicy*/,
8181  "+09/+10" /*format*/,
8182  36 /*offsetCode*/,
8183  (0 << 4) + (0 + 4) /*deltaCode*/,
8184  11 /*untilYearTiny*/,
8185  3 /*untilMonth*/,
8186  27 /*untilDay*/,
8187  8 /*untilTimeCode*/,
8188  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8189  },
8190  // 10:00 - +10 2014 Oct 26 2:00s
8191  {
8192  nullptr /*zonePolicy*/,
8193  "+10" /*format*/,
8194  40 /*offsetCode*/,
8195  (0 << 4) + (0 + 4) /*deltaCode*/,
8196  14 /*untilYearTiny*/,
8197  10 /*untilMonth*/,
8198  26 /*untilDay*/,
8199  8 /*untilTimeCode*/,
8200  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8201  },
8202  // 8:00 - +08 2016 Mar 27 2:00
8203  {
8204  nullptr /*zonePolicy*/,
8205  "+08" /*format*/,
8206  32 /*offsetCode*/,
8207  (0 << 4) + (0 + 4) /*deltaCode*/,
8208  16 /*untilYearTiny*/,
8209  3 /*untilMonth*/,
8210  27 /*untilDay*/,
8211  8 /*untilTimeCode*/,
8212  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8213  },
8214  // 9:00 - +09
8215  {
8216  nullptr /*zonePolicy*/,
8217  "+09" /*format*/,
8218  36 /*offsetCode*/,
8219  (0 << 4) + (0 + 4) /*deltaCode*/,
8220  127 /*untilYearTiny*/,
8221  1 /*untilMonth*/,
8222  1 /*untilDay*/,
8223  0 /*untilTimeCode*/,
8224  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8225  },
8226 
8227 };
8228 
8229 static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "Asia/Chita";
8230 
8231 const extended::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
8232  kZoneNameAsia_Chita /*name*/,
8233  0x14ae863b /*zoneId*/,
8234  &kZoneContext /*zoneContext*/,
8235  5 /*transitionBufSize*/,
8236  4 /*numEras*/,
8237  kZoneEraAsia_Chita /*eras*/,
8238 };
8239 
8240 //---------------------------------------------------------------------------
8241 // Zone name: Asia/Choibalsan
8242 // Zone Eras: 2
8243 // Strings (bytes): 32
8244 // Memory (8-bit): 66
8245 // Memory (32-bit): 84
8246 //---------------------------------------------------------------------------
8247 
8248 static const extended::ZoneEra kZoneEraAsia_Choibalsan[] ACE_TIME_PROGMEM = {
8249  // 9:00 Mongol +09/+10 2008 Mar 31
8250  {
8251  &kPolicyMongol /*zonePolicy*/,
8252  "+09/+10" /*format*/,
8253  36 /*offsetCode*/,
8254  (0 << 4) + (0 + 4) /*deltaCode*/,
8255  8 /*untilYearTiny*/,
8256  3 /*untilMonth*/,
8257  31 /*untilDay*/,
8258  0 /*untilTimeCode*/,
8259  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8260  },
8261  // 8:00 Mongol +08/+09
8262  {
8263  &kPolicyMongol /*zonePolicy*/,
8264  "+08/+09" /*format*/,
8265  32 /*offsetCode*/,
8266  (0 << 4) + (0 + 4) /*deltaCode*/,
8267  127 /*untilYearTiny*/,
8268  1 /*untilMonth*/,
8269  1 /*untilDay*/,
8270  0 /*untilTimeCode*/,
8271  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8272  },
8273 
8274 };
8275 
8276 static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "Asia/Choibalsan";
8277 
8278 const extended::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
8279  kZoneNameAsia_Choibalsan /*name*/,
8280  0x928aa4a6 /*zoneId*/,
8281  &kZoneContext /*zoneContext*/,
8282  5 /*transitionBufSize*/,
8283  2 /*numEras*/,
8284  kZoneEraAsia_Choibalsan /*eras*/,
8285 };
8286 
8287 //---------------------------------------------------------------------------
8288 // Zone name: Asia/Colombo
8289 // Zone Eras: 2
8290 // Strings (bytes): 23
8291 // Memory (8-bit): 57
8292 // Memory (32-bit): 75
8293 //---------------------------------------------------------------------------
8294 
8295 static const extended::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
8296  // 6:00 - +06 2006 Apr 15 0:30
8297  {
8298  nullptr /*zonePolicy*/,
8299  "+06" /*format*/,
8300  24 /*offsetCode*/,
8301  (0 << 4) + (0 + 4) /*deltaCode*/,
8302  6 /*untilYearTiny*/,
8303  4 /*untilMonth*/,
8304  15 /*untilDay*/,
8305  2 /*untilTimeCode*/,
8306  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8307  },
8308  // 5:30 - +0530
8309  {
8310  nullptr /*zonePolicy*/,
8311  "+0530" /*format*/,
8312  22 /*offsetCode*/,
8313  (0 << 4) + (0 + 4) /*deltaCode*/,
8314  127 /*untilYearTiny*/,
8315  1 /*untilMonth*/,
8316  1 /*untilDay*/,
8317  0 /*untilTimeCode*/,
8318  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8319  },
8320 
8321 };
8322 
8323 static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "Asia/Colombo";
8324 
8325 const extended::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
8326  kZoneNameAsia_Colombo /*name*/,
8327  0x0af0e91d /*zoneId*/,
8328  &kZoneContext /*zoneContext*/,
8329  3 /*transitionBufSize*/,
8330  2 /*numEras*/,
8331  kZoneEraAsia_Colombo /*eras*/,
8332 };
8333 
8334 //---------------------------------------------------------------------------
8335 // Zone name: Asia/Damascus
8336 // Zone Eras: 1
8337 // Strings (bytes): 19
8338 // Memory (8-bit): 42
8339 // Memory (32-bit): 55
8340 //---------------------------------------------------------------------------
8341 
8342 static const extended::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
8343  // 2:00 Syria EE%sT
8344  {
8345  &kPolicySyria /*zonePolicy*/,
8346  "EE%T" /*format*/,
8347  8 /*offsetCode*/,
8348  (0 << 4) + (0 + 4) /*deltaCode*/,
8349  127 /*untilYearTiny*/,
8350  1 /*untilMonth*/,
8351  1 /*untilDay*/,
8352  0 /*untilTimeCode*/,
8353  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8354  },
8355 
8356 };
8357 
8358 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "Asia/Damascus";
8359 
8360 const extended::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
8361  kZoneNameAsia_Damascus /*name*/,
8362  0x20fbb063 /*zoneId*/,
8363  &kZoneContext /*zoneContext*/,
8364  6 /*transitionBufSize*/,
8365  1 /*numEras*/,
8366  kZoneEraAsia_Damascus /*eras*/,
8367 };
8368 
8369 //---------------------------------------------------------------------------
8370 // Zone name: Asia/Dhaka
8371 // Zone Eras: 2
8372 // Strings (bytes): 23
8373 // Memory (8-bit): 57
8374 // Memory (32-bit): 75
8375 //---------------------------------------------------------------------------
8376 
8377 static const extended::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
8378  // 6:00 - +06 2009
8379  {
8380  nullptr /*zonePolicy*/,
8381  "+06" /*format*/,
8382  24 /*offsetCode*/,
8383  (0 << 4) + (0 + 4) /*deltaCode*/,
8384  9 /*untilYearTiny*/,
8385  1 /*untilMonth*/,
8386  1 /*untilDay*/,
8387  0 /*untilTimeCode*/,
8388  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8389  },
8390  // 6:00 Dhaka +06/+07
8391  {
8392  &kPolicyDhaka /*zonePolicy*/,
8393  "+06/+07" /*format*/,
8394  24 /*offsetCode*/,
8395  (0 << 4) + (0 + 4) /*deltaCode*/,
8396  127 /*untilYearTiny*/,
8397  1 /*untilMonth*/,
8398  1 /*untilDay*/,
8399  0 /*untilTimeCode*/,
8400  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8401  },
8402 
8403 };
8404 
8405 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "Asia/Dhaka";
8406 
8407 const extended::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
8408  kZoneNameAsia_Dhaka /*name*/,
8409  0x14c07b8b /*zoneId*/,
8410  &kZoneContext /*zoneContext*/,
8411  5 /*transitionBufSize*/,
8412  2 /*numEras*/,
8413  kZoneEraAsia_Dhaka /*eras*/,
8414 };
8415 
8416 //---------------------------------------------------------------------------
8417 // Zone name: Asia/Dili
8418 // Zone Eras: 2
8419 // Strings (bytes): 18
8420 // Memory (8-bit): 52
8421 // Memory (32-bit): 70
8422 //---------------------------------------------------------------------------
8423 
8424 static const extended::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
8425  // 8:00 - +08 2000 Sep 17 0:00
8426  {
8427  nullptr /*zonePolicy*/,
8428  "+08" /*format*/,
8429  32 /*offsetCode*/,
8430  (0 << 4) + (0 + 4) /*deltaCode*/,
8431  0 /*untilYearTiny*/,
8432  9 /*untilMonth*/,
8433  17 /*untilDay*/,
8434  0 /*untilTimeCode*/,
8435  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8436  },
8437  // 9:00 - +09
8438  {
8439  nullptr /*zonePolicy*/,
8440  "+09" /*format*/,
8441  36 /*offsetCode*/,
8442  (0 << 4) + (0 + 4) /*deltaCode*/,
8443  127 /*untilYearTiny*/,
8444  1 /*untilMonth*/,
8445  1 /*untilDay*/,
8446  0 /*untilTimeCode*/,
8447  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8448  },
8449 
8450 };
8451 
8452 static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "Asia/Dili";
8453 
8454 const extended::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
8455  kZoneNameAsia_Dili /*name*/,
8456  0x1fa8c394 /*zoneId*/,
8457  &kZoneContext /*zoneContext*/,
8458  3 /*transitionBufSize*/,
8459  2 /*numEras*/,
8460  kZoneEraAsia_Dili /*eras*/,
8461 };
8462 
8463 //---------------------------------------------------------------------------
8464 // Zone name: Asia/Dubai
8465 // Zone Eras: 1
8466 // Strings (bytes): 15
8467 // Memory (8-bit): 38
8468 // Memory (32-bit): 51
8469 //---------------------------------------------------------------------------
8470 
8471 static const extended::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
8472  // 4:00 - +04
8473  {
8474  nullptr /*zonePolicy*/,
8475  "+04" /*format*/,
8476  16 /*offsetCode*/,
8477  (0 << 4) + (0 + 4) /*deltaCode*/,
8478  127 /*untilYearTiny*/,
8479  1 /*untilMonth*/,
8480  1 /*untilDay*/,
8481  0 /*untilTimeCode*/,
8482  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8483  },
8484 
8485 };
8486 
8487 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "Asia/Dubai";
8488 
8489 const extended::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
8490  kZoneNameAsia_Dubai /*name*/,
8491  0x14c79f77 /*zoneId*/,
8492  &kZoneContext /*zoneContext*/,
8493  2 /*transitionBufSize*/,
8494  1 /*numEras*/,
8495  kZoneEraAsia_Dubai /*eras*/,
8496 };
8497 
8498 //---------------------------------------------------------------------------
8499 // Zone name: Asia/Dushanbe
8500 // Zone Eras: 1
8501 // Strings (bytes): 18
8502 // Memory (8-bit): 41
8503 // Memory (32-bit): 54
8504 //---------------------------------------------------------------------------
8505 
8506 static const extended::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
8507  // 5:00 - +05
8508  {
8509  nullptr /*zonePolicy*/,
8510  "+05" /*format*/,
8511  20 /*offsetCode*/,
8512  (0 << 4) + (0 + 4) /*deltaCode*/,
8513  127 /*untilYearTiny*/,
8514  1 /*untilMonth*/,
8515  1 /*untilDay*/,
8516  0 /*untilTimeCode*/,
8517  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8518  },
8519 
8520 };
8521 
8522 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "Asia/Dushanbe";
8523 
8524 const extended::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
8525  kZoneNameAsia_Dushanbe /*name*/,
8526  0x32fc5c3c /*zoneId*/,
8527  &kZoneContext /*zoneContext*/,
8528  2 /*transitionBufSize*/,
8529  1 /*numEras*/,
8530  kZoneEraAsia_Dushanbe /*eras*/,
8531 };
8532 
8533 //---------------------------------------------------------------------------
8534 // Zone name: Asia/Famagusta
8535 // Zone Eras: 3
8536 // Strings (bytes): 29
8537 // Memory (8-bit): 74
8538 // Memory (32-bit): 97
8539 //---------------------------------------------------------------------------
8540 
8541 static const extended::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
8542  // 2:00 EUAsia EE%sT 2016 Sep 8
8543  {
8544  &kPolicyEUAsia /*zonePolicy*/,
8545  "EE%T" /*format*/,
8546  8 /*offsetCode*/,
8547  (0 << 4) + (0 + 4) /*deltaCode*/,
8548  16 /*untilYearTiny*/,
8549  9 /*untilMonth*/,
8550  8 /*untilDay*/,
8551  0 /*untilTimeCode*/,
8552  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8553  },
8554  // 3:00 - +03 2017 Oct 29 1:00u
8555  {
8556  nullptr /*zonePolicy*/,
8557  "+03" /*format*/,
8558  12 /*offsetCode*/,
8559  (0 << 4) + (0 + 4) /*deltaCode*/,
8560  17 /*untilYearTiny*/,
8561  10 /*untilMonth*/,
8562  29 /*untilDay*/,
8563  4 /*untilTimeCode*/,
8564  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
8565  },
8566  // 2:00 EUAsia EE%sT
8567  {
8568  &kPolicyEUAsia /*zonePolicy*/,
8569  "EE%T" /*format*/,
8570  8 /*offsetCode*/,
8571  (0 << 4) + (0 + 4) /*deltaCode*/,
8572  127 /*untilYearTiny*/,
8573  1 /*untilMonth*/,
8574  1 /*untilDay*/,
8575  0 /*untilTimeCode*/,
8576  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8577  },
8578 
8579 };
8580 
8581 static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "Asia/Famagusta";
8582 
8583 const extended::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
8584  kZoneNameAsia_Famagusta /*name*/,
8585  0x289b4f8b /*zoneId*/,
8586  &kZoneContext /*zoneContext*/,
8587  5 /*transitionBufSize*/,
8588  3 /*numEras*/,
8589  kZoneEraAsia_Famagusta /*eras*/,
8590 };
8591 
8592 //---------------------------------------------------------------------------
8593 // Zone name: Asia/Gaza
8594 // Zone Eras: 8
8595 // Strings (bytes): 47
8596 // Memory (8-bit): 147
8597 // Memory (32-bit): 195
8598 //---------------------------------------------------------------------------
8599 
8600 static const extended::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
8601  // 2:00 Jordan EE%sT 1999
8602  {
8603  &kPolicyJordan /*zonePolicy*/,
8604  "EE%T" /*format*/,
8605  8 /*offsetCode*/,
8606  (0 << 4) + (0 + 4) /*deltaCode*/,
8607  -1 /*untilYearTiny*/,
8608  1 /*untilMonth*/,
8609  1 /*untilDay*/,
8610  0 /*untilTimeCode*/,
8611  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8612  },
8613  // 2:00 Palestine EE%sT 2008 Aug 29 0:00
8614  {
8615  &kPolicyPalestine /*zonePolicy*/,
8616  "EE%T" /*format*/,
8617  8 /*offsetCode*/,
8618  (0 << 4) + (0 + 4) /*deltaCode*/,
8619  8 /*untilYearTiny*/,
8620  8 /*untilMonth*/,
8621  29 /*untilDay*/,
8622  0 /*untilTimeCode*/,
8623  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8624  },
8625  // 2:00 - EET 2008 Sep
8626  {
8627  nullptr /*zonePolicy*/,
8628  "EET" /*format*/,
8629  8 /*offsetCode*/,
8630  (0 << 4) + (0 + 4) /*deltaCode*/,
8631  8 /*untilYearTiny*/,
8632  9 /*untilMonth*/,
8633  1 /*untilDay*/,
8634  0 /*untilTimeCode*/,
8635  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8636  },
8637  // 2:00 Palestine EE%sT 2010
8638  {
8639  &kPolicyPalestine /*zonePolicy*/,
8640  "EE%T" /*format*/,
8641  8 /*offsetCode*/,
8642  (0 << 4) + (0 + 4) /*deltaCode*/,
8643  10 /*untilYearTiny*/,
8644  1 /*untilMonth*/,
8645  1 /*untilDay*/,
8646  0 /*untilTimeCode*/,
8647  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8648  },
8649  // 2:00 - EET 2010 Mar 27 0:01
8650  {
8651  nullptr /*zonePolicy*/,
8652  "EET" /*format*/,
8653  8 /*offsetCode*/,
8654  (0 << 4) + (0 + 4) /*deltaCode*/,
8655  10 /*untilYearTiny*/,
8656  3 /*untilMonth*/,
8657  27 /*untilDay*/,
8658  0 /*untilTimeCode*/,
8659  extended::ZoneContext::kSuffixW + 1 /*untilTimeModifier*/,
8660  },
8661  // 2:00 Palestine EE%sT 2011 Aug 1
8662  {
8663  &kPolicyPalestine /*zonePolicy*/,
8664  "EE%T" /*format*/,
8665  8 /*offsetCode*/,
8666  (0 << 4) + (0 + 4) /*deltaCode*/,
8667  11 /*untilYearTiny*/,
8668  8 /*untilMonth*/,
8669  1 /*untilDay*/,
8670  0 /*untilTimeCode*/,
8671  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8672  },
8673  // 2:00 - EET 2012
8674  {
8675  nullptr /*zonePolicy*/,
8676  "EET" /*format*/,
8677  8 /*offsetCode*/,
8678  (0 << 4) + (0 + 4) /*deltaCode*/,
8679  12 /*untilYearTiny*/,
8680  1 /*untilMonth*/,
8681  1 /*untilDay*/,
8682  0 /*untilTimeCode*/,
8683  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8684  },
8685  // 2:00 Palestine EE%sT
8686  {
8687  &kPolicyPalestine /*zonePolicy*/,
8688  "EE%T" /*format*/,
8689  8 /*offsetCode*/,
8690  (0 << 4) + (0 + 4) /*deltaCode*/,
8691  127 /*untilYearTiny*/,
8692  1 /*untilMonth*/,
8693  1 /*untilDay*/,
8694  0 /*untilTimeCode*/,
8695  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8696  },
8697 
8698 };
8699 
8700 static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "Asia/Gaza";
8701 
8702 const extended::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
8703  kZoneNameAsia_Gaza /*name*/,
8704  0x1faa4875 /*zoneId*/,
8705  &kZoneContext /*zoneContext*/,
8706  7 /*transitionBufSize*/,
8707  8 /*numEras*/,
8708  kZoneEraAsia_Gaza /*eras*/,
8709 };
8710 
8711 //---------------------------------------------------------------------------
8712 // Zone name: Asia/Hebron
8713 // Zone Eras: 2
8714 // Strings (bytes): 22
8715 // Memory (8-bit): 56
8716 // Memory (32-bit): 74
8717 //---------------------------------------------------------------------------
8718 
8719 static const extended::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
8720  // 2:00 Jordan EE%sT 1999
8721  {
8722  &kPolicyJordan /*zonePolicy*/,
8723  "EE%T" /*format*/,
8724  8 /*offsetCode*/,
8725  (0 << 4) + (0 + 4) /*deltaCode*/,
8726  -1 /*untilYearTiny*/,
8727  1 /*untilMonth*/,
8728  1 /*untilDay*/,
8729  0 /*untilTimeCode*/,
8730  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8731  },
8732  // 2:00 Palestine EE%sT
8733  {
8734  &kPolicyPalestine /*zonePolicy*/,
8735  "EE%T" /*format*/,
8736  8 /*offsetCode*/,
8737  (0 << 4) + (0 + 4) /*deltaCode*/,
8738  127 /*untilYearTiny*/,
8739  1 /*untilMonth*/,
8740  1 /*untilDay*/,
8741  0 /*untilTimeCode*/,
8742  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8743  },
8744 
8745 };
8746 
8747 static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "Asia/Hebron";
8748 
8749 const extended::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
8750  kZoneNameAsia_Hebron /*name*/,
8751  0xb5eef250 /*zoneId*/,
8752  &kZoneContext /*zoneContext*/,
8753  7 /*transitionBufSize*/,
8754  2 /*numEras*/,
8755  kZoneEraAsia_Hebron /*eras*/,
8756 };
8757 
8758 //---------------------------------------------------------------------------
8759 // Zone name: Asia/Ho_Chi_Minh
8760 // Zone Eras: 1
8761 // Strings (bytes): 21
8762 // Memory (8-bit): 44
8763 // Memory (32-bit): 57
8764 //---------------------------------------------------------------------------
8765 
8766 static const extended::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
8767  // 7:00 - +07
8768  {
8769  nullptr /*zonePolicy*/,
8770  "+07" /*format*/,
8771  28 /*offsetCode*/,
8772  (0 << 4) + (0 + 4) /*deltaCode*/,
8773  127 /*untilYearTiny*/,
8774  1 /*untilMonth*/,
8775  1 /*untilDay*/,
8776  0 /*untilTimeCode*/,
8777  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8778  },
8779 
8780 };
8781 
8782 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "Asia/Ho_Chi_Minh";
8783 
8784 const extended::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
8785  kZoneNameAsia_Ho_Chi_Minh /*name*/,
8786  0x20f2d127 /*zoneId*/,
8787  &kZoneContext /*zoneContext*/,
8788  2 /*transitionBufSize*/,
8789  1 /*numEras*/,
8790  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
8791 };
8792 
8793 //---------------------------------------------------------------------------
8794 // Zone name: Asia/Hong_Kong
8795 // Zone Eras: 1
8796 // Strings (bytes): 20
8797 // Memory (8-bit): 43
8798 // Memory (32-bit): 56
8799 //---------------------------------------------------------------------------
8800 
8801 static const extended::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
8802  // 8:00 HK HK%sT
8803  {
8804  &kPolicyHK /*zonePolicy*/,
8805  "HK%T" /*format*/,
8806  32 /*offsetCode*/,
8807  (0 << 4) + (0 + 4) /*deltaCode*/,
8808  127 /*untilYearTiny*/,
8809  1 /*untilMonth*/,
8810  1 /*untilDay*/,
8811  0 /*untilTimeCode*/,
8812  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8813  },
8814 
8815 };
8816 
8817 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "Asia/Hong_Kong";
8818 
8819 const extended::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
8820  kZoneNameAsia_Hong_Kong /*name*/,
8821  0x577f28ac /*zoneId*/,
8822  &kZoneContext /*zoneContext*/,
8823  2 /*transitionBufSize*/,
8824  1 /*numEras*/,
8825  kZoneEraAsia_Hong_Kong /*eras*/,
8826 };
8827 
8828 //---------------------------------------------------------------------------
8829 // Zone name: Asia/Hovd
8830 // Zone Eras: 1
8831 // Strings (bytes): 18
8832 // Memory (8-bit): 41
8833 // Memory (32-bit): 54
8834 //---------------------------------------------------------------------------
8835 
8836 static const extended::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
8837  // 7:00 Mongol +07/+08
8838  {
8839  &kPolicyMongol /*zonePolicy*/,
8840  "+07/+08" /*format*/,
8841  28 /*offsetCode*/,
8842  (0 << 4) + (0 + 4) /*deltaCode*/,
8843  127 /*untilYearTiny*/,
8844  1 /*untilMonth*/,
8845  1 /*untilDay*/,
8846  0 /*untilTimeCode*/,
8847  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8848  },
8849 
8850 };
8851 
8852 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "Asia/Hovd";
8853 
8854 const extended::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
8855  kZoneNameAsia_Hovd /*name*/,
8856  0x1fab0fe3 /*zoneId*/,
8857  &kZoneContext /*zoneContext*/,
8858  5 /*transitionBufSize*/,
8859  1 /*numEras*/,
8860  kZoneEraAsia_Hovd /*eras*/,
8861 };
8862 
8863 //---------------------------------------------------------------------------
8864 // Zone name: Asia/Irkutsk
8865 // Zone Eras: 3
8866 // Strings (bytes): 29
8867 // Memory (8-bit): 74
8868 // Memory (32-bit): 97
8869 //---------------------------------------------------------------------------
8870 
8871 static const extended::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
8872  // 8:00 Russia +08/+09 2011 Mar 27 2:00s
8873  {
8874  &kPolicyRussia /*zonePolicy*/,
8875  "+08/+09" /*format*/,
8876  32 /*offsetCode*/,
8877  (0 << 4) + (0 + 4) /*deltaCode*/,
8878  11 /*untilYearTiny*/,
8879  3 /*untilMonth*/,
8880  27 /*untilDay*/,
8881  8 /*untilTimeCode*/,
8882  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8883  },
8884  // 9:00 - +09 2014 Oct 26 2:00s
8885  {
8886  nullptr /*zonePolicy*/,
8887  "+09" /*format*/,
8888  36 /*offsetCode*/,
8889  (0 << 4) + (0 + 4) /*deltaCode*/,
8890  14 /*untilYearTiny*/,
8891  10 /*untilMonth*/,
8892  26 /*untilDay*/,
8893  8 /*untilTimeCode*/,
8894  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
8895  },
8896  // 8:00 - +08
8897  {
8898  nullptr /*zonePolicy*/,
8899  "+08" /*format*/,
8900  32 /*offsetCode*/,
8901  (0 << 4) + (0 + 4) /*deltaCode*/,
8902  127 /*untilYearTiny*/,
8903  1 /*untilMonth*/,
8904  1 /*untilDay*/,
8905  0 /*untilTimeCode*/,
8906  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8907  },
8908 
8909 };
8910 
8911 static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "Asia/Irkutsk";
8912 
8913 const extended::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
8914  kZoneNameAsia_Irkutsk /*name*/,
8915  0xdfbf213f /*zoneId*/,
8916  &kZoneContext /*zoneContext*/,
8917  5 /*transitionBufSize*/,
8918  3 /*numEras*/,
8919  kZoneEraAsia_Irkutsk /*eras*/,
8920 };
8921 
8922 //---------------------------------------------------------------------------
8923 // Zone name: Asia/Jakarta
8924 // Zone Eras: 1
8925 // Strings (bytes): 17
8926 // Memory (8-bit): 40
8927 // Memory (32-bit): 53
8928 //---------------------------------------------------------------------------
8929 
8930 static const extended::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
8931  // 7:00 - WIB
8932  {
8933  nullptr /*zonePolicy*/,
8934  "WIB" /*format*/,
8935  28 /*offsetCode*/,
8936  (0 << 4) + (0 + 4) /*deltaCode*/,
8937  127 /*untilYearTiny*/,
8938  1 /*untilMonth*/,
8939  1 /*untilDay*/,
8940  0 /*untilTimeCode*/,
8941  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8942  },
8943 
8944 };
8945 
8946 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "Asia/Jakarta";
8947 
8948 const extended::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
8949  kZoneNameAsia_Jakarta /*name*/,
8950  0x0506ab50 /*zoneId*/,
8951  &kZoneContext /*zoneContext*/,
8952  2 /*transitionBufSize*/,
8953  1 /*numEras*/,
8954  kZoneEraAsia_Jakarta /*eras*/,
8955 };
8956 
8957 //---------------------------------------------------------------------------
8958 // Zone name: Asia/Jayapura
8959 // Zone Eras: 1
8960 // Strings (bytes): 18
8961 // Memory (8-bit): 41
8962 // Memory (32-bit): 54
8963 //---------------------------------------------------------------------------
8964 
8965 static const extended::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
8966  // 9:00 - WIT
8967  {
8968  nullptr /*zonePolicy*/,
8969  "WIT" /*format*/,
8970  36 /*offsetCode*/,
8971  (0 << 4) + (0 + 4) /*deltaCode*/,
8972  127 /*untilYearTiny*/,
8973  1 /*untilMonth*/,
8974  1 /*untilDay*/,
8975  0 /*untilTimeCode*/,
8976  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
8977  },
8978 
8979 };
8980 
8981 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "Asia/Jayapura";
8982 
8983 const extended::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
8984  kZoneNameAsia_Jayapura /*name*/,
8985  0xc6833c2f /*zoneId*/,
8986  &kZoneContext /*zoneContext*/,
8987  2 /*transitionBufSize*/,
8988  1 /*numEras*/,
8989  kZoneEraAsia_Jayapura /*eras*/,
8990 };
8991 
8992 //---------------------------------------------------------------------------
8993 // Zone name: Asia/Jerusalem
8994 // Zone Eras: 1
8995 // Strings (bytes): 19
8996 // Memory (8-bit): 42
8997 // Memory (32-bit): 55
8998 //---------------------------------------------------------------------------
8999 
9000 static const extended::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
9001  // 2:00 Zion I%sT
9002  {
9003  &kPolicyZion /*zonePolicy*/,
9004  "I%T" /*format*/,
9005  8 /*offsetCode*/,
9006  (0 << 4) + (0 + 4) /*deltaCode*/,
9007  127 /*untilYearTiny*/,
9008  1 /*untilMonth*/,
9009  1 /*untilDay*/,
9010  0 /*untilTimeCode*/,
9011  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9012  },
9013 
9014 };
9015 
9016 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "Asia/Jerusalem";
9017 
9018 const extended::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
9019  kZoneNameAsia_Jerusalem /*name*/,
9020  0x5becd23a /*zoneId*/,
9021  &kZoneContext /*zoneContext*/,
9022  5 /*transitionBufSize*/,
9023  1 /*numEras*/,
9024  kZoneEraAsia_Jerusalem /*eras*/,
9025 };
9026 
9027 //---------------------------------------------------------------------------
9028 // Zone name: Asia/Kabul
9029 // Zone Eras: 1
9030 // Strings (bytes): 17
9031 // Memory (8-bit): 40
9032 // Memory (32-bit): 53
9033 //---------------------------------------------------------------------------
9034 
9035 static const extended::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
9036  // 4:30 - +0430
9037  {
9038  nullptr /*zonePolicy*/,
9039  "+0430" /*format*/,
9040  18 /*offsetCode*/,
9041  (0 << 4) + (0 + 4) /*deltaCode*/,
9042  127 /*untilYearTiny*/,
9043  1 /*untilMonth*/,
9044  1 /*untilDay*/,
9045  0 /*untilTimeCode*/,
9046  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9047  },
9048 
9049 };
9050 
9051 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "Asia/Kabul";
9052 
9053 const extended::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
9054  kZoneNameAsia_Kabul /*name*/,
9055  0x153b5601 /*zoneId*/,
9056  &kZoneContext /*zoneContext*/,
9057  2 /*transitionBufSize*/,
9058  1 /*numEras*/,
9059  kZoneEraAsia_Kabul /*eras*/,
9060 };
9061 
9062 //---------------------------------------------------------------------------
9063 // Zone name: Asia/Kamchatka
9064 // Zone Eras: 3
9065 // Strings (bytes): 35
9066 // Memory (8-bit): 80
9067 // Memory (32-bit): 103
9068 //---------------------------------------------------------------------------
9069 
9070 static const extended::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
9071  // 12:00 Russia +12/+13 2010 Mar 28 2:00s
9072  {
9073  &kPolicyRussia /*zonePolicy*/,
9074  "+12/+13" /*format*/,
9075  48 /*offsetCode*/,
9076  (0 << 4) + (0 + 4) /*deltaCode*/,
9077  10 /*untilYearTiny*/,
9078  3 /*untilMonth*/,
9079  28 /*untilDay*/,
9080  8 /*untilTimeCode*/,
9081  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9082  },
9083  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
9084  {
9085  &kPolicyRussia /*zonePolicy*/,
9086  "+11/+12" /*format*/,
9087  44 /*offsetCode*/,
9088  (0 << 4) + (0 + 4) /*deltaCode*/,
9089  11 /*untilYearTiny*/,
9090  3 /*untilMonth*/,
9091  27 /*untilDay*/,
9092  8 /*untilTimeCode*/,
9093  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9094  },
9095  // 12:00 - +12
9096  {
9097  nullptr /*zonePolicy*/,
9098  "+12" /*format*/,
9099  48 /*offsetCode*/,
9100  (0 << 4) + (0 + 4) /*deltaCode*/,
9101  127 /*untilYearTiny*/,
9102  1 /*untilMonth*/,
9103  1 /*untilDay*/,
9104  0 /*untilTimeCode*/,
9105  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9106  },
9107 
9108 };
9109 
9110 static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "Asia/Kamchatka";
9111 
9112 const extended::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
9113  kZoneNameAsia_Kamchatka /*name*/,
9114  0x73baf9d7 /*zoneId*/,
9115  &kZoneContext /*zoneContext*/,
9116  5 /*transitionBufSize*/,
9117  3 /*numEras*/,
9118  kZoneEraAsia_Kamchatka /*eras*/,
9119 };
9120 
9121 //---------------------------------------------------------------------------
9122 // Zone name: Asia/Karachi
9123 // Zone Eras: 1
9124 // Strings (bytes): 18
9125 // Memory (8-bit): 41
9126 // Memory (32-bit): 54
9127 //---------------------------------------------------------------------------
9128 
9129 static const extended::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
9130  // 5:00 Pakistan PK%sT
9131  {
9132  &kPolicyPakistan /*zonePolicy*/,
9133  "PK%T" /*format*/,
9134  20 /*offsetCode*/,
9135  (0 << 4) + (0 + 4) /*deltaCode*/,
9136  127 /*untilYearTiny*/,
9137  1 /*untilMonth*/,
9138  1 /*untilDay*/,
9139  0 /*untilTimeCode*/,
9140  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9141  },
9142 
9143 };
9144 
9145 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "Asia/Karachi";
9146 
9147 const extended::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
9148  kZoneNameAsia_Karachi /*name*/,
9149  0x527f5245 /*zoneId*/,
9150  &kZoneContext /*zoneContext*/,
9151  5 /*transitionBufSize*/,
9152  1 /*numEras*/,
9153  kZoneEraAsia_Karachi /*eras*/,
9154 };
9155 
9156 //---------------------------------------------------------------------------
9157 // Zone name: Asia/Kathmandu
9158 // Zone Eras: 1
9159 // Strings (bytes): 21
9160 // Memory (8-bit): 44
9161 // Memory (32-bit): 57
9162 //---------------------------------------------------------------------------
9163 
9164 static const extended::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
9165  // 5:45 - +0545
9166  {
9167  nullptr /*zonePolicy*/,
9168  "+0545" /*format*/,
9169  23 /*offsetCode*/,
9170  (0 << 4) + (0 + 4) /*deltaCode*/,
9171  127 /*untilYearTiny*/,
9172  1 /*untilMonth*/,
9173  1 /*untilDay*/,
9174  0 /*untilTimeCode*/,
9175  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9176  },
9177 
9178 };
9179 
9180 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "Asia/Kathmandu";
9181 
9182 const extended::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
9183  kZoneNameAsia_Kathmandu /*name*/,
9184  0x9a96ce6f /*zoneId*/,
9185  &kZoneContext /*zoneContext*/,
9186  2 /*transitionBufSize*/,
9187  1 /*numEras*/,
9188  kZoneEraAsia_Kathmandu /*eras*/,
9189 };
9190 
9191 //---------------------------------------------------------------------------
9192 // Zone name: Asia/Khandyga
9193 // Zone Eras: 5
9194 // Strings (bytes): 42
9195 // Memory (8-bit): 109
9196 // Memory (32-bit): 142
9197 //---------------------------------------------------------------------------
9198 
9199 static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
9200  // 9:00 Russia +09/+10 2004
9201  {
9202  &kPolicyRussia /*zonePolicy*/,
9203  "+09/+10" /*format*/,
9204  36 /*offsetCode*/,
9205  (0 << 4) + (0 + 4) /*deltaCode*/,
9206  4 /*untilYearTiny*/,
9207  1 /*untilMonth*/,
9208  1 /*untilDay*/,
9209  0 /*untilTimeCode*/,
9210  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9211  },
9212  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
9213  {
9214  &kPolicyRussia /*zonePolicy*/,
9215  "+10/+11" /*format*/,
9216  40 /*offsetCode*/,
9217  (0 << 4) + (0 + 4) /*deltaCode*/,
9218  11 /*untilYearTiny*/,
9219  3 /*untilMonth*/,
9220  27 /*untilDay*/,
9221  8 /*untilTimeCode*/,
9222  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9223  },
9224  // 11:00 - +11 2011 Sep 13 0:00s
9225  {
9226  nullptr /*zonePolicy*/,
9227  "+11" /*format*/,
9228  44 /*offsetCode*/,
9229  (0 << 4) + (0 + 4) /*deltaCode*/,
9230  11 /*untilYearTiny*/,
9231  9 /*untilMonth*/,
9232  13 /*untilDay*/,
9233  0 /*untilTimeCode*/,
9234  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9235  },
9236  // 10:00 - +10 2014 Oct 26 2:00s
9237  {
9238  nullptr /*zonePolicy*/,
9239  "+10" /*format*/,
9240  40 /*offsetCode*/,
9241  (0 << 4) + (0 + 4) /*deltaCode*/,
9242  14 /*untilYearTiny*/,
9243  10 /*untilMonth*/,
9244  26 /*untilDay*/,
9245  8 /*untilTimeCode*/,
9246  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9247  },
9248  // 9:00 - +09
9249  {
9250  nullptr /*zonePolicy*/,
9251  "+09" /*format*/,
9252  36 /*offsetCode*/,
9253  (0 << 4) + (0 + 4) /*deltaCode*/,
9254  127 /*untilYearTiny*/,
9255  1 /*untilMonth*/,
9256  1 /*untilDay*/,
9257  0 /*untilTimeCode*/,
9258  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9259  },
9260 
9261 };
9262 
9263 static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "Asia/Khandyga";
9264 
9265 const extended::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
9266  kZoneNameAsia_Khandyga /*name*/,
9267  0x9685a4d9 /*zoneId*/,
9268  &kZoneContext /*zoneContext*/,
9269  6 /*transitionBufSize*/,
9270  5 /*numEras*/,
9271  kZoneEraAsia_Khandyga /*eras*/,
9272 };
9273 
9274 //---------------------------------------------------------------------------
9275 // Zone name: Asia/Kolkata
9276 // Zone Eras: 1
9277 // Strings (bytes): 17
9278 // Memory (8-bit): 40
9279 // Memory (32-bit): 53
9280 //---------------------------------------------------------------------------
9281 
9282 static const extended::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
9283  // 5:30 - IST
9284  {
9285  nullptr /*zonePolicy*/,
9286  "IST" /*format*/,
9287  22 /*offsetCode*/,
9288  (0 << 4) + (0 + 4) /*deltaCode*/,
9289  127 /*untilYearTiny*/,
9290  1 /*untilMonth*/,
9291  1 /*untilDay*/,
9292  0 /*untilTimeCode*/,
9293  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9294  },
9295 
9296 };
9297 
9298 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "Asia/Kolkata";
9299 
9300 const extended::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
9301  kZoneNameAsia_Kolkata /*name*/,
9302  0x72c06cd9 /*zoneId*/,
9303  &kZoneContext /*zoneContext*/,
9304  2 /*transitionBufSize*/,
9305  1 /*numEras*/,
9306  kZoneEraAsia_Kolkata /*eras*/,
9307 };
9308 
9309 //---------------------------------------------------------------------------
9310 // Zone name: Asia/Krasnoyarsk
9311 // Zone Eras: 3
9312 // Strings (bytes): 33
9313 // Memory (8-bit): 78
9314 // Memory (32-bit): 101
9315 //---------------------------------------------------------------------------
9316 
9317 static const extended::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
9318  // 7:00 Russia +07/+08 2011 Mar 27 2:00s
9319  {
9320  &kPolicyRussia /*zonePolicy*/,
9321  "+07/+08" /*format*/,
9322  28 /*offsetCode*/,
9323  (0 << 4) + (0 + 4) /*deltaCode*/,
9324  11 /*untilYearTiny*/,
9325  3 /*untilMonth*/,
9326  27 /*untilDay*/,
9327  8 /*untilTimeCode*/,
9328  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9329  },
9330  // 8:00 - +08 2014 Oct 26 2:00s
9331  {
9332  nullptr /*zonePolicy*/,
9333  "+08" /*format*/,
9334  32 /*offsetCode*/,
9335  (0 << 4) + (0 + 4) /*deltaCode*/,
9336  14 /*untilYearTiny*/,
9337  10 /*untilMonth*/,
9338  26 /*untilDay*/,
9339  8 /*untilTimeCode*/,
9340  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9341  },
9342  // 7:00 - +07
9343  {
9344  nullptr /*zonePolicy*/,
9345  "+07" /*format*/,
9346  28 /*offsetCode*/,
9347  (0 << 4) + (0 + 4) /*deltaCode*/,
9348  127 /*untilYearTiny*/,
9349  1 /*untilMonth*/,
9350  1 /*untilDay*/,
9351  0 /*untilTimeCode*/,
9352  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9353  },
9354 
9355 };
9356 
9357 static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "Asia/Krasnoyarsk";
9358 
9359 const extended::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
9360  kZoneNameAsia_Krasnoyarsk /*name*/,
9361  0xd0376c6a /*zoneId*/,
9362  &kZoneContext /*zoneContext*/,
9363  5 /*transitionBufSize*/,
9364  3 /*numEras*/,
9365  kZoneEraAsia_Krasnoyarsk /*eras*/,
9366 };
9367 
9368 //---------------------------------------------------------------------------
9369 // Zone name: Asia/Kuala_Lumpur
9370 // Zone Eras: 1
9371 // Strings (bytes): 22
9372 // Memory (8-bit): 45
9373 // Memory (32-bit): 58
9374 //---------------------------------------------------------------------------
9375 
9376 static const extended::ZoneEra kZoneEraAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = {
9377  // 8:00 - +08
9378  {
9379  nullptr /*zonePolicy*/,
9380  "+08" /*format*/,
9381  32 /*offsetCode*/,
9382  (0 << 4) + (0 + 4) /*deltaCode*/,
9383  127 /*untilYearTiny*/,
9384  1 /*untilMonth*/,
9385  1 /*untilDay*/,
9386  0 /*untilTimeCode*/,
9387  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9388  },
9389 
9390 };
9391 
9392 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "Asia/Kuala_Lumpur";
9393 
9394 const extended::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
9395  kZoneNameAsia_Kuala_Lumpur /*name*/,
9396  0x014763c4 /*zoneId*/,
9397  &kZoneContext /*zoneContext*/,
9398  2 /*transitionBufSize*/,
9399  1 /*numEras*/,
9400  kZoneEraAsia_Kuala_Lumpur /*eras*/,
9401 };
9402 
9403 //---------------------------------------------------------------------------
9404 // Zone name: Asia/Kuching
9405 // Zone Eras: 1
9406 // Strings (bytes): 17
9407 // Memory (8-bit): 40
9408 // Memory (32-bit): 53
9409 //---------------------------------------------------------------------------
9410 
9411 static const extended::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
9412  // 8:00 - +08
9413  {
9414  nullptr /*zonePolicy*/,
9415  "+08" /*format*/,
9416  32 /*offsetCode*/,
9417  (0 << 4) + (0 + 4) /*deltaCode*/,
9418  127 /*untilYearTiny*/,
9419  1 /*untilMonth*/,
9420  1 /*untilDay*/,
9421  0 /*untilTimeCode*/,
9422  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9423  },
9424 
9425 };
9426 
9427 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "Asia/Kuching";
9428 
9429 const extended::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
9430  kZoneNameAsia_Kuching /*name*/,
9431  0x801b003b /*zoneId*/,
9432  &kZoneContext /*zoneContext*/,
9433  2 /*transitionBufSize*/,
9434  1 /*numEras*/,
9435  kZoneEraAsia_Kuching /*eras*/,
9436 };
9437 
9438 //---------------------------------------------------------------------------
9439 // Zone name: Asia/Macau
9440 // Zone Eras: 1
9441 // Strings (bytes): 15
9442 // Memory (8-bit): 38
9443 // Memory (32-bit): 51
9444 //---------------------------------------------------------------------------
9445 
9446 static const extended::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
9447  // 8:00 Macau C%sT
9448  {
9449  &kPolicyMacau /*zonePolicy*/,
9450  "C%T" /*format*/,
9451  32 /*offsetCode*/,
9452  (0 << 4) + (0 + 4) /*deltaCode*/,
9453  127 /*untilYearTiny*/,
9454  1 /*untilMonth*/,
9455  1 /*untilDay*/,
9456  0 /*untilTimeCode*/,
9457  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9458  },
9459 
9460 };
9461 
9462 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "Asia/Macau";
9463 
9464 const extended::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
9465  kZoneNameAsia_Macau /*name*/,
9466  0x155f88b9 /*zoneId*/,
9467  &kZoneContext /*zoneContext*/,
9468  2 /*transitionBufSize*/,
9469  1 /*numEras*/,
9470  kZoneEraAsia_Macau /*eras*/,
9471 };
9472 
9473 //---------------------------------------------------------------------------
9474 // Zone name: Asia/Magadan
9475 // Zone Eras: 4
9476 // Strings (bytes): 33
9477 // Memory (8-bit): 89
9478 // Memory (32-bit): 117
9479 //---------------------------------------------------------------------------
9480 
9481 static const extended::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
9482  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
9483  {
9484  &kPolicyRussia /*zonePolicy*/,
9485  "+11/+12" /*format*/,
9486  44 /*offsetCode*/,
9487  (0 << 4) + (0 + 4) /*deltaCode*/,
9488  11 /*untilYearTiny*/,
9489  3 /*untilMonth*/,
9490  27 /*untilDay*/,
9491  8 /*untilTimeCode*/,
9492  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9493  },
9494  // 12:00 - +12 2014 Oct 26 2:00s
9495  {
9496  nullptr /*zonePolicy*/,
9497  "+12" /*format*/,
9498  48 /*offsetCode*/,
9499  (0 << 4) + (0 + 4) /*deltaCode*/,
9500  14 /*untilYearTiny*/,
9501  10 /*untilMonth*/,
9502  26 /*untilDay*/,
9503  8 /*untilTimeCode*/,
9504  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9505  },
9506  // 10:00 - +10 2016 Apr 24 2:00s
9507  {
9508  nullptr /*zonePolicy*/,
9509  "+10" /*format*/,
9510  40 /*offsetCode*/,
9511  (0 << 4) + (0 + 4) /*deltaCode*/,
9512  16 /*untilYearTiny*/,
9513  4 /*untilMonth*/,
9514  24 /*untilDay*/,
9515  8 /*untilTimeCode*/,
9516  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9517  },
9518  // 11:00 - +11
9519  {
9520  nullptr /*zonePolicy*/,
9521  "+11" /*format*/,
9522  44 /*offsetCode*/,
9523  (0 << 4) + (0 + 4) /*deltaCode*/,
9524  127 /*untilYearTiny*/,
9525  1 /*untilMonth*/,
9526  1 /*untilDay*/,
9527  0 /*untilTimeCode*/,
9528  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9529  },
9530 
9531 };
9532 
9533 static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "Asia/Magadan";
9534 
9535 const extended::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
9536  kZoneNameAsia_Magadan /*name*/,
9537  0xebacc19b /*zoneId*/,
9538  &kZoneContext /*zoneContext*/,
9539  5 /*transitionBufSize*/,
9540  4 /*numEras*/,
9541  kZoneEraAsia_Magadan /*eras*/,
9542 };
9543 
9544 //---------------------------------------------------------------------------
9545 // Zone name: Asia/Makassar
9546 // Zone Eras: 1
9547 // Strings (bytes): 19
9548 // Memory (8-bit): 42
9549 // Memory (32-bit): 55
9550 //---------------------------------------------------------------------------
9551 
9552 static const extended::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
9553  // 8:00 - WITA
9554  {
9555  nullptr /*zonePolicy*/,
9556  "WITA" /*format*/,
9557  32 /*offsetCode*/,
9558  (0 << 4) + (0 + 4) /*deltaCode*/,
9559  127 /*untilYearTiny*/,
9560  1 /*untilMonth*/,
9561  1 /*untilDay*/,
9562  0 /*untilTimeCode*/,
9563  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9564  },
9565 
9566 };
9567 
9568 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "Asia/Makassar";
9569 
9570 const extended::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
9571  kZoneNameAsia_Makassar /*name*/,
9572  0x6aa21c85 /*zoneId*/,
9573  &kZoneContext /*zoneContext*/,
9574  2 /*transitionBufSize*/,
9575  1 /*numEras*/,
9576  kZoneEraAsia_Makassar /*eras*/,
9577 };
9578 
9579 //---------------------------------------------------------------------------
9580 // Zone name: Asia/Manila
9581 // Zone Eras: 1
9582 // Strings (bytes): 16
9583 // Memory (8-bit): 39
9584 // Memory (32-bit): 52
9585 //---------------------------------------------------------------------------
9586 
9587 static const extended::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
9588  // 8:00 Phil P%sT
9589  {
9590  &kPolicyPhil /*zonePolicy*/,
9591  "P%T" /*format*/,
9592  32 /*offsetCode*/,
9593  (0 << 4) + (0 + 4) /*deltaCode*/,
9594  127 /*untilYearTiny*/,
9595  1 /*untilMonth*/,
9596  1 /*untilDay*/,
9597  0 /*untilTimeCode*/,
9598  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9599  },
9600 
9601 };
9602 
9603 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "Asia/Manila";
9604 
9605 const extended::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
9606  kZoneNameAsia_Manila /*name*/,
9607  0xc156c944 /*zoneId*/,
9608  &kZoneContext /*zoneContext*/,
9609  2 /*transitionBufSize*/,
9610  1 /*numEras*/,
9611  kZoneEraAsia_Manila /*eras*/,
9612 };
9613 
9614 //---------------------------------------------------------------------------
9615 // Zone name: Asia/Nicosia
9616 // Zone Eras: 1
9617 // Strings (bytes): 18
9618 // Memory (8-bit): 41
9619 // Memory (32-bit): 54
9620 //---------------------------------------------------------------------------
9621 
9622 static const extended::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
9623  // 2:00 EUAsia EE%sT
9624  {
9625  &kPolicyEUAsia /*zonePolicy*/,
9626  "EE%T" /*format*/,
9627  8 /*offsetCode*/,
9628  (0 << 4) + (0 + 4) /*deltaCode*/,
9629  127 /*untilYearTiny*/,
9630  1 /*untilMonth*/,
9631  1 /*untilDay*/,
9632  0 /*untilTimeCode*/,
9633  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9634  },
9635 
9636 };
9637 
9638 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "Asia/Nicosia";
9639 
9640 const extended::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
9641  kZoneNameAsia_Nicosia /*name*/,
9642  0x4b0fcf78 /*zoneId*/,
9643  &kZoneContext /*zoneContext*/,
9644  5 /*transitionBufSize*/,
9645  1 /*numEras*/,
9646  kZoneEraAsia_Nicosia /*eras*/,
9647 };
9648 
9649 //---------------------------------------------------------------------------
9650 // Zone name: Asia/Novokuznetsk
9651 // Zone Eras: 3
9652 // Strings (bytes): 38
9653 // Memory (8-bit): 83
9654 // Memory (32-bit): 106
9655 //---------------------------------------------------------------------------
9656 
9657 static const extended::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
9658  // 7:00 Russia +07/+08 2010 Mar 28 2:00s
9659  {
9660  &kPolicyRussia /*zonePolicy*/,
9661  "+07/+08" /*format*/,
9662  28 /*offsetCode*/,
9663  (0 << 4) + (0 + 4) /*deltaCode*/,
9664  10 /*untilYearTiny*/,
9665  3 /*untilMonth*/,
9666  28 /*untilDay*/,
9667  8 /*untilTimeCode*/,
9668  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9669  },
9670  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
9671  {
9672  &kPolicyRussia /*zonePolicy*/,
9673  "+06/+07" /*format*/,
9674  24 /*offsetCode*/,
9675  (0 << 4) + (0 + 4) /*deltaCode*/,
9676  11 /*untilYearTiny*/,
9677  3 /*untilMonth*/,
9678  27 /*untilDay*/,
9679  8 /*untilTimeCode*/,
9680  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9681  },
9682  // 7:00 - +07
9683  {
9684  nullptr /*zonePolicy*/,
9685  "+07" /*format*/,
9686  28 /*offsetCode*/,
9687  (0 << 4) + (0 + 4) /*deltaCode*/,
9688  127 /*untilYearTiny*/,
9689  1 /*untilMonth*/,
9690  1 /*untilDay*/,
9691  0 /*untilTimeCode*/,
9692  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9693  },
9694 
9695 };
9696 
9697 static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "Asia/Novokuznetsk";
9698 
9699 const extended::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
9700  kZoneNameAsia_Novokuznetsk /*name*/,
9701  0x69264f93 /*zoneId*/,
9702  &kZoneContext /*zoneContext*/,
9703  5 /*transitionBufSize*/,
9704  3 /*numEras*/,
9705  kZoneEraAsia_Novokuznetsk /*eras*/,
9706 };
9707 
9708 //---------------------------------------------------------------------------
9709 // Zone name: Asia/Novosibirsk
9710 // Zone Eras: 4
9711 // Strings (bytes): 37
9712 // Memory (8-bit): 93
9713 // Memory (32-bit): 121
9714 //---------------------------------------------------------------------------
9715 
9716 static const extended::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
9717  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
9718  {
9719  &kPolicyRussia /*zonePolicy*/,
9720  "+06/+07" /*format*/,
9721  24 /*offsetCode*/,
9722  (0 << 4) + (0 + 4) /*deltaCode*/,
9723  11 /*untilYearTiny*/,
9724  3 /*untilMonth*/,
9725  27 /*untilDay*/,
9726  8 /*untilTimeCode*/,
9727  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9728  },
9729  // 7:00 - +07 2014 Oct 26 2:00s
9730  {
9731  nullptr /*zonePolicy*/,
9732  "+07" /*format*/,
9733  28 /*offsetCode*/,
9734  (0 << 4) + (0 + 4) /*deltaCode*/,
9735  14 /*untilYearTiny*/,
9736  10 /*untilMonth*/,
9737  26 /*untilDay*/,
9738  8 /*untilTimeCode*/,
9739  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9740  },
9741  // 6:00 - +06 2016 Jul 24 2:00s
9742  {
9743  nullptr /*zonePolicy*/,
9744  "+06" /*format*/,
9745  24 /*offsetCode*/,
9746  (0 << 4) + (0 + 4) /*deltaCode*/,
9747  16 /*untilYearTiny*/,
9748  7 /*untilMonth*/,
9749  24 /*untilDay*/,
9750  8 /*untilTimeCode*/,
9751  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9752  },
9753  // 7:00 - +07
9754  {
9755  nullptr /*zonePolicy*/,
9756  "+07" /*format*/,
9757  28 /*offsetCode*/,
9758  (0 << 4) + (0 + 4) /*deltaCode*/,
9759  127 /*untilYearTiny*/,
9760  1 /*untilMonth*/,
9761  1 /*untilDay*/,
9762  0 /*untilTimeCode*/,
9763  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9764  },
9765 
9766 };
9767 
9768 static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "Asia/Novosibirsk";
9769 
9770 const extended::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
9771  kZoneNameAsia_Novosibirsk /*name*/,
9772  0xa2a435cb /*zoneId*/,
9773  &kZoneContext /*zoneContext*/,
9774  5 /*transitionBufSize*/,
9775  4 /*numEras*/,
9776  kZoneEraAsia_Novosibirsk /*eras*/,
9777 };
9778 
9779 //---------------------------------------------------------------------------
9780 // Zone name: Asia/Omsk
9781 // Zone Eras: 3
9782 // Strings (bytes): 26
9783 // Memory (8-bit): 71
9784 // Memory (32-bit): 94
9785 //---------------------------------------------------------------------------
9786 
9787 static const extended::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
9788  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
9789  {
9790  &kPolicyRussia /*zonePolicy*/,
9791  "+06/+07" /*format*/,
9792  24 /*offsetCode*/,
9793  (0 << 4) + (0 + 4) /*deltaCode*/,
9794  11 /*untilYearTiny*/,
9795  3 /*untilMonth*/,
9796  27 /*untilDay*/,
9797  8 /*untilTimeCode*/,
9798  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9799  },
9800  // 7:00 - +07 2014 Oct 26 2:00s
9801  {
9802  nullptr /*zonePolicy*/,
9803  "+07" /*format*/,
9804  28 /*offsetCode*/,
9805  (0 << 4) + (0 + 4) /*deltaCode*/,
9806  14 /*untilYearTiny*/,
9807  10 /*untilMonth*/,
9808  26 /*untilDay*/,
9809  8 /*untilTimeCode*/,
9810  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9811  },
9812  // 6:00 - +06
9813  {
9814  nullptr /*zonePolicy*/,
9815  "+06" /*format*/,
9816  24 /*offsetCode*/,
9817  (0 << 4) + (0 + 4) /*deltaCode*/,
9818  127 /*untilYearTiny*/,
9819  1 /*untilMonth*/,
9820  1 /*untilDay*/,
9821  0 /*untilTimeCode*/,
9822  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9823  },
9824 
9825 };
9826 
9827 static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "Asia/Omsk";
9828 
9829 const extended::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
9830  kZoneNameAsia_Omsk /*name*/,
9831  0x1faeddac /*zoneId*/,
9832  &kZoneContext /*zoneContext*/,
9833  5 /*transitionBufSize*/,
9834  3 /*numEras*/,
9835  kZoneEraAsia_Omsk /*eras*/,
9836 };
9837 
9838 //---------------------------------------------------------------------------
9839 // Zone name: Asia/Oral
9840 // Zone Eras: 2
9841 // Strings (bytes): 22
9842 // Memory (8-bit): 56
9843 // Memory (32-bit): 74
9844 //---------------------------------------------------------------------------
9845 
9846 static const extended::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
9847  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
9848  {
9849  &kPolicyRussiaAsia /*zonePolicy*/,
9850  "+04/+05" /*format*/,
9851  16 /*offsetCode*/,
9852  (0 << 4) + (0 + 4) /*deltaCode*/,
9853  4 /*untilYearTiny*/,
9854  10 /*untilMonth*/,
9855  31 /*untilDay*/,
9856  8 /*untilTimeCode*/,
9857  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
9858  },
9859  // 5:00 - +05
9860  {
9861  nullptr /*zonePolicy*/,
9862  "+05" /*format*/,
9863  20 /*offsetCode*/,
9864  (0 << 4) + (0 + 4) /*deltaCode*/,
9865  127 /*untilYearTiny*/,
9866  1 /*untilMonth*/,
9867  1 /*untilDay*/,
9868  0 /*untilTimeCode*/,
9869  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9870  },
9871 
9872 };
9873 
9874 static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "Asia/Oral";
9875 
9876 const extended::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
9877  kZoneNameAsia_Oral /*name*/,
9878  0x1faef0a0 /*zoneId*/,
9879  &kZoneContext /*zoneContext*/,
9880  5 /*transitionBufSize*/,
9881  2 /*numEras*/,
9882  kZoneEraAsia_Oral /*eras*/,
9883 };
9884 
9885 //---------------------------------------------------------------------------
9886 // Zone name: Asia/Pontianak
9887 // Zone Eras: 1
9888 // Strings (bytes): 19
9889 // Memory (8-bit): 42
9890 // Memory (32-bit): 55
9891 //---------------------------------------------------------------------------
9892 
9893 static const extended::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
9894  // 7:00 - WIB
9895  {
9896  nullptr /*zonePolicy*/,
9897  "WIB" /*format*/,
9898  28 /*offsetCode*/,
9899  (0 << 4) + (0 + 4) /*deltaCode*/,
9900  127 /*untilYearTiny*/,
9901  1 /*untilMonth*/,
9902  1 /*untilDay*/,
9903  0 /*untilTimeCode*/,
9904  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9905  },
9906 
9907 };
9908 
9909 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "Asia/Pontianak";
9910 
9911 const extended::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
9912  kZoneNameAsia_Pontianak /*name*/,
9913  0x1a76c057 /*zoneId*/,
9914  &kZoneContext /*zoneContext*/,
9915  2 /*transitionBufSize*/,
9916  1 /*numEras*/,
9917  kZoneEraAsia_Pontianak /*eras*/,
9918 };
9919 
9920 //---------------------------------------------------------------------------
9921 // Zone name: Asia/Pyongyang
9922 // Zone Eras: 3
9923 // Strings (bytes): 27
9924 // Memory (8-bit): 72
9925 // Memory (32-bit): 95
9926 //---------------------------------------------------------------------------
9927 
9928 static const extended::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
9929  // 9:00 - KST 2015 Aug 15 00:00
9930  {
9931  nullptr /*zonePolicy*/,
9932  "KST" /*format*/,
9933  36 /*offsetCode*/,
9934  (0 << 4) + (0 + 4) /*deltaCode*/,
9935  15 /*untilYearTiny*/,
9936  8 /*untilMonth*/,
9937  15 /*untilDay*/,
9938  0 /*untilTimeCode*/,
9939  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9940  },
9941  // 8:30 - KST 2018 May 4 23:30
9942  {
9943  nullptr /*zonePolicy*/,
9944  "KST" /*format*/,
9945  34 /*offsetCode*/,
9946  (0 << 4) + (0 + 4) /*deltaCode*/,
9947  18 /*untilYearTiny*/,
9948  5 /*untilMonth*/,
9949  4 /*untilDay*/,
9950  94 /*untilTimeCode*/,
9951  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9952  },
9953  // 9:00 - KST
9954  {
9955  nullptr /*zonePolicy*/,
9956  "KST" /*format*/,
9957  36 /*offsetCode*/,
9958  (0 << 4) + (0 + 4) /*deltaCode*/,
9959  127 /*untilYearTiny*/,
9960  1 /*untilMonth*/,
9961  1 /*untilDay*/,
9962  0 /*untilTimeCode*/,
9963  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9964  },
9965 
9966 };
9967 
9968 static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "Asia/Pyongyang";
9969 
9970 const extended::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
9971  kZoneNameAsia_Pyongyang /*name*/,
9972  0x93ed1c8e /*zoneId*/,
9973  &kZoneContext /*zoneContext*/,
9974  3 /*transitionBufSize*/,
9975  3 /*numEras*/,
9976  kZoneEraAsia_Pyongyang /*eras*/,
9977 };
9978 
9979 //---------------------------------------------------------------------------
9980 // Zone name: Asia/Qatar
9981 // Zone Eras: 1
9982 // Strings (bytes): 15
9983 // Memory (8-bit): 38
9984 // Memory (32-bit): 51
9985 //---------------------------------------------------------------------------
9986 
9987 static const extended::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
9988  // 3:00 - +03
9989  {
9990  nullptr /*zonePolicy*/,
9991  "+03" /*format*/,
9992  12 /*offsetCode*/,
9993  (0 << 4) + (0 + 4) /*deltaCode*/,
9994  127 /*untilYearTiny*/,
9995  1 /*untilMonth*/,
9996  1 /*untilDay*/,
9997  0 /*untilTimeCode*/,
9998  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
9999  },
10000 
10001 };
10002 
10003 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "Asia/Qatar";
10004 
10005 const extended::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
10006  kZoneNameAsia_Qatar /*name*/,
10007  0x15a8330b /*zoneId*/,
10008  &kZoneContext /*zoneContext*/,
10009  2 /*transitionBufSize*/,
10010  1 /*numEras*/,
10011  kZoneEraAsia_Qatar /*eras*/,
10012 };
10013 
10014 //---------------------------------------------------------------------------
10015 // Zone name: Asia/Qostanay
10016 // Zone Eras: 2
10017 // Strings (bytes): 26
10018 // Memory (8-bit): 60
10019 // Memory (32-bit): 78
10020 //---------------------------------------------------------------------------
10021 
10022 static const extended::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
10023  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
10024  {
10025  &kPolicyRussiaAsia /*zonePolicy*/,
10026  "+05/+06" /*format*/,
10027  20 /*offsetCode*/,
10028  (0 << 4) + (0 + 4) /*deltaCode*/,
10029  4 /*untilYearTiny*/,
10030  10 /*untilMonth*/,
10031  31 /*untilDay*/,
10032  8 /*untilTimeCode*/,
10033  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10034  },
10035  // 6:00 - +06
10036  {
10037  nullptr /*zonePolicy*/,
10038  "+06" /*format*/,
10039  24 /*offsetCode*/,
10040  (0 << 4) + (0 + 4) /*deltaCode*/,
10041  127 /*untilYearTiny*/,
10042  1 /*untilMonth*/,
10043  1 /*untilDay*/,
10044  0 /*untilTimeCode*/,
10045  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10046  },
10047 
10048 };
10049 
10050 static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "Asia/Qostanay";
10051 
10052 const extended::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
10053  kZoneNameAsia_Qostanay /*name*/,
10054  0x654fe522 /*zoneId*/,
10055  &kZoneContext /*zoneContext*/,
10056  5 /*transitionBufSize*/,
10057  2 /*numEras*/,
10058  kZoneEraAsia_Qostanay /*eras*/,
10059 };
10060 
10061 //---------------------------------------------------------------------------
10062 // Zone name: Asia/Qyzylorda
10063 // Zone Eras: 3
10064 // Strings (bytes): 31
10065 // Memory (8-bit): 76
10066 // Memory (32-bit): 99
10067 //---------------------------------------------------------------------------
10068 
10069 static const extended::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
10070  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
10071  {
10072  &kPolicyRussiaAsia /*zonePolicy*/,
10073  "+05/+06" /*format*/,
10074  20 /*offsetCode*/,
10075  (0 << 4) + (0 + 4) /*deltaCode*/,
10076  4 /*untilYearTiny*/,
10077  10 /*untilMonth*/,
10078  31 /*untilDay*/,
10079  8 /*untilTimeCode*/,
10080  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10081  },
10082  // 6:00 - +06 2018 Dec 21 0:00
10083  {
10084  nullptr /*zonePolicy*/,
10085  "+06" /*format*/,
10086  24 /*offsetCode*/,
10087  (0 << 4) + (0 + 4) /*deltaCode*/,
10088  18 /*untilYearTiny*/,
10089  12 /*untilMonth*/,
10090  21 /*untilDay*/,
10091  0 /*untilTimeCode*/,
10092  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10093  },
10094  // 5:00 - +05
10095  {
10096  nullptr /*zonePolicy*/,
10097  "+05" /*format*/,
10098  20 /*offsetCode*/,
10099  (0 << 4) + (0 + 4) /*deltaCode*/,
10100  127 /*untilYearTiny*/,
10101  1 /*untilMonth*/,
10102  1 /*untilDay*/,
10103  0 /*untilTimeCode*/,
10104  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10105  },
10106 
10107 };
10108 
10109 static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "Asia/Qyzylorda";
10110 
10111 const extended::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
10112  kZoneNameAsia_Qyzylorda /*name*/,
10113  0x71282e81 /*zoneId*/,
10114  &kZoneContext /*zoneContext*/,
10115  5 /*transitionBufSize*/,
10116  3 /*numEras*/,
10117  kZoneEraAsia_Qyzylorda /*eras*/,
10118 };
10119 
10120 //---------------------------------------------------------------------------
10121 // Zone name: Asia/Riyadh
10122 // Zone Eras: 1
10123 // Strings (bytes): 16
10124 // Memory (8-bit): 39
10125 // Memory (32-bit): 52
10126 //---------------------------------------------------------------------------
10127 
10128 static const extended::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
10129  // 3:00 - +03
10130  {
10131  nullptr /*zonePolicy*/,
10132  "+03" /*format*/,
10133  12 /*offsetCode*/,
10134  (0 << 4) + (0 + 4) /*deltaCode*/,
10135  127 /*untilYearTiny*/,
10136  1 /*untilMonth*/,
10137  1 /*untilDay*/,
10138  0 /*untilTimeCode*/,
10139  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10140  },
10141 
10142 };
10143 
10144 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "Asia/Riyadh";
10145 
10146 const extended::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
10147  kZoneNameAsia_Riyadh /*name*/,
10148  0xcd973d93 /*zoneId*/,
10149  &kZoneContext /*zoneContext*/,
10150  2 /*transitionBufSize*/,
10151  1 /*numEras*/,
10152  kZoneEraAsia_Riyadh /*eras*/,
10153 };
10154 
10155 //---------------------------------------------------------------------------
10156 // Zone name: Asia/Sakhalin
10157 // Zone Eras: 4
10158 // Strings (bytes): 34
10159 // Memory (8-bit): 90
10160 // Memory (32-bit): 118
10161 //---------------------------------------------------------------------------
10162 
10163 static const extended::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
10164  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
10165  {
10166  &kPolicyRussia /*zonePolicy*/,
10167  "+10/+11" /*format*/,
10168  40 /*offsetCode*/,
10169  (0 << 4) + (0 + 4) /*deltaCode*/,
10170  11 /*untilYearTiny*/,
10171  3 /*untilMonth*/,
10172  27 /*untilDay*/,
10173  8 /*untilTimeCode*/,
10174  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10175  },
10176  // 11:00 - +11 2014 Oct 26 2:00s
10177  {
10178  nullptr /*zonePolicy*/,
10179  "+11" /*format*/,
10180  44 /*offsetCode*/,
10181  (0 << 4) + (0 + 4) /*deltaCode*/,
10182  14 /*untilYearTiny*/,
10183  10 /*untilMonth*/,
10184  26 /*untilDay*/,
10185  8 /*untilTimeCode*/,
10186  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10187  },
10188  // 10:00 - +10 2016 Mar 27 2:00s
10189  {
10190  nullptr /*zonePolicy*/,
10191  "+10" /*format*/,
10192  40 /*offsetCode*/,
10193  (0 << 4) + (0 + 4) /*deltaCode*/,
10194  16 /*untilYearTiny*/,
10195  3 /*untilMonth*/,
10196  27 /*untilDay*/,
10197  8 /*untilTimeCode*/,
10198  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10199  },
10200  // 11:00 - +11
10201  {
10202  nullptr /*zonePolicy*/,
10203  "+11" /*format*/,
10204  44 /*offsetCode*/,
10205  (0 << 4) + (0 + 4) /*deltaCode*/,
10206  127 /*untilYearTiny*/,
10207  1 /*untilMonth*/,
10208  1 /*untilDay*/,
10209  0 /*untilTimeCode*/,
10210  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10211  },
10212 
10213 };
10214 
10215 static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "Asia/Sakhalin";
10216 
10217 const extended::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
10218  kZoneNameAsia_Sakhalin /*name*/,
10219  0xf4a1c9bd /*zoneId*/,
10220  &kZoneContext /*zoneContext*/,
10221  5 /*transitionBufSize*/,
10222  4 /*numEras*/,
10223  kZoneEraAsia_Sakhalin /*eras*/,
10224 };
10225 
10226 //---------------------------------------------------------------------------
10227 // Zone name: Asia/Samarkand
10228 // Zone Eras: 1
10229 // Strings (bytes): 19
10230 // Memory (8-bit): 42
10231 // Memory (32-bit): 55
10232 //---------------------------------------------------------------------------
10233 
10234 static const extended::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
10235  // 5:00 - +05
10236  {
10237  nullptr /*zonePolicy*/,
10238  "+05" /*format*/,
10239  20 /*offsetCode*/,
10240  (0 << 4) + (0 + 4) /*deltaCode*/,
10241  127 /*untilYearTiny*/,
10242  1 /*untilMonth*/,
10243  1 /*untilDay*/,
10244  0 /*untilTimeCode*/,
10245  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10246  },
10247 
10248 };
10249 
10250 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "Asia/Samarkand";
10251 
10252 const extended::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
10253  kZoneNameAsia_Samarkand /*name*/,
10254  0x13ae5104 /*zoneId*/,
10255  &kZoneContext /*zoneContext*/,
10256  2 /*transitionBufSize*/,
10257  1 /*numEras*/,
10258  kZoneEraAsia_Samarkand /*eras*/,
10259 };
10260 
10261 //---------------------------------------------------------------------------
10262 // Zone name: Asia/Seoul
10263 // Zone Eras: 1
10264 // Strings (bytes): 15
10265 // Memory (8-bit): 38
10266 // Memory (32-bit): 51
10267 //---------------------------------------------------------------------------
10268 
10269 static const extended::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
10270  // 9:00 ROK K%sT
10271  {
10272  &kPolicyROK /*zonePolicy*/,
10273  "K%T" /*format*/,
10274  36 /*offsetCode*/,
10275  (0 << 4) + (0 + 4) /*deltaCode*/,
10276  127 /*untilYearTiny*/,
10277  1 /*untilMonth*/,
10278  1 /*untilDay*/,
10279  0 /*untilTimeCode*/,
10280  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10281  },
10282 
10283 };
10284 
10285 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "Asia/Seoul";
10286 
10287 const extended::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
10288  kZoneNameAsia_Seoul /*name*/,
10289  0x15ce82da /*zoneId*/,
10290  &kZoneContext /*zoneContext*/,
10291  2 /*transitionBufSize*/,
10292  1 /*numEras*/,
10293  kZoneEraAsia_Seoul /*eras*/,
10294 };
10295 
10296 //---------------------------------------------------------------------------
10297 // Zone name: Asia/Shanghai
10298 // Zone Eras: 1
10299 // Strings (bytes): 18
10300 // Memory (8-bit): 41
10301 // Memory (32-bit): 54
10302 //---------------------------------------------------------------------------
10303 
10304 static const extended::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
10305  // 8:00 PRC C%sT
10306  {
10307  &kPolicyPRC /*zonePolicy*/,
10308  "C%T" /*format*/,
10309  32 /*offsetCode*/,
10310  (0 << 4) + (0 + 4) /*deltaCode*/,
10311  127 /*untilYearTiny*/,
10312  1 /*untilMonth*/,
10313  1 /*untilDay*/,
10314  0 /*untilTimeCode*/,
10315  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10316  },
10317 
10318 };
10319 
10320 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "Asia/Shanghai";
10321 
10322 const extended::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
10323  kZoneNameAsia_Shanghai /*name*/,
10324  0xf895a7f5 /*zoneId*/,
10325  &kZoneContext /*zoneContext*/,
10326  2 /*transitionBufSize*/,
10327  1 /*numEras*/,
10328  kZoneEraAsia_Shanghai /*eras*/,
10329 };
10330 
10331 //---------------------------------------------------------------------------
10332 // Zone name: Asia/Singapore
10333 // Zone Eras: 1
10334 // Strings (bytes): 19
10335 // Memory (8-bit): 42
10336 // Memory (32-bit): 55
10337 //---------------------------------------------------------------------------
10338 
10339 static const extended::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
10340  // 8:00 - +08
10341  {
10342  nullptr /*zonePolicy*/,
10343  "+08" /*format*/,
10344  32 /*offsetCode*/,
10345  (0 << 4) + (0 + 4) /*deltaCode*/,
10346  127 /*untilYearTiny*/,
10347  1 /*untilMonth*/,
10348  1 /*untilDay*/,
10349  0 /*untilTimeCode*/,
10350  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10351  },
10352 
10353 };
10354 
10355 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "Asia/Singapore";
10356 
10357 const extended::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
10358  kZoneNameAsia_Singapore /*name*/,
10359  0xcf8581fa /*zoneId*/,
10360  &kZoneContext /*zoneContext*/,
10361  2 /*transitionBufSize*/,
10362  1 /*numEras*/,
10363  kZoneEraAsia_Singapore /*eras*/,
10364 };
10365 
10366 //---------------------------------------------------------------------------
10367 // Zone name: Asia/Srednekolymsk
10368 // Zone Eras: 3
10369 // Strings (bytes): 35
10370 // Memory (8-bit): 80
10371 // Memory (32-bit): 103
10372 //---------------------------------------------------------------------------
10373 
10374 static const extended::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
10375  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
10376  {
10377  &kPolicyRussia /*zonePolicy*/,
10378  "+11/+12" /*format*/,
10379  44 /*offsetCode*/,
10380  (0 << 4) + (0 + 4) /*deltaCode*/,
10381  11 /*untilYearTiny*/,
10382  3 /*untilMonth*/,
10383  27 /*untilDay*/,
10384  8 /*untilTimeCode*/,
10385  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10386  },
10387  // 12:00 - +12 2014 Oct 26 2:00s
10388  {
10389  nullptr /*zonePolicy*/,
10390  "+12" /*format*/,
10391  48 /*offsetCode*/,
10392  (0 << 4) + (0 + 4) /*deltaCode*/,
10393  14 /*untilYearTiny*/,
10394  10 /*untilMonth*/,
10395  26 /*untilDay*/,
10396  8 /*untilTimeCode*/,
10397  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10398  },
10399  // 11:00 - +11
10400  {
10401  nullptr /*zonePolicy*/,
10402  "+11" /*format*/,
10403  44 /*offsetCode*/,
10404  (0 << 4) + (0 + 4) /*deltaCode*/,
10405  127 /*untilYearTiny*/,
10406  1 /*untilMonth*/,
10407  1 /*untilDay*/,
10408  0 /*untilTimeCode*/,
10409  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10410  },
10411 
10412 };
10413 
10414 static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "Asia/Srednekolymsk";
10415 
10416 const extended::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
10417  kZoneNameAsia_Srednekolymsk /*name*/,
10418  0xbf8e337d /*zoneId*/,
10419  &kZoneContext /*zoneContext*/,
10420  5 /*transitionBufSize*/,
10421  3 /*numEras*/,
10422  kZoneEraAsia_Srednekolymsk /*eras*/,
10423 };
10424 
10425 //---------------------------------------------------------------------------
10426 // Zone name: Asia/Taipei
10427 // Zone Eras: 1
10428 // Strings (bytes): 16
10429 // Memory (8-bit): 39
10430 // Memory (32-bit): 52
10431 //---------------------------------------------------------------------------
10432 
10433 static const extended::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
10434  // 8:00 Taiwan C%sT
10435  {
10436  &kPolicyTaiwan /*zonePolicy*/,
10437  "C%T" /*format*/,
10438  32 /*offsetCode*/,
10439  (0 << 4) + (0 + 4) /*deltaCode*/,
10440  127 /*untilYearTiny*/,
10441  1 /*untilMonth*/,
10442  1 /*untilDay*/,
10443  0 /*untilTimeCode*/,
10444  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10445  },
10446 
10447 };
10448 
10449 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "Asia/Taipei";
10450 
10451 const extended::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
10452  kZoneNameAsia_Taipei /*name*/,
10453  0xd1a844ae /*zoneId*/,
10454  &kZoneContext /*zoneContext*/,
10455  2 /*transitionBufSize*/,
10456  1 /*numEras*/,
10457  kZoneEraAsia_Taipei /*eras*/,
10458 };
10459 
10460 //---------------------------------------------------------------------------
10461 // Zone name: Asia/Tashkent
10462 // Zone Eras: 1
10463 // Strings (bytes): 18
10464 // Memory (8-bit): 41
10465 // Memory (32-bit): 54
10466 //---------------------------------------------------------------------------
10467 
10468 static const extended::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
10469  // 5:00 - +05
10470  {
10471  nullptr /*zonePolicy*/,
10472  "+05" /*format*/,
10473  20 /*offsetCode*/,
10474  (0 << 4) + (0 + 4) /*deltaCode*/,
10475  127 /*untilYearTiny*/,
10476  1 /*untilMonth*/,
10477  1 /*untilDay*/,
10478  0 /*untilTimeCode*/,
10479  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10480  },
10481 
10482 };
10483 
10484 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "Asia/Tashkent";
10485 
10486 const extended::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
10487  kZoneNameAsia_Tashkent /*name*/,
10488  0xf3924254 /*zoneId*/,
10489  &kZoneContext /*zoneContext*/,
10490  2 /*transitionBufSize*/,
10491  1 /*numEras*/,
10492  kZoneEraAsia_Tashkent /*eras*/,
10493 };
10494 
10495 //---------------------------------------------------------------------------
10496 // Zone name: Asia/Tbilisi
10497 // Zone Eras: 3
10498 // Strings (bytes): 33
10499 // Memory (8-bit): 78
10500 // Memory (32-bit): 101
10501 //---------------------------------------------------------------------------
10502 
10503 static const extended::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
10504  // 4:00 E-EurAsia +04/+05 2004 Jun 27
10505  {
10506  &kPolicyE_EurAsia /*zonePolicy*/,
10507  "+04/+05" /*format*/,
10508  16 /*offsetCode*/,
10509  (0 << 4) + (0 + 4) /*deltaCode*/,
10510  4 /*untilYearTiny*/,
10511  6 /*untilMonth*/,
10512  27 /*untilDay*/,
10513  0 /*untilTimeCode*/,
10514  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10515  },
10516  // 3:00 RussiaAsia +03/+04 2005 Mar lastSun 2:00
10517  {
10518  &kPolicyRussiaAsia /*zonePolicy*/,
10519  "+03/+04" /*format*/,
10520  12 /*offsetCode*/,
10521  (0 << 4) + (0 + 4) /*deltaCode*/,
10522  5 /*untilYearTiny*/,
10523  3 /*untilMonth*/,
10524  27 /*untilDay*/,
10525  8 /*untilTimeCode*/,
10526  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10527  },
10528  // 4:00 - +04
10529  {
10530  nullptr /*zonePolicy*/,
10531  "+04" /*format*/,
10532  16 /*offsetCode*/,
10533  (0 << 4) + (0 + 4) /*deltaCode*/,
10534  127 /*untilYearTiny*/,
10535  1 /*untilMonth*/,
10536  1 /*untilDay*/,
10537  0 /*untilTimeCode*/,
10538  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10539  },
10540 
10541 };
10542 
10543 static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "Asia/Tbilisi";
10544 
10545 const extended::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
10546  kZoneNameAsia_Tbilisi /*name*/,
10547  0x0903e442 /*zoneId*/,
10548  &kZoneContext /*zoneContext*/,
10549  6 /*transitionBufSize*/,
10550  3 /*numEras*/,
10551  kZoneEraAsia_Tbilisi /*eras*/,
10552 };
10553 
10554 //---------------------------------------------------------------------------
10555 // Zone name: Asia/Tehran
10556 // Zone Eras: 1
10557 // Strings (bytes): 24
10558 // Memory (8-bit): 47
10559 // Memory (32-bit): 60
10560 //---------------------------------------------------------------------------
10561 
10562 static const extended::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
10563  // 3:30 Iran +0330/+0430
10564  {
10565  &kPolicyIran /*zonePolicy*/,
10566  "+0330/+0430" /*format*/,
10567  14 /*offsetCode*/,
10568  (0 << 4) + (0 + 4) /*deltaCode*/,
10569  127 /*untilYearTiny*/,
10570  1 /*untilMonth*/,
10571  1 /*untilDay*/,
10572  0 /*untilTimeCode*/,
10573  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10574  },
10575 
10576 };
10577 
10578 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "Asia/Tehran";
10579 
10580 const extended::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
10581  kZoneNameAsia_Tehran /*name*/,
10582  0xd1f02254 /*zoneId*/,
10583  &kZoneContext /*zoneContext*/,
10584  5 /*transitionBufSize*/,
10585  1 /*numEras*/,
10586  kZoneEraAsia_Tehran /*eras*/,
10587 };
10588 
10589 //---------------------------------------------------------------------------
10590 // Zone name: Asia/Thimphu
10591 // Zone Eras: 1
10592 // Strings (bytes): 17
10593 // Memory (8-bit): 40
10594 // Memory (32-bit): 53
10595 //---------------------------------------------------------------------------
10596 
10597 static const extended::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
10598  // 6:00 - +06
10599  {
10600  nullptr /*zonePolicy*/,
10601  "+06" /*format*/,
10602  24 /*offsetCode*/,
10603  (0 << 4) + (0 + 4) /*deltaCode*/,
10604  127 /*untilYearTiny*/,
10605  1 /*untilMonth*/,
10606  1 /*untilDay*/,
10607  0 /*untilTimeCode*/,
10608  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10609  },
10610 
10611 };
10612 
10613 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "Asia/Thimphu";
10614 
10615 const extended::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
10616  kZoneNameAsia_Thimphu /*name*/,
10617  0x170380d1 /*zoneId*/,
10618  &kZoneContext /*zoneContext*/,
10619  2 /*transitionBufSize*/,
10620  1 /*numEras*/,
10621  kZoneEraAsia_Thimphu /*eras*/,
10622 };
10623 
10624 //---------------------------------------------------------------------------
10625 // Zone name: Asia/Tokyo
10626 // Zone Eras: 1
10627 // Strings (bytes): 15
10628 // Memory (8-bit): 38
10629 // Memory (32-bit): 51
10630 //---------------------------------------------------------------------------
10631 
10632 static const extended::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
10633  // 9:00 Japan J%sT
10634  {
10635  &kPolicyJapan /*zonePolicy*/,
10636  "J%T" /*format*/,
10637  36 /*offsetCode*/,
10638  (0 << 4) + (0 + 4) /*deltaCode*/,
10639  127 /*untilYearTiny*/,
10640  1 /*untilMonth*/,
10641  1 /*untilDay*/,
10642  0 /*untilTimeCode*/,
10643  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10644  },
10645 
10646 };
10647 
10648 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "Asia/Tokyo";
10649 
10650 const extended::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
10651  kZoneNameAsia_Tokyo /*name*/,
10652  0x15e606a8 /*zoneId*/,
10653  &kZoneContext /*zoneContext*/,
10654  2 /*transitionBufSize*/,
10655  1 /*numEras*/,
10656  kZoneEraAsia_Tokyo /*eras*/,
10657 };
10658 
10659 //---------------------------------------------------------------------------
10660 // Zone name: Asia/Tomsk
10661 // Zone Eras: 5
10662 // Strings (bytes): 39
10663 // Memory (8-bit): 106
10664 // Memory (32-bit): 139
10665 //---------------------------------------------------------------------------
10666 
10667 static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
10668  // 7:00 Russia +07/+08 2002 May 1 3:00
10669  {
10670  &kPolicyRussia /*zonePolicy*/,
10671  "+07/+08" /*format*/,
10672  28 /*offsetCode*/,
10673  (0 << 4) + (0 + 4) /*deltaCode*/,
10674  2 /*untilYearTiny*/,
10675  5 /*untilMonth*/,
10676  1 /*untilDay*/,
10677  12 /*untilTimeCode*/,
10678  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10679  },
10680  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
10681  {
10682  &kPolicyRussia /*zonePolicy*/,
10683  "+06/+07" /*format*/,
10684  24 /*offsetCode*/,
10685  (0 << 4) + (0 + 4) /*deltaCode*/,
10686  11 /*untilYearTiny*/,
10687  3 /*untilMonth*/,
10688  27 /*untilDay*/,
10689  8 /*untilTimeCode*/,
10690  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10691  },
10692  // 7:00 - +07 2014 Oct 26 2:00s
10693  {
10694  nullptr /*zonePolicy*/,
10695  "+07" /*format*/,
10696  28 /*offsetCode*/,
10697  (0 << 4) + (0 + 4) /*deltaCode*/,
10698  14 /*untilYearTiny*/,
10699  10 /*untilMonth*/,
10700  26 /*untilDay*/,
10701  8 /*untilTimeCode*/,
10702  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10703  },
10704  // 6:00 - +06 2016 May 29 2:00s
10705  {
10706  nullptr /*zonePolicy*/,
10707  "+06" /*format*/,
10708  24 /*offsetCode*/,
10709  (0 << 4) + (0 + 4) /*deltaCode*/,
10710  16 /*untilYearTiny*/,
10711  5 /*untilMonth*/,
10712  29 /*untilDay*/,
10713  8 /*untilTimeCode*/,
10714  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10715  },
10716  // 7:00 - +07
10717  {
10718  nullptr /*zonePolicy*/,
10719  "+07" /*format*/,
10720  28 /*offsetCode*/,
10721  (0 << 4) + (0 + 4) /*deltaCode*/,
10722  127 /*untilYearTiny*/,
10723  1 /*untilMonth*/,
10724  1 /*untilDay*/,
10725  0 /*untilTimeCode*/,
10726  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10727  },
10728 
10729 };
10730 
10731 static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "Asia/Tomsk";
10732 
10733 const extended::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
10734  kZoneNameAsia_Tomsk /*name*/,
10735  0x15e60e60 /*zoneId*/,
10736  &kZoneContext /*zoneContext*/,
10737  6 /*transitionBufSize*/,
10738  5 /*numEras*/,
10739  kZoneEraAsia_Tomsk /*eras*/,
10740 };
10741 
10742 //---------------------------------------------------------------------------
10743 // Zone name: Asia/Ulaanbaatar
10744 // Zone Eras: 1
10745 // Strings (bytes): 25
10746 // Memory (8-bit): 48
10747 // Memory (32-bit): 61
10748 //---------------------------------------------------------------------------
10749 
10750 static const extended::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
10751  // 8:00 Mongol +08/+09
10752  {
10753  &kPolicyMongol /*zonePolicy*/,
10754  "+08/+09" /*format*/,
10755  32 /*offsetCode*/,
10756  (0 << 4) + (0 + 4) /*deltaCode*/,
10757  127 /*untilYearTiny*/,
10758  1 /*untilMonth*/,
10759  1 /*untilDay*/,
10760  0 /*untilTimeCode*/,
10761  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10762  },
10763 
10764 };
10765 
10766 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "Asia/Ulaanbaatar";
10767 
10768 const extended::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
10769  kZoneNameAsia_Ulaanbaatar /*name*/,
10770  0x30f0cc4e /*zoneId*/,
10771  &kZoneContext /*zoneContext*/,
10772  5 /*transitionBufSize*/,
10773  1 /*numEras*/,
10774  kZoneEraAsia_Ulaanbaatar /*eras*/,
10775 };
10776 
10777 //---------------------------------------------------------------------------
10778 // Zone name: Asia/Urumqi
10779 // Zone Eras: 1
10780 // Strings (bytes): 16
10781 // Memory (8-bit): 39
10782 // Memory (32-bit): 52
10783 //---------------------------------------------------------------------------
10784 
10785 static const extended::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
10786  // 6:00 - +06
10787  {
10788  nullptr /*zonePolicy*/,
10789  "+06" /*format*/,
10790  24 /*offsetCode*/,
10791  (0 << 4) + (0 + 4) /*deltaCode*/,
10792  127 /*untilYearTiny*/,
10793  1 /*untilMonth*/,
10794  1 /*untilDay*/,
10795  0 /*untilTimeCode*/,
10796  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10797  },
10798 
10799 };
10800 
10801 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "Asia/Urumqi";
10802 
10803 const extended::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
10804  kZoneNameAsia_Urumqi /*name*/,
10805  0xd5379735 /*zoneId*/,
10806  &kZoneContext /*zoneContext*/,
10807  2 /*transitionBufSize*/,
10808  1 /*numEras*/,
10809  kZoneEraAsia_Urumqi /*eras*/,
10810 };
10811 
10812 //---------------------------------------------------------------------------
10813 // Zone name: Asia/Ust-Nera
10814 // Zone Eras: 4
10815 // Strings (bytes): 34
10816 // Memory (8-bit): 90
10817 // Memory (32-bit): 118
10818 //---------------------------------------------------------------------------
10819 
10820 static const extended::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
10821  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
10822  {
10823  &kPolicyRussia /*zonePolicy*/,
10824  "+11/+12" /*format*/,
10825  44 /*offsetCode*/,
10826  (0 << 4) + (0 + 4) /*deltaCode*/,
10827  11 /*untilYearTiny*/,
10828  3 /*untilMonth*/,
10829  27 /*untilDay*/,
10830  8 /*untilTimeCode*/,
10831  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10832  },
10833  // 12:00 - +12 2011 Sep 13 0:00s
10834  {
10835  nullptr /*zonePolicy*/,
10836  "+12" /*format*/,
10837  48 /*offsetCode*/,
10838  (0 << 4) + (0 + 4) /*deltaCode*/,
10839  11 /*untilYearTiny*/,
10840  9 /*untilMonth*/,
10841  13 /*untilDay*/,
10842  0 /*untilTimeCode*/,
10843  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10844  },
10845  // 11:00 - +11 2014 Oct 26 2:00s
10846  {
10847  nullptr /*zonePolicy*/,
10848  "+11" /*format*/,
10849  44 /*offsetCode*/,
10850  (0 << 4) + (0 + 4) /*deltaCode*/,
10851  14 /*untilYearTiny*/,
10852  10 /*untilMonth*/,
10853  26 /*untilDay*/,
10854  8 /*untilTimeCode*/,
10855  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10856  },
10857  // 10:00 - +10
10858  {
10859  nullptr /*zonePolicy*/,
10860  "+10" /*format*/,
10861  40 /*offsetCode*/,
10862  (0 << 4) + (0 + 4) /*deltaCode*/,
10863  127 /*untilYearTiny*/,
10864  1 /*untilMonth*/,
10865  1 /*untilDay*/,
10866  0 /*untilTimeCode*/,
10867  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10868  },
10869 
10870 };
10871 
10872 static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "Asia/Ust-Nera";
10873 
10874 const extended::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
10875  kZoneNameAsia_Ust_Nera /*name*/,
10876  0x4785f921 /*zoneId*/,
10877  &kZoneContext /*zoneContext*/,
10878  5 /*transitionBufSize*/,
10879  4 /*numEras*/,
10880  kZoneEraAsia_Ust_Nera /*eras*/,
10881 };
10882 
10883 //---------------------------------------------------------------------------
10884 // Zone name: Asia/Vladivostok
10885 // Zone Eras: 3
10886 // Strings (bytes): 33
10887 // Memory (8-bit): 78
10888 // Memory (32-bit): 101
10889 //---------------------------------------------------------------------------
10890 
10891 static const extended::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
10892  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
10893  {
10894  &kPolicyRussia /*zonePolicy*/,
10895  "+10/+11" /*format*/,
10896  40 /*offsetCode*/,
10897  (0 << 4) + (0 + 4) /*deltaCode*/,
10898  11 /*untilYearTiny*/,
10899  3 /*untilMonth*/,
10900  27 /*untilDay*/,
10901  8 /*untilTimeCode*/,
10902  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10903  },
10904  // 11:00 - +11 2014 Oct 26 2:00s
10905  {
10906  nullptr /*zonePolicy*/,
10907  "+11" /*format*/,
10908  44 /*offsetCode*/,
10909  (0 << 4) + (0 + 4) /*deltaCode*/,
10910  14 /*untilYearTiny*/,
10911  10 /*untilMonth*/,
10912  26 /*untilDay*/,
10913  8 /*untilTimeCode*/,
10914  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10915  },
10916  // 10:00 - +10
10917  {
10918  nullptr /*zonePolicy*/,
10919  "+10" /*format*/,
10920  40 /*offsetCode*/,
10921  (0 << 4) + (0 + 4) /*deltaCode*/,
10922  127 /*untilYearTiny*/,
10923  1 /*untilMonth*/,
10924  1 /*untilDay*/,
10925  0 /*untilTimeCode*/,
10926  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10927  },
10928 
10929 };
10930 
10931 static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "Asia/Vladivostok";
10932 
10933 const extended::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
10934  kZoneNameAsia_Vladivostok /*name*/,
10935  0x29de34a8 /*zoneId*/,
10936  &kZoneContext /*zoneContext*/,
10937  5 /*transitionBufSize*/,
10938  3 /*numEras*/,
10939  kZoneEraAsia_Vladivostok /*eras*/,
10940 };
10941 
10942 //---------------------------------------------------------------------------
10943 // Zone name: Asia/Yakutsk
10944 // Zone Eras: 3
10945 // Strings (bytes): 29
10946 // Memory (8-bit): 74
10947 // Memory (32-bit): 97
10948 //---------------------------------------------------------------------------
10949 
10950 static const extended::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
10951  // 9:00 Russia +09/+10 2011 Mar 27 2:00s
10952  {
10953  &kPolicyRussia /*zonePolicy*/,
10954  "+09/+10" /*format*/,
10955  36 /*offsetCode*/,
10956  (0 << 4) + (0 + 4) /*deltaCode*/,
10957  11 /*untilYearTiny*/,
10958  3 /*untilMonth*/,
10959  27 /*untilDay*/,
10960  8 /*untilTimeCode*/,
10961  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10962  },
10963  // 10:00 - +10 2014 Oct 26 2:00s
10964  {
10965  nullptr /*zonePolicy*/,
10966  "+10" /*format*/,
10967  40 /*offsetCode*/,
10968  (0 << 4) + (0 + 4) /*deltaCode*/,
10969  14 /*untilYearTiny*/,
10970  10 /*untilMonth*/,
10971  26 /*untilDay*/,
10972  8 /*untilTimeCode*/,
10973  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
10974  },
10975  // 9:00 - +09
10976  {
10977  nullptr /*zonePolicy*/,
10978  "+09" /*format*/,
10979  36 /*offsetCode*/,
10980  (0 << 4) + (0 + 4) /*deltaCode*/,
10981  127 /*untilYearTiny*/,
10982  1 /*untilMonth*/,
10983  1 /*untilDay*/,
10984  0 /*untilTimeCode*/,
10985  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
10986  },
10987 
10988 };
10989 
10990 static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "Asia/Yakutsk";
10991 
10992 const extended::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
10993  kZoneNameAsia_Yakutsk /*name*/,
10994  0x87bb3a9e /*zoneId*/,
10995  &kZoneContext /*zoneContext*/,
10996  5 /*transitionBufSize*/,
10997  3 /*numEras*/,
10998  kZoneEraAsia_Yakutsk /*eras*/,
10999 };
11000 
11001 //---------------------------------------------------------------------------
11002 // Zone name: Asia/Yangon
11003 // Zone Eras: 1
11004 // Strings (bytes): 18
11005 // Memory (8-bit): 41
11006 // Memory (32-bit): 54
11007 //---------------------------------------------------------------------------
11008 
11009 static const extended::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
11010  // 6:30 - +0630
11011  {
11012  nullptr /*zonePolicy*/,
11013  "+0630" /*format*/,
11014  26 /*offsetCode*/,
11015  (0 << 4) + (0 + 4) /*deltaCode*/,
11016  127 /*untilYearTiny*/,
11017  1 /*untilMonth*/,
11018  1 /*untilDay*/,
11019  0 /*untilTimeCode*/,
11020  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11021  },
11022 
11023 };
11024 
11025 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "Asia/Yangon";
11026 
11027 const extended::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
11028  kZoneNameAsia_Yangon /*name*/,
11029  0xdd54a8be /*zoneId*/,
11030  &kZoneContext /*zoneContext*/,
11031  2 /*transitionBufSize*/,
11032  1 /*numEras*/,
11033  kZoneEraAsia_Yangon /*eras*/,
11034 };
11035 
11036 //---------------------------------------------------------------------------
11037 // Zone name: Asia/Yekaterinburg
11038 // Zone Eras: 3
11039 // Strings (bytes): 35
11040 // Memory (8-bit): 80
11041 // Memory (32-bit): 103
11042 //---------------------------------------------------------------------------
11043 
11044 static const extended::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
11045  // 5:00 Russia +05/+06 2011 Mar 27 2:00s
11046  {
11047  &kPolicyRussia /*zonePolicy*/,
11048  "+05/+06" /*format*/,
11049  20 /*offsetCode*/,
11050  (0 << 4) + (0 + 4) /*deltaCode*/,
11051  11 /*untilYearTiny*/,
11052  3 /*untilMonth*/,
11053  27 /*untilDay*/,
11054  8 /*untilTimeCode*/,
11055  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
11056  },
11057  // 6:00 - +06 2014 Oct 26 2:00s
11058  {
11059  nullptr /*zonePolicy*/,
11060  "+06" /*format*/,
11061  24 /*offsetCode*/,
11062  (0 << 4) + (0 + 4) /*deltaCode*/,
11063  14 /*untilYearTiny*/,
11064  10 /*untilMonth*/,
11065  26 /*untilDay*/,
11066  8 /*untilTimeCode*/,
11067  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
11068  },
11069  // 5:00 - +05
11070  {
11071  nullptr /*zonePolicy*/,
11072  "+05" /*format*/,
11073  20 /*offsetCode*/,
11074  (0 << 4) + (0 + 4) /*deltaCode*/,
11075  127 /*untilYearTiny*/,
11076  1 /*untilMonth*/,
11077  1 /*untilDay*/,
11078  0 /*untilTimeCode*/,
11079  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11080  },
11081 
11082 };
11083 
11084 static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "Asia/Yekaterinburg";
11085 
11086 const extended::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
11087  kZoneNameAsia_Yekaterinburg /*name*/,
11088  0xfb544c6e /*zoneId*/,
11089  &kZoneContext /*zoneContext*/,
11090  5 /*transitionBufSize*/,
11091  3 /*numEras*/,
11092  kZoneEraAsia_Yekaterinburg /*eras*/,
11093 };
11094 
11095 //---------------------------------------------------------------------------
11096 // Zone name: Asia/Yerevan
11097 // Zone Eras: 2
11098 // Strings (bytes): 29
11099 // Memory (8-bit): 63
11100 // Memory (32-bit): 81
11101 //---------------------------------------------------------------------------
11102 
11103 static const extended::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
11104  // 4:00 RussiaAsia +04/+05 2011
11105  {
11106  &kPolicyRussiaAsia /*zonePolicy*/,
11107  "+04/+05" /*format*/,
11108  16 /*offsetCode*/,
11109  (0 << 4) + (0 + 4) /*deltaCode*/,
11110  11 /*untilYearTiny*/,
11111  1 /*untilMonth*/,
11112  1 /*untilDay*/,
11113  0 /*untilTimeCode*/,
11114  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11115  },
11116  // 4:00 Armenia +04/+05
11117  {
11118  &kPolicyArmenia /*zonePolicy*/,
11119  "+04/+05" /*format*/,
11120  16 /*offsetCode*/,
11121  (0 << 4) + (0 + 4) /*deltaCode*/,
11122  127 /*untilYearTiny*/,
11123  1 /*untilMonth*/,
11124  1 /*untilDay*/,
11125  0 /*untilTimeCode*/,
11126  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11127  },
11128 
11129 };
11130 
11131 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "Asia/Yerevan";
11132 
11133 const extended::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
11134  kZoneNameAsia_Yerevan /*name*/,
11135  0x9185c8cc /*zoneId*/,
11136  &kZoneContext /*zoneContext*/,
11137  6 /*transitionBufSize*/,
11138  2 /*numEras*/,
11139  kZoneEraAsia_Yerevan /*eras*/,
11140 };
11141 
11142 //---------------------------------------------------------------------------
11143 // Zone name: Atlantic/Azores
11144 // Zone Eras: 1
11145 // Strings (bytes): 24
11146 // Memory (8-bit): 47
11147 // Memory (32-bit): 60
11148 //---------------------------------------------------------------------------
11149 
11150 static const extended::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
11151  // -1:00 EU -01/+00
11152  {
11153  &kPolicyEU /*zonePolicy*/,
11154  "-01/+00" /*format*/,
11155  -4 /*offsetCode*/,
11156  (0 << 4) + (0 + 4) /*deltaCode*/,
11157  127 /*untilYearTiny*/,
11158  1 /*untilMonth*/,
11159  1 /*untilDay*/,
11160  0 /*untilTimeCode*/,
11161  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11162  },
11163 
11164 };
11165 
11166 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "Atlantic/Azores";
11167 
11168 const extended::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
11169  kZoneNameAtlantic_Azores /*name*/,
11170  0xf93ed918 /*zoneId*/,
11171  &kZoneContext /*zoneContext*/,
11172  5 /*transitionBufSize*/,
11173  1 /*numEras*/,
11174  kZoneEraAtlantic_Azores /*eras*/,
11175 };
11176 
11177 //---------------------------------------------------------------------------
11178 // Zone name: Atlantic/Bermuda
11179 // Zone Eras: 1
11180 // Strings (bytes): 21
11181 // Memory (8-bit): 44
11182 // Memory (32-bit): 57
11183 //---------------------------------------------------------------------------
11184 
11185 static const extended::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
11186  // -4:00 US A%sT
11187  {
11188  &kPolicyUS /*zonePolicy*/,
11189  "A%T" /*format*/,
11190  -16 /*offsetCode*/,
11191  (0 << 4) + (0 + 4) /*deltaCode*/,
11192  127 /*untilYearTiny*/,
11193  1 /*untilMonth*/,
11194  1 /*untilDay*/,
11195  0 /*untilTimeCode*/,
11196  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11197  },
11198 
11199 };
11200 
11201 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "Atlantic/Bermuda";
11202 
11203 const extended::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
11204  kZoneNameAtlantic_Bermuda /*name*/,
11205  0x3d4bb1c4 /*zoneId*/,
11206  &kZoneContext /*zoneContext*/,
11207  6 /*transitionBufSize*/,
11208  1 /*numEras*/,
11209  kZoneEraAtlantic_Bermuda /*eras*/,
11210 };
11211 
11212 //---------------------------------------------------------------------------
11213 // Zone name: Atlantic/Canary
11214 // Zone Eras: 1
11215 // Strings (bytes): 21
11216 // Memory (8-bit): 44
11217 // Memory (32-bit): 57
11218 //---------------------------------------------------------------------------
11219 
11220 static const extended::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
11221  // 0:00 EU WE%sT
11222  {
11223  &kPolicyEU /*zonePolicy*/,
11224  "WE%T" /*format*/,
11225  0 /*offsetCode*/,
11226  (0 << 4) + (0 + 4) /*deltaCode*/,
11227  127 /*untilYearTiny*/,
11228  1 /*untilMonth*/,
11229  1 /*untilDay*/,
11230  0 /*untilTimeCode*/,
11231  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11232  },
11233 
11234 };
11235 
11236 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "Atlantic/Canary";
11237 
11238 const extended::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
11239  kZoneNameAtlantic_Canary /*name*/,
11240  0xfc23f2c2 /*zoneId*/,
11241  &kZoneContext /*zoneContext*/,
11242  5 /*transitionBufSize*/,
11243  1 /*numEras*/,
11244  kZoneEraAtlantic_Canary /*eras*/,
11245 };
11246 
11247 //---------------------------------------------------------------------------
11248 // Zone name: Atlantic/Cape_Verde
11249 // Zone Eras: 1
11250 // Strings (bytes): 24
11251 // Memory (8-bit): 47
11252 // Memory (32-bit): 60
11253 //---------------------------------------------------------------------------
11254 
11255 static const extended::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
11256  // -1:00 - -01
11257  {
11258  nullptr /*zonePolicy*/,
11259  "-01" /*format*/,
11260  -4 /*offsetCode*/,
11261  (0 << 4) + (0 + 4) /*deltaCode*/,
11262  127 /*untilYearTiny*/,
11263  1 /*untilMonth*/,
11264  1 /*untilDay*/,
11265  0 /*untilTimeCode*/,
11266  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11267  },
11268 
11269 };
11270 
11271 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "Atlantic/Cape_Verde";
11272 
11273 const extended::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
11274  kZoneNameAtlantic_Cape_Verde /*name*/,
11275  0x5c5e1772 /*zoneId*/,
11276  &kZoneContext /*zoneContext*/,
11277  2 /*transitionBufSize*/,
11278  1 /*numEras*/,
11279  kZoneEraAtlantic_Cape_Verde /*eras*/,
11280 };
11281 
11282 //---------------------------------------------------------------------------
11283 // Zone name: Atlantic/Faroe
11284 // Zone Eras: 1
11285 // Strings (bytes): 20
11286 // Memory (8-bit): 43
11287 // Memory (32-bit): 56
11288 //---------------------------------------------------------------------------
11289 
11290 static const extended::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
11291  // 0:00 EU WE%sT
11292  {
11293  &kPolicyEU /*zonePolicy*/,
11294  "WE%T" /*format*/,
11295  0 /*offsetCode*/,
11296  (0 << 4) + (0 + 4) /*deltaCode*/,
11297  127 /*untilYearTiny*/,
11298  1 /*untilMonth*/,
11299  1 /*untilDay*/,
11300  0 /*untilTimeCode*/,
11301  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11302  },
11303 
11304 };
11305 
11306 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "Atlantic/Faroe";
11307 
11308 const extended::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
11309  kZoneNameAtlantic_Faroe /*name*/,
11310  0xe110a971 /*zoneId*/,
11311  &kZoneContext /*zoneContext*/,
11312  5 /*transitionBufSize*/,
11313  1 /*numEras*/,
11314  kZoneEraAtlantic_Faroe /*eras*/,
11315 };
11316 
11317 //---------------------------------------------------------------------------
11318 // Zone name: Atlantic/Madeira
11319 // Zone Eras: 1
11320 // Strings (bytes): 22
11321 // Memory (8-bit): 45
11322 // Memory (32-bit): 58
11323 //---------------------------------------------------------------------------
11324 
11325 static const extended::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
11326  // 0:00 EU WE%sT
11327  {
11328  &kPolicyEU /*zonePolicy*/,
11329  "WE%T" /*format*/,
11330  0 /*offsetCode*/,
11331  (0 << 4) + (0 + 4) /*deltaCode*/,
11332  127 /*untilYearTiny*/,
11333  1 /*untilMonth*/,
11334  1 /*untilDay*/,
11335  0 /*untilTimeCode*/,
11336  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11337  },
11338 
11339 };
11340 
11341 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "Atlantic/Madeira";
11342 
11343 const extended::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
11344  kZoneNameAtlantic_Madeira /*name*/,
11345  0x81b5c037 /*zoneId*/,
11346  &kZoneContext /*zoneContext*/,
11347  5 /*transitionBufSize*/,
11348  1 /*numEras*/,
11349  kZoneEraAtlantic_Madeira /*eras*/,
11350 };
11351 
11352 //---------------------------------------------------------------------------
11353 // Zone name: Atlantic/Reykjavik
11354 // Zone Eras: 1
11355 // Strings (bytes): 23
11356 // Memory (8-bit): 46
11357 // Memory (32-bit): 59
11358 //---------------------------------------------------------------------------
11359 
11360 static const extended::ZoneEra kZoneEraAtlantic_Reykjavik[] ACE_TIME_PROGMEM = {
11361  // 0:00 - GMT
11362  {
11363  nullptr /*zonePolicy*/,
11364  "GMT" /*format*/,
11365  0 /*offsetCode*/,
11366  (0 << 4) + (0 + 4) /*deltaCode*/,
11367  127 /*untilYearTiny*/,
11368  1 /*untilMonth*/,
11369  1 /*untilDay*/,
11370  0 /*untilTimeCode*/,
11371  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11372  },
11373 
11374 };
11375 
11376 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "Atlantic/Reykjavik";
11377 
11378 const extended::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
11379  kZoneNameAtlantic_Reykjavik /*name*/,
11380  0x1c2b4f74 /*zoneId*/,
11381  &kZoneContext /*zoneContext*/,
11382  2 /*transitionBufSize*/,
11383  1 /*numEras*/,
11384  kZoneEraAtlantic_Reykjavik /*eras*/,
11385 };
11386 
11387 //---------------------------------------------------------------------------
11388 // Zone name: Atlantic/South_Georgia
11389 // Zone Eras: 1
11390 // Strings (bytes): 27
11391 // Memory (8-bit): 50
11392 // Memory (32-bit): 63
11393 //---------------------------------------------------------------------------
11394 
11395 static const extended::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
11396  // -2:00 - -02
11397  {
11398  nullptr /*zonePolicy*/,
11399  "-02" /*format*/,
11400  -8 /*offsetCode*/,
11401  (0 << 4) + (0 + 4) /*deltaCode*/,
11402  127 /*untilYearTiny*/,
11403  1 /*untilMonth*/,
11404  1 /*untilDay*/,
11405  0 /*untilTimeCode*/,
11406  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11407  },
11408 
11409 };
11410 
11411 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "Atlantic/South_Georgia";
11412 
11413 const extended::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
11414  kZoneNameAtlantic_South_Georgia /*name*/,
11415  0x33013174 /*zoneId*/,
11416  &kZoneContext /*zoneContext*/,
11417  2 /*transitionBufSize*/,
11418  1 /*numEras*/,
11419  kZoneEraAtlantic_South_Georgia /*eras*/,
11420 };
11421 
11422 //---------------------------------------------------------------------------
11423 // Zone name: Atlantic/Stanley
11424 // Zone Eras: 2
11425 // Strings (bytes): 29
11426 // Memory (8-bit): 63
11427 // Memory (32-bit): 81
11428 //---------------------------------------------------------------------------
11429 
11430 static const extended::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
11431  // -4:00 Falk -04/-03 2010 Sep 5 2:00
11432  {
11433  &kPolicyFalk /*zonePolicy*/,
11434  "-04/-03" /*format*/,
11435  -16 /*offsetCode*/,
11436  (0 << 4) + (0 + 4) /*deltaCode*/,
11437  10 /*untilYearTiny*/,
11438  9 /*untilMonth*/,
11439  5 /*untilDay*/,
11440  8 /*untilTimeCode*/,
11441  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11442  },
11443  // -3:00 - -03
11444  {
11445  nullptr /*zonePolicy*/,
11446  "-03" /*format*/,
11447  -12 /*offsetCode*/,
11448  (0 << 4) + (0 + 4) /*deltaCode*/,
11449  127 /*untilYearTiny*/,
11450  1 /*untilMonth*/,
11451  1 /*untilDay*/,
11452  0 /*untilTimeCode*/,
11453  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11454  },
11455 
11456 };
11457 
11458 static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "Atlantic/Stanley";
11459 
11460 const extended::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
11461  kZoneNameAtlantic_Stanley /*name*/,
11462  0x7bb3e1c4 /*zoneId*/,
11463  &kZoneContext /*zoneContext*/,
11464  4 /*transitionBufSize*/,
11465  2 /*numEras*/,
11466  kZoneEraAtlantic_Stanley /*eras*/,
11467 };
11468 
11469 //---------------------------------------------------------------------------
11470 // Zone name: Australia/Adelaide
11471 // Zone Eras: 1
11472 // Strings (bytes): 24
11473 // Memory (8-bit): 47
11474 // Memory (32-bit): 60
11475 //---------------------------------------------------------------------------
11476 
11477 static const extended::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
11478  // 9:30 AS AC%sT
11479  {
11480  &kPolicyAS /*zonePolicy*/,
11481  "AC%T" /*format*/,
11482  38 /*offsetCode*/,
11483  (0 << 4) + (0 + 4) /*deltaCode*/,
11484  127 /*untilYearTiny*/,
11485  1 /*untilMonth*/,
11486  1 /*untilDay*/,
11487  0 /*untilTimeCode*/,
11488  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11489  },
11490 
11491 };
11492 
11493 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "Australia/Adelaide";
11494 
11495 const extended::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
11496  kZoneNameAustralia_Adelaide /*name*/,
11497  0x2428e8a3 /*zoneId*/,
11498  &kZoneContext /*zoneContext*/,
11499  5 /*transitionBufSize*/,
11500  1 /*numEras*/,
11501  kZoneEraAustralia_Adelaide /*eras*/,
11502 };
11503 
11504 //---------------------------------------------------------------------------
11505 // Zone name: Australia/Brisbane
11506 // Zone Eras: 1
11507 // Strings (bytes): 24
11508 // Memory (8-bit): 47
11509 // Memory (32-bit): 60
11510 //---------------------------------------------------------------------------
11511 
11512 static const extended::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
11513  // 10:00 AQ AE%sT
11514  {
11515  &kPolicyAQ /*zonePolicy*/,
11516  "AE%T" /*format*/,
11517  40 /*offsetCode*/,
11518  (0 << 4) + (0 + 4) /*deltaCode*/,
11519  127 /*untilYearTiny*/,
11520  1 /*untilMonth*/,
11521  1 /*untilDay*/,
11522  0 /*untilTimeCode*/,
11523  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11524  },
11525 
11526 };
11527 
11528 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "Australia/Brisbane";
11529 
11530 const extended::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
11531  kZoneNameAustralia_Brisbane /*name*/,
11532  0x4fedc9c0 /*zoneId*/,
11533  &kZoneContext /*zoneContext*/,
11534  2 /*transitionBufSize*/,
11535  1 /*numEras*/,
11536  kZoneEraAustralia_Brisbane /*eras*/,
11537 };
11538 
11539 //---------------------------------------------------------------------------
11540 // Zone name: Australia/Broken_Hill
11541 // Zone Eras: 2
11542 // Strings (bytes): 32
11543 // Memory (8-bit): 66
11544 // Memory (32-bit): 84
11545 //---------------------------------------------------------------------------
11546 
11547 static const extended::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
11548  // 9:30 AN AC%sT 2000
11549  {
11550  &kPolicyAN /*zonePolicy*/,
11551  "AC%T" /*format*/,
11552  38 /*offsetCode*/,
11553  (0 << 4) + (0 + 4) /*deltaCode*/,
11554  0 /*untilYearTiny*/,
11555  1 /*untilMonth*/,
11556  1 /*untilDay*/,
11557  0 /*untilTimeCode*/,
11558  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11559  },
11560  // 9:30 AS AC%sT
11561  {
11562  &kPolicyAS /*zonePolicy*/,
11563  "AC%T" /*format*/,
11564  38 /*offsetCode*/,
11565  (0 << 4) + (0 + 4) /*deltaCode*/,
11566  127 /*untilYearTiny*/,
11567  1 /*untilMonth*/,
11568  1 /*untilDay*/,
11569  0 /*untilTimeCode*/,
11570  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11571  },
11572 
11573 };
11574 
11575 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "Australia/Broken_Hill";
11576 
11577 const extended::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
11578  kZoneNameAustralia_Broken_Hill /*name*/,
11579  0xb06eada3 /*zoneId*/,
11580  &kZoneContext /*zoneContext*/,
11581  6 /*transitionBufSize*/,
11582  2 /*numEras*/,
11583  kZoneEraAustralia_Broken_Hill /*eras*/,
11584 };
11585 
11586 //---------------------------------------------------------------------------
11587 // Zone name: Australia/Currie
11588 // Zone Eras: 1
11589 // Strings (bytes): 22
11590 // Memory (8-bit): 45
11591 // Memory (32-bit): 58
11592 //---------------------------------------------------------------------------
11593 
11594 static const extended::ZoneEra kZoneEraAustralia_Currie[] ACE_TIME_PROGMEM = {
11595  // 10:00 AT AE%sT
11596  {
11597  &kPolicyAT /*zonePolicy*/,
11598  "AE%T" /*format*/,
11599  40 /*offsetCode*/,
11600  (0 << 4) + (0 + 4) /*deltaCode*/,
11601  127 /*untilYearTiny*/,
11602  1 /*untilMonth*/,
11603  1 /*untilDay*/,
11604  0 /*untilTimeCode*/,
11605  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11606  },
11607 
11608 };
11609 
11610 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "Australia/Currie";
11611 
11612 const extended::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
11613  kZoneNameAustralia_Currie /*name*/,
11614  0x278b6a24 /*zoneId*/,
11615  &kZoneContext /*zoneContext*/,
11616  5 /*transitionBufSize*/,
11617  1 /*numEras*/,
11618  kZoneEraAustralia_Currie /*eras*/,
11619 };
11620 
11621 //---------------------------------------------------------------------------
11622 // Zone name: Australia/Darwin
11623 // Zone Eras: 1
11624 // Strings (bytes): 22
11625 // Memory (8-bit): 45
11626 // Memory (32-bit): 58
11627 //---------------------------------------------------------------------------
11628 
11629 static const extended::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
11630  // 9:30 Aus AC%sT
11631  {
11632  &kPolicyAus /*zonePolicy*/,
11633  "AC%T" /*format*/,
11634  38 /*offsetCode*/,
11635  (0 << 4) + (0 + 4) /*deltaCode*/,
11636  127 /*untilYearTiny*/,
11637  1 /*untilMonth*/,
11638  1 /*untilDay*/,
11639  0 /*untilTimeCode*/,
11640  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11641  },
11642 
11643 };
11644 
11645 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "Australia/Darwin";
11646 
11647 const extended::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
11648  kZoneNameAustralia_Darwin /*name*/,
11649  0x2876bdff /*zoneId*/,
11650  &kZoneContext /*zoneContext*/,
11651  2 /*transitionBufSize*/,
11652  1 /*numEras*/,
11653  kZoneEraAustralia_Darwin /*eras*/,
11654 };
11655 
11656 //---------------------------------------------------------------------------
11657 // Zone name: Australia/Eucla
11658 // Zone Eras: 1
11659 // Strings (bytes): 28
11660 // Memory (8-bit): 51
11661 // Memory (32-bit): 64
11662 //---------------------------------------------------------------------------
11663 
11664 static const extended::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
11665  // 8:45 AW +0845/+0945
11666  {
11667  &kPolicyAW /*zonePolicy*/,
11668  "+0845/+0945" /*format*/,
11669  35 /*offsetCode*/,
11670  (0 << 4) + (0 + 4) /*deltaCode*/,
11671  127 /*untilYearTiny*/,
11672  1 /*untilMonth*/,
11673  1 /*untilDay*/,
11674  0 /*untilTimeCode*/,
11675  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11676  },
11677 
11678 };
11679 
11680 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "Australia/Eucla";
11681 
11682 const extended::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
11683  kZoneNameAustralia_Eucla /*name*/,
11684  0x8cf99e44 /*zoneId*/,
11685  &kZoneContext /*zoneContext*/,
11686  6 /*transitionBufSize*/,
11687  1 /*numEras*/,
11688  kZoneEraAustralia_Eucla /*eras*/,
11689 };
11690 
11691 //---------------------------------------------------------------------------
11692 // Zone name: Australia/Hobart
11693 // Zone Eras: 1
11694 // Strings (bytes): 22
11695 // Memory (8-bit): 45
11696 // Memory (32-bit): 58
11697 //---------------------------------------------------------------------------
11698 
11699 static const extended::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
11700  // 10:00 AT AE%sT
11701  {
11702  &kPolicyAT /*zonePolicy*/,
11703  "AE%T" /*format*/,
11704  40 /*offsetCode*/,
11705  (0 << 4) + (0 + 4) /*deltaCode*/,
11706  127 /*untilYearTiny*/,
11707  1 /*untilMonth*/,
11708  1 /*untilDay*/,
11709  0 /*untilTimeCode*/,
11710  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11711  },
11712 
11713 };
11714 
11715 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "Australia/Hobart";
11716 
11717 const extended::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
11718  kZoneNameAustralia_Hobart /*name*/,
11719  0x32bf951a /*zoneId*/,
11720  &kZoneContext /*zoneContext*/,
11721  5 /*transitionBufSize*/,
11722  1 /*numEras*/,
11723  kZoneEraAustralia_Hobart /*eras*/,
11724 };
11725 
11726 //---------------------------------------------------------------------------
11727 // Zone name: Australia/Lindeman
11728 // Zone Eras: 1
11729 // Strings (bytes): 24
11730 // Memory (8-bit): 47
11731 // Memory (32-bit): 60
11732 //---------------------------------------------------------------------------
11733 
11734 static const extended::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
11735  // 10:00 Holiday AE%sT
11736  {
11737  &kPolicyHoliday /*zonePolicy*/,
11738  "AE%T" /*format*/,
11739  40 /*offsetCode*/,
11740  (0 << 4) + (0 + 4) /*deltaCode*/,
11741  127 /*untilYearTiny*/,
11742  1 /*untilMonth*/,
11743  1 /*untilDay*/,
11744  0 /*untilTimeCode*/,
11745  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11746  },
11747 
11748 };
11749 
11750 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "Australia/Lindeman";
11751 
11752 const extended::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
11753  kZoneNameAustralia_Lindeman /*name*/,
11754  0xe05029e2 /*zoneId*/,
11755  &kZoneContext /*zoneContext*/,
11756  2 /*transitionBufSize*/,
11757  1 /*numEras*/,
11758  kZoneEraAustralia_Lindeman /*eras*/,
11759 };
11760 
11761 //---------------------------------------------------------------------------
11762 // Zone name: Australia/Lord_Howe
11763 // Zone Eras: 1
11764 // Strings (bytes): 30
11765 // Memory (8-bit): 53
11766 // Memory (32-bit): 66
11767 //---------------------------------------------------------------------------
11768 
11769 static const extended::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
11770  // 10:30 LH +1030/+11
11771  {
11772  &kPolicyLH /*zonePolicy*/,
11773  "+1030/+11" /*format*/,
11774  42 /*offsetCode*/,
11775  (0 << 4) + (0 + 4) /*deltaCode*/,
11776  127 /*untilYearTiny*/,
11777  1 /*untilMonth*/,
11778  1 /*untilDay*/,
11779  0 /*untilTimeCode*/,
11780  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11781  },
11782 
11783 };
11784 
11785 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "Australia/Lord_Howe";
11786 
11787 const extended::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
11788  kZoneNameAustralia_Lord_Howe /*name*/,
11789  0xa748b67d /*zoneId*/,
11790  &kZoneContext /*zoneContext*/,
11791  5 /*transitionBufSize*/,
11792  1 /*numEras*/,
11793  kZoneEraAustralia_Lord_Howe /*eras*/,
11794 };
11795 
11796 //---------------------------------------------------------------------------
11797 // Zone name: Australia/Melbourne
11798 // Zone Eras: 1
11799 // Strings (bytes): 25
11800 // Memory (8-bit): 48
11801 // Memory (32-bit): 61
11802 //---------------------------------------------------------------------------
11803 
11804 static const extended::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
11805  // 10:00 AV AE%sT
11806  {
11807  &kPolicyAV /*zonePolicy*/,
11808  "AE%T" /*format*/,
11809  40 /*offsetCode*/,
11810  (0 << 4) + (0 + 4) /*deltaCode*/,
11811  127 /*untilYearTiny*/,
11812  1 /*untilMonth*/,
11813  1 /*untilDay*/,
11814  0 /*untilTimeCode*/,
11815  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11816  },
11817 
11818 };
11819 
11820 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "Australia/Melbourne";
11821 
11822 const extended::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
11823  kZoneNameAustralia_Melbourne /*name*/,
11824  0x0fe559a3 /*zoneId*/,
11825  &kZoneContext /*zoneContext*/,
11826  5 /*transitionBufSize*/,
11827  1 /*numEras*/,
11828  kZoneEraAustralia_Melbourne /*eras*/,
11829 };
11830 
11831 //---------------------------------------------------------------------------
11832 // Zone name: Australia/Perth
11833 // Zone Eras: 1
11834 // Strings (bytes): 21
11835 // Memory (8-bit): 44
11836 // Memory (32-bit): 57
11837 //---------------------------------------------------------------------------
11838 
11839 static const extended::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
11840  // 8:00 AW AW%sT
11841  {
11842  &kPolicyAW /*zonePolicy*/,
11843  "AW%T" /*format*/,
11844  32 /*offsetCode*/,
11845  (0 << 4) + (0 + 4) /*deltaCode*/,
11846  127 /*untilYearTiny*/,
11847  1 /*untilMonth*/,
11848  1 /*untilDay*/,
11849  0 /*untilTimeCode*/,
11850  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11851  },
11852 
11853 };
11854 
11855 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "Australia/Perth";
11856 
11857 const extended::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
11858  kZoneNameAustralia_Perth /*name*/,
11859  0x8db8269d /*zoneId*/,
11860  &kZoneContext /*zoneContext*/,
11861  6 /*transitionBufSize*/,
11862  1 /*numEras*/,
11863  kZoneEraAustralia_Perth /*eras*/,
11864 };
11865 
11866 //---------------------------------------------------------------------------
11867 // Zone name: Australia/Sydney
11868 // Zone Eras: 1
11869 // Strings (bytes): 22
11870 // Memory (8-bit): 45
11871 // Memory (32-bit): 58
11872 //---------------------------------------------------------------------------
11873 
11874 static const extended::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
11875  // 10:00 AN AE%sT
11876  {
11877  &kPolicyAN /*zonePolicy*/,
11878  "AE%T" /*format*/,
11879  40 /*offsetCode*/,
11880  (0 << 4) + (0 + 4) /*deltaCode*/,
11881  127 /*untilYearTiny*/,
11882  1 /*untilMonth*/,
11883  1 /*untilDay*/,
11884  0 /*untilTimeCode*/,
11885  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11886  },
11887 
11888 };
11889 
11890 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "Australia/Sydney";
11891 
11892 const extended::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
11893  kZoneNameAustralia_Sydney /*name*/,
11894  0x4d1e9776 /*zoneId*/,
11895  &kZoneContext /*zoneContext*/,
11896  5 /*transitionBufSize*/,
11897  1 /*numEras*/,
11898  kZoneEraAustralia_Sydney /*eras*/,
11899 };
11900 
11901 //---------------------------------------------------------------------------
11902 // Zone name: CET
11903 // Zone Eras: 1
11904 // Strings (bytes): 9
11905 // Memory (8-bit): 32
11906 // Memory (32-bit): 45
11907 //---------------------------------------------------------------------------
11908 
11909 static const extended::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = {
11910  // 1:00 C-Eur CE%sT
11911  {
11912  &kPolicyC_Eur /*zonePolicy*/,
11913  "CE%T" /*format*/,
11914  4 /*offsetCode*/,
11915  (0 << 4) + (0 + 4) /*deltaCode*/,
11916  127 /*untilYearTiny*/,
11917  1 /*untilMonth*/,
11918  1 /*untilDay*/,
11919  0 /*untilTimeCode*/,
11920  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11921  },
11922 
11923 };
11924 
11925 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
11926 
11927 const extended::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
11928  kZoneNameCET /*name*/,
11929  0x0b87d921 /*zoneId*/,
11930  &kZoneContext /*zoneContext*/,
11931  5 /*transitionBufSize*/,
11932  1 /*numEras*/,
11933  kZoneEraCET /*eras*/,
11934 };
11935 
11936 //---------------------------------------------------------------------------
11937 // Zone name: CST6CDT
11938 // Zone Eras: 1
11939 // Strings (bytes): 12
11940 // Memory (8-bit): 35
11941 // Memory (32-bit): 48
11942 //---------------------------------------------------------------------------
11943 
11944 static const extended::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = {
11945  // -6:00 US C%sT
11946  {
11947  &kPolicyUS /*zonePolicy*/,
11948  "C%T" /*format*/,
11949  -24 /*offsetCode*/,
11950  (0 << 4) + (0 + 4) /*deltaCode*/,
11951  127 /*untilYearTiny*/,
11952  1 /*untilMonth*/,
11953  1 /*untilDay*/,
11954  0 /*untilTimeCode*/,
11955  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11956  },
11957 
11958 };
11959 
11960 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
11961 
11962 const extended::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
11963  kZoneNameCST6CDT /*name*/,
11964  0xf0e87d00 /*zoneId*/,
11965  &kZoneContext /*zoneContext*/,
11966  6 /*transitionBufSize*/,
11967  1 /*numEras*/,
11968  kZoneEraCST6CDT /*eras*/,
11969 };
11970 
11971 //---------------------------------------------------------------------------
11972 // Zone name: EET
11973 // Zone Eras: 1
11974 // Strings (bytes): 9
11975 // Memory (8-bit): 32
11976 // Memory (32-bit): 45
11977 //---------------------------------------------------------------------------
11978 
11979 static const extended::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = {
11980  // 2:00 EU EE%sT
11981  {
11982  &kPolicyEU /*zonePolicy*/,
11983  "EE%T" /*format*/,
11984  8 /*offsetCode*/,
11985  (0 << 4) + (0 + 4) /*deltaCode*/,
11986  127 /*untilYearTiny*/,
11987  1 /*untilMonth*/,
11988  1 /*untilDay*/,
11989  0 /*untilTimeCode*/,
11990  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
11991  },
11992 
11993 };
11994 
11995 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
11996 
11997 const extended::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
11998  kZoneNameEET /*name*/,
11999  0x0b87e1a3 /*zoneId*/,
12000  &kZoneContext /*zoneContext*/,
12001  5 /*transitionBufSize*/,
12002  1 /*numEras*/,
12003  kZoneEraEET /*eras*/,
12004 };
12005 
12006 //---------------------------------------------------------------------------
12007 // Zone name: EST
12008 // Zone Eras: 1
12009 // Strings (bytes): 8
12010 // Memory (8-bit): 31
12011 // Memory (32-bit): 44
12012 //---------------------------------------------------------------------------
12013 
12014 static const extended::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = {
12015  // -5:00 - EST
12016  {
12017  nullptr /*zonePolicy*/,
12018  "EST" /*format*/,
12019  -20 /*offsetCode*/,
12020  (0 << 4) + (0 + 4) /*deltaCode*/,
12021  127 /*untilYearTiny*/,
12022  1 /*untilMonth*/,
12023  1 /*untilDay*/,
12024  0 /*untilTimeCode*/,
12025  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12026  },
12027 
12028 };
12029 
12030 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
12031 
12032 const extended::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
12033  kZoneNameEST /*name*/,
12034  0x0b87e371 /*zoneId*/,
12035  &kZoneContext /*zoneContext*/,
12036  2 /*transitionBufSize*/,
12037  1 /*numEras*/,
12038  kZoneEraEST /*eras*/,
12039 };
12040 
12041 //---------------------------------------------------------------------------
12042 // Zone name: EST5EDT
12043 // Zone Eras: 1
12044 // Strings (bytes): 12
12045 // Memory (8-bit): 35
12046 // Memory (32-bit): 48
12047 //---------------------------------------------------------------------------
12048 
12049 static const extended::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = {
12050  // -5:00 US E%sT
12051  {
12052  &kPolicyUS /*zonePolicy*/,
12053  "E%T" /*format*/,
12054  -20 /*offsetCode*/,
12055  (0 << 4) + (0 + 4) /*deltaCode*/,
12056  127 /*untilYearTiny*/,
12057  1 /*untilMonth*/,
12058  1 /*untilDay*/,
12059  0 /*untilTimeCode*/,
12060  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12061  },
12062 
12063 };
12064 
12065 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
12066 
12067 const extended::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
12068  kZoneNameEST5EDT /*name*/,
12069  0x8adc72a3 /*zoneId*/,
12070  &kZoneContext /*zoneContext*/,
12071  6 /*transitionBufSize*/,
12072  1 /*numEras*/,
12073  kZoneEraEST5EDT /*eras*/,
12074 };
12075 
12076 //---------------------------------------------------------------------------
12077 // Zone name: Etc/GMT
12078 // Zone Eras: 1
12079 // Strings (bytes): 12
12080 // Memory (8-bit): 35
12081 // Memory (32-bit): 48
12082 //---------------------------------------------------------------------------
12083 
12084 static const extended::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
12085  // 0 - GMT
12086  {
12087  nullptr /*zonePolicy*/,
12088  "GMT" /*format*/,
12089  0 /*offsetCode*/,
12090  (0 << 4) + (0 + 4) /*deltaCode*/,
12091  127 /*untilYearTiny*/,
12092  1 /*untilMonth*/,
12093  1 /*untilDay*/,
12094  0 /*untilTimeCode*/,
12095  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12096  },
12097 
12098 };
12099 
12100 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "Etc/GMT";
12101 
12102 const extended::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
12103  kZoneNameEtc_GMT /*name*/,
12104  0xd8e2de58 /*zoneId*/,
12105  &kZoneContext /*zoneContext*/,
12106  2 /*transitionBufSize*/,
12107  1 /*numEras*/,
12108  kZoneEraEtc_GMT /*eras*/,
12109 };
12110 
12111 //---------------------------------------------------------------------------
12112 // Zone name: Etc/GMT+1
12113 // Zone Eras: 1
12114 // Strings (bytes): 14
12115 // Memory (8-bit): 37
12116 // Memory (32-bit): 50
12117 //---------------------------------------------------------------------------
12118 
12119 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
12120  // -1 - -01
12121  {
12122  nullptr /*zonePolicy*/,
12123  "-01" /*format*/,
12124  -4 /*offsetCode*/,
12125  (0 << 4) + (0 + 4) /*deltaCode*/,
12126  127 /*untilYearTiny*/,
12127  1 /*untilMonth*/,
12128  1 /*untilDay*/,
12129  0 /*untilTimeCode*/,
12130  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12131  },
12132 
12133 };
12134 
12135 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "Etc/GMT+1";
12136 
12137 const extended::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
12138  kZoneNameEtc_GMT_PLUS_1 /*name*/,
12139  0x9d13da14 /*zoneId*/,
12140  &kZoneContext /*zoneContext*/,
12141  2 /*transitionBufSize*/,
12142  1 /*numEras*/,
12143  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
12144 };
12145 
12146 //---------------------------------------------------------------------------
12147 // Zone name: Etc/GMT+10
12148 // Zone Eras: 1
12149 // Strings (bytes): 15
12150 // Memory (8-bit): 38
12151 // Memory (32-bit): 51
12152 //---------------------------------------------------------------------------
12153 
12154 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
12155  // -10 - -10
12156  {
12157  nullptr /*zonePolicy*/,
12158  "-10" /*format*/,
12159  -40 /*offsetCode*/,
12160  (0 << 4) + (0 + 4) /*deltaCode*/,
12161  127 /*untilYearTiny*/,
12162  1 /*untilMonth*/,
12163  1 /*untilDay*/,
12164  0 /*untilTimeCode*/,
12165  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12166  },
12167 
12168 };
12169 
12170 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "Etc/GMT+10";
12171 
12172 const extended::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
12173  kZoneNameEtc_GMT_PLUS_10 /*name*/,
12174  0x3f8f1cc4 /*zoneId*/,
12175  &kZoneContext /*zoneContext*/,
12176  2 /*transitionBufSize*/,
12177  1 /*numEras*/,
12178  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
12179 };
12180 
12181 //---------------------------------------------------------------------------
12182 // Zone name: Etc/GMT+11
12183 // Zone Eras: 1
12184 // Strings (bytes): 15
12185 // Memory (8-bit): 38
12186 // Memory (32-bit): 51
12187 //---------------------------------------------------------------------------
12188 
12189 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
12190  // -11 - -11
12191  {
12192  nullptr /*zonePolicy*/,
12193  "-11" /*format*/,
12194  -44 /*offsetCode*/,
12195  (0 << 4) + (0 + 4) /*deltaCode*/,
12196  127 /*untilYearTiny*/,
12197  1 /*untilMonth*/,
12198  1 /*untilDay*/,
12199  0 /*untilTimeCode*/,
12200  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12201  },
12202 
12203 };
12204 
12205 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "Etc/GMT+11";
12206 
12207 const extended::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
12208  kZoneNameEtc_GMT_PLUS_11 /*name*/,
12209  0x3f8f1cc5 /*zoneId*/,
12210  &kZoneContext /*zoneContext*/,
12211  2 /*transitionBufSize*/,
12212  1 /*numEras*/,
12213  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
12214 };
12215 
12216 //---------------------------------------------------------------------------
12217 // Zone name: Etc/GMT+12
12218 // Zone Eras: 1
12219 // Strings (bytes): 15
12220 // Memory (8-bit): 38
12221 // Memory (32-bit): 51
12222 //---------------------------------------------------------------------------
12223 
12224 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
12225  // -12 - -12
12226  {
12227  nullptr /*zonePolicy*/,
12228  "-12" /*format*/,
12229  -48 /*offsetCode*/,
12230  (0 << 4) + (0 + 4) /*deltaCode*/,
12231  127 /*untilYearTiny*/,
12232  1 /*untilMonth*/,
12233  1 /*untilDay*/,
12234  0 /*untilTimeCode*/,
12235  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12236  },
12237 
12238 };
12239 
12240 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "Etc/GMT+12";
12241 
12242 const extended::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
12243  kZoneNameEtc_GMT_PLUS_12 /*name*/,
12244  0x3f8f1cc6 /*zoneId*/,
12245  &kZoneContext /*zoneContext*/,
12246  2 /*transitionBufSize*/,
12247  1 /*numEras*/,
12248  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
12249 };
12250 
12251 //---------------------------------------------------------------------------
12252 // Zone name: Etc/GMT+2
12253 // Zone Eras: 1
12254 // Strings (bytes): 14
12255 // Memory (8-bit): 37
12256 // Memory (32-bit): 50
12257 //---------------------------------------------------------------------------
12258 
12259 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
12260  // -2 - -02
12261  {
12262  nullptr /*zonePolicy*/,
12263  "-02" /*format*/,
12264  -8 /*offsetCode*/,
12265  (0 << 4) + (0 + 4) /*deltaCode*/,
12266  127 /*untilYearTiny*/,
12267  1 /*untilMonth*/,
12268  1 /*untilDay*/,
12269  0 /*untilTimeCode*/,
12270  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12271  },
12272 
12273 };
12274 
12275 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "Etc/GMT+2";
12276 
12277 const extended::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
12278  kZoneNameEtc_GMT_PLUS_2 /*name*/,
12279  0x9d13da15 /*zoneId*/,
12280  &kZoneContext /*zoneContext*/,
12281  2 /*transitionBufSize*/,
12282  1 /*numEras*/,
12283  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
12284 };
12285 
12286 //---------------------------------------------------------------------------
12287 // Zone name: Etc/GMT+3
12288 // Zone Eras: 1
12289 // Strings (bytes): 14
12290 // Memory (8-bit): 37
12291 // Memory (32-bit): 50
12292 //---------------------------------------------------------------------------
12293 
12294 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
12295  // -3 - -03
12296  {
12297  nullptr /*zonePolicy*/,
12298  "-03" /*format*/,
12299  -12 /*offsetCode*/,
12300  (0 << 4) + (0 + 4) /*deltaCode*/,
12301  127 /*untilYearTiny*/,
12302  1 /*untilMonth*/,
12303  1 /*untilDay*/,
12304  0 /*untilTimeCode*/,
12305  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12306  },
12307 
12308 };
12309 
12310 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "Etc/GMT+3";
12311 
12312 const extended::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
12313  kZoneNameEtc_GMT_PLUS_3 /*name*/,
12314  0x9d13da16 /*zoneId*/,
12315  &kZoneContext /*zoneContext*/,
12316  2 /*transitionBufSize*/,
12317  1 /*numEras*/,
12318  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
12319 };
12320 
12321 //---------------------------------------------------------------------------
12322 // Zone name: Etc/GMT+4
12323 // Zone Eras: 1
12324 // Strings (bytes): 14
12325 // Memory (8-bit): 37
12326 // Memory (32-bit): 50
12327 //---------------------------------------------------------------------------
12328 
12329 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
12330  // -4 - -04
12331  {
12332  nullptr /*zonePolicy*/,
12333  "-04" /*format*/,
12334  -16 /*offsetCode*/,
12335  (0 << 4) + (0 + 4) /*deltaCode*/,
12336  127 /*untilYearTiny*/,
12337  1 /*untilMonth*/,
12338  1 /*untilDay*/,
12339  0 /*untilTimeCode*/,
12340  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12341  },
12342 
12343 };
12344 
12345 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "Etc/GMT+4";
12346 
12347 const extended::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
12348  kZoneNameEtc_GMT_PLUS_4 /*name*/,
12349  0x9d13da17 /*zoneId*/,
12350  &kZoneContext /*zoneContext*/,
12351  2 /*transitionBufSize*/,
12352  1 /*numEras*/,
12353  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
12354 };
12355 
12356 //---------------------------------------------------------------------------
12357 // Zone name: Etc/GMT+5
12358 // Zone Eras: 1
12359 // Strings (bytes): 14
12360 // Memory (8-bit): 37
12361 // Memory (32-bit): 50
12362 //---------------------------------------------------------------------------
12363 
12364 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
12365  // -5 - -05
12366  {
12367  nullptr /*zonePolicy*/,
12368  "-05" /*format*/,
12369  -20 /*offsetCode*/,
12370  (0 << 4) + (0 + 4) /*deltaCode*/,
12371  127 /*untilYearTiny*/,
12372  1 /*untilMonth*/,
12373  1 /*untilDay*/,
12374  0 /*untilTimeCode*/,
12375  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12376  },
12377 
12378 };
12379 
12380 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "Etc/GMT+5";
12381 
12382 const extended::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
12383  kZoneNameEtc_GMT_PLUS_5 /*name*/,
12384  0x9d13da18 /*zoneId*/,
12385  &kZoneContext /*zoneContext*/,
12386  2 /*transitionBufSize*/,
12387  1 /*numEras*/,
12388  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
12389 };
12390 
12391 //---------------------------------------------------------------------------
12392 // Zone name: Etc/GMT+6
12393 // Zone Eras: 1
12394 // Strings (bytes): 14
12395 // Memory (8-bit): 37
12396 // Memory (32-bit): 50
12397 //---------------------------------------------------------------------------
12398 
12399 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
12400  // -6 - -06
12401  {
12402  nullptr /*zonePolicy*/,
12403  "-06" /*format*/,
12404  -24 /*offsetCode*/,
12405  (0 << 4) + (0 + 4) /*deltaCode*/,
12406  127 /*untilYearTiny*/,
12407  1 /*untilMonth*/,
12408  1 /*untilDay*/,
12409  0 /*untilTimeCode*/,
12410  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12411  },
12412 
12413 };
12414 
12415 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "Etc/GMT+6";
12416 
12417 const extended::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
12418  kZoneNameEtc_GMT_PLUS_6 /*name*/,
12419  0x9d13da19 /*zoneId*/,
12420  &kZoneContext /*zoneContext*/,
12421  2 /*transitionBufSize*/,
12422  1 /*numEras*/,
12423  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
12424 };
12425 
12426 //---------------------------------------------------------------------------
12427 // Zone name: Etc/GMT+7
12428 // Zone Eras: 1
12429 // Strings (bytes): 14
12430 // Memory (8-bit): 37
12431 // Memory (32-bit): 50
12432 //---------------------------------------------------------------------------
12433 
12434 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
12435  // -7 - -07
12436  {
12437  nullptr /*zonePolicy*/,
12438  "-07" /*format*/,
12439  -28 /*offsetCode*/,
12440  (0 << 4) + (0 + 4) /*deltaCode*/,
12441  127 /*untilYearTiny*/,
12442  1 /*untilMonth*/,
12443  1 /*untilDay*/,
12444  0 /*untilTimeCode*/,
12445  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12446  },
12447 
12448 };
12449 
12450 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "Etc/GMT+7";
12451 
12452 const extended::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
12453  kZoneNameEtc_GMT_PLUS_7 /*name*/,
12454  0x9d13da1a /*zoneId*/,
12455  &kZoneContext /*zoneContext*/,
12456  2 /*transitionBufSize*/,
12457  1 /*numEras*/,
12458  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
12459 };
12460 
12461 //---------------------------------------------------------------------------
12462 // Zone name: Etc/GMT+8
12463 // Zone Eras: 1
12464 // Strings (bytes): 14
12465 // Memory (8-bit): 37
12466 // Memory (32-bit): 50
12467 //---------------------------------------------------------------------------
12468 
12469 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
12470  // -8 - -08
12471  {
12472  nullptr /*zonePolicy*/,
12473  "-08" /*format*/,
12474  -32 /*offsetCode*/,
12475  (0 << 4) + (0 + 4) /*deltaCode*/,
12476  127 /*untilYearTiny*/,
12477  1 /*untilMonth*/,
12478  1 /*untilDay*/,
12479  0 /*untilTimeCode*/,
12480  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12481  },
12482 
12483 };
12484 
12485 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "Etc/GMT+8";
12486 
12487 const extended::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
12488  kZoneNameEtc_GMT_PLUS_8 /*name*/,
12489  0x9d13da1b /*zoneId*/,
12490  &kZoneContext /*zoneContext*/,
12491  2 /*transitionBufSize*/,
12492  1 /*numEras*/,
12493  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
12494 };
12495 
12496 //---------------------------------------------------------------------------
12497 // Zone name: Etc/GMT+9
12498 // Zone Eras: 1
12499 // Strings (bytes): 14
12500 // Memory (8-bit): 37
12501 // Memory (32-bit): 50
12502 //---------------------------------------------------------------------------
12503 
12504 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
12505  // -9 - -09
12506  {
12507  nullptr /*zonePolicy*/,
12508  "-09" /*format*/,
12509  -36 /*offsetCode*/,
12510  (0 << 4) + (0 + 4) /*deltaCode*/,
12511  127 /*untilYearTiny*/,
12512  1 /*untilMonth*/,
12513  1 /*untilDay*/,
12514  0 /*untilTimeCode*/,
12515  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12516  },
12517 
12518 };
12519 
12520 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "Etc/GMT+9";
12521 
12522 const extended::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
12523  kZoneNameEtc_GMT_PLUS_9 /*name*/,
12524  0x9d13da1c /*zoneId*/,
12525  &kZoneContext /*zoneContext*/,
12526  2 /*transitionBufSize*/,
12527  1 /*numEras*/,
12528  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
12529 };
12530 
12531 //---------------------------------------------------------------------------
12532 // Zone name: Etc/GMT-1
12533 // Zone Eras: 1
12534 // Strings (bytes): 14
12535 // Memory (8-bit): 37
12536 // Memory (32-bit): 50
12537 //---------------------------------------------------------------------------
12538 
12539 static const extended::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
12540  // 1 - +01
12541  {
12542  nullptr /*zonePolicy*/,
12543  "+01" /*format*/,
12544  4 /*offsetCode*/,
12545  (0 << 4) + (0 + 4) /*deltaCode*/,
12546  127 /*untilYearTiny*/,
12547  1 /*untilMonth*/,
12548  1 /*untilDay*/,
12549  0 /*untilTimeCode*/,
12550  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12551  },
12552 
12553 };
12554 
12555 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "Etc/GMT-1";
12556 
12557 const extended::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
12558  kZoneNameEtc_GMT_1 /*name*/,
12559  0x9d13da56 /*zoneId*/,
12560  &kZoneContext /*zoneContext*/,
12561  2 /*transitionBufSize*/,
12562  1 /*numEras*/,
12563  kZoneEraEtc_GMT_1 /*eras*/,
12564 };
12565 
12566 //---------------------------------------------------------------------------
12567 // Zone name: Etc/GMT-10
12568 // Zone Eras: 1
12569 // Strings (bytes): 15
12570 // Memory (8-bit): 38
12571 // Memory (32-bit): 51
12572 //---------------------------------------------------------------------------
12573 
12574 static const extended::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
12575  // 10 - +10
12576  {
12577  nullptr /*zonePolicy*/,
12578  "+10" /*format*/,
12579  40 /*offsetCode*/,
12580  (0 << 4) + (0 + 4) /*deltaCode*/,
12581  127 /*untilYearTiny*/,
12582  1 /*untilMonth*/,
12583  1 /*untilDay*/,
12584  0 /*untilTimeCode*/,
12585  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12586  },
12587 
12588 };
12589 
12590 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "Etc/GMT-10";
12591 
12592 const extended::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
12593  kZoneNameEtc_GMT_10 /*name*/,
12594  0x3f8f2546 /*zoneId*/,
12595  &kZoneContext /*zoneContext*/,
12596  2 /*transitionBufSize*/,
12597  1 /*numEras*/,
12598  kZoneEraEtc_GMT_10 /*eras*/,
12599 };
12600 
12601 //---------------------------------------------------------------------------
12602 // Zone name: Etc/GMT-11
12603 // Zone Eras: 1
12604 // Strings (bytes): 15
12605 // Memory (8-bit): 38
12606 // Memory (32-bit): 51
12607 //---------------------------------------------------------------------------
12608 
12609 static const extended::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
12610  // 11 - +11
12611  {
12612  nullptr /*zonePolicy*/,
12613  "+11" /*format*/,
12614  44 /*offsetCode*/,
12615  (0 << 4) + (0 + 4) /*deltaCode*/,
12616  127 /*untilYearTiny*/,
12617  1 /*untilMonth*/,
12618  1 /*untilDay*/,
12619  0 /*untilTimeCode*/,
12620  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12621  },
12622 
12623 };
12624 
12625 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "Etc/GMT-11";
12626 
12627 const extended::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
12628  kZoneNameEtc_GMT_11 /*name*/,
12629  0x3f8f2547 /*zoneId*/,
12630  &kZoneContext /*zoneContext*/,
12631  2 /*transitionBufSize*/,
12632  1 /*numEras*/,
12633  kZoneEraEtc_GMT_11 /*eras*/,
12634 };
12635 
12636 //---------------------------------------------------------------------------
12637 // Zone name: Etc/GMT-12
12638 // Zone Eras: 1
12639 // Strings (bytes): 15
12640 // Memory (8-bit): 38
12641 // Memory (32-bit): 51
12642 //---------------------------------------------------------------------------
12643 
12644 static const extended::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
12645  // 12 - +12
12646  {
12647  nullptr /*zonePolicy*/,
12648  "+12" /*format*/,
12649  48 /*offsetCode*/,
12650  (0 << 4) + (0 + 4) /*deltaCode*/,
12651  127 /*untilYearTiny*/,
12652  1 /*untilMonth*/,
12653  1 /*untilDay*/,
12654  0 /*untilTimeCode*/,
12655  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12656  },
12657 
12658 };
12659 
12660 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "Etc/GMT-12";
12661 
12662 const extended::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
12663  kZoneNameEtc_GMT_12 /*name*/,
12664  0x3f8f2548 /*zoneId*/,
12665  &kZoneContext /*zoneContext*/,
12666  2 /*transitionBufSize*/,
12667  1 /*numEras*/,
12668  kZoneEraEtc_GMT_12 /*eras*/,
12669 };
12670 
12671 //---------------------------------------------------------------------------
12672 // Zone name: Etc/GMT-13
12673 // Zone Eras: 1
12674 // Strings (bytes): 15
12675 // Memory (8-bit): 38
12676 // Memory (32-bit): 51
12677 //---------------------------------------------------------------------------
12678 
12679 static const extended::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
12680  // 13 - +13
12681  {
12682  nullptr /*zonePolicy*/,
12683  "+13" /*format*/,
12684  52 /*offsetCode*/,
12685  (0 << 4) + (0 + 4) /*deltaCode*/,
12686  127 /*untilYearTiny*/,
12687  1 /*untilMonth*/,
12688  1 /*untilDay*/,
12689  0 /*untilTimeCode*/,
12690  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12691  },
12692 
12693 };
12694 
12695 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "Etc/GMT-13";
12696 
12697 const extended::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
12698  kZoneNameEtc_GMT_13 /*name*/,
12699  0x3f8f2549 /*zoneId*/,
12700  &kZoneContext /*zoneContext*/,
12701  2 /*transitionBufSize*/,
12702  1 /*numEras*/,
12703  kZoneEraEtc_GMT_13 /*eras*/,
12704 };
12705 
12706 //---------------------------------------------------------------------------
12707 // Zone name: Etc/GMT-14
12708 // Zone Eras: 1
12709 // Strings (bytes): 15
12710 // Memory (8-bit): 38
12711 // Memory (32-bit): 51
12712 //---------------------------------------------------------------------------
12713 
12714 static const extended::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
12715  // 14 - +14
12716  {
12717  nullptr /*zonePolicy*/,
12718  "+14" /*format*/,
12719  56 /*offsetCode*/,
12720  (0 << 4) + (0 + 4) /*deltaCode*/,
12721  127 /*untilYearTiny*/,
12722  1 /*untilMonth*/,
12723  1 /*untilDay*/,
12724  0 /*untilTimeCode*/,
12725  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12726  },
12727 
12728 };
12729 
12730 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "Etc/GMT-14";
12731 
12732 const extended::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
12733  kZoneNameEtc_GMT_14 /*name*/,
12734  0x3f8f254a /*zoneId*/,
12735  &kZoneContext /*zoneContext*/,
12736  2 /*transitionBufSize*/,
12737  1 /*numEras*/,
12738  kZoneEraEtc_GMT_14 /*eras*/,
12739 };
12740 
12741 //---------------------------------------------------------------------------
12742 // Zone name: Etc/GMT-2
12743 // Zone Eras: 1
12744 // Strings (bytes): 14
12745 // Memory (8-bit): 37
12746 // Memory (32-bit): 50
12747 //---------------------------------------------------------------------------
12748 
12749 static const extended::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
12750  // 2 - +02
12751  {
12752  nullptr /*zonePolicy*/,
12753  "+02" /*format*/,
12754  8 /*offsetCode*/,
12755  (0 << 4) + (0 + 4) /*deltaCode*/,
12756  127 /*untilYearTiny*/,
12757  1 /*untilMonth*/,
12758  1 /*untilDay*/,
12759  0 /*untilTimeCode*/,
12760  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12761  },
12762 
12763 };
12764 
12765 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "Etc/GMT-2";
12766 
12767 const extended::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
12768  kZoneNameEtc_GMT_2 /*name*/,
12769  0x9d13da57 /*zoneId*/,
12770  &kZoneContext /*zoneContext*/,
12771  2 /*transitionBufSize*/,
12772  1 /*numEras*/,
12773  kZoneEraEtc_GMT_2 /*eras*/,
12774 };
12775 
12776 //---------------------------------------------------------------------------
12777 // Zone name: Etc/GMT-3
12778 // Zone Eras: 1
12779 // Strings (bytes): 14
12780 // Memory (8-bit): 37
12781 // Memory (32-bit): 50
12782 //---------------------------------------------------------------------------
12783 
12784 static const extended::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
12785  // 3 - +03
12786  {
12787  nullptr /*zonePolicy*/,
12788  "+03" /*format*/,
12789  12 /*offsetCode*/,
12790  (0 << 4) + (0 + 4) /*deltaCode*/,
12791  127 /*untilYearTiny*/,
12792  1 /*untilMonth*/,
12793  1 /*untilDay*/,
12794  0 /*untilTimeCode*/,
12795  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12796  },
12797 
12798 };
12799 
12800 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "Etc/GMT-3";
12801 
12802 const extended::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
12803  kZoneNameEtc_GMT_3 /*name*/,
12804  0x9d13da58 /*zoneId*/,
12805  &kZoneContext /*zoneContext*/,
12806  2 /*transitionBufSize*/,
12807  1 /*numEras*/,
12808  kZoneEraEtc_GMT_3 /*eras*/,
12809 };
12810 
12811 //---------------------------------------------------------------------------
12812 // Zone name: Etc/GMT-4
12813 // Zone Eras: 1
12814 // Strings (bytes): 14
12815 // Memory (8-bit): 37
12816 // Memory (32-bit): 50
12817 //---------------------------------------------------------------------------
12818 
12819 static const extended::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
12820  // 4 - +04
12821  {
12822  nullptr /*zonePolicy*/,
12823  "+04" /*format*/,
12824  16 /*offsetCode*/,
12825  (0 << 4) + (0 + 4) /*deltaCode*/,
12826  127 /*untilYearTiny*/,
12827  1 /*untilMonth*/,
12828  1 /*untilDay*/,
12829  0 /*untilTimeCode*/,
12830  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12831  },
12832 
12833 };
12834 
12835 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "Etc/GMT-4";
12836 
12837 const extended::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
12838  kZoneNameEtc_GMT_4 /*name*/,
12839  0x9d13da59 /*zoneId*/,
12840  &kZoneContext /*zoneContext*/,
12841  2 /*transitionBufSize*/,
12842  1 /*numEras*/,
12843  kZoneEraEtc_GMT_4 /*eras*/,
12844 };
12845 
12846 //---------------------------------------------------------------------------
12847 // Zone name: Etc/GMT-5
12848 // Zone Eras: 1
12849 // Strings (bytes): 14
12850 // Memory (8-bit): 37
12851 // Memory (32-bit): 50
12852 //---------------------------------------------------------------------------
12853 
12854 static const extended::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
12855  // 5 - +05
12856  {
12857  nullptr /*zonePolicy*/,
12858  "+05" /*format*/,
12859  20 /*offsetCode*/,
12860  (0 << 4) + (0 + 4) /*deltaCode*/,
12861  127 /*untilYearTiny*/,
12862  1 /*untilMonth*/,
12863  1 /*untilDay*/,
12864  0 /*untilTimeCode*/,
12865  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12866  },
12867 
12868 };
12869 
12870 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "Etc/GMT-5";
12871 
12872 const extended::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
12873  kZoneNameEtc_GMT_5 /*name*/,
12874  0x9d13da5a /*zoneId*/,
12875  &kZoneContext /*zoneContext*/,
12876  2 /*transitionBufSize*/,
12877  1 /*numEras*/,
12878  kZoneEraEtc_GMT_5 /*eras*/,
12879 };
12880 
12881 //---------------------------------------------------------------------------
12882 // Zone name: Etc/GMT-6
12883 // Zone Eras: 1
12884 // Strings (bytes): 14
12885 // Memory (8-bit): 37
12886 // Memory (32-bit): 50
12887 //---------------------------------------------------------------------------
12888 
12889 static const extended::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
12890  // 6 - +06
12891  {
12892  nullptr /*zonePolicy*/,
12893  "+06" /*format*/,
12894  24 /*offsetCode*/,
12895  (0 << 4) + (0 + 4) /*deltaCode*/,
12896  127 /*untilYearTiny*/,
12897  1 /*untilMonth*/,
12898  1 /*untilDay*/,
12899  0 /*untilTimeCode*/,
12900  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12901  },
12902 
12903 };
12904 
12905 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "Etc/GMT-6";
12906 
12907 const extended::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
12908  kZoneNameEtc_GMT_6 /*name*/,
12909  0x9d13da5b /*zoneId*/,
12910  &kZoneContext /*zoneContext*/,
12911  2 /*transitionBufSize*/,
12912  1 /*numEras*/,
12913  kZoneEraEtc_GMT_6 /*eras*/,
12914 };
12915 
12916 //---------------------------------------------------------------------------
12917 // Zone name: Etc/GMT-7
12918 // Zone Eras: 1
12919 // Strings (bytes): 14
12920 // Memory (8-bit): 37
12921 // Memory (32-bit): 50
12922 //---------------------------------------------------------------------------
12923 
12924 static const extended::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
12925  // 7 - +07
12926  {
12927  nullptr /*zonePolicy*/,
12928  "+07" /*format*/,
12929  28 /*offsetCode*/,
12930  (0 << 4) + (0 + 4) /*deltaCode*/,
12931  127 /*untilYearTiny*/,
12932  1 /*untilMonth*/,
12933  1 /*untilDay*/,
12934  0 /*untilTimeCode*/,
12935  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12936  },
12937 
12938 };
12939 
12940 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "Etc/GMT-7";
12941 
12942 const extended::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
12943  kZoneNameEtc_GMT_7 /*name*/,
12944  0x9d13da5c /*zoneId*/,
12945  &kZoneContext /*zoneContext*/,
12946  2 /*transitionBufSize*/,
12947  1 /*numEras*/,
12948  kZoneEraEtc_GMT_7 /*eras*/,
12949 };
12950 
12951 //---------------------------------------------------------------------------
12952 // Zone name: Etc/GMT-8
12953 // Zone Eras: 1
12954 // Strings (bytes): 14
12955 // Memory (8-bit): 37
12956 // Memory (32-bit): 50
12957 //---------------------------------------------------------------------------
12958 
12959 static const extended::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
12960  // 8 - +08
12961  {
12962  nullptr /*zonePolicy*/,
12963  "+08" /*format*/,
12964  32 /*offsetCode*/,
12965  (0 << 4) + (0 + 4) /*deltaCode*/,
12966  127 /*untilYearTiny*/,
12967  1 /*untilMonth*/,
12968  1 /*untilDay*/,
12969  0 /*untilTimeCode*/,
12970  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
12971  },
12972 
12973 };
12974 
12975 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "Etc/GMT-8";
12976 
12977 const extended::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
12978  kZoneNameEtc_GMT_8 /*name*/,
12979  0x9d13da5d /*zoneId*/,
12980  &kZoneContext /*zoneContext*/,
12981  2 /*transitionBufSize*/,
12982  1 /*numEras*/,
12983  kZoneEraEtc_GMT_8 /*eras*/,
12984 };
12985 
12986 //---------------------------------------------------------------------------
12987 // Zone name: Etc/GMT-9
12988 // Zone Eras: 1
12989 // Strings (bytes): 14
12990 // Memory (8-bit): 37
12991 // Memory (32-bit): 50
12992 //---------------------------------------------------------------------------
12993 
12994 static const extended::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
12995  // 9 - +09
12996  {
12997  nullptr /*zonePolicy*/,
12998  "+09" /*format*/,
12999  36 /*offsetCode*/,
13000  (0 << 4) + (0 + 4) /*deltaCode*/,
13001  127 /*untilYearTiny*/,
13002  1 /*untilMonth*/,
13003  1 /*untilDay*/,
13004  0 /*untilTimeCode*/,
13005  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13006  },
13007 
13008 };
13009 
13010 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "Etc/GMT-9";
13011 
13012 const extended::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
13013  kZoneNameEtc_GMT_9 /*name*/,
13014  0x9d13da5e /*zoneId*/,
13015  &kZoneContext /*zoneContext*/,
13016  2 /*transitionBufSize*/,
13017  1 /*numEras*/,
13018  kZoneEraEtc_GMT_9 /*eras*/,
13019 };
13020 
13021 //---------------------------------------------------------------------------
13022 // Zone name: Etc/UTC
13023 // Zone Eras: 1
13024 // Strings (bytes): 12
13025 // Memory (8-bit): 35
13026 // Memory (32-bit): 48
13027 //---------------------------------------------------------------------------
13028 
13029 static const extended::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
13030  // 0 - UTC
13031  {
13032  nullptr /*zonePolicy*/,
13033  "UTC" /*format*/,
13034  0 /*offsetCode*/,
13035  (0 << 4) + (0 + 4) /*deltaCode*/,
13036  127 /*untilYearTiny*/,
13037  1 /*untilMonth*/,
13038  1 /*untilDay*/,
13039  0 /*untilTimeCode*/,
13040  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13041  },
13042 
13043 };
13044 
13045 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "Etc/UTC";
13046 
13047 const extended::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
13048  kZoneNameEtc_UTC /*name*/,
13049  0xd8e31abc /*zoneId*/,
13050  &kZoneContext /*zoneContext*/,
13051  2 /*transitionBufSize*/,
13052  1 /*numEras*/,
13053  kZoneEraEtc_UTC /*eras*/,
13054 };
13055 
13056 //---------------------------------------------------------------------------
13057 // Zone name: Europe/Amsterdam
13058 // Zone Eras: 1
13059 // Strings (bytes): 22
13060 // Memory (8-bit): 45
13061 // Memory (32-bit): 58
13062 //---------------------------------------------------------------------------
13063 
13064 static const extended::ZoneEra kZoneEraEurope_Amsterdam[] ACE_TIME_PROGMEM = {
13065  // 1:00 EU CE%sT
13066  {
13067  &kPolicyEU /*zonePolicy*/,
13068  "CE%T" /*format*/,
13069  4 /*offsetCode*/,
13070  (0 << 4) + (0 + 4) /*deltaCode*/,
13071  127 /*untilYearTiny*/,
13072  1 /*untilMonth*/,
13073  1 /*untilDay*/,
13074  0 /*untilTimeCode*/,
13075  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13076  },
13077 
13078 };
13079 
13080 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "Europe/Amsterdam";
13081 
13082 const extended::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
13083  kZoneNameEurope_Amsterdam /*name*/,
13084  0x109395c2 /*zoneId*/,
13085  &kZoneContext /*zoneContext*/,
13086  5 /*transitionBufSize*/,
13087  1 /*numEras*/,
13088  kZoneEraEurope_Amsterdam /*eras*/,
13089 };
13090 
13091 //---------------------------------------------------------------------------
13092 // Zone name: Europe/Andorra
13093 // Zone Eras: 1
13094 // Strings (bytes): 20
13095 // Memory (8-bit): 43
13096 // Memory (32-bit): 56
13097 //---------------------------------------------------------------------------
13098 
13099 static const extended::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
13100  // 1:00 EU CE%sT
13101  {
13102  &kPolicyEU /*zonePolicy*/,
13103  "CE%T" /*format*/,
13104  4 /*offsetCode*/,
13105  (0 << 4) + (0 + 4) /*deltaCode*/,
13106  127 /*untilYearTiny*/,
13107  1 /*untilMonth*/,
13108  1 /*untilDay*/,
13109  0 /*untilTimeCode*/,
13110  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13111  },
13112 
13113 };
13114 
13115 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "Europe/Andorra";
13116 
13117 const extended::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
13118  kZoneNameEurope_Andorra /*name*/,
13119  0x97f6764b /*zoneId*/,
13120  &kZoneContext /*zoneContext*/,
13121  5 /*transitionBufSize*/,
13122  1 /*numEras*/,
13123  kZoneEraEurope_Andorra /*eras*/,
13124 };
13125 
13126 //---------------------------------------------------------------------------
13127 // Zone name: Europe/Astrakhan
13128 // Zone Eras: 4
13129 // Strings (bytes): 37
13130 // Memory (8-bit): 93
13131 // Memory (32-bit): 121
13132 //---------------------------------------------------------------------------
13133 
13134 static const extended::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
13135  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
13136  {
13137  &kPolicyRussia /*zonePolicy*/,
13138  "+03/+04" /*format*/,
13139  12 /*offsetCode*/,
13140  (0 << 4) + (0 + 4) /*deltaCode*/,
13141  11 /*untilYearTiny*/,
13142  3 /*untilMonth*/,
13143  27 /*untilDay*/,
13144  8 /*untilTimeCode*/,
13145  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13146  },
13147  // 4:00 - +04 2014 Oct 26 2:00s
13148  {
13149  nullptr /*zonePolicy*/,
13150  "+04" /*format*/,
13151  16 /*offsetCode*/,
13152  (0 << 4) + (0 + 4) /*deltaCode*/,
13153  14 /*untilYearTiny*/,
13154  10 /*untilMonth*/,
13155  26 /*untilDay*/,
13156  8 /*untilTimeCode*/,
13157  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13158  },
13159  // 3:00 - +03 2016 Mar 27 2:00s
13160  {
13161  nullptr /*zonePolicy*/,
13162  "+03" /*format*/,
13163  12 /*offsetCode*/,
13164  (0 << 4) + (0 + 4) /*deltaCode*/,
13165  16 /*untilYearTiny*/,
13166  3 /*untilMonth*/,
13167  27 /*untilDay*/,
13168  8 /*untilTimeCode*/,
13169  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13170  },
13171  // 4:00 - +04
13172  {
13173  nullptr /*zonePolicy*/,
13174  "+04" /*format*/,
13175  16 /*offsetCode*/,
13176  (0 << 4) + (0 + 4) /*deltaCode*/,
13177  127 /*untilYearTiny*/,
13178  1 /*untilMonth*/,
13179  1 /*untilDay*/,
13180  0 /*untilTimeCode*/,
13181  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13182  },
13183 
13184 };
13185 
13186 static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "Europe/Astrakhan";
13187 
13188 const extended::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
13189  kZoneNameEurope_Astrakhan /*name*/,
13190  0xe22256e1 /*zoneId*/,
13191  &kZoneContext /*zoneContext*/,
13192  5 /*transitionBufSize*/,
13193  4 /*numEras*/,
13194  kZoneEraEurope_Astrakhan /*eras*/,
13195 };
13196 
13197 //---------------------------------------------------------------------------
13198 // Zone name: Europe/Athens
13199 // Zone Eras: 1
13200 // Strings (bytes): 19
13201 // Memory (8-bit): 42
13202 // Memory (32-bit): 55
13203 //---------------------------------------------------------------------------
13204 
13205 static const extended::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
13206  // 2:00 EU EE%sT
13207  {
13208  &kPolicyEU /*zonePolicy*/,
13209  "EE%T" /*format*/,
13210  8 /*offsetCode*/,
13211  (0 << 4) + (0 + 4) /*deltaCode*/,
13212  127 /*untilYearTiny*/,
13213  1 /*untilMonth*/,
13214  1 /*untilDay*/,
13215  0 /*untilTimeCode*/,
13216  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13217  },
13218 
13219 };
13220 
13221 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "Europe/Athens";
13222 
13223 const extended::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
13224  kZoneNameEurope_Athens /*name*/,
13225  0x4318fa27 /*zoneId*/,
13226  &kZoneContext /*zoneContext*/,
13227  5 /*transitionBufSize*/,
13228  1 /*numEras*/,
13229  kZoneEraEurope_Athens /*eras*/,
13230 };
13231 
13232 //---------------------------------------------------------------------------
13233 // Zone name: Europe/Belgrade
13234 // Zone Eras: 1
13235 // Strings (bytes): 21
13236 // Memory (8-bit): 44
13237 // Memory (32-bit): 57
13238 //---------------------------------------------------------------------------
13239 
13240 static const extended::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
13241  // 1:00 EU CE%sT
13242  {
13243  &kPolicyEU /*zonePolicy*/,
13244  "CE%T" /*format*/,
13245  4 /*offsetCode*/,
13246  (0 << 4) + (0 + 4) /*deltaCode*/,
13247  127 /*untilYearTiny*/,
13248  1 /*untilMonth*/,
13249  1 /*untilDay*/,
13250  0 /*untilTimeCode*/,
13251  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13252  },
13253 
13254 };
13255 
13256 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "Europe/Belgrade";
13257 
13258 const extended::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
13259  kZoneNameEurope_Belgrade /*name*/,
13260  0xe0532b3a /*zoneId*/,
13261  &kZoneContext /*zoneContext*/,
13262  5 /*transitionBufSize*/,
13263  1 /*numEras*/,
13264  kZoneEraEurope_Belgrade /*eras*/,
13265 };
13266 
13267 //---------------------------------------------------------------------------
13268 // Zone name: Europe/Berlin
13269 // Zone Eras: 1
13270 // Strings (bytes): 19
13271 // Memory (8-bit): 42
13272 // Memory (32-bit): 55
13273 //---------------------------------------------------------------------------
13274 
13275 static const extended::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
13276  // 1:00 EU CE%sT
13277  {
13278  &kPolicyEU /*zonePolicy*/,
13279  "CE%T" /*format*/,
13280  4 /*offsetCode*/,
13281  (0 << 4) + (0 + 4) /*deltaCode*/,
13282  127 /*untilYearTiny*/,
13283  1 /*untilMonth*/,
13284  1 /*untilDay*/,
13285  0 /*untilTimeCode*/,
13286  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13287  },
13288 
13289 };
13290 
13291 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "Europe/Berlin";
13292 
13293 const extended::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
13294  kZoneNameEurope_Berlin /*name*/,
13295  0x44644c20 /*zoneId*/,
13296  &kZoneContext /*zoneContext*/,
13297  5 /*transitionBufSize*/,
13298  1 /*numEras*/,
13299  kZoneEraEurope_Berlin /*eras*/,
13300 };
13301 
13302 //---------------------------------------------------------------------------
13303 // Zone name: Europe/Brussels
13304 // Zone Eras: 1
13305 // Strings (bytes): 21
13306 // Memory (8-bit): 44
13307 // Memory (32-bit): 57
13308 //---------------------------------------------------------------------------
13309 
13310 static const extended::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
13311  // 1:00 EU CE%sT
13312  {
13313  &kPolicyEU /*zonePolicy*/,
13314  "CE%T" /*format*/,
13315  4 /*offsetCode*/,
13316  (0 << 4) + (0 + 4) /*deltaCode*/,
13317  127 /*untilYearTiny*/,
13318  1 /*untilMonth*/,
13319  1 /*untilDay*/,
13320  0 /*untilTimeCode*/,
13321  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13322  },
13323 
13324 };
13325 
13326 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "Europe/Brussels";
13327 
13328 const extended::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
13329  kZoneNameEurope_Brussels /*name*/,
13330  0xdee07337 /*zoneId*/,
13331  &kZoneContext /*zoneContext*/,
13332  5 /*transitionBufSize*/,
13333  1 /*numEras*/,
13334  kZoneEraEurope_Brussels /*eras*/,
13335 };
13336 
13337 //---------------------------------------------------------------------------
13338 // Zone name: Europe/Bucharest
13339 // Zone Eras: 1
13340 // Strings (bytes): 22
13341 // Memory (8-bit): 45
13342 // Memory (32-bit): 58
13343 //---------------------------------------------------------------------------
13344 
13345 static const extended::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
13346  // 2:00 EU EE%sT
13347  {
13348  &kPolicyEU /*zonePolicy*/,
13349  "EE%T" /*format*/,
13350  8 /*offsetCode*/,
13351  (0 << 4) + (0 + 4) /*deltaCode*/,
13352  127 /*untilYearTiny*/,
13353  1 /*untilMonth*/,
13354  1 /*untilDay*/,
13355  0 /*untilTimeCode*/,
13356  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13357  },
13358 
13359 };
13360 
13361 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "Europe/Bucharest";
13362 
13363 const extended::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
13364  kZoneNameEurope_Bucharest /*name*/,
13365  0xfb349ec5 /*zoneId*/,
13366  &kZoneContext /*zoneContext*/,
13367  5 /*transitionBufSize*/,
13368  1 /*numEras*/,
13369  kZoneEraEurope_Bucharest /*eras*/,
13370 };
13371 
13372 //---------------------------------------------------------------------------
13373 // Zone name: Europe/Budapest
13374 // Zone Eras: 1
13375 // Strings (bytes): 21
13376 // Memory (8-bit): 44
13377 // Memory (32-bit): 57
13378 //---------------------------------------------------------------------------
13379 
13380 static const extended::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
13381  // 1:00 EU CE%sT
13382  {
13383  &kPolicyEU /*zonePolicy*/,
13384  "CE%T" /*format*/,
13385  4 /*offsetCode*/,
13386  (0 << 4) + (0 + 4) /*deltaCode*/,
13387  127 /*untilYearTiny*/,
13388  1 /*untilMonth*/,
13389  1 /*untilDay*/,
13390  0 /*untilTimeCode*/,
13391  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13392  },
13393 
13394 };
13395 
13396 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "Europe/Budapest";
13397 
13398 const extended::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
13399  kZoneNameEurope_Budapest /*name*/,
13400  0x9ce0197c /*zoneId*/,
13401  &kZoneContext /*zoneContext*/,
13402  5 /*transitionBufSize*/,
13403  1 /*numEras*/,
13404  kZoneEraEurope_Budapest /*eras*/,
13405 };
13406 
13407 //---------------------------------------------------------------------------
13408 // Zone name: Europe/Chisinau
13409 // Zone Eras: 1
13410 // Strings (bytes): 21
13411 // Memory (8-bit): 44
13412 // Memory (32-bit): 57
13413 //---------------------------------------------------------------------------
13414 
13415 static const extended::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
13416  // 2:00 Moldova EE%sT
13417  {
13418  &kPolicyMoldova /*zonePolicy*/,
13419  "EE%T" /*format*/,
13420  8 /*offsetCode*/,
13421  (0 << 4) + (0 + 4) /*deltaCode*/,
13422  127 /*untilYearTiny*/,
13423  1 /*untilMonth*/,
13424  1 /*untilDay*/,
13425  0 /*untilTimeCode*/,
13426  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13427  },
13428 
13429 };
13430 
13431 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "Europe/Chisinau";
13432 
13433 const extended::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
13434  kZoneNameEurope_Chisinau /*name*/,
13435  0xad58aa18 /*zoneId*/,
13436  &kZoneContext /*zoneContext*/,
13437  5 /*transitionBufSize*/,
13438  1 /*numEras*/,
13439  kZoneEraEurope_Chisinau /*eras*/,
13440 };
13441 
13442 //---------------------------------------------------------------------------
13443 // Zone name: Europe/Copenhagen
13444 // Zone Eras: 1
13445 // Strings (bytes): 23
13446 // Memory (8-bit): 46
13447 // Memory (32-bit): 59
13448 //---------------------------------------------------------------------------
13449 
13450 static const extended::ZoneEra kZoneEraEurope_Copenhagen[] ACE_TIME_PROGMEM = {
13451  // 1:00 EU CE%sT
13452  {
13453  &kPolicyEU /*zonePolicy*/,
13454  "CE%T" /*format*/,
13455  4 /*offsetCode*/,
13456  (0 << 4) + (0 + 4) /*deltaCode*/,
13457  127 /*untilYearTiny*/,
13458  1 /*untilMonth*/,
13459  1 /*untilDay*/,
13460  0 /*untilTimeCode*/,
13461  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13462  },
13463 
13464 };
13465 
13466 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "Europe/Copenhagen";
13467 
13468 const extended::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
13469  kZoneNameEurope_Copenhagen /*name*/,
13470  0xe0ed30bc /*zoneId*/,
13471  &kZoneContext /*zoneContext*/,
13472  5 /*transitionBufSize*/,
13473  1 /*numEras*/,
13474  kZoneEraEurope_Copenhagen /*eras*/,
13475 };
13476 
13477 //---------------------------------------------------------------------------
13478 // Zone name: Europe/Dublin
13479 // Zone Eras: 1
13480 // Strings (bytes): 22
13481 // Memory (8-bit): 45
13482 // Memory (32-bit): 58
13483 //---------------------------------------------------------------------------
13484 
13485 static const extended::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
13486  // 1:00 Eire IST/GMT
13487  {
13488  &kPolicyEire /*zonePolicy*/,
13489  "IST/GMT" /*format*/,
13490  4 /*offsetCode*/,
13491  (0 << 4) + (0 + 4) /*deltaCode*/,
13492  127 /*untilYearTiny*/,
13493  1 /*untilMonth*/,
13494  1 /*untilDay*/,
13495  0 /*untilTimeCode*/,
13496  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13497  },
13498 
13499 };
13500 
13501 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "Europe/Dublin";
13502 
13503 const extended::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
13504  kZoneNameEurope_Dublin /*name*/,
13505  0x4a275f62 /*zoneId*/,
13506  &kZoneContext /*zoneContext*/,
13507  5 /*transitionBufSize*/,
13508  1 /*numEras*/,
13509  kZoneEraEurope_Dublin /*eras*/,
13510 };
13511 
13512 //---------------------------------------------------------------------------
13513 // Zone name: Europe/Gibraltar
13514 // Zone Eras: 1
13515 // Strings (bytes): 22
13516 // Memory (8-bit): 45
13517 // Memory (32-bit): 58
13518 //---------------------------------------------------------------------------
13519 
13520 static const extended::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
13521  // 1:00 EU CE%sT
13522  {
13523  &kPolicyEU /*zonePolicy*/,
13524  "CE%T" /*format*/,
13525  4 /*offsetCode*/,
13526  (0 << 4) + (0 + 4) /*deltaCode*/,
13527  127 /*untilYearTiny*/,
13528  1 /*untilMonth*/,
13529  1 /*untilDay*/,
13530  0 /*untilTimeCode*/,
13531  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13532  },
13533 
13534 };
13535 
13536 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "Europe/Gibraltar";
13537 
13538 const extended::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
13539  kZoneNameEurope_Gibraltar /*name*/,
13540  0xf8e325fc /*zoneId*/,
13541  &kZoneContext /*zoneContext*/,
13542  5 /*transitionBufSize*/,
13543  1 /*numEras*/,
13544  kZoneEraEurope_Gibraltar /*eras*/,
13545 };
13546 
13547 //---------------------------------------------------------------------------
13548 // Zone name: Europe/Helsinki
13549 // Zone Eras: 1
13550 // Strings (bytes): 21
13551 // Memory (8-bit): 44
13552 // Memory (32-bit): 57
13553 //---------------------------------------------------------------------------
13554 
13555 static const extended::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
13556  // 2:00 EU EE%sT
13557  {
13558  &kPolicyEU /*zonePolicy*/,
13559  "EE%T" /*format*/,
13560  8 /*offsetCode*/,
13561  (0 << 4) + (0 + 4) /*deltaCode*/,
13562  127 /*untilYearTiny*/,
13563  1 /*untilMonth*/,
13564  1 /*untilDay*/,
13565  0 /*untilTimeCode*/,
13566  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13567  },
13568 
13569 };
13570 
13571 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "Europe/Helsinki";
13572 
13573 const extended::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
13574  kZoneNameEurope_Helsinki /*name*/,
13575  0x6ab2975b /*zoneId*/,
13576  &kZoneContext /*zoneContext*/,
13577  5 /*transitionBufSize*/,
13578  1 /*numEras*/,
13579  kZoneEraEurope_Helsinki /*eras*/,
13580 };
13581 
13582 //---------------------------------------------------------------------------
13583 // Zone name: Europe/Istanbul
13584 // Zone Eras: 9
13585 // Strings (bytes): 58
13586 // Memory (8-bit): 169
13587 // Memory (32-bit): 222
13588 //---------------------------------------------------------------------------
13589 
13590 static const extended::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
13591  // 2:00 Turkey EE%sT 2007
13592  {
13593  &kPolicyTurkey /*zonePolicy*/,
13594  "EE%T" /*format*/,
13595  8 /*offsetCode*/,
13596  (0 << 4) + (0 + 4) /*deltaCode*/,
13597  7 /*untilYearTiny*/,
13598  1 /*untilMonth*/,
13599  1 /*untilDay*/,
13600  0 /*untilTimeCode*/,
13601  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13602  },
13603  // 2:00 EU EE%sT 2011 Mar 27 1:00u
13604  {
13605  &kPolicyEU /*zonePolicy*/,
13606  "EE%T" /*format*/,
13607  8 /*offsetCode*/,
13608  (0 << 4) + (0 + 4) /*deltaCode*/,
13609  11 /*untilYearTiny*/,
13610  3 /*untilMonth*/,
13611  27 /*untilDay*/,
13612  4 /*untilTimeCode*/,
13613  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
13614  },
13615  // 2:00 - EET 2011 Mar 28 1:00u
13616  {
13617  nullptr /*zonePolicy*/,
13618  "EET" /*format*/,
13619  8 /*offsetCode*/,
13620  (0 << 4) + (0 + 4) /*deltaCode*/,
13621  11 /*untilYearTiny*/,
13622  3 /*untilMonth*/,
13623  28 /*untilDay*/,
13624  4 /*untilTimeCode*/,
13625  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
13626  },
13627  // 2:00 EU EE%sT 2014 Mar 30 1:00u
13628  {
13629  &kPolicyEU /*zonePolicy*/,
13630  "EE%T" /*format*/,
13631  8 /*offsetCode*/,
13632  (0 << 4) + (0 + 4) /*deltaCode*/,
13633  14 /*untilYearTiny*/,
13634  3 /*untilMonth*/,
13635  30 /*untilDay*/,
13636  4 /*untilTimeCode*/,
13637  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
13638  },
13639  // 2:00 - EET 2014 Mar 31 1:00u
13640  {
13641  nullptr /*zonePolicy*/,
13642  "EET" /*format*/,
13643  8 /*offsetCode*/,
13644  (0 << 4) + (0 + 4) /*deltaCode*/,
13645  14 /*untilYearTiny*/,
13646  3 /*untilMonth*/,
13647  31 /*untilDay*/,
13648  4 /*untilTimeCode*/,
13649  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
13650  },
13651  // 2:00 EU EE%sT 2015 Oct 25 1:00u
13652  {
13653  &kPolicyEU /*zonePolicy*/,
13654  "EE%T" /*format*/,
13655  8 /*offsetCode*/,
13656  (0 << 4) + (0 + 4) /*deltaCode*/,
13657  15 /*untilYearTiny*/,
13658  10 /*untilMonth*/,
13659  25 /*untilDay*/,
13660  4 /*untilTimeCode*/,
13661  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
13662  },
13663  // 2:00 1:00 EEST 2015 Nov 8 1:00u
13664  {
13665  nullptr /*zonePolicy*/,
13666  "EEST" /*format*/,
13667  8 /*offsetCode*/,
13668  (0 << 4) + (4 + 4) /*deltaCode*/,
13669  15 /*untilYearTiny*/,
13670  11 /*untilMonth*/,
13671  8 /*untilDay*/,
13672  4 /*untilTimeCode*/,
13673  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
13674  },
13675  // 2:00 EU EE%sT 2016 Sep 7
13676  {
13677  &kPolicyEU /*zonePolicy*/,
13678  "EE%T" /*format*/,
13679  8 /*offsetCode*/,
13680  (0 << 4) + (0 + 4) /*deltaCode*/,
13681  16 /*untilYearTiny*/,
13682  9 /*untilMonth*/,
13683  7 /*untilDay*/,
13684  0 /*untilTimeCode*/,
13685  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13686  },
13687  // 3:00 - +03
13688  {
13689  nullptr /*zonePolicy*/,
13690  "+03" /*format*/,
13691  12 /*offsetCode*/,
13692  (0 << 4) + (0 + 4) /*deltaCode*/,
13693  127 /*untilYearTiny*/,
13694  1 /*untilMonth*/,
13695  1 /*untilDay*/,
13696  0 /*untilTimeCode*/,
13697  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13698  },
13699 
13700 };
13701 
13702 static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "Europe/Istanbul";
13703 
13704 const extended::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
13705  kZoneNameEurope_Istanbul /*name*/,
13706  0x9e09d6e6 /*zoneId*/,
13707  &kZoneContext /*zoneContext*/,
13708  7 /*transitionBufSize*/,
13709  9 /*numEras*/,
13710  kZoneEraEurope_Istanbul /*eras*/,
13711 };
13712 
13713 //---------------------------------------------------------------------------
13714 // Zone name: Europe/Kaliningrad
13715 // Zone Eras: 3
13716 // Strings (bytes): 32
13717 // Memory (8-bit): 77
13718 // Memory (32-bit): 100
13719 //---------------------------------------------------------------------------
13720 
13721 static const extended::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
13722  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
13723  {
13724  &kPolicyRussia /*zonePolicy*/,
13725  "EE%T" /*format*/,
13726  8 /*offsetCode*/,
13727  (0 << 4) + (0 + 4) /*deltaCode*/,
13728  11 /*untilYearTiny*/,
13729  3 /*untilMonth*/,
13730  27 /*untilDay*/,
13731  8 /*untilTimeCode*/,
13732  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13733  },
13734  // 3:00 - +03 2014 Oct 26 2:00s
13735  {
13736  nullptr /*zonePolicy*/,
13737  "+03" /*format*/,
13738  12 /*offsetCode*/,
13739  (0 << 4) + (0 + 4) /*deltaCode*/,
13740  14 /*untilYearTiny*/,
13741  10 /*untilMonth*/,
13742  26 /*untilDay*/,
13743  8 /*untilTimeCode*/,
13744  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13745  },
13746  // 2:00 - EET
13747  {
13748  nullptr /*zonePolicy*/,
13749  "EET" /*format*/,
13750  8 /*offsetCode*/,
13751  (0 << 4) + (0 + 4) /*deltaCode*/,
13752  127 /*untilYearTiny*/,
13753  1 /*untilMonth*/,
13754  1 /*untilDay*/,
13755  0 /*untilTimeCode*/,
13756  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13757  },
13758 
13759 };
13760 
13761 static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "Europe/Kaliningrad";
13762 
13763 const extended::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
13764  kZoneNameEurope_Kaliningrad /*name*/,
13765  0xd33b2f28 /*zoneId*/,
13766  &kZoneContext /*zoneContext*/,
13767  5 /*transitionBufSize*/,
13768  3 /*numEras*/,
13769  kZoneEraEurope_Kaliningrad /*eras*/,
13770 };
13771 
13772 //---------------------------------------------------------------------------
13773 // Zone name: Europe/Kiev
13774 // Zone Eras: 1
13775 // Strings (bytes): 17
13776 // Memory (8-bit): 40
13777 // Memory (32-bit): 53
13778 //---------------------------------------------------------------------------
13779 
13780 static const extended::ZoneEra kZoneEraEurope_Kiev[] ACE_TIME_PROGMEM = {
13781  // 2:00 EU EE%sT
13782  {
13783  &kPolicyEU /*zonePolicy*/,
13784  "EE%T" /*format*/,
13785  8 /*offsetCode*/,
13786  (0 << 4) + (0 + 4) /*deltaCode*/,
13787  127 /*untilYearTiny*/,
13788  1 /*untilMonth*/,
13789  1 /*untilDay*/,
13790  0 /*untilTimeCode*/,
13791  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13792  },
13793 
13794 };
13795 
13796 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "Europe/Kiev";
13797 
13798 const extended::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
13799  kZoneNameEurope_Kiev /*name*/,
13800  0xa2c19eb3 /*zoneId*/,
13801  &kZoneContext /*zoneContext*/,
13802  5 /*transitionBufSize*/,
13803  1 /*numEras*/,
13804  kZoneEraEurope_Kiev /*eras*/,
13805 };
13806 
13807 //---------------------------------------------------------------------------
13808 // Zone name: Europe/Kirov
13809 // Zone Eras: 3
13810 // Strings (bytes): 29
13811 // Memory (8-bit): 74
13812 // Memory (32-bit): 97
13813 //---------------------------------------------------------------------------
13814 
13815 static const extended::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
13816  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
13817  {
13818  &kPolicyRussia /*zonePolicy*/,
13819  "+03/+04" /*format*/,
13820  12 /*offsetCode*/,
13821  (0 << 4) + (0 + 4) /*deltaCode*/,
13822  11 /*untilYearTiny*/,
13823  3 /*untilMonth*/,
13824  27 /*untilDay*/,
13825  8 /*untilTimeCode*/,
13826  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13827  },
13828  // 4:00 - +04 2014 Oct 26 2:00s
13829  {
13830  nullptr /*zonePolicy*/,
13831  "+04" /*format*/,
13832  16 /*offsetCode*/,
13833  (0 << 4) + (0 + 4) /*deltaCode*/,
13834  14 /*untilYearTiny*/,
13835  10 /*untilMonth*/,
13836  26 /*untilDay*/,
13837  8 /*untilTimeCode*/,
13838  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
13839  },
13840  // 3:00 - +03
13841  {
13842  nullptr /*zonePolicy*/,
13843  "+03" /*format*/,
13844  12 /*offsetCode*/,
13845  (0 << 4) + (0 + 4) /*deltaCode*/,
13846  127 /*untilYearTiny*/,
13847  1 /*untilMonth*/,
13848  1 /*untilDay*/,
13849  0 /*untilTimeCode*/,
13850  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13851  },
13852 
13853 };
13854 
13855 static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "Europe/Kirov";
13856 
13857 const extended::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
13858  kZoneNameEurope_Kirov /*name*/,
13859  0xfaf5abef /*zoneId*/,
13860  &kZoneContext /*zoneContext*/,
13861  5 /*transitionBufSize*/,
13862  3 /*numEras*/,
13863  kZoneEraEurope_Kirov /*eras*/,
13864 };
13865 
13866 //---------------------------------------------------------------------------
13867 // Zone name: Europe/Lisbon
13868 // Zone Eras: 1
13869 // Strings (bytes): 19
13870 // Memory (8-bit): 42
13871 // Memory (32-bit): 55
13872 //---------------------------------------------------------------------------
13873 
13874 static const extended::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
13875  // 0:00 EU WE%sT
13876  {
13877  &kPolicyEU /*zonePolicy*/,
13878  "WE%T" /*format*/,
13879  0 /*offsetCode*/,
13880  (0 << 4) + (0 + 4) /*deltaCode*/,
13881  127 /*untilYearTiny*/,
13882  1 /*untilMonth*/,
13883  1 /*untilDay*/,
13884  0 /*untilTimeCode*/,
13885  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13886  },
13887 
13888 };
13889 
13890 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "Europe/Lisbon";
13891 
13892 const extended::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
13893  kZoneNameEurope_Lisbon /*name*/,
13894  0x5c00a70b /*zoneId*/,
13895  &kZoneContext /*zoneContext*/,
13896  5 /*transitionBufSize*/,
13897  1 /*numEras*/,
13898  kZoneEraEurope_Lisbon /*eras*/,
13899 };
13900 
13901 //---------------------------------------------------------------------------
13902 // Zone name: Europe/London
13903 // Zone Eras: 1
13904 // Strings (bytes): 22
13905 // Memory (8-bit): 45
13906 // Memory (32-bit): 58
13907 //---------------------------------------------------------------------------
13908 
13909 static const extended::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
13910  // 0:00 EU GMT/BST
13911  {
13912  &kPolicyEU /*zonePolicy*/,
13913  "GMT/BST" /*format*/,
13914  0 /*offsetCode*/,
13915  (0 << 4) + (0 + 4) /*deltaCode*/,
13916  127 /*untilYearTiny*/,
13917  1 /*untilMonth*/,
13918  1 /*untilDay*/,
13919  0 /*untilTimeCode*/,
13920  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13921  },
13922 
13923 };
13924 
13925 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "Europe/London";
13926 
13927 const extended::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
13928  kZoneNameEurope_London /*name*/,
13929  0x5c6a84ae /*zoneId*/,
13930  &kZoneContext /*zoneContext*/,
13931  5 /*transitionBufSize*/,
13932  1 /*numEras*/,
13933  kZoneEraEurope_London /*eras*/,
13934 };
13935 
13936 //---------------------------------------------------------------------------
13937 // Zone name: Europe/Luxembourg
13938 // Zone Eras: 1
13939 // Strings (bytes): 23
13940 // Memory (8-bit): 46
13941 // Memory (32-bit): 59
13942 //---------------------------------------------------------------------------
13943 
13944 static const extended::ZoneEra kZoneEraEurope_Luxembourg[] ACE_TIME_PROGMEM = {
13945  // 1:00 EU CE%sT
13946  {
13947  &kPolicyEU /*zonePolicy*/,
13948  "CE%T" /*format*/,
13949  4 /*offsetCode*/,
13950  (0 << 4) + (0 + 4) /*deltaCode*/,
13951  127 /*untilYearTiny*/,
13952  1 /*untilMonth*/,
13953  1 /*untilDay*/,
13954  0 /*untilTimeCode*/,
13955  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13956  },
13957 
13958 };
13959 
13960 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "Europe/Luxembourg";
13961 
13962 const extended::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
13963  kZoneNameEurope_Luxembourg /*name*/,
13964  0x1f8bc6ce /*zoneId*/,
13965  &kZoneContext /*zoneContext*/,
13966  5 /*transitionBufSize*/,
13967  1 /*numEras*/,
13968  kZoneEraEurope_Luxembourg /*eras*/,
13969 };
13970 
13971 //---------------------------------------------------------------------------
13972 // Zone name: Europe/Madrid
13973 // Zone Eras: 1
13974 // Strings (bytes): 19
13975 // Memory (8-bit): 42
13976 // Memory (32-bit): 55
13977 //---------------------------------------------------------------------------
13978 
13979 static const extended::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
13980  // 1:00 EU CE%sT
13981  {
13982  &kPolicyEU /*zonePolicy*/,
13983  "CE%T" /*format*/,
13984  4 /*offsetCode*/,
13985  (0 << 4) + (0 + 4) /*deltaCode*/,
13986  127 /*untilYearTiny*/,
13987  1 /*untilMonth*/,
13988  1 /*untilDay*/,
13989  0 /*untilTimeCode*/,
13990  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
13991  },
13992 
13993 };
13994 
13995 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "Europe/Madrid";
13996 
13997 const extended::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
13998  kZoneNameEurope_Madrid /*name*/,
13999  0x5dbd1535 /*zoneId*/,
14000  &kZoneContext /*zoneContext*/,
14001  5 /*transitionBufSize*/,
14002  1 /*numEras*/,
14003  kZoneEraEurope_Madrid /*eras*/,
14004 };
14005 
14006 //---------------------------------------------------------------------------
14007 // Zone name: Europe/Malta
14008 // Zone Eras: 1
14009 // Strings (bytes): 18
14010 // Memory (8-bit): 41
14011 // Memory (32-bit): 54
14012 //---------------------------------------------------------------------------
14013 
14014 static const extended::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
14015  // 1:00 EU CE%sT
14016  {
14017  &kPolicyEU /*zonePolicy*/,
14018  "CE%T" /*format*/,
14019  4 /*offsetCode*/,
14020  (0 << 4) + (0 + 4) /*deltaCode*/,
14021  127 /*untilYearTiny*/,
14022  1 /*untilMonth*/,
14023  1 /*untilDay*/,
14024  0 /*untilTimeCode*/,
14025  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14026  },
14027 
14028 };
14029 
14030 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "Europe/Malta";
14031 
14032 const extended::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
14033  kZoneNameEurope_Malta /*name*/,
14034  0xfb1560f3 /*zoneId*/,
14035  &kZoneContext /*zoneContext*/,
14036  5 /*transitionBufSize*/,
14037  1 /*numEras*/,
14038  kZoneEraEurope_Malta /*eras*/,
14039 };
14040 
14041 //---------------------------------------------------------------------------
14042 // Zone name: Europe/Minsk
14043 // Zone Eras: 2
14044 // Strings (bytes): 22
14045 // Memory (8-bit): 56
14046 // Memory (32-bit): 74
14047 //---------------------------------------------------------------------------
14048 
14049 static const extended::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
14050  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
14051  {
14052  &kPolicyRussia /*zonePolicy*/,
14053  "EE%T" /*format*/,
14054  8 /*offsetCode*/,
14055  (0 << 4) + (0 + 4) /*deltaCode*/,
14056  11 /*untilYearTiny*/,
14057  3 /*untilMonth*/,
14058  27 /*untilDay*/,
14059  8 /*untilTimeCode*/,
14060  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14061  },
14062  // 3:00 - +03
14063  {
14064  nullptr /*zonePolicy*/,
14065  "+03" /*format*/,
14066  12 /*offsetCode*/,
14067  (0 << 4) + (0 + 4) /*deltaCode*/,
14068  127 /*untilYearTiny*/,
14069  1 /*untilMonth*/,
14070  1 /*untilDay*/,
14071  0 /*untilTimeCode*/,
14072  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14073  },
14074 
14075 };
14076 
14077 static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "Europe/Minsk";
14078 
14079 const extended::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
14080  kZoneNameEurope_Minsk /*name*/,
14081  0xfb19cc66 /*zoneId*/,
14082  &kZoneContext /*zoneContext*/,
14083  5 /*transitionBufSize*/,
14084  2 /*numEras*/,
14085  kZoneEraEurope_Minsk /*eras*/,
14086 };
14087 
14088 //---------------------------------------------------------------------------
14089 // Zone name: Europe/Monaco
14090 // Zone Eras: 1
14091 // Strings (bytes): 19
14092 // Memory (8-bit): 42
14093 // Memory (32-bit): 55
14094 //---------------------------------------------------------------------------
14095 
14096 static const extended::ZoneEra kZoneEraEurope_Monaco[] ACE_TIME_PROGMEM = {
14097  // 1:00 EU CE%sT
14098  {
14099  &kPolicyEU /*zonePolicy*/,
14100  "CE%T" /*format*/,
14101  4 /*offsetCode*/,
14102  (0 << 4) + (0 + 4) /*deltaCode*/,
14103  127 /*untilYearTiny*/,
14104  1 /*untilMonth*/,
14105  1 /*untilDay*/,
14106  0 /*untilTimeCode*/,
14107  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14108  },
14109 
14110 };
14111 
14112 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "Europe/Monaco";
14113 
14114 const extended::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
14115  kZoneNameEurope_Monaco /*name*/,
14116  0x5ebf9f01 /*zoneId*/,
14117  &kZoneContext /*zoneContext*/,
14118  5 /*transitionBufSize*/,
14119  1 /*numEras*/,
14120  kZoneEraEurope_Monaco /*eras*/,
14121 };
14122 
14123 //---------------------------------------------------------------------------
14124 // Zone name: Europe/Moscow
14125 // Zone Eras: 3
14126 // Strings (bytes): 30
14127 // Memory (8-bit): 75
14128 // Memory (32-bit): 98
14129 //---------------------------------------------------------------------------
14130 
14131 static const extended::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
14132  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
14133  {
14134  &kPolicyRussia /*zonePolicy*/,
14135  "MSK/MSD" /*format*/,
14136  12 /*offsetCode*/,
14137  (0 << 4) + (0 + 4) /*deltaCode*/,
14138  11 /*untilYearTiny*/,
14139  3 /*untilMonth*/,
14140  27 /*untilDay*/,
14141  8 /*untilTimeCode*/,
14142  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14143  },
14144  // 4:00 - MSK 2014 Oct 26 2:00s
14145  {
14146  nullptr /*zonePolicy*/,
14147  "MSK" /*format*/,
14148  16 /*offsetCode*/,
14149  (0 << 4) + (0 + 4) /*deltaCode*/,
14150  14 /*untilYearTiny*/,
14151  10 /*untilMonth*/,
14152  26 /*untilDay*/,
14153  8 /*untilTimeCode*/,
14154  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14155  },
14156  // 3:00 - MSK
14157  {
14158  nullptr /*zonePolicy*/,
14159  "MSK" /*format*/,
14160  12 /*offsetCode*/,
14161  (0 << 4) + (0 + 4) /*deltaCode*/,
14162  127 /*untilYearTiny*/,
14163  1 /*untilMonth*/,
14164  1 /*untilDay*/,
14165  0 /*untilTimeCode*/,
14166  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14167  },
14168 
14169 };
14170 
14171 static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "Europe/Moscow";
14172 
14173 const extended::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
14174  kZoneNameEurope_Moscow /*name*/,
14175  0x5ec266fc /*zoneId*/,
14176  &kZoneContext /*zoneContext*/,
14177  5 /*transitionBufSize*/,
14178  3 /*numEras*/,
14179  kZoneEraEurope_Moscow /*eras*/,
14180 };
14181 
14182 //---------------------------------------------------------------------------
14183 // Zone name: Europe/Oslo
14184 // Zone Eras: 1
14185 // Strings (bytes): 17
14186 // Memory (8-bit): 40
14187 // Memory (32-bit): 53
14188 //---------------------------------------------------------------------------
14189 
14190 static const extended::ZoneEra kZoneEraEurope_Oslo[] ACE_TIME_PROGMEM = {
14191  // 1:00 EU CE%sT
14192  {
14193  &kPolicyEU /*zonePolicy*/,
14194  "CE%T" /*format*/,
14195  4 /*offsetCode*/,
14196  (0 << 4) + (0 + 4) /*deltaCode*/,
14197  127 /*untilYearTiny*/,
14198  1 /*untilMonth*/,
14199  1 /*untilDay*/,
14200  0 /*untilTimeCode*/,
14201  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14202  },
14203 
14204 };
14205 
14206 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "Europe/Oslo";
14207 
14208 const extended::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
14209  kZoneNameEurope_Oslo /*name*/,
14210  0xa2c3fba1 /*zoneId*/,
14211  &kZoneContext /*zoneContext*/,
14212  5 /*transitionBufSize*/,
14213  1 /*numEras*/,
14214  kZoneEraEurope_Oslo /*eras*/,
14215 };
14216 
14217 //---------------------------------------------------------------------------
14218 // Zone name: Europe/Paris
14219 // Zone Eras: 1
14220 // Strings (bytes): 18
14221 // Memory (8-bit): 41
14222 // Memory (32-bit): 54
14223 //---------------------------------------------------------------------------
14224 
14225 static const extended::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
14226  // 1:00 EU CE%sT
14227  {
14228  &kPolicyEU /*zonePolicy*/,
14229  "CE%T" /*format*/,
14230  4 /*offsetCode*/,
14231  (0 << 4) + (0 + 4) /*deltaCode*/,
14232  127 /*untilYearTiny*/,
14233  1 /*untilMonth*/,
14234  1 /*untilDay*/,
14235  0 /*untilTimeCode*/,
14236  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14237  },
14238 
14239 };
14240 
14241 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "Europe/Paris";
14242 
14243 const extended::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
14244  kZoneNameEurope_Paris /*name*/,
14245  0xfb4bc2a3 /*zoneId*/,
14246  &kZoneContext /*zoneContext*/,
14247  5 /*transitionBufSize*/,
14248  1 /*numEras*/,
14249  kZoneEraEurope_Paris /*eras*/,
14250 };
14251 
14252 //---------------------------------------------------------------------------
14253 // Zone name: Europe/Prague
14254 // Zone Eras: 1
14255 // Strings (bytes): 19
14256 // Memory (8-bit): 42
14257 // Memory (32-bit): 55
14258 //---------------------------------------------------------------------------
14259 
14260 static const extended::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
14261  // 1:00 EU CE%sT
14262  {
14263  &kPolicyEU /*zonePolicy*/,
14264  "CE%T" /*format*/,
14265  4 /*offsetCode*/,
14266  (0 << 4) + (0 + 4) /*deltaCode*/,
14267  127 /*untilYearTiny*/,
14268  1 /*untilMonth*/,
14269  1 /*untilDay*/,
14270  0 /*untilTimeCode*/,
14271  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14272  },
14273 
14274 };
14275 
14276 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "Europe/Prague";
14277 
14278 const extended::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
14279  kZoneNameEurope_Prague /*name*/,
14280  0x65ee5d48 /*zoneId*/,
14281  &kZoneContext /*zoneContext*/,
14282  5 /*transitionBufSize*/,
14283  1 /*numEras*/,
14284  kZoneEraEurope_Prague /*eras*/,
14285 };
14286 
14287 //---------------------------------------------------------------------------
14288 // Zone name: Europe/Riga
14289 // Zone Eras: 3
14290 // Strings (bytes): 26
14291 // Memory (8-bit): 71
14292 // Memory (32-bit): 94
14293 //---------------------------------------------------------------------------
14294 
14295 static const extended::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
14296  // 2:00 EU EE%sT 2000 Feb 29
14297  {
14298  &kPolicyEU /*zonePolicy*/,
14299  "EE%T" /*format*/,
14300  8 /*offsetCode*/,
14301  (0 << 4) + (0 + 4) /*deltaCode*/,
14302  0 /*untilYearTiny*/,
14303  2 /*untilMonth*/,
14304  29 /*untilDay*/,
14305  0 /*untilTimeCode*/,
14306  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14307  },
14308  // 2:00 - EET 2001 Jan 2
14309  {
14310  nullptr /*zonePolicy*/,
14311  "EET" /*format*/,
14312  8 /*offsetCode*/,
14313  (0 << 4) + (0 + 4) /*deltaCode*/,
14314  1 /*untilYearTiny*/,
14315  1 /*untilMonth*/,
14316  2 /*untilDay*/,
14317  0 /*untilTimeCode*/,
14318  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14319  },
14320  // 2:00 EU EE%sT
14321  {
14322  &kPolicyEU /*zonePolicy*/,
14323  "EE%T" /*format*/,
14324  8 /*offsetCode*/,
14325  (0 << 4) + (0 + 4) /*deltaCode*/,
14326  127 /*untilYearTiny*/,
14327  1 /*untilMonth*/,
14328  1 /*untilDay*/,
14329  0 /*untilTimeCode*/,
14330  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14331  },
14332 
14333 };
14334 
14335 static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "Europe/Riga";
14336 
14337 const extended::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
14338  kZoneNameEurope_Riga /*name*/,
14339  0xa2c57587 /*zoneId*/,
14340  &kZoneContext /*zoneContext*/,
14341  6 /*transitionBufSize*/,
14342  3 /*numEras*/,
14343  kZoneEraEurope_Riga /*eras*/,
14344 };
14345 
14346 //---------------------------------------------------------------------------
14347 // Zone name: Europe/Rome
14348 // Zone Eras: 1
14349 // Strings (bytes): 17
14350 // Memory (8-bit): 40
14351 // Memory (32-bit): 53
14352 //---------------------------------------------------------------------------
14353 
14354 static const extended::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
14355  // 1:00 EU CE%sT
14356  {
14357  &kPolicyEU /*zonePolicy*/,
14358  "CE%T" /*format*/,
14359  4 /*offsetCode*/,
14360  (0 << 4) + (0 + 4) /*deltaCode*/,
14361  127 /*untilYearTiny*/,
14362  1 /*untilMonth*/,
14363  1 /*untilDay*/,
14364  0 /*untilTimeCode*/,
14365  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14366  },
14367 
14368 };
14369 
14370 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "Europe/Rome";
14371 
14372 const extended::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
14373  kZoneNameEurope_Rome /*name*/,
14374  0xa2c58fd7 /*zoneId*/,
14375  &kZoneContext /*zoneContext*/,
14376  5 /*transitionBufSize*/,
14377  1 /*numEras*/,
14378  kZoneEraEurope_Rome /*eras*/,
14379 };
14380 
14381 //---------------------------------------------------------------------------
14382 // Zone name: Europe/Samara
14383 // Zone Eras: 3
14384 // Strings (bytes): 34
14385 // Memory (8-bit): 79
14386 // Memory (32-bit): 102
14387 //---------------------------------------------------------------------------
14388 
14389 static const extended::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
14390  // 4:00 Russia +04/+05 2010 Mar 28 2:00s
14391  {
14392  &kPolicyRussia /*zonePolicy*/,
14393  "+04/+05" /*format*/,
14394  16 /*offsetCode*/,
14395  (0 << 4) + (0 + 4) /*deltaCode*/,
14396  10 /*untilYearTiny*/,
14397  3 /*untilMonth*/,
14398  28 /*untilDay*/,
14399  8 /*untilTimeCode*/,
14400  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14401  },
14402  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
14403  {
14404  &kPolicyRussia /*zonePolicy*/,
14405  "+03/+04" /*format*/,
14406  12 /*offsetCode*/,
14407  (0 << 4) + (0 + 4) /*deltaCode*/,
14408  11 /*untilYearTiny*/,
14409  3 /*untilMonth*/,
14410  27 /*untilDay*/,
14411  8 /*untilTimeCode*/,
14412  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14413  },
14414  // 4:00 - +04
14415  {
14416  nullptr /*zonePolicy*/,
14417  "+04" /*format*/,
14418  16 /*offsetCode*/,
14419  (0 << 4) + (0 + 4) /*deltaCode*/,
14420  127 /*untilYearTiny*/,
14421  1 /*untilMonth*/,
14422  1 /*untilDay*/,
14423  0 /*untilTimeCode*/,
14424  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14425  },
14426 
14427 };
14428 
14429 static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "Europe/Samara";
14430 
14431 const extended::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
14432  kZoneNameEurope_Samara /*name*/,
14433  0x6bc0b139 /*zoneId*/,
14434  &kZoneContext /*zoneContext*/,
14435  5 /*transitionBufSize*/,
14436  3 /*numEras*/,
14437  kZoneEraEurope_Samara /*eras*/,
14438 };
14439 
14440 //---------------------------------------------------------------------------
14441 // Zone name: Europe/Saratov
14442 // Zone Eras: 4
14443 // Strings (bytes): 35
14444 // Memory (8-bit): 91
14445 // Memory (32-bit): 119
14446 //---------------------------------------------------------------------------
14447 
14448 static const extended::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
14449  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
14450  {
14451  &kPolicyRussia /*zonePolicy*/,
14452  "+03/+04" /*format*/,
14453  12 /*offsetCode*/,
14454  (0 << 4) + (0 + 4) /*deltaCode*/,
14455  11 /*untilYearTiny*/,
14456  3 /*untilMonth*/,
14457  27 /*untilDay*/,
14458  8 /*untilTimeCode*/,
14459  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14460  },
14461  // 4:00 - +04 2014 Oct 26 2:00s
14462  {
14463  nullptr /*zonePolicy*/,
14464  "+04" /*format*/,
14465  16 /*offsetCode*/,
14466  (0 << 4) + (0 + 4) /*deltaCode*/,
14467  14 /*untilYearTiny*/,
14468  10 /*untilMonth*/,
14469  26 /*untilDay*/,
14470  8 /*untilTimeCode*/,
14471  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14472  },
14473  // 3:00 - +03 2016 Dec 4 2:00s
14474  {
14475  nullptr /*zonePolicy*/,
14476  "+03" /*format*/,
14477  12 /*offsetCode*/,
14478  (0 << 4) + (0 + 4) /*deltaCode*/,
14479  16 /*untilYearTiny*/,
14480  12 /*untilMonth*/,
14481  4 /*untilDay*/,
14482  8 /*untilTimeCode*/,
14483  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14484  },
14485  // 4:00 - +04
14486  {
14487  nullptr /*zonePolicy*/,
14488  "+04" /*format*/,
14489  16 /*offsetCode*/,
14490  (0 << 4) + (0 + 4) /*deltaCode*/,
14491  127 /*untilYearTiny*/,
14492  1 /*untilMonth*/,
14493  1 /*untilDay*/,
14494  0 /*untilTimeCode*/,
14495  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14496  },
14497 
14498 };
14499 
14500 static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "Europe/Saratov";
14501 
14502 const extended::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
14503  kZoneNameEurope_Saratov /*name*/,
14504  0xe4315da4 /*zoneId*/,
14505  &kZoneContext /*zoneContext*/,
14506  5 /*transitionBufSize*/,
14507  4 /*numEras*/,
14508  kZoneEraEurope_Saratov /*eras*/,
14509 };
14510 
14511 //---------------------------------------------------------------------------
14512 // Zone name: Europe/Simferopol
14513 // Zone Eras: 3
14514 // Strings (bytes): 31
14515 // Memory (8-bit): 76
14516 // Memory (32-bit): 99
14517 //---------------------------------------------------------------------------
14518 
14519 static const extended::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
14520  // 2:00 EU EE%sT 2014 Mar 30 2:00
14521  {
14522  &kPolicyEU /*zonePolicy*/,
14523  "EE%T" /*format*/,
14524  8 /*offsetCode*/,
14525  (0 << 4) + (0 + 4) /*deltaCode*/,
14526  14 /*untilYearTiny*/,
14527  3 /*untilMonth*/,
14528  30 /*untilDay*/,
14529  8 /*untilTimeCode*/,
14530  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14531  },
14532  // 4:00 - MSK 2014 Oct 26 2:00s
14533  {
14534  nullptr /*zonePolicy*/,
14535  "MSK" /*format*/,
14536  16 /*offsetCode*/,
14537  (0 << 4) + (0 + 4) /*deltaCode*/,
14538  14 /*untilYearTiny*/,
14539  10 /*untilMonth*/,
14540  26 /*untilDay*/,
14541  8 /*untilTimeCode*/,
14542  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14543  },
14544  // 3:00 - MSK
14545  {
14546  nullptr /*zonePolicy*/,
14547  "MSK" /*format*/,
14548  12 /*offsetCode*/,
14549  (0 << 4) + (0 + 4) /*deltaCode*/,
14550  127 /*untilYearTiny*/,
14551  1 /*untilMonth*/,
14552  1 /*untilDay*/,
14553  0 /*untilTimeCode*/,
14554  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14555  },
14556 
14557 };
14558 
14559 static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "Europe/Simferopol";
14560 
14561 const extended::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
14562  kZoneNameEurope_Simferopol /*name*/,
14563  0xda9eb724 /*zoneId*/,
14564  &kZoneContext /*zoneContext*/,
14565  5 /*transitionBufSize*/,
14566  3 /*numEras*/,
14567  kZoneEraEurope_Simferopol /*eras*/,
14568 };
14569 
14570 //---------------------------------------------------------------------------
14571 // Zone name: Europe/Sofia
14572 // Zone Eras: 1
14573 // Strings (bytes): 18
14574 // Memory (8-bit): 41
14575 // Memory (32-bit): 54
14576 //---------------------------------------------------------------------------
14577 
14578 static const extended::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
14579  // 2:00 EU EE%sT
14580  {
14581  &kPolicyEU /*zonePolicy*/,
14582  "EE%T" /*format*/,
14583  8 /*offsetCode*/,
14584  (0 << 4) + (0 + 4) /*deltaCode*/,
14585  127 /*untilYearTiny*/,
14586  1 /*untilMonth*/,
14587  1 /*untilDay*/,
14588  0 /*untilTimeCode*/,
14589  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14590  },
14591 
14592 };
14593 
14594 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "Europe/Sofia";
14595 
14596 const extended::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
14597  kZoneNameEurope_Sofia /*name*/,
14598  0xfb898656 /*zoneId*/,
14599  &kZoneContext /*zoneContext*/,
14600  5 /*transitionBufSize*/,
14601  1 /*numEras*/,
14602  kZoneEraEurope_Sofia /*eras*/,
14603 };
14604 
14605 //---------------------------------------------------------------------------
14606 // Zone name: Europe/Stockholm
14607 // Zone Eras: 1
14608 // Strings (bytes): 22
14609 // Memory (8-bit): 45
14610 // Memory (32-bit): 58
14611 //---------------------------------------------------------------------------
14612 
14613 static const extended::ZoneEra kZoneEraEurope_Stockholm[] ACE_TIME_PROGMEM = {
14614  // 1:00 EU CE%sT
14615  {
14616  &kPolicyEU /*zonePolicy*/,
14617  "CE%T" /*format*/,
14618  4 /*offsetCode*/,
14619  (0 << 4) + (0 + 4) /*deltaCode*/,
14620  127 /*untilYearTiny*/,
14621  1 /*untilMonth*/,
14622  1 /*untilDay*/,
14623  0 /*untilTimeCode*/,
14624  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14625  },
14626 
14627 };
14628 
14629 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "Europe/Stockholm";
14630 
14631 const extended::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
14632  kZoneNameEurope_Stockholm /*name*/,
14633  0x5bf6fbb8 /*zoneId*/,
14634  &kZoneContext /*zoneContext*/,
14635  5 /*transitionBufSize*/,
14636  1 /*numEras*/,
14637  kZoneEraEurope_Stockholm /*eras*/,
14638 };
14639 
14640 //---------------------------------------------------------------------------
14641 // Zone name: Europe/Tallinn
14642 // Zone Eras: 3
14643 // Strings (bytes): 29
14644 // Memory (8-bit): 74
14645 // Memory (32-bit): 97
14646 //---------------------------------------------------------------------------
14647 
14648 static const extended::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
14649  // 2:00 EU EE%sT 1999 Oct 31 4:00
14650  {
14651  &kPolicyEU /*zonePolicy*/,
14652  "EE%T" /*format*/,
14653  8 /*offsetCode*/,
14654  (0 << 4) + (0 + 4) /*deltaCode*/,
14655  -1 /*untilYearTiny*/,
14656  10 /*untilMonth*/,
14657  31 /*untilDay*/,
14658  16 /*untilTimeCode*/,
14659  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14660  },
14661  // 2:00 - EET 2002 Feb 21
14662  {
14663  nullptr /*zonePolicy*/,
14664  "EET" /*format*/,
14665  8 /*offsetCode*/,
14666  (0 << 4) + (0 + 4) /*deltaCode*/,
14667  2 /*untilYearTiny*/,
14668  2 /*untilMonth*/,
14669  21 /*untilDay*/,
14670  0 /*untilTimeCode*/,
14671  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14672  },
14673  // 2:00 EU EE%sT
14674  {
14675  &kPolicyEU /*zonePolicy*/,
14676  "EE%T" /*format*/,
14677  8 /*offsetCode*/,
14678  (0 << 4) + (0 + 4) /*deltaCode*/,
14679  127 /*untilYearTiny*/,
14680  1 /*untilMonth*/,
14681  1 /*untilDay*/,
14682  0 /*untilTimeCode*/,
14683  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14684  },
14685 
14686 };
14687 
14688 static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "Europe/Tallinn";
14689 
14690 const extended::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
14691  kZoneNameEurope_Tallinn /*name*/,
14692  0x30c4e096 /*zoneId*/,
14693  &kZoneContext /*zoneContext*/,
14694  6 /*transitionBufSize*/,
14695  3 /*numEras*/,
14696  kZoneEraEurope_Tallinn /*eras*/,
14697 };
14698 
14699 //---------------------------------------------------------------------------
14700 // Zone name: Europe/Tirane
14701 // Zone Eras: 1
14702 // Strings (bytes): 19
14703 // Memory (8-bit): 42
14704 // Memory (32-bit): 55
14705 //---------------------------------------------------------------------------
14706 
14707 static const extended::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
14708  // 1:00 EU CE%sT
14709  {
14710  &kPolicyEU /*zonePolicy*/,
14711  "CE%T" /*format*/,
14712  4 /*offsetCode*/,
14713  (0 << 4) + (0 + 4) /*deltaCode*/,
14714  127 /*untilYearTiny*/,
14715  1 /*untilMonth*/,
14716  1 /*untilDay*/,
14717  0 /*untilTimeCode*/,
14718  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14719  },
14720 
14721 };
14722 
14723 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "Europe/Tirane";
14724 
14725 const extended::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
14726  kZoneNameEurope_Tirane /*name*/,
14727  0x6ea95b47 /*zoneId*/,
14728  &kZoneContext /*zoneContext*/,
14729  5 /*transitionBufSize*/,
14730  1 /*numEras*/,
14731  kZoneEraEurope_Tirane /*eras*/,
14732 };
14733 
14734 //---------------------------------------------------------------------------
14735 // Zone name: Europe/Ulyanovsk
14736 // Zone Eras: 4
14737 // Strings (bytes): 37
14738 // Memory (8-bit): 93
14739 // Memory (32-bit): 121
14740 //---------------------------------------------------------------------------
14741 
14742 static const extended::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
14743  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
14744  {
14745  &kPolicyRussia /*zonePolicy*/,
14746  "+03/+04" /*format*/,
14747  12 /*offsetCode*/,
14748  (0 << 4) + (0 + 4) /*deltaCode*/,
14749  11 /*untilYearTiny*/,
14750  3 /*untilMonth*/,
14751  27 /*untilDay*/,
14752  8 /*untilTimeCode*/,
14753  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14754  },
14755  // 4:00 - +04 2014 Oct 26 2:00s
14756  {
14757  nullptr /*zonePolicy*/,
14758  "+04" /*format*/,
14759  16 /*offsetCode*/,
14760  (0 << 4) + (0 + 4) /*deltaCode*/,
14761  14 /*untilYearTiny*/,
14762  10 /*untilMonth*/,
14763  26 /*untilDay*/,
14764  8 /*untilTimeCode*/,
14765  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14766  },
14767  // 3:00 - +03 2016 Mar 27 2:00s
14768  {
14769  nullptr /*zonePolicy*/,
14770  "+03" /*format*/,
14771  12 /*offsetCode*/,
14772  (0 << 4) + (0 + 4) /*deltaCode*/,
14773  16 /*untilYearTiny*/,
14774  3 /*untilMonth*/,
14775  27 /*untilDay*/,
14776  8 /*untilTimeCode*/,
14777  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14778  },
14779  // 4:00 - +04
14780  {
14781  nullptr /*zonePolicy*/,
14782  "+04" /*format*/,
14783  16 /*offsetCode*/,
14784  (0 << 4) + (0 + 4) /*deltaCode*/,
14785  127 /*untilYearTiny*/,
14786  1 /*untilMonth*/,
14787  1 /*untilDay*/,
14788  0 /*untilTimeCode*/,
14789  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14790  },
14791 
14792 };
14793 
14794 static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "Europe/Ulyanovsk";
14795 
14796 const extended::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
14797  kZoneNameEurope_Ulyanovsk /*name*/,
14798  0xe03783d0 /*zoneId*/,
14799  &kZoneContext /*zoneContext*/,
14800  5 /*transitionBufSize*/,
14801  4 /*numEras*/,
14802  kZoneEraEurope_Ulyanovsk /*eras*/,
14803 };
14804 
14805 //---------------------------------------------------------------------------
14806 // Zone name: Europe/Uzhgorod
14807 // Zone Eras: 1
14808 // Strings (bytes): 21
14809 // Memory (8-bit): 44
14810 // Memory (32-bit): 57
14811 //---------------------------------------------------------------------------
14812 
14813 static const extended::ZoneEra kZoneEraEurope_Uzhgorod[] ACE_TIME_PROGMEM = {
14814  // 2:00 EU EE%sT
14815  {
14816  &kPolicyEU /*zonePolicy*/,
14817  "EE%T" /*format*/,
14818  8 /*offsetCode*/,
14819  (0 << 4) + (0 + 4) /*deltaCode*/,
14820  127 /*untilYearTiny*/,
14821  1 /*untilMonth*/,
14822  1 /*untilDay*/,
14823  0 /*untilTimeCode*/,
14824  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14825  },
14826 
14827 };
14828 
14829 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "Europe/Uzhgorod";
14830 
14831 const extended::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
14832  kZoneNameEurope_Uzhgorod /*name*/,
14833  0xb066f5d6 /*zoneId*/,
14834  &kZoneContext /*zoneContext*/,
14835  5 /*transitionBufSize*/,
14836  1 /*numEras*/,
14837  kZoneEraEurope_Uzhgorod /*eras*/,
14838 };
14839 
14840 //---------------------------------------------------------------------------
14841 // Zone name: Europe/Vienna
14842 // Zone Eras: 1
14843 // Strings (bytes): 19
14844 // Memory (8-bit): 42
14845 // Memory (32-bit): 55
14846 //---------------------------------------------------------------------------
14847 
14848 static const extended::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
14849  // 1:00 EU CE%sT
14850  {
14851  &kPolicyEU /*zonePolicy*/,
14852  "CE%T" /*format*/,
14853  4 /*offsetCode*/,
14854  (0 << 4) + (0 + 4) /*deltaCode*/,
14855  127 /*untilYearTiny*/,
14856  1 /*untilMonth*/,
14857  1 /*untilDay*/,
14858  0 /*untilTimeCode*/,
14859  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14860  },
14861 
14862 };
14863 
14864 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "Europe/Vienna";
14865 
14866 const extended::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
14867  kZoneNameEurope_Vienna /*name*/,
14868  0x734cc2e5 /*zoneId*/,
14869  &kZoneContext /*zoneContext*/,
14870  5 /*transitionBufSize*/,
14871  1 /*numEras*/,
14872  kZoneEraEurope_Vienna /*eras*/,
14873 };
14874 
14875 //---------------------------------------------------------------------------
14876 // Zone name: Europe/Vilnius
14877 // Zone Eras: 3
14878 // Strings (bytes): 29
14879 // Memory (8-bit): 74
14880 // Memory (32-bit): 97
14881 //---------------------------------------------------------------------------
14882 
14883 static const extended::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
14884  // 1:00 EU CE%sT 1999 Oct 31 1:00u
14885  {
14886  &kPolicyEU /*zonePolicy*/,
14887  "CE%T" /*format*/,
14888  4 /*offsetCode*/,
14889  (0 << 4) + (0 + 4) /*deltaCode*/,
14890  -1 /*untilYearTiny*/,
14891  10 /*untilMonth*/,
14892  31 /*untilDay*/,
14893  4 /*untilTimeCode*/,
14894  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
14895  },
14896  // 2:00 - EET 2003 Jan 1
14897  {
14898  nullptr /*zonePolicy*/,
14899  "EET" /*format*/,
14900  8 /*offsetCode*/,
14901  (0 << 4) + (0 + 4) /*deltaCode*/,
14902  3 /*untilYearTiny*/,
14903  1 /*untilMonth*/,
14904  1 /*untilDay*/,
14905  0 /*untilTimeCode*/,
14906  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14907  },
14908  // 2:00 EU EE%sT
14909  {
14910  &kPolicyEU /*zonePolicy*/,
14911  "EE%T" /*format*/,
14912  8 /*offsetCode*/,
14913  (0 << 4) + (0 + 4) /*deltaCode*/,
14914  127 /*untilYearTiny*/,
14915  1 /*untilMonth*/,
14916  1 /*untilDay*/,
14917  0 /*untilTimeCode*/,
14918  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14919  },
14920 
14921 };
14922 
14923 static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "Europe/Vilnius";
14924 
14925 const extended::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
14926  kZoneNameEurope_Vilnius /*name*/,
14927  0xdd63b8ce /*zoneId*/,
14928  &kZoneContext /*zoneContext*/,
14929  6 /*transitionBufSize*/,
14930  3 /*numEras*/,
14931  kZoneEraEurope_Vilnius /*eras*/,
14932 };
14933 
14934 //---------------------------------------------------------------------------
14935 // Zone name: Europe/Volgograd
14936 // Zone Eras: 4
14937 // Strings (bytes): 37
14938 // Memory (8-bit): 93
14939 // Memory (32-bit): 121
14940 //---------------------------------------------------------------------------
14941 
14942 static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
14943  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
14944  {
14945  &kPolicyRussia /*zonePolicy*/,
14946  "+03/+04" /*format*/,
14947  12 /*offsetCode*/,
14948  (0 << 4) + (0 + 4) /*deltaCode*/,
14949  11 /*untilYearTiny*/,
14950  3 /*untilMonth*/,
14951  27 /*untilDay*/,
14952  8 /*untilTimeCode*/,
14953  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14954  },
14955  // 4:00 - +04 2014 Oct 26 2:00s
14956  {
14957  nullptr /*zonePolicy*/,
14958  "+04" /*format*/,
14959  16 /*offsetCode*/,
14960  (0 << 4) + (0 + 4) /*deltaCode*/,
14961  14 /*untilYearTiny*/,
14962  10 /*untilMonth*/,
14963  26 /*untilDay*/,
14964  8 /*untilTimeCode*/,
14965  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14966  },
14967  // 3:00 - +03 2018 Oct 28 2:00s
14968  {
14969  nullptr /*zonePolicy*/,
14970  "+03" /*format*/,
14971  12 /*offsetCode*/,
14972  (0 << 4) + (0 + 4) /*deltaCode*/,
14973  18 /*untilYearTiny*/,
14974  10 /*untilMonth*/,
14975  28 /*untilDay*/,
14976  8 /*untilTimeCode*/,
14977  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
14978  },
14979  // 4:00 - +04
14980  {
14981  nullptr /*zonePolicy*/,
14982  "+04" /*format*/,
14983  16 /*offsetCode*/,
14984  (0 << 4) + (0 + 4) /*deltaCode*/,
14985  127 /*untilYearTiny*/,
14986  1 /*untilMonth*/,
14987  1 /*untilDay*/,
14988  0 /*untilTimeCode*/,
14989  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
14990  },
14991 
14992 };
14993 
14994 static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "Europe/Volgograd";
14995 
14996 const extended::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
14997  kZoneNameEurope_Volgograd /*name*/,
14998  0x3ed0f389 /*zoneId*/,
14999  &kZoneContext /*zoneContext*/,
15000  5 /*transitionBufSize*/,
15001  4 /*numEras*/,
15002  kZoneEraEurope_Volgograd /*eras*/,
15003 };
15004 
15005 //---------------------------------------------------------------------------
15006 // Zone name: Europe/Warsaw
15007 // Zone Eras: 1
15008 // Strings (bytes): 19
15009 // Memory (8-bit): 42
15010 // Memory (32-bit): 55
15011 //---------------------------------------------------------------------------
15012 
15013 static const extended::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
15014  // 1:00 EU CE%sT
15015  {
15016  &kPolicyEU /*zonePolicy*/,
15017  "CE%T" /*format*/,
15018  4 /*offsetCode*/,
15019  (0 << 4) + (0 + 4) /*deltaCode*/,
15020  127 /*untilYearTiny*/,
15021  1 /*untilMonth*/,
15022  1 /*untilDay*/,
15023  0 /*untilTimeCode*/,
15024  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15025  },
15026 
15027 };
15028 
15029 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "Europe/Warsaw";
15030 
15031 const extended::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
15032  kZoneNameEurope_Warsaw /*name*/,
15033  0x75185c19 /*zoneId*/,
15034  &kZoneContext /*zoneContext*/,
15035  5 /*transitionBufSize*/,
15036  1 /*numEras*/,
15037  kZoneEraEurope_Warsaw /*eras*/,
15038 };
15039 
15040 //---------------------------------------------------------------------------
15041 // Zone name: Europe/Zaporozhye
15042 // Zone Eras: 1
15043 // Strings (bytes): 23
15044 // Memory (8-bit): 46
15045 // Memory (32-bit): 59
15046 //---------------------------------------------------------------------------
15047 
15048 static const extended::ZoneEra kZoneEraEurope_Zaporozhye[] ACE_TIME_PROGMEM = {
15049  // 2:00 EU EE%sT
15050  {
15051  &kPolicyEU /*zonePolicy*/,
15052  "EE%T" /*format*/,
15053  8 /*offsetCode*/,
15054  (0 << 4) + (0 + 4) /*deltaCode*/,
15055  127 /*untilYearTiny*/,
15056  1 /*untilMonth*/,
15057  1 /*untilDay*/,
15058  0 /*untilTimeCode*/,
15059  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15060  },
15061 
15062 };
15063 
15064 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "Europe/Zaporozhye";
15065 
15066 const extended::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
15067  kZoneNameEurope_Zaporozhye /*name*/,
15068  0xeab9767f /*zoneId*/,
15069  &kZoneContext /*zoneContext*/,
15070  5 /*transitionBufSize*/,
15071  1 /*numEras*/,
15072  kZoneEraEurope_Zaporozhye /*eras*/,
15073 };
15074 
15075 //---------------------------------------------------------------------------
15076 // Zone name: Europe/Zurich
15077 // Zone Eras: 1
15078 // Strings (bytes): 19
15079 // Memory (8-bit): 42
15080 // Memory (32-bit): 55
15081 //---------------------------------------------------------------------------
15082 
15083 static const extended::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
15084  // 1:00 EU CE%sT
15085  {
15086  &kPolicyEU /*zonePolicy*/,
15087  "CE%T" /*format*/,
15088  4 /*offsetCode*/,
15089  (0 << 4) + (0 + 4) /*deltaCode*/,
15090  127 /*untilYearTiny*/,
15091  1 /*untilMonth*/,
15092  1 /*untilDay*/,
15093  0 /*untilTimeCode*/,
15094  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15095  },
15096 
15097 };
15098 
15099 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "Europe/Zurich";
15100 
15101 const extended::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
15102  kZoneNameEurope_Zurich /*name*/,
15103  0x7d8195b9 /*zoneId*/,
15104  &kZoneContext /*zoneContext*/,
15105  5 /*transitionBufSize*/,
15106  1 /*numEras*/,
15107  kZoneEraEurope_Zurich /*eras*/,
15108 };
15109 
15110 //---------------------------------------------------------------------------
15111 // Zone name: HST
15112 // Zone Eras: 1
15113 // Strings (bytes): 8
15114 // Memory (8-bit): 31
15115 // Memory (32-bit): 44
15116 //---------------------------------------------------------------------------
15117 
15118 static const extended::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = {
15119  // -10:00 - HST
15120  {
15121  nullptr /*zonePolicy*/,
15122  "HST" /*format*/,
15123  -40 /*offsetCode*/,
15124  (0 << 4) + (0 + 4) /*deltaCode*/,
15125  127 /*untilYearTiny*/,
15126  1 /*untilMonth*/,
15127  1 /*untilDay*/,
15128  0 /*untilTimeCode*/,
15129  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15130  },
15131 
15132 };
15133 
15134 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
15135 
15136 const extended::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
15137  kZoneNameHST /*name*/,
15138  0x0b87f034 /*zoneId*/,
15139  &kZoneContext /*zoneContext*/,
15140  2 /*transitionBufSize*/,
15141  1 /*numEras*/,
15142  kZoneEraHST /*eras*/,
15143 };
15144 
15145 //---------------------------------------------------------------------------
15146 // Zone name: Indian/Chagos
15147 // Zone Eras: 1
15148 // Strings (bytes): 18
15149 // Memory (8-bit): 41
15150 // Memory (32-bit): 54
15151 //---------------------------------------------------------------------------
15152 
15153 static const extended::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
15154  // 6:00 - +06
15155  {
15156  nullptr /*zonePolicy*/,
15157  "+06" /*format*/,
15158  24 /*offsetCode*/,
15159  (0 << 4) + (0 + 4) /*deltaCode*/,
15160  127 /*untilYearTiny*/,
15161  1 /*untilMonth*/,
15162  1 /*untilDay*/,
15163  0 /*untilTimeCode*/,
15164  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15165  },
15166 
15167 };
15168 
15169 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "Indian/Chagos";
15170 
15171 const extended::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
15172  kZoneNameIndian_Chagos /*name*/,
15173  0x456f7c3c /*zoneId*/,
15174  &kZoneContext /*zoneContext*/,
15175  2 /*transitionBufSize*/,
15176  1 /*numEras*/,
15177  kZoneEraIndian_Chagos /*eras*/,
15178 };
15179 
15180 //---------------------------------------------------------------------------
15181 // Zone name: Indian/Christmas
15182 // Zone Eras: 1
15183 // Strings (bytes): 21
15184 // Memory (8-bit): 44
15185 // Memory (32-bit): 57
15186 //---------------------------------------------------------------------------
15187 
15188 static const extended::ZoneEra kZoneEraIndian_Christmas[] ACE_TIME_PROGMEM = {
15189  // 7:00 - +07
15190  {
15191  nullptr /*zonePolicy*/,
15192  "+07" /*format*/,
15193  28 /*offsetCode*/,
15194  (0 << 4) + (0 + 4) /*deltaCode*/,
15195  127 /*untilYearTiny*/,
15196  1 /*untilMonth*/,
15197  1 /*untilDay*/,
15198  0 /*untilTimeCode*/,
15199  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15200  },
15201 
15202 };
15203 
15204 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "Indian/Christmas";
15205 
15206 const extended::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
15207  kZoneNameIndian_Christmas /*name*/,
15208  0x68c207d5 /*zoneId*/,
15209  &kZoneContext /*zoneContext*/,
15210  2 /*transitionBufSize*/,
15211  1 /*numEras*/,
15212  kZoneEraIndian_Christmas /*eras*/,
15213 };
15214 
15215 //---------------------------------------------------------------------------
15216 // Zone name: Indian/Cocos
15217 // Zone Eras: 1
15218 // Strings (bytes): 19
15219 // Memory (8-bit): 42
15220 // Memory (32-bit): 55
15221 //---------------------------------------------------------------------------
15222 
15223 static const extended::ZoneEra kZoneEraIndian_Cocos[] ACE_TIME_PROGMEM = {
15224  // 6:30 - +0630
15225  {
15226  nullptr /*zonePolicy*/,
15227  "+0630" /*format*/,
15228  26 /*offsetCode*/,
15229  (0 << 4) + (0 + 4) /*deltaCode*/,
15230  127 /*untilYearTiny*/,
15231  1 /*untilMonth*/,
15232  1 /*untilDay*/,
15233  0 /*untilTimeCode*/,
15234  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15235  },
15236 
15237 };
15238 
15239 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "Indian/Cocos";
15240 
15241 const extended::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
15242  kZoneNameIndian_Cocos /*name*/,
15243  0x021e86de /*zoneId*/,
15244  &kZoneContext /*zoneContext*/,
15245  2 /*transitionBufSize*/,
15246  1 /*numEras*/,
15247  kZoneEraIndian_Cocos /*eras*/,
15248 };
15249 
15250 //---------------------------------------------------------------------------
15251 // Zone name: Indian/Kerguelen
15252 // Zone Eras: 1
15253 // Strings (bytes): 21
15254 // Memory (8-bit): 44
15255 // Memory (32-bit): 57
15256 //---------------------------------------------------------------------------
15257 
15258 static const extended::ZoneEra kZoneEraIndian_Kerguelen[] ACE_TIME_PROGMEM = {
15259  // 5:00 - +05
15260  {
15261  nullptr /*zonePolicy*/,
15262  "+05" /*format*/,
15263  20 /*offsetCode*/,
15264  (0 << 4) + (0 + 4) /*deltaCode*/,
15265  127 /*untilYearTiny*/,
15266  1 /*untilMonth*/,
15267  1 /*untilDay*/,
15268  0 /*untilTimeCode*/,
15269  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15270  },
15271 
15272 };
15273 
15274 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "Indian/Kerguelen";
15275 
15276 const extended::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
15277  kZoneNameIndian_Kerguelen /*name*/,
15278  0x4351b389 /*zoneId*/,
15279  &kZoneContext /*zoneContext*/,
15280  2 /*transitionBufSize*/,
15281  1 /*numEras*/,
15282  kZoneEraIndian_Kerguelen /*eras*/,
15283 };
15284 
15285 //---------------------------------------------------------------------------
15286 // Zone name: Indian/Mahe
15287 // Zone Eras: 1
15288 // Strings (bytes): 16
15289 // Memory (8-bit): 39
15290 // Memory (32-bit): 52
15291 //---------------------------------------------------------------------------
15292 
15293 static const extended::ZoneEra kZoneEraIndian_Mahe[] ACE_TIME_PROGMEM = {
15294  // 4:00 - +04
15295  {
15296  nullptr /*zonePolicy*/,
15297  "+04" /*format*/,
15298  16 /*offsetCode*/,
15299  (0 << 4) + (0 + 4) /*deltaCode*/,
15300  127 /*untilYearTiny*/,
15301  1 /*untilMonth*/,
15302  1 /*untilDay*/,
15303  0 /*untilTimeCode*/,
15304  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15305  },
15306 
15307 };
15308 
15309 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "Indian/Mahe";
15310 
15311 const extended::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
15312  kZoneNameIndian_Mahe /*name*/,
15313  0x45e725e2 /*zoneId*/,
15314  &kZoneContext /*zoneContext*/,
15315  2 /*transitionBufSize*/,
15316  1 /*numEras*/,
15317  kZoneEraIndian_Mahe /*eras*/,
15318 };
15319 
15320 //---------------------------------------------------------------------------
15321 // Zone name: Indian/Maldives
15322 // Zone Eras: 1
15323 // Strings (bytes): 20
15324 // Memory (8-bit): 43
15325 // Memory (32-bit): 56
15326 //---------------------------------------------------------------------------
15327 
15328 static const extended::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
15329  // 5:00 - +05
15330  {
15331  nullptr /*zonePolicy*/,
15332  "+05" /*format*/,
15333  20 /*offsetCode*/,
15334  (0 << 4) + (0 + 4) /*deltaCode*/,
15335  127 /*untilYearTiny*/,
15336  1 /*untilMonth*/,
15337  1 /*untilDay*/,
15338  0 /*untilTimeCode*/,
15339  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15340  },
15341 
15342 };
15343 
15344 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "Indian/Maldives";
15345 
15346 const extended::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
15347  kZoneNameIndian_Maldives /*name*/,
15348  0x9869681c /*zoneId*/,
15349  &kZoneContext /*zoneContext*/,
15350  2 /*transitionBufSize*/,
15351  1 /*numEras*/,
15352  kZoneEraIndian_Maldives /*eras*/,
15353 };
15354 
15355 //---------------------------------------------------------------------------
15356 // Zone name: Indian/Mauritius
15357 // Zone Eras: 1
15358 // Strings (bytes): 25
15359 // Memory (8-bit): 48
15360 // Memory (32-bit): 61
15361 //---------------------------------------------------------------------------
15362 
15363 static const extended::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
15364  // 4:00 Mauritius +04/+05
15365  {
15366  &kPolicyMauritius /*zonePolicy*/,
15367  "+04/+05" /*format*/,
15368  16 /*offsetCode*/,
15369  (0 << 4) + (0 + 4) /*deltaCode*/,
15370  127 /*untilYearTiny*/,
15371  1 /*untilMonth*/,
15372  1 /*untilDay*/,
15373  0 /*untilTimeCode*/,
15374  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15375  },
15376 
15377 };
15378 
15379 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "Indian/Mauritius";
15380 
15381 const extended::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
15382  kZoneNameIndian_Mauritius /*name*/,
15383  0x7b09c02a /*zoneId*/,
15384  &kZoneContext /*zoneContext*/,
15385  4 /*transitionBufSize*/,
15386  1 /*numEras*/,
15387  kZoneEraIndian_Mauritius /*eras*/,
15388 };
15389 
15390 //---------------------------------------------------------------------------
15391 // Zone name: Indian/Reunion
15392 // Zone Eras: 1
15393 // Strings (bytes): 19
15394 // Memory (8-bit): 42
15395 // Memory (32-bit): 55
15396 //---------------------------------------------------------------------------
15397 
15398 static const extended::ZoneEra kZoneEraIndian_Reunion[] ACE_TIME_PROGMEM = {
15399  // 4:00 - +04
15400  {
15401  nullptr /*zonePolicy*/,
15402  "+04" /*format*/,
15403  16 /*offsetCode*/,
15404  (0 << 4) + (0 + 4) /*deltaCode*/,
15405  127 /*untilYearTiny*/,
15406  1 /*untilMonth*/,
15407  1 /*untilDay*/,
15408  0 /*untilTimeCode*/,
15409  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15410  },
15411 
15412 };
15413 
15414 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "Indian/Reunion";
15415 
15416 const extended::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
15417  kZoneNameIndian_Reunion /*name*/,
15418  0x7076c047 /*zoneId*/,
15419  &kZoneContext /*zoneContext*/,
15420  2 /*transitionBufSize*/,
15421  1 /*numEras*/,
15422  kZoneEraIndian_Reunion /*eras*/,
15423 };
15424 
15425 //---------------------------------------------------------------------------
15426 // Zone name: MET
15427 // Zone Eras: 1
15428 // Strings (bytes): 9
15429 // Memory (8-bit): 32
15430 // Memory (32-bit): 45
15431 //---------------------------------------------------------------------------
15432 
15433 static const extended::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = {
15434  // 1:00 C-Eur ME%sT
15435  {
15436  &kPolicyC_Eur /*zonePolicy*/,
15437  "ME%T" /*format*/,
15438  4 /*offsetCode*/,
15439  (0 << 4) + (0 + 4) /*deltaCode*/,
15440  127 /*untilYearTiny*/,
15441  1 /*untilMonth*/,
15442  1 /*untilDay*/,
15443  0 /*untilTimeCode*/,
15444  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15445  },
15446 
15447 };
15448 
15449 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
15450 
15451 const extended::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
15452  kZoneNameMET /*name*/,
15453  0x0b8803ab /*zoneId*/,
15454  &kZoneContext /*zoneContext*/,
15455  5 /*transitionBufSize*/,
15456  1 /*numEras*/,
15457  kZoneEraMET /*eras*/,
15458 };
15459 
15460 //---------------------------------------------------------------------------
15461 // Zone name: MST
15462 // Zone Eras: 1
15463 // Strings (bytes): 8
15464 // Memory (8-bit): 31
15465 // Memory (32-bit): 44
15466 //---------------------------------------------------------------------------
15467 
15468 static const extended::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = {
15469  // -7:00 - MST
15470  {
15471  nullptr /*zonePolicy*/,
15472  "MST" /*format*/,
15473  -28 /*offsetCode*/,
15474  (0 << 4) + (0 + 4) /*deltaCode*/,
15475  127 /*untilYearTiny*/,
15476  1 /*untilMonth*/,
15477  1 /*untilDay*/,
15478  0 /*untilTimeCode*/,
15479  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15480  },
15481 
15482 };
15483 
15484 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
15485 
15486 const extended::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
15487  kZoneNameMST /*name*/,
15488  0x0b880579 /*zoneId*/,
15489  &kZoneContext /*zoneContext*/,
15490  2 /*transitionBufSize*/,
15491  1 /*numEras*/,
15492  kZoneEraMST /*eras*/,
15493 };
15494 
15495 //---------------------------------------------------------------------------
15496 // Zone name: MST7MDT
15497 // Zone Eras: 1
15498 // Strings (bytes): 12
15499 // Memory (8-bit): 35
15500 // Memory (32-bit): 48
15501 //---------------------------------------------------------------------------
15502 
15503 static const extended::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = {
15504  // -7:00 US M%sT
15505  {
15506  &kPolicyUS /*zonePolicy*/,
15507  "M%T" /*format*/,
15508  -28 /*offsetCode*/,
15509  (0 << 4) + (0 + 4) /*deltaCode*/,
15510  127 /*untilYearTiny*/,
15511  1 /*untilMonth*/,
15512  1 /*untilDay*/,
15513  0 /*untilTimeCode*/,
15514  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15515  },
15516 
15517 };
15518 
15519 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
15520 
15521 const extended::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
15522  kZoneNameMST7MDT /*name*/,
15523  0xf2af9375 /*zoneId*/,
15524  &kZoneContext /*zoneContext*/,
15525  6 /*transitionBufSize*/,
15526  1 /*numEras*/,
15527  kZoneEraMST7MDT /*eras*/,
15528 };
15529 
15530 //---------------------------------------------------------------------------
15531 // Zone name: PST8PDT
15532 // Zone Eras: 1
15533 // Strings (bytes): 12
15534 // Memory (8-bit): 35
15535 // Memory (32-bit): 48
15536 //---------------------------------------------------------------------------
15537 
15538 static const extended::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = {
15539  // -8:00 US P%sT
15540  {
15541  &kPolicyUS /*zonePolicy*/,
15542  "P%T" /*format*/,
15543  -32 /*offsetCode*/,
15544  (0 << 4) + (0 + 4) /*deltaCode*/,
15545  127 /*untilYearTiny*/,
15546  1 /*untilMonth*/,
15547  1 /*untilDay*/,
15548  0 /*untilTimeCode*/,
15549  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15550  },
15551 
15552 };
15553 
15554 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
15555 
15556 const extended::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
15557  kZoneNamePST8PDT /*name*/,
15558  0xd99ee2dc /*zoneId*/,
15559  &kZoneContext /*zoneContext*/,
15560  6 /*transitionBufSize*/,
15561  1 /*numEras*/,
15562  kZoneEraPST8PDT /*eras*/,
15563 };
15564 
15565 //---------------------------------------------------------------------------
15566 // Zone name: Pacific/Apia
15567 // Zone Eras: 2
15568 // Strings (bytes): 29
15569 // Memory (8-bit): 63
15570 // Memory (32-bit): 81
15571 //---------------------------------------------------------------------------
15572 
15573 static const extended::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
15574  // -11:00 WS -11/-10 2011 Dec 29 24:00
15575  {
15576  &kPolicyWS /*zonePolicy*/,
15577  "-11/-10" /*format*/,
15578  -44 /*offsetCode*/,
15579  (0 << 4) + (0 + 4) /*deltaCode*/,
15580  11 /*untilYearTiny*/,
15581  12 /*untilMonth*/,
15582  29 /*untilDay*/,
15583  96 /*untilTimeCode*/,
15584  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15585  },
15586  // 13:00 WS +13/+14
15587  {
15588  &kPolicyWS /*zonePolicy*/,
15589  "+13/+14" /*format*/,
15590  52 /*offsetCode*/,
15591  (0 << 4) + (0 + 4) /*deltaCode*/,
15592  127 /*untilYearTiny*/,
15593  1 /*untilMonth*/,
15594  1 /*untilDay*/,
15595  0 /*untilTimeCode*/,
15596  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15597  },
15598 
15599 };
15600 
15601 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "Pacific/Apia";
15602 
15603 const extended::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
15604  kZoneNamePacific_Apia /*name*/,
15605  0x23359b5e /*zoneId*/,
15606  &kZoneContext /*zoneContext*/,
15607  5 /*transitionBufSize*/,
15608  2 /*numEras*/,
15609  kZoneEraPacific_Apia /*eras*/,
15610 };
15611 
15612 //---------------------------------------------------------------------------
15613 // Zone name: Pacific/Auckland
15614 // Zone Eras: 1
15615 // Strings (bytes): 22
15616 // Memory (8-bit): 45
15617 // Memory (32-bit): 58
15618 //---------------------------------------------------------------------------
15619 
15620 static const extended::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
15621  // 12:00 NZ NZ%sT
15622  {
15623  &kPolicyNZ /*zonePolicy*/,
15624  "NZ%T" /*format*/,
15625  48 /*offsetCode*/,
15626  (0 << 4) + (0 + 4) /*deltaCode*/,
15627  127 /*untilYearTiny*/,
15628  1 /*untilMonth*/,
15629  1 /*untilDay*/,
15630  0 /*untilTimeCode*/,
15631  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15632  },
15633 
15634 };
15635 
15636 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "Pacific/Auckland";
15637 
15638 const extended::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
15639  kZoneNamePacific_Auckland /*name*/,
15640  0x25062f86 /*zoneId*/,
15641  &kZoneContext /*zoneContext*/,
15642  5 /*transitionBufSize*/,
15643  1 /*numEras*/,
15644  kZoneEraPacific_Auckland /*eras*/,
15645 };
15646 
15647 //---------------------------------------------------------------------------
15648 // Zone name: Pacific/Bougainville
15649 // Zone Eras: 2
15650 // Strings (bytes): 29
15651 // Memory (8-bit): 63
15652 // Memory (32-bit): 81
15653 //---------------------------------------------------------------------------
15654 
15655 static const extended::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
15656  // 10:00 - +10 2014 Dec 28 2:00
15657  {
15658  nullptr /*zonePolicy*/,
15659  "+10" /*format*/,
15660  40 /*offsetCode*/,
15661  (0 << 4) + (0 + 4) /*deltaCode*/,
15662  14 /*untilYearTiny*/,
15663  12 /*untilMonth*/,
15664  28 /*untilDay*/,
15665  8 /*untilTimeCode*/,
15666  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15667  },
15668  // 11:00 - +11
15669  {
15670  nullptr /*zonePolicy*/,
15671  "+11" /*format*/,
15672  44 /*offsetCode*/,
15673  (0 << 4) + (0 + 4) /*deltaCode*/,
15674  127 /*untilYearTiny*/,
15675  1 /*untilMonth*/,
15676  1 /*untilDay*/,
15677  0 /*untilTimeCode*/,
15678  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15679  },
15680 
15681 };
15682 
15683 static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "Pacific/Bougainville";
15684 
15685 const extended::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
15686  kZoneNamePacific_Bougainville /*name*/,
15687  0x5e10f7a4 /*zoneId*/,
15688  &kZoneContext /*zoneContext*/,
15689  3 /*transitionBufSize*/,
15690  2 /*numEras*/,
15691  kZoneEraPacific_Bougainville /*eras*/,
15692 };
15693 
15694 //---------------------------------------------------------------------------
15695 // Zone name: Pacific/Chatham
15696 // Zone Eras: 1
15697 // Strings (bytes): 28
15698 // Memory (8-bit): 51
15699 // Memory (32-bit): 64
15700 //---------------------------------------------------------------------------
15701 
15702 static const extended::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
15703  // 12:45 Chatham +1245/+1345
15704  {
15705  &kPolicyChatham /*zonePolicy*/,
15706  "+1245/+1345" /*format*/,
15707  51 /*offsetCode*/,
15708  (0 << 4) + (0 + 4) /*deltaCode*/,
15709  127 /*untilYearTiny*/,
15710  1 /*untilMonth*/,
15711  1 /*untilDay*/,
15712  0 /*untilTimeCode*/,
15713  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15714  },
15715 
15716 };
15717 
15718 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "Pacific/Chatham";
15719 
15720 const extended::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
15721  kZoneNamePacific_Chatham /*name*/,
15722  0x2f0de999 /*zoneId*/,
15723  &kZoneContext /*zoneContext*/,
15724  5 /*transitionBufSize*/,
15725  1 /*numEras*/,
15726  kZoneEraPacific_Chatham /*eras*/,
15727 };
15728 
15729 //---------------------------------------------------------------------------
15730 // Zone name: Pacific/Chuuk
15731 // Zone Eras: 1
15732 // Strings (bytes): 18
15733 // Memory (8-bit): 41
15734 // Memory (32-bit): 54
15735 //---------------------------------------------------------------------------
15736 
15737 static const extended::ZoneEra kZoneEraPacific_Chuuk[] ACE_TIME_PROGMEM = {
15738  // 10:00 - +10
15739  {
15740  nullptr /*zonePolicy*/,
15741  "+10" /*format*/,
15742  40 /*offsetCode*/,
15743  (0 << 4) + (0 + 4) /*deltaCode*/,
15744  127 /*untilYearTiny*/,
15745  1 /*untilMonth*/,
15746  1 /*untilDay*/,
15747  0 /*untilTimeCode*/,
15748  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15749  },
15750 
15751 };
15752 
15753 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "Pacific/Chuuk";
15754 
15755 const extended::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
15756  kZoneNamePacific_Chuuk /*name*/,
15757  0x8a090b23 /*zoneId*/,
15758  &kZoneContext /*zoneContext*/,
15759  2 /*transitionBufSize*/,
15760  1 /*numEras*/,
15761  kZoneEraPacific_Chuuk /*eras*/,
15762 };
15763 
15764 //---------------------------------------------------------------------------
15765 // Zone name: Pacific/Easter
15766 // Zone Eras: 1
15767 // Strings (bytes): 23
15768 // Memory (8-bit): 46
15769 // Memory (32-bit): 59
15770 //---------------------------------------------------------------------------
15771 
15772 static const extended::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
15773  // -6:00 Chile -06/-05
15774  {
15775  &kPolicyChile /*zonePolicy*/,
15776  "-06/-05" /*format*/,
15777  -24 /*offsetCode*/,
15778  (0 << 4) + (0 + 4) /*deltaCode*/,
15779  127 /*untilYearTiny*/,
15780  1 /*untilMonth*/,
15781  1 /*untilDay*/,
15782  0 /*untilTimeCode*/,
15783  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15784  },
15785 
15786 };
15787 
15788 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "Pacific/Easter";
15789 
15790 const extended::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
15791  kZoneNamePacific_Easter /*name*/,
15792  0xcf54f7e7 /*zoneId*/,
15793  &kZoneContext /*zoneContext*/,
15794  5 /*transitionBufSize*/,
15795  1 /*numEras*/,
15796  kZoneEraPacific_Easter /*eras*/,
15797 };
15798 
15799 //---------------------------------------------------------------------------
15800 // Zone name: Pacific/Efate
15801 // Zone Eras: 1
15802 // Strings (bytes): 22
15803 // Memory (8-bit): 45
15804 // Memory (32-bit): 58
15805 //---------------------------------------------------------------------------
15806 
15807 static const extended::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
15808  // 11:00 Vanuatu +11/+12
15809  {
15810  &kPolicyVanuatu /*zonePolicy*/,
15811  "+11/+12" /*format*/,
15812  44 /*offsetCode*/,
15813  (0 << 4) + (0 + 4) /*deltaCode*/,
15814  127 /*untilYearTiny*/,
15815  1 /*untilMonth*/,
15816  1 /*untilDay*/,
15817  0 /*untilTimeCode*/,
15818  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15819  },
15820 
15821 };
15822 
15823 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "Pacific/Efate";
15824 
15825 const extended::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
15826  kZoneNamePacific_Efate /*name*/,
15827  0x8a2bce28 /*zoneId*/,
15828  &kZoneContext /*zoneContext*/,
15829  2 /*transitionBufSize*/,
15830  1 /*numEras*/,
15831  kZoneEraPacific_Efate /*eras*/,
15832 };
15833 
15834 //---------------------------------------------------------------------------
15835 // Zone name: Pacific/Enderbury
15836 // Zone Eras: 1
15837 // Strings (bytes): 22
15838 // Memory (8-bit): 45
15839 // Memory (32-bit): 58
15840 //---------------------------------------------------------------------------
15841 
15842 static const extended::ZoneEra kZoneEraPacific_Enderbury[] ACE_TIME_PROGMEM = {
15843  // 13:00 - +13
15844  {
15845  nullptr /*zonePolicy*/,
15846  "+13" /*format*/,
15847  52 /*offsetCode*/,
15848  (0 << 4) + (0 + 4) /*deltaCode*/,
15849  127 /*untilYearTiny*/,
15850  1 /*untilMonth*/,
15851  1 /*untilDay*/,
15852  0 /*untilTimeCode*/,
15853  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15854  },
15855 
15856 };
15857 
15858 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "Pacific/Enderbury";
15859 
15860 const extended::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
15861  kZoneNamePacific_Enderbury /*name*/,
15862  0x61599a93 /*zoneId*/,
15863  &kZoneContext /*zoneContext*/,
15864  2 /*transitionBufSize*/,
15865  1 /*numEras*/,
15866  kZoneEraPacific_Enderbury /*eras*/,
15867 };
15868 
15869 //---------------------------------------------------------------------------
15870 // Zone name: Pacific/Fakaofo
15871 // Zone Eras: 2
15872 // Strings (bytes): 24
15873 // Memory (8-bit): 58
15874 // Memory (32-bit): 76
15875 //---------------------------------------------------------------------------
15876 
15877 static const extended::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
15878  // -11:00 - -11 2011 Dec 30
15879  {
15880  nullptr /*zonePolicy*/,
15881  "-11" /*format*/,
15882  -44 /*offsetCode*/,
15883  (0 << 4) + (0 + 4) /*deltaCode*/,
15884  11 /*untilYearTiny*/,
15885  12 /*untilMonth*/,
15886  30 /*untilDay*/,
15887  0 /*untilTimeCode*/,
15888  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15889  },
15890  // 13:00 - +13
15891  {
15892  nullptr /*zonePolicy*/,
15893  "+13" /*format*/,
15894  52 /*offsetCode*/,
15895  (0 << 4) + (0 + 4) /*deltaCode*/,
15896  127 /*untilYearTiny*/,
15897  1 /*untilMonth*/,
15898  1 /*untilDay*/,
15899  0 /*untilTimeCode*/,
15900  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15901  },
15902 
15903 };
15904 
15905 static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "Pacific/Fakaofo";
15906 
15907 const extended::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
15908  kZoneNamePacific_Fakaofo /*name*/,
15909  0x06532bba /*zoneId*/,
15910  &kZoneContext /*zoneContext*/,
15911  3 /*transitionBufSize*/,
15912  2 /*numEras*/,
15913  kZoneEraPacific_Fakaofo /*eras*/,
15914 };
15915 
15916 //---------------------------------------------------------------------------
15917 // Zone name: Pacific/Fiji
15918 // Zone Eras: 1
15919 // Strings (bytes): 21
15920 // Memory (8-bit): 44
15921 // Memory (32-bit): 57
15922 //---------------------------------------------------------------------------
15923 
15924 static const extended::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
15925  // 12:00 Fiji +12/+13
15926  {
15927  &kPolicyFiji /*zonePolicy*/,
15928  "+12/+13" /*format*/,
15929  48 /*offsetCode*/,
15930  (0 << 4) + (0 + 4) /*deltaCode*/,
15931  127 /*untilYearTiny*/,
15932  1 /*untilMonth*/,
15933  1 /*untilDay*/,
15934  0 /*untilTimeCode*/,
15935  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15936  },
15937 
15938 };
15939 
15940 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "Pacific/Fiji";
15941 
15942 const extended::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
15943  kZoneNamePacific_Fiji /*name*/,
15944  0x23383ba5 /*zoneId*/,
15945  &kZoneContext /*zoneContext*/,
15946  6 /*transitionBufSize*/,
15947  1 /*numEras*/,
15948  kZoneEraPacific_Fiji /*eras*/,
15949 };
15950 
15951 //---------------------------------------------------------------------------
15952 // Zone name: Pacific/Funafuti
15953 // Zone Eras: 1
15954 // Strings (bytes): 21
15955 // Memory (8-bit): 44
15956 // Memory (32-bit): 57
15957 //---------------------------------------------------------------------------
15958 
15959 static const extended::ZoneEra kZoneEraPacific_Funafuti[] ACE_TIME_PROGMEM = {
15960  // 12:00 - +12
15961  {
15962  nullptr /*zonePolicy*/,
15963  "+12" /*format*/,
15964  48 /*offsetCode*/,
15965  (0 << 4) + (0 + 4) /*deltaCode*/,
15966  127 /*untilYearTiny*/,
15967  1 /*untilMonth*/,
15968  1 /*untilDay*/,
15969  0 /*untilTimeCode*/,
15970  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
15971  },
15972 
15973 };
15974 
15975 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "Pacific/Funafuti";
15976 
15977 const extended::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
15978  kZoneNamePacific_Funafuti /*name*/,
15979  0xdb402d65 /*zoneId*/,
15980  &kZoneContext /*zoneContext*/,
15981  2 /*transitionBufSize*/,
15982  1 /*numEras*/,
15983  kZoneEraPacific_Funafuti /*eras*/,
15984 };
15985 
15986 //---------------------------------------------------------------------------
15987 // Zone name: Pacific/Galapagos
15988 // Zone Eras: 1
15989 // Strings (bytes): 26
15990 // Memory (8-bit): 49
15991 // Memory (32-bit): 62
15992 //---------------------------------------------------------------------------
15993 
15994 static const extended::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
15995  // -6:00 Ecuador -06/-05
15996  {
15997  &kPolicyEcuador /*zonePolicy*/,
15998  "-06/-05" /*format*/,
15999  -24 /*offsetCode*/,
16000  (0 << 4) + (0 + 4) /*deltaCode*/,
16001  127 /*untilYearTiny*/,
16002  1 /*untilMonth*/,
16003  1 /*untilDay*/,
16004  0 /*untilTimeCode*/,
16005  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16006  },
16007 
16008 };
16009 
16010 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "Pacific/Galapagos";
16011 
16012 const extended::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
16013  kZoneNamePacific_Galapagos /*name*/,
16014  0xa952f752 /*zoneId*/,
16015  &kZoneContext /*zoneContext*/,
16016  2 /*transitionBufSize*/,
16017  1 /*numEras*/,
16018  kZoneEraPacific_Galapagos /*eras*/,
16019 };
16020 
16021 //---------------------------------------------------------------------------
16022 // Zone name: Pacific/Gambier
16023 // Zone Eras: 1
16024 // Strings (bytes): 20
16025 // Memory (8-bit): 43
16026 // Memory (32-bit): 56
16027 //---------------------------------------------------------------------------
16028 
16029 static const extended::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
16030  // -9:00 - -09
16031  {
16032  nullptr /*zonePolicy*/,
16033  "-09" /*format*/,
16034  -36 /*offsetCode*/,
16035  (0 << 4) + (0 + 4) /*deltaCode*/,
16036  127 /*untilYearTiny*/,
16037  1 /*untilMonth*/,
16038  1 /*untilDay*/,
16039  0 /*untilTimeCode*/,
16040  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16041  },
16042 
16043 };
16044 
16045 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "Pacific/Gambier";
16046 
16047 const extended::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
16048  kZoneNamePacific_Gambier /*name*/,
16049  0x53720c3a /*zoneId*/,
16050  &kZoneContext /*zoneContext*/,
16051  2 /*transitionBufSize*/,
16052  1 /*numEras*/,
16053  kZoneEraPacific_Gambier /*eras*/,
16054 };
16055 
16056 //---------------------------------------------------------------------------
16057 // Zone name: Pacific/Guadalcanal
16058 // Zone Eras: 1
16059 // Strings (bytes): 24
16060 // Memory (8-bit): 47
16061 // Memory (32-bit): 60
16062 //---------------------------------------------------------------------------
16063 
16064 static const extended::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
16065  // 11:00 - +11
16066  {
16067  nullptr /*zonePolicy*/,
16068  "+11" /*format*/,
16069  44 /*offsetCode*/,
16070  (0 << 4) + (0 + 4) /*deltaCode*/,
16071  127 /*untilYearTiny*/,
16072  1 /*untilMonth*/,
16073  1 /*untilDay*/,
16074  0 /*untilTimeCode*/,
16075  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16076  },
16077 
16078 };
16079 
16080 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "Pacific/Guadalcanal";
16081 
16082 const extended::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
16083  kZoneNamePacific_Guadalcanal /*name*/,
16084  0xf4dd25f0 /*zoneId*/,
16085  &kZoneContext /*zoneContext*/,
16086  2 /*transitionBufSize*/,
16087  1 /*numEras*/,
16088  kZoneEraPacific_Guadalcanal /*eras*/,
16089 };
16090 
16091 //---------------------------------------------------------------------------
16092 // Zone name: Pacific/Guam
16093 // Zone Eras: 2
16094 // Strings (bytes): 22
16095 // Memory (8-bit): 56
16096 // Memory (32-bit): 74
16097 //---------------------------------------------------------------------------
16098 
16099 static const extended::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
16100  // 10:00 Guam G%sT 2000 Dec 23
16101  {
16102  &kPolicyGuam /*zonePolicy*/,
16103  "G%T" /*format*/,
16104  40 /*offsetCode*/,
16105  (0 << 4) + (0 + 4) /*deltaCode*/,
16106  0 /*untilYearTiny*/,
16107  12 /*untilMonth*/,
16108  23 /*untilDay*/,
16109  0 /*untilTimeCode*/,
16110  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16111  },
16112  // 10:00 - ChST
16113  {
16114  nullptr /*zonePolicy*/,
16115  "ChST" /*format*/,
16116  40 /*offsetCode*/,
16117  (0 << 4) + (0 + 4) /*deltaCode*/,
16118  127 /*untilYearTiny*/,
16119  1 /*untilMonth*/,
16120  1 /*untilDay*/,
16121  0 /*untilTimeCode*/,
16122  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16123  },
16124 
16125 };
16126 
16127 static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "Pacific/Guam";
16128 
16129 const extended::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
16130  kZoneNamePacific_Guam /*name*/,
16131  0x2338f9ed /*zoneId*/,
16132  &kZoneContext /*zoneContext*/,
16133  3 /*transitionBufSize*/,
16134  2 /*numEras*/,
16135  kZoneEraPacific_Guam /*eras*/,
16136 };
16137 
16138 //---------------------------------------------------------------------------
16139 // Zone name: Pacific/Honolulu
16140 // Zone Eras: 1
16141 // Strings (bytes): 21
16142 // Memory (8-bit): 44
16143 // Memory (32-bit): 57
16144 //---------------------------------------------------------------------------
16145 
16146 static const extended::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
16147  // -10:00 - HST
16148  {
16149  nullptr /*zonePolicy*/,
16150  "HST" /*format*/,
16151  -40 /*offsetCode*/,
16152  (0 << 4) + (0 + 4) /*deltaCode*/,
16153  127 /*untilYearTiny*/,
16154  1 /*untilMonth*/,
16155  1 /*untilDay*/,
16156  0 /*untilTimeCode*/,
16157  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16158  },
16159 
16160 };
16161 
16162 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "Pacific/Honolulu";
16163 
16164 const extended::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
16165  kZoneNamePacific_Honolulu /*name*/,
16166  0xe6e70af9 /*zoneId*/,
16167  &kZoneContext /*zoneContext*/,
16168  2 /*transitionBufSize*/,
16169  1 /*numEras*/,
16170  kZoneEraPacific_Honolulu /*eras*/,
16171 };
16172 
16173 //---------------------------------------------------------------------------
16174 // Zone name: Pacific/Kiritimati
16175 // Zone Eras: 1
16176 // Strings (bytes): 23
16177 // Memory (8-bit): 46
16178 // Memory (32-bit): 59
16179 //---------------------------------------------------------------------------
16180 
16181 static const extended::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
16182  // 14:00 - +14
16183  {
16184  nullptr /*zonePolicy*/,
16185  "+14" /*format*/,
16186  56 /*offsetCode*/,
16187  (0 << 4) + (0 + 4) /*deltaCode*/,
16188  127 /*untilYearTiny*/,
16189  1 /*untilMonth*/,
16190  1 /*untilDay*/,
16191  0 /*untilTimeCode*/,
16192  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16193  },
16194 
16195 };
16196 
16197 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "Pacific/Kiritimati";
16198 
16199 const extended::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
16200  kZoneNamePacific_Kiritimati /*name*/,
16201  0x8305073a /*zoneId*/,
16202  &kZoneContext /*zoneContext*/,
16203  2 /*transitionBufSize*/,
16204  1 /*numEras*/,
16205  kZoneEraPacific_Kiritimati /*eras*/,
16206 };
16207 
16208 //---------------------------------------------------------------------------
16209 // Zone name: Pacific/Kosrae
16210 // Zone Eras: 2
16211 // Strings (bytes): 23
16212 // Memory (8-bit): 57
16213 // Memory (32-bit): 75
16214 //---------------------------------------------------------------------------
16215 
16216 static const extended::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
16217  // 12:00 - +12 1999
16218  {
16219  nullptr /*zonePolicy*/,
16220  "+12" /*format*/,
16221  48 /*offsetCode*/,
16222  (0 << 4) + (0 + 4) /*deltaCode*/,
16223  -1 /*untilYearTiny*/,
16224  1 /*untilMonth*/,
16225  1 /*untilDay*/,
16226  0 /*untilTimeCode*/,
16227  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16228  },
16229  // 11:00 - +11
16230  {
16231  nullptr /*zonePolicy*/,
16232  "+11" /*format*/,
16233  44 /*offsetCode*/,
16234  (0 << 4) + (0 + 4) /*deltaCode*/,
16235  127 /*untilYearTiny*/,
16236  1 /*untilMonth*/,
16237  1 /*untilDay*/,
16238  0 /*untilTimeCode*/,
16239  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16240  },
16241 
16242 };
16243 
16244 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "Pacific/Kosrae";
16245 
16246 const extended::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
16247  kZoneNamePacific_Kosrae /*name*/,
16248  0xde5139a8 /*zoneId*/,
16249  &kZoneContext /*zoneContext*/,
16250  2 /*transitionBufSize*/,
16251  2 /*numEras*/,
16252  kZoneEraPacific_Kosrae /*eras*/,
16253 };
16254 
16255 //---------------------------------------------------------------------------
16256 // Zone name: Pacific/Kwajalein
16257 // Zone Eras: 1
16258 // Strings (bytes): 22
16259 // Memory (8-bit): 45
16260 // Memory (32-bit): 58
16261 //---------------------------------------------------------------------------
16262 
16263 static const extended::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
16264  // 12:00 - +12
16265  {
16266  nullptr /*zonePolicy*/,
16267  "+12" /*format*/,
16268  48 /*offsetCode*/,
16269  (0 << 4) + (0 + 4) /*deltaCode*/,
16270  127 /*untilYearTiny*/,
16271  1 /*untilMonth*/,
16272  1 /*untilDay*/,
16273  0 /*untilTimeCode*/,
16274  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16275  },
16276 
16277 };
16278 
16279 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "Pacific/Kwajalein";
16280 
16281 const extended::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
16282  kZoneNamePacific_Kwajalein /*name*/,
16283  0x8e216759 /*zoneId*/,
16284  &kZoneContext /*zoneContext*/,
16285  2 /*transitionBufSize*/,
16286  1 /*numEras*/,
16287  kZoneEraPacific_Kwajalein /*eras*/,
16288 };
16289 
16290 //---------------------------------------------------------------------------
16291 // Zone name: Pacific/Majuro
16292 // Zone Eras: 1
16293 // Strings (bytes): 19
16294 // Memory (8-bit): 42
16295 // Memory (32-bit): 55
16296 //---------------------------------------------------------------------------
16297 
16298 static const extended::ZoneEra kZoneEraPacific_Majuro[] ACE_TIME_PROGMEM = {
16299  // 12:00 - +12
16300  {
16301  nullptr /*zonePolicy*/,
16302  "+12" /*format*/,
16303  48 /*offsetCode*/,
16304  (0 << 4) + (0 + 4) /*deltaCode*/,
16305  127 /*untilYearTiny*/,
16306  1 /*untilMonth*/,
16307  1 /*untilDay*/,
16308  0 /*untilTimeCode*/,
16309  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16310  },
16311 
16312 };
16313 
16314 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "Pacific/Majuro";
16315 
16316 const extended::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
16317  kZoneNamePacific_Majuro /*name*/,
16318  0xe1f95371 /*zoneId*/,
16319  &kZoneContext /*zoneContext*/,
16320  2 /*transitionBufSize*/,
16321  1 /*numEras*/,
16322  kZoneEraPacific_Majuro /*eras*/,
16323 };
16324 
16325 //---------------------------------------------------------------------------
16326 // Zone name: Pacific/Marquesas
16327 // Zone Eras: 1
16328 // Strings (bytes): 24
16329 // Memory (8-bit): 47
16330 // Memory (32-bit): 60
16331 //---------------------------------------------------------------------------
16332 
16333 static const extended::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
16334  // -9:30 - -0930
16335  {
16336  nullptr /*zonePolicy*/,
16337  "-0930" /*format*/,
16338  -38 /*offsetCode*/,
16339  (0 << 4) + (0 + 4) /*deltaCode*/,
16340  127 /*untilYearTiny*/,
16341  1 /*untilMonth*/,
16342  1 /*untilDay*/,
16343  0 /*untilTimeCode*/,
16344  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16345  },
16346 
16347 };
16348 
16349 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "Pacific/Marquesas";
16350 
16351 const extended::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
16352  kZoneNamePacific_Marquesas /*name*/,
16353  0x57ca7135 /*zoneId*/,
16354  &kZoneContext /*zoneContext*/,
16355  2 /*transitionBufSize*/,
16356  1 /*numEras*/,
16357  kZoneEraPacific_Marquesas /*eras*/,
16358 };
16359 
16360 //---------------------------------------------------------------------------
16361 // Zone name: Pacific/Nauru
16362 // Zone Eras: 1
16363 // Strings (bytes): 18
16364 // Memory (8-bit): 41
16365 // Memory (32-bit): 54
16366 //---------------------------------------------------------------------------
16367 
16368 static const extended::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
16369  // 12:00 - +12
16370  {
16371  nullptr /*zonePolicy*/,
16372  "+12" /*format*/,
16373  48 /*offsetCode*/,
16374  (0 << 4) + (0 + 4) /*deltaCode*/,
16375  127 /*untilYearTiny*/,
16376  1 /*untilMonth*/,
16377  1 /*untilDay*/,
16378  0 /*untilTimeCode*/,
16379  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16380  },
16381 
16382 };
16383 
16384 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "Pacific/Nauru";
16385 
16386 const extended::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
16387  kZoneNamePacific_Nauru /*name*/,
16388  0x8acc41ae /*zoneId*/,
16389  &kZoneContext /*zoneContext*/,
16390  2 /*transitionBufSize*/,
16391  1 /*numEras*/,
16392  kZoneEraPacific_Nauru /*eras*/,
16393 };
16394 
16395 //---------------------------------------------------------------------------
16396 // Zone name: Pacific/Niue
16397 // Zone Eras: 1
16398 // Strings (bytes): 17
16399 // Memory (8-bit): 40
16400 // Memory (32-bit): 53
16401 //---------------------------------------------------------------------------
16402 
16403 static const extended::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
16404  // -11:00 - -11
16405  {
16406  nullptr /*zonePolicy*/,
16407  "-11" /*format*/,
16408  -44 /*offsetCode*/,
16409  (0 << 4) + (0 + 4) /*deltaCode*/,
16410  127 /*untilYearTiny*/,
16411  1 /*untilMonth*/,
16412  1 /*untilDay*/,
16413  0 /*untilTimeCode*/,
16414  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16415  },
16416 
16417 };
16418 
16419 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "Pacific/Niue";
16420 
16421 const extended::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
16422  kZoneNamePacific_Niue /*name*/,
16423  0x233ca014 /*zoneId*/,
16424  &kZoneContext /*zoneContext*/,
16425  2 /*transitionBufSize*/,
16426  1 /*numEras*/,
16427  kZoneEraPacific_Niue /*eras*/,
16428 };
16429 
16430 //---------------------------------------------------------------------------
16431 // Zone name: Pacific/Norfolk
16432 // Zone Eras: 3
16433 // Strings (bytes): 34
16434 // Memory (8-bit): 79
16435 // Memory (32-bit): 102
16436 //---------------------------------------------------------------------------
16437 
16438 static const extended::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
16439  // 11:30 - +1130 2015 Oct 4 02:00s
16440  {
16441  nullptr /*zonePolicy*/,
16442  "+1130" /*format*/,
16443  46 /*offsetCode*/,
16444  (0 << 4) + (0 + 4) /*deltaCode*/,
16445  15 /*untilYearTiny*/,
16446  10 /*untilMonth*/,
16447  4 /*untilDay*/,
16448  8 /*untilTimeCode*/,
16449  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
16450  },
16451  // 11:00 - +11 2019 Jul
16452  {
16453  nullptr /*zonePolicy*/,
16454  "+11" /*format*/,
16455  44 /*offsetCode*/,
16456  (0 << 4) + (0 + 4) /*deltaCode*/,
16457  19 /*untilYearTiny*/,
16458  7 /*untilMonth*/,
16459  1 /*untilDay*/,
16460  0 /*untilTimeCode*/,
16461  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16462  },
16463  // 11:00 AN +11/+12
16464  {
16465  &kPolicyAN /*zonePolicy*/,
16466  "+11/+12" /*format*/,
16467  44 /*offsetCode*/,
16468  (0 << 4) + (0 + 4) /*deltaCode*/,
16469  127 /*untilYearTiny*/,
16470  1 /*untilMonth*/,
16471  1 /*untilDay*/,
16472  0 /*untilTimeCode*/,
16473  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16474  },
16475 
16476 };
16477 
16478 static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "Pacific/Norfolk";
16479 
16480 const extended::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
16481  kZoneNamePacific_Norfolk /*name*/,
16482  0x8f4eb4be /*zoneId*/,
16483  &kZoneContext /*zoneContext*/,
16484  4 /*transitionBufSize*/,
16485  3 /*numEras*/,
16486  kZoneEraPacific_Norfolk /*eras*/,
16487 };
16488 
16489 //---------------------------------------------------------------------------
16490 // Zone name: Pacific/Noumea
16491 // Zone Eras: 1
16492 // Strings (bytes): 23
16493 // Memory (8-bit): 46
16494 // Memory (32-bit): 59
16495 //---------------------------------------------------------------------------
16496 
16497 static const extended::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
16498  // 11:00 NC +11/+12
16499  {
16500  &kPolicyNC /*zonePolicy*/,
16501  "+11/+12" /*format*/,
16502  44 /*offsetCode*/,
16503  (0 << 4) + (0 + 4) /*deltaCode*/,
16504  127 /*untilYearTiny*/,
16505  1 /*untilMonth*/,
16506  1 /*untilDay*/,
16507  0 /*untilTimeCode*/,
16508  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16509  },
16510 
16511 };
16512 
16513 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "Pacific/Noumea";
16514 
16515 const extended::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
16516  kZoneNamePacific_Noumea /*name*/,
16517  0xe551b788 /*zoneId*/,
16518  &kZoneContext /*zoneContext*/,
16519  2 /*transitionBufSize*/,
16520  1 /*numEras*/,
16521  kZoneEraPacific_Noumea /*eras*/,
16522 };
16523 
16524 //---------------------------------------------------------------------------
16525 // Zone name: Pacific/Pago_Pago
16526 // Zone Eras: 1
16527 // Strings (bytes): 22
16528 // Memory (8-bit): 45
16529 // Memory (32-bit): 58
16530 //---------------------------------------------------------------------------
16531 
16532 static const extended::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
16533  // -11:00 - SST
16534  {
16535  nullptr /*zonePolicy*/,
16536  "SST" /*format*/,
16537  -44 /*offsetCode*/,
16538  (0 << 4) + (0 + 4) /*deltaCode*/,
16539  127 /*untilYearTiny*/,
16540  1 /*untilMonth*/,
16541  1 /*untilDay*/,
16542  0 /*untilTimeCode*/,
16543  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16544  },
16545 
16546 };
16547 
16548 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "Pacific/Pago_Pago";
16549 
16550 const extended::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
16551  kZoneNamePacific_Pago_Pago /*name*/,
16552  0x603aebd0 /*zoneId*/,
16553  &kZoneContext /*zoneContext*/,
16554  2 /*transitionBufSize*/,
16555  1 /*numEras*/,
16556  kZoneEraPacific_Pago_Pago /*eras*/,
16557 };
16558 
16559 //---------------------------------------------------------------------------
16560 // Zone name: Pacific/Palau
16561 // Zone Eras: 1
16562 // Strings (bytes): 18
16563 // Memory (8-bit): 41
16564 // Memory (32-bit): 54
16565 //---------------------------------------------------------------------------
16566 
16567 static const extended::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
16568  // 9:00 - +09
16569  {
16570  nullptr /*zonePolicy*/,
16571  "+09" /*format*/,
16572  36 /*offsetCode*/,
16573  (0 << 4) + (0 + 4) /*deltaCode*/,
16574  127 /*untilYearTiny*/,
16575  1 /*untilMonth*/,
16576  1 /*untilDay*/,
16577  0 /*untilTimeCode*/,
16578  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16579  },
16580 
16581 };
16582 
16583 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "Pacific/Palau";
16584 
16585 const extended::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
16586  kZoneNamePacific_Palau /*name*/,
16587  0x8af04a36 /*zoneId*/,
16588  &kZoneContext /*zoneContext*/,
16589  2 /*transitionBufSize*/,
16590  1 /*numEras*/,
16591  kZoneEraPacific_Palau /*eras*/,
16592 };
16593 
16594 //---------------------------------------------------------------------------
16595 // Zone name: Pacific/Pitcairn
16596 // Zone Eras: 1
16597 // Strings (bytes): 21
16598 // Memory (8-bit): 44
16599 // Memory (32-bit): 57
16600 //---------------------------------------------------------------------------
16601 
16602 static const extended::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
16603  // -8:00 - -08
16604  {
16605  nullptr /*zonePolicy*/,
16606  "-08" /*format*/,
16607  -32 /*offsetCode*/,
16608  (0 << 4) + (0 + 4) /*deltaCode*/,
16609  127 /*untilYearTiny*/,
16610  1 /*untilMonth*/,
16611  1 /*untilDay*/,
16612  0 /*untilTimeCode*/,
16613  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16614  },
16615 
16616 };
16617 
16618 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "Pacific/Pitcairn";
16619 
16620 const extended::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
16621  kZoneNamePacific_Pitcairn /*name*/,
16622  0x8837d8bd /*zoneId*/,
16623  &kZoneContext /*zoneContext*/,
16624  2 /*transitionBufSize*/,
16625  1 /*numEras*/,
16626  kZoneEraPacific_Pitcairn /*eras*/,
16627 };
16628 
16629 //---------------------------------------------------------------------------
16630 // Zone name: Pacific/Pohnpei
16631 // Zone Eras: 1
16632 // Strings (bytes): 20
16633 // Memory (8-bit): 43
16634 // Memory (32-bit): 56
16635 //---------------------------------------------------------------------------
16636 
16637 static const extended::ZoneEra kZoneEraPacific_Pohnpei[] ACE_TIME_PROGMEM = {
16638  // 11:00 - +11
16639  {
16640  nullptr /*zonePolicy*/,
16641  "+11" /*format*/,
16642  44 /*offsetCode*/,
16643  (0 << 4) + (0 + 4) /*deltaCode*/,
16644  127 /*untilYearTiny*/,
16645  1 /*untilMonth*/,
16646  1 /*untilDay*/,
16647  0 /*untilTimeCode*/,
16648  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16649  },
16650 
16651 };
16652 
16653 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "Pacific/Pohnpei";
16654 
16655 const extended::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
16656  kZoneNamePacific_Pohnpei /*name*/,
16657  0x28929f96 /*zoneId*/,
16658  &kZoneContext /*zoneContext*/,
16659  2 /*transitionBufSize*/,
16660  1 /*numEras*/,
16661  kZoneEraPacific_Pohnpei /*eras*/,
16662 };
16663 
16664 //---------------------------------------------------------------------------
16665 // Zone name: Pacific/Port_Moresby
16666 // Zone Eras: 1
16667 // Strings (bytes): 25
16668 // Memory (8-bit): 48
16669 // Memory (32-bit): 61
16670 //---------------------------------------------------------------------------
16671 
16672 static const extended::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
16673  // 10:00 - +10
16674  {
16675  nullptr /*zonePolicy*/,
16676  "+10" /*format*/,
16677  40 /*offsetCode*/,
16678  (0 << 4) + (0 + 4) /*deltaCode*/,
16679  127 /*untilYearTiny*/,
16680  1 /*untilMonth*/,
16681  1 /*untilDay*/,
16682  0 /*untilTimeCode*/,
16683  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16684  },
16685 
16686 };
16687 
16688 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "Pacific/Port_Moresby";
16689 
16690 const extended::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
16691  kZoneNamePacific_Port_Moresby /*name*/,
16692  0xa7ba7f68 /*zoneId*/,
16693  &kZoneContext /*zoneContext*/,
16694  2 /*transitionBufSize*/,
16695  1 /*numEras*/,
16696  kZoneEraPacific_Port_Moresby /*eras*/,
16697 };
16698 
16699 //---------------------------------------------------------------------------
16700 // Zone name: Pacific/Rarotonga
16701 // Zone Eras: 1
16702 // Strings (bytes): 28
16703 // Memory (8-bit): 51
16704 // Memory (32-bit): 64
16705 //---------------------------------------------------------------------------
16706 
16707 static const extended::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
16708  // -10:00 Cook -10/-0930
16709  {
16710  &kPolicyCook /*zonePolicy*/,
16711  "-10/-0930" /*format*/,
16712  -40 /*offsetCode*/,
16713  (0 << 4) + (0 + 4) /*deltaCode*/,
16714  127 /*untilYearTiny*/,
16715  1 /*untilMonth*/,
16716  1 /*untilDay*/,
16717  0 /*untilTimeCode*/,
16718  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16719  },
16720 
16721 };
16722 
16723 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "Pacific/Rarotonga";
16724 
16725 const extended::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
16726  kZoneNamePacific_Rarotonga /*name*/,
16727  0x9981a3b0 /*zoneId*/,
16728  &kZoneContext /*zoneContext*/,
16729  2 /*transitionBufSize*/,
16730  1 /*numEras*/,
16731  kZoneEraPacific_Rarotonga /*eras*/,
16732 };
16733 
16734 //---------------------------------------------------------------------------
16735 // Zone name: Pacific/Tahiti
16736 // Zone Eras: 1
16737 // Strings (bytes): 19
16738 // Memory (8-bit): 42
16739 // Memory (32-bit): 55
16740 //---------------------------------------------------------------------------
16741 
16742 static const extended::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
16743  // -10:00 - -10
16744  {
16745  nullptr /*zonePolicy*/,
16746  "-10" /*format*/,
16747  -40 /*offsetCode*/,
16748  (0 << 4) + (0 + 4) /*deltaCode*/,
16749  127 /*untilYearTiny*/,
16750  1 /*untilMonth*/,
16751  1 /*untilDay*/,
16752  0 /*untilTimeCode*/,
16753  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16754  },
16755 
16756 };
16757 
16758 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "Pacific/Tahiti";
16759 
16760 const extended::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
16761  kZoneNamePacific_Tahiti /*name*/,
16762  0xf24c2446 /*zoneId*/,
16763  &kZoneContext /*zoneContext*/,
16764  2 /*transitionBufSize*/,
16765  1 /*numEras*/,
16766  kZoneEraPacific_Tahiti /*eras*/,
16767 };
16768 
16769 //---------------------------------------------------------------------------
16770 // Zone name: Pacific/Tarawa
16771 // Zone Eras: 1
16772 // Strings (bytes): 19
16773 // Memory (8-bit): 42
16774 // Memory (32-bit): 55
16775 //---------------------------------------------------------------------------
16776 
16777 static const extended::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
16778  // 12:00 - +12
16779  {
16780  nullptr /*zonePolicy*/,
16781  "+12" /*format*/,
16782  48 /*offsetCode*/,
16783  (0 << 4) + (0 + 4) /*deltaCode*/,
16784  127 /*untilYearTiny*/,
16785  1 /*untilMonth*/,
16786  1 /*untilDay*/,
16787  0 /*untilTimeCode*/,
16788  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16789  },
16790 
16791 };
16792 
16793 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "Pacific/Tarawa";
16794 
16795 const extended::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
16796  kZoneNamePacific_Tarawa /*name*/,
16797  0xf2517e63 /*zoneId*/,
16798  &kZoneContext /*zoneContext*/,
16799  2 /*transitionBufSize*/,
16800  1 /*numEras*/,
16801  kZoneEraPacific_Tarawa /*eras*/,
16802 };
16803 
16804 //---------------------------------------------------------------------------
16805 // Zone name: Pacific/Tongatapu
16806 // Zone Eras: 2
16807 // Strings (bytes): 30
16808 // Memory (8-bit): 64
16809 // Memory (32-bit): 82
16810 //---------------------------------------------------------------------------
16811 
16812 static const extended::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
16813  // 13:00 - +13 1999
16814  {
16815  nullptr /*zonePolicy*/,
16816  "+13" /*format*/,
16817  52 /*offsetCode*/,
16818  (0 << 4) + (0 + 4) /*deltaCode*/,
16819  -1 /*untilYearTiny*/,
16820  1 /*untilMonth*/,
16821  1 /*untilDay*/,
16822  0 /*untilTimeCode*/,
16823  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16824  },
16825  // 13:00 Tonga +13/+14
16826  {
16827  &kPolicyTonga /*zonePolicy*/,
16828  "+13/+14" /*format*/,
16829  52 /*offsetCode*/,
16830  (0 << 4) + (0 + 4) /*deltaCode*/,
16831  127 /*untilYearTiny*/,
16832  1 /*untilMonth*/,
16833  1 /*untilDay*/,
16834  0 /*untilTimeCode*/,
16835  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16836  },
16837 
16838 };
16839 
16840 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "Pacific/Tongatapu";
16841 
16842 const extended::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
16843  kZoneNamePacific_Tongatapu /*name*/,
16844  0x262ca836 /*zoneId*/,
16845  &kZoneContext /*zoneContext*/,
16846  6 /*transitionBufSize*/,
16847  2 /*numEras*/,
16848  kZoneEraPacific_Tongatapu /*eras*/,
16849 };
16850 
16851 //---------------------------------------------------------------------------
16852 // Zone name: Pacific/Wake
16853 // Zone Eras: 1
16854 // Strings (bytes): 17
16855 // Memory (8-bit): 40
16856 // Memory (32-bit): 53
16857 //---------------------------------------------------------------------------
16858 
16859 static const extended::ZoneEra kZoneEraPacific_Wake[] ACE_TIME_PROGMEM = {
16860  // 12:00 - +12
16861  {
16862  nullptr /*zonePolicy*/,
16863  "+12" /*format*/,
16864  48 /*offsetCode*/,
16865  (0 << 4) + (0 + 4) /*deltaCode*/,
16866  127 /*untilYearTiny*/,
16867  1 /*untilMonth*/,
16868  1 /*untilDay*/,
16869  0 /*untilTimeCode*/,
16870  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16871  },
16872 
16873 };
16874 
16875 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "Pacific/Wake";
16876 
16877 const extended::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
16878  kZoneNamePacific_Wake /*name*/,
16879  0x23416c2b /*zoneId*/,
16880  &kZoneContext /*zoneContext*/,
16881  2 /*transitionBufSize*/,
16882  1 /*numEras*/,
16883  kZoneEraPacific_Wake /*eras*/,
16884 };
16885 
16886 //---------------------------------------------------------------------------
16887 // Zone name: Pacific/Wallis
16888 // Zone Eras: 1
16889 // Strings (bytes): 19
16890 // Memory (8-bit): 42
16891 // Memory (32-bit): 55
16892 //---------------------------------------------------------------------------
16893 
16894 static const extended::ZoneEra kZoneEraPacific_Wallis[] ACE_TIME_PROGMEM = {
16895  // 12:00 - +12
16896  {
16897  nullptr /*zonePolicy*/,
16898  "+12" /*format*/,
16899  48 /*offsetCode*/,
16900  (0 << 4) + (0 + 4) /*deltaCode*/,
16901  127 /*untilYearTiny*/,
16902  1 /*untilMonth*/,
16903  1 /*untilDay*/,
16904  0 /*untilTimeCode*/,
16905  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16906  },
16907 
16908 };
16909 
16910 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "Pacific/Wallis";
16911 
16912 const extended::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
16913  kZoneNamePacific_Wallis /*name*/,
16914  0xf94ddb0f /*zoneId*/,
16915  &kZoneContext /*zoneContext*/,
16916  2 /*transitionBufSize*/,
16917  1 /*numEras*/,
16918  kZoneEraPacific_Wallis /*eras*/,
16919 };
16920 
16921 //---------------------------------------------------------------------------
16922 // Zone name: WET
16923 // Zone Eras: 1
16924 // Strings (bytes): 9
16925 // Memory (8-bit): 32
16926 // Memory (32-bit): 45
16927 //---------------------------------------------------------------------------
16928 
16929 static const extended::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = {
16930  // 0:00 EU WE%sT
16931  {
16932  &kPolicyEU /*zonePolicy*/,
16933  "WE%T" /*format*/,
16934  0 /*offsetCode*/,
16935  (0 << 4) + (0 + 4) /*deltaCode*/,
16936  127 /*untilYearTiny*/,
16937  1 /*untilMonth*/,
16938  1 /*untilDay*/,
16939  0 /*untilTimeCode*/,
16940  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
16941  },
16942 
16943 };
16944 
16945 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
16946 
16947 const extended::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
16948  kZoneNameWET /*name*/,
16949  0x0b882e35 /*zoneId*/,
16950  &kZoneContext /*zoneContext*/,
16951  5 /*transitionBufSize*/,
16952  1 /*numEras*/,
16953  kZoneEraWET /*eras*/,
16954 };
16955 
16956 
16957 
16958 //---------------------------------------------------------------------------
16959 // Links: 206
16960 //---------------------------------------------------------------------------
16961 
16962 const extended::ZoneInfo& kZoneAfrica_Addis_Ababa = kZoneAfrica_Nairobi;
16963 const extended::ZoneInfo& kZoneAfrica_Asmara = kZoneAfrica_Nairobi;
16964 const extended::ZoneInfo& kZoneAfrica_Asmera = kZoneAfrica_Nairobi;
16965 const extended::ZoneInfo& kZoneAfrica_Bamako = kZoneAfrica_Abidjan;
16966 const extended::ZoneInfo& kZoneAfrica_Bangui = kZoneAfrica_Lagos;
16967 const extended::ZoneInfo& kZoneAfrica_Banjul = kZoneAfrica_Abidjan;
16968 const extended::ZoneInfo& kZoneAfrica_Blantyre = kZoneAfrica_Maputo;
16969 const extended::ZoneInfo& kZoneAfrica_Brazzaville = kZoneAfrica_Lagos;
16970 const extended::ZoneInfo& kZoneAfrica_Bujumbura = kZoneAfrica_Maputo;
16971 const extended::ZoneInfo& kZoneAfrica_Conakry = kZoneAfrica_Abidjan;
16972 const extended::ZoneInfo& kZoneAfrica_Dakar = kZoneAfrica_Abidjan;
16973 const extended::ZoneInfo& kZoneAfrica_Dar_es_Salaam = kZoneAfrica_Nairobi;
16974 const extended::ZoneInfo& kZoneAfrica_Djibouti = kZoneAfrica_Nairobi;
16975 const extended::ZoneInfo& kZoneAfrica_Douala = kZoneAfrica_Lagos;
16976 const extended::ZoneInfo& kZoneAfrica_Freetown = kZoneAfrica_Abidjan;
16977 const extended::ZoneInfo& kZoneAfrica_Gaborone = kZoneAfrica_Maputo;
16978 const extended::ZoneInfo& kZoneAfrica_Harare = kZoneAfrica_Maputo;
16979 const extended::ZoneInfo& kZoneAfrica_Kampala = kZoneAfrica_Nairobi;
16980 const extended::ZoneInfo& kZoneAfrica_Kigali = kZoneAfrica_Maputo;
16981 const extended::ZoneInfo& kZoneAfrica_Kinshasa = kZoneAfrica_Lagos;
16982 const extended::ZoneInfo& kZoneAfrica_Libreville = kZoneAfrica_Lagos;
16983 const extended::ZoneInfo& kZoneAfrica_Lome = kZoneAfrica_Abidjan;
16984 const extended::ZoneInfo& kZoneAfrica_Luanda = kZoneAfrica_Lagos;
16985 const extended::ZoneInfo& kZoneAfrica_Lubumbashi = kZoneAfrica_Maputo;
16986 const extended::ZoneInfo& kZoneAfrica_Lusaka = kZoneAfrica_Maputo;
16987 const extended::ZoneInfo& kZoneAfrica_Malabo = kZoneAfrica_Lagos;
16988 const extended::ZoneInfo& kZoneAfrica_Maseru = kZoneAfrica_Johannesburg;
16989 const extended::ZoneInfo& kZoneAfrica_Mbabane = kZoneAfrica_Johannesburg;
16990 const extended::ZoneInfo& kZoneAfrica_Mogadishu = kZoneAfrica_Nairobi;
16991 const extended::ZoneInfo& kZoneAfrica_Niamey = kZoneAfrica_Lagos;
16992 const extended::ZoneInfo& kZoneAfrica_Nouakchott = kZoneAfrica_Abidjan;
16993 const extended::ZoneInfo& kZoneAfrica_Ouagadougou = kZoneAfrica_Abidjan;
16994 const extended::ZoneInfo& kZoneAfrica_Porto_Novo = kZoneAfrica_Lagos;
16995 const extended::ZoneInfo& kZoneAfrica_Timbuktu = kZoneAfrica_Abidjan;
16996 const extended::ZoneInfo& kZoneAmerica_Anguilla = kZoneAmerica_Port_of_Spain;
16997 const extended::ZoneInfo& kZoneAmerica_Antigua = kZoneAmerica_Port_of_Spain;
16998 const extended::ZoneInfo& kZoneAmerica_Argentina_ComodRivadavia = kZoneAmerica_Argentina_Catamarca;
16999 const extended::ZoneInfo& kZoneAmerica_Aruba = kZoneAmerica_Curacao;
17000 const extended::ZoneInfo& kZoneAmerica_Atka = kZoneAmerica_Adak;
17001 const extended::ZoneInfo& kZoneAmerica_Buenos_Aires = kZoneAmerica_Argentina_Buenos_Aires;
17002 const extended::ZoneInfo& kZoneAmerica_Catamarca = kZoneAmerica_Argentina_Catamarca;
17003 const extended::ZoneInfo& kZoneAmerica_Cayman = kZoneAmerica_Panama;
17004 const extended::ZoneInfo& kZoneAmerica_Coral_Harbour = kZoneAmerica_Atikokan;
17005 const extended::ZoneInfo& kZoneAmerica_Cordoba = kZoneAmerica_Argentina_Cordoba;
17006 const extended::ZoneInfo& kZoneAmerica_Dominica = kZoneAmerica_Port_of_Spain;
17007 const extended::ZoneInfo& kZoneAmerica_Ensenada = kZoneAmerica_Tijuana;
17008 const extended::ZoneInfo& kZoneAmerica_Fort_Wayne = kZoneAmerica_Indiana_Indianapolis;
17009 const extended::ZoneInfo& kZoneAmerica_Godthab = kZoneAmerica_Nuuk;
17010 const extended::ZoneInfo& kZoneAmerica_Grenada = kZoneAmerica_Port_of_Spain;
17011 const extended::ZoneInfo& kZoneAmerica_Guadeloupe = kZoneAmerica_Port_of_Spain;
17012 const extended::ZoneInfo& kZoneAmerica_Indianapolis = kZoneAmerica_Indiana_Indianapolis;
17013 const extended::ZoneInfo& kZoneAmerica_Jujuy = kZoneAmerica_Argentina_Jujuy;
17014 const extended::ZoneInfo& kZoneAmerica_Knox_IN = kZoneAmerica_Indiana_Knox;
17015 const extended::ZoneInfo& kZoneAmerica_Kralendijk = kZoneAmerica_Curacao;
17016 const extended::ZoneInfo& kZoneAmerica_Louisville = kZoneAmerica_Kentucky_Louisville;
17017 const extended::ZoneInfo& kZoneAmerica_Lower_Princes = kZoneAmerica_Curacao;
17018 const extended::ZoneInfo& kZoneAmerica_Marigot = kZoneAmerica_Port_of_Spain;
17019 const extended::ZoneInfo& kZoneAmerica_Mendoza = kZoneAmerica_Argentina_Mendoza;
17020 const extended::ZoneInfo& kZoneAmerica_Montreal = kZoneAmerica_Toronto;
17021 const extended::ZoneInfo& kZoneAmerica_Montserrat = kZoneAmerica_Port_of_Spain;
17022 const extended::ZoneInfo& kZoneAmerica_Porto_Acre = kZoneAmerica_Rio_Branco;
17023 const extended::ZoneInfo& kZoneAmerica_Rosario = kZoneAmerica_Argentina_Cordoba;
17024 const extended::ZoneInfo& kZoneAmerica_Santa_Isabel = kZoneAmerica_Tijuana;
17025 const extended::ZoneInfo& kZoneAmerica_Shiprock = kZoneAmerica_Denver;
17026 const extended::ZoneInfo& kZoneAmerica_St_Barthelemy = kZoneAmerica_Port_of_Spain;
17027 const extended::ZoneInfo& kZoneAmerica_St_Kitts = kZoneAmerica_Port_of_Spain;
17028 const extended::ZoneInfo& kZoneAmerica_St_Lucia = kZoneAmerica_Port_of_Spain;
17029 const extended::ZoneInfo& kZoneAmerica_St_Thomas = kZoneAmerica_Port_of_Spain;
17030 const extended::ZoneInfo& kZoneAmerica_St_Vincent = kZoneAmerica_Port_of_Spain;
17031 const extended::ZoneInfo& kZoneAmerica_Tortola = kZoneAmerica_Port_of_Spain;
17032 const extended::ZoneInfo& kZoneAmerica_Virgin = kZoneAmerica_Port_of_Spain;
17033 const extended::ZoneInfo& kZoneAntarctica_McMurdo = kZonePacific_Auckland;
17034 const extended::ZoneInfo& kZoneAntarctica_South_Pole = kZonePacific_Auckland;
17035 const extended::ZoneInfo& kZoneArctic_Longyearbyen = kZoneEurope_Oslo;
17036 const extended::ZoneInfo& kZoneAsia_Aden = kZoneAsia_Riyadh;
17037 const extended::ZoneInfo& kZoneAsia_Ashkhabad = kZoneAsia_Ashgabat;
17038 const extended::ZoneInfo& kZoneAsia_Bahrain = kZoneAsia_Qatar;
17039 const extended::ZoneInfo& kZoneAsia_Calcutta = kZoneAsia_Kolkata;
17040 const extended::ZoneInfo& kZoneAsia_Chongqing = kZoneAsia_Shanghai;
17041 const extended::ZoneInfo& kZoneAsia_Chungking = kZoneAsia_Shanghai;
17042 const extended::ZoneInfo& kZoneAsia_Dacca = kZoneAsia_Dhaka;
17043 const extended::ZoneInfo& kZoneAsia_Harbin = kZoneAsia_Shanghai;
17044 const extended::ZoneInfo& kZoneAsia_Istanbul = kZoneEurope_Istanbul;
17045 const extended::ZoneInfo& kZoneAsia_Kashgar = kZoneAsia_Urumqi;
17046 const extended::ZoneInfo& kZoneAsia_Katmandu = kZoneAsia_Kathmandu;
17047 const extended::ZoneInfo& kZoneAsia_Kuwait = kZoneAsia_Riyadh;
17048 const extended::ZoneInfo& kZoneAsia_Macao = kZoneAsia_Macau;
17049 const extended::ZoneInfo& kZoneAsia_Muscat = kZoneAsia_Dubai;
17050 const extended::ZoneInfo& kZoneAsia_Phnom_Penh = kZoneAsia_Bangkok;
17051 const extended::ZoneInfo& kZoneAsia_Rangoon = kZoneAsia_Yangon;
17052 const extended::ZoneInfo& kZoneAsia_Saigon = kZoneAsia_Ho_Chi_Minh;
17053 const extended::ZoneInfo& kZoneAsia_Tel_Aviv = kZoneAsia_Jerusalem;
17054 const extended::ZoneInfo& kZoneAsia_Thimbu = kZoneAsia_Thimphu;
17055 const extended::ZoneInfo& kZoneAsia_Ujung_Pandang = kZoneAsia_Makassar;
17056 const extended::ZoneInfo& kZoneAsia_Ulan_Bator = kZoneAsia_Ulaanbaatar;
17057 const extended::ZoneInfo& kZoneAsia_Vientiane = kZoneAsia_Bangkok;
17058 const extended::ZoneInfo& kZoneAtlantic_Faeroe = kZoneAtlantic_Faroe;
17059 const extended::ZoneInfo& kZoneAtlantic_Jan_Mayen = kZoneEurope_Oslo;
17060 const extended::ZoneInfo& kZoneAtlantic_St_Helena = kZoneAfrica_Abidjan;
17061 const extended::ZoneInfo& kZoneAustralia_ACT = kZoneAustralia_Sydney;
17062 const extended::ZoneInfo& kZoneAustralia_Canberra = kZoneAustralia_Sydney;
17063 const extended::ZoneInfo& kZoneAustralia_LHI = kZoneAustralia_Lord_Howe;
17064 const extended::ZoneInfo& kZoneAustralia_NSW = kZoneAustralia_Sydney;
17065 const extended::ZoneInfo& kZoneAustralia_North = kZoneAustralia_Darwin;
17066 const extended::ZoneInfo& kZoneAustralia_Queensland = kZoneAustralia_Brisbane;
17067 const extended::ZoneInfo& kZoneAustralia_South = kZoneAustralia_Adelaide;
17068 const extended::ZoneInfo& kZoneAustralia_Tasmania = kZoneAustralia_Hobart;
17069 const extended::ZoneInfo& kZoneAustralia_Victoria = kZoneAustralia_Melbourne;
17070 const extended::ZoneInfo& kZoneAustralia_West = kZoneAustralia_Perth;
17071 const extended::ZoneInfo& kZoneAustralia_Yancowinna = kZoneAustralia_Broken_Hill;
17072 const extended::ZoneInfo& kZoneBrazil_Acre = kZoneAmerica_Rio_Branco;
17073 const extended::ZoneInfo& kZoneBrazil_DeNoronha = kZoneAmerica_Noronha;
17074 const extended::ZoneInfo& kZoneBrazil_East = kZoneAmerica_Sao_Paulo;
17075 const extended::ZoneInfo& kZoneBrazil_West = kZoneAmerica_Manaus;
17076 const extended::ZoneInfo& kZoneCanada_Atlantic = kZoneAmerica_Halifax;
17077 const extended::ZoneInfo& kZoneCanada_Central = kZoneAmerica_Winnipeg;
17078 const extended::ZoneInfo& kZoneCanada_Eastern = kZoneAmerica_Toronto;
17079 const extended::ZoneInfo& kZoneCanada_Mountain = kZoneAmerica_Edmonton;
17080 const extended::ZoneInfo& kZoneCanada_Newfoundland = kZoneAmerica_St_Johns;
17081 const extended::ZoneInfo& kZoneCanada_Pacific = kZoneAmerica_Vancouver;
17082 const extended::ZoneInfo& kZoneCanada_Saskatchewan = kZoneAmerica_Regina;
17083 const extended::ZoneInfo& kZoneCanada_Yukon = kZoneAmerica_Whitehorse;
17084 const extended::ZoneInfo& kZoneChile_Continental = kZoneAmerica_Santiago;
17085 const extended::ZoneInfo& kZoneChile_EasterIsland = kZonePacific_Easter;
17086 const extended::ZoneInfo& kZoneCuba = kZoneAmerica_Havana;
17087 const extended::ZoneInfo& kZoneEgypt = kZoneAfrica_Cairo;
17088 const extended::ZoneInfo& kZoneEire = kZoneEurope_Dublin;
17089 const extended::ZoneInfo& kZoneEtc_GMT_PLUS_0 = kZoneEtc_GMT;
17090 const extended::ZoneInfo& kZoneEtc_GMT_0 = kZoneEtc_GMT;
17091 const extended::ZoneInfo& kZoneEtc_GMT0 = kZoneEtc_GMT;
17092 const extended::ZoneInfo& kZoneEtc_Greenwich = kZoneEtc_GMT;
17093 const extended::ZoneInfo& kZoneEtc_UCT = kZoneEtc_UTC;
17094 const extended::ZoneInfo& kZoneEtc_Universal = kZoneEtc_UTC;
17095 const extended::ZoneInfo& kZoneEtc_Zulu = kZoneEtc_UTC;
17096 const extended::ZoneInfo& kZoneEurope_Belfast = kZoneEurope_London;
17097 const extended::ZoneInfo& kZoneEurope_Bratislava = kZoneEurope_Prague;
17098 const extended::ZoneInfo& kZoneEurope_Busingen = kZoneEurope_Zurich;
17099 const extended::ZoneInfo& kZoneEurope_Guernsey = kZoneEurope_London;
17100 const extended::ZoneInfo& kZoneEurope_Isle_of_Man = kZoneEurope_London;
17101 const extended::ZoneInfo& kZoneEurope_Jersey = kZoneEurope_London;
17102 const extended::ZoneInfo& kZoneEurope_Ljubljana = kZoneEurope_Belgrade;
17103 const extended::ZoneInfo& kZoneEurope_Mariehamn = kZoneEurope_Helsinki;
17104 const extended::ZoneInfo& kZoneEurope_Nicosia = kZoneAsia_Nicosia;
17105 const extended::ZoneInfo& kZoneEurope_Podgorica = kZoneEurope_Belgrade;
17106 const extended::ZoneInfo& kZoneEurope_San_Marino = kZoneEurope_Rome;
17107 const extended::ZoneInfo& kZoneEurope_Sarajevo = kZoneEurope_Belgrade;
17108 const extended::ZoneInfo& kZoneEurope_Skopje = kZoneEurope_Belgrade;
17109 const extended::ZoneInfo& kZoneEurope_Tiraspol = kZoneEurope_Chisinau;
17110 const extended::ZoneInfo& kZoneEurope_Vaduz = kZoneEurope_Zurich;
17111 const extended::ZoneInfo& kZoneEurope_Vatican = kZoneEurope_Rome;
17112 const extended::ZoneInfo& kZoneEurope_Zagreb = kZoneEurope_Belgrade;
17113 const extended::ZoneInfo& kZoneGB = kZoneEurope_London;
17114 const extended::ZoneInfo& kZoneGB_Eire = kZoneEurope_London;
17115 const extended::ZoneInfo& kZoneGMT = kZoneEtc_GMT;
17116 const extended::ZoneInfo& kZoneGMT_PLUS_0 = kZoneEtc_GMT;
17117 const extended::ZoneInfo& kZoneGMT_0 = kZoneEtc_GMT;
17118 const extended::ZoneInfo& kZoneGMT0 = kZoneEtc_GMT;
17119 const extended::ZoneInfo& kZoneGreenwich = kZoneEtc_GMT;
17120 const extended::ZoneInfo& kZoneHongkong = kZoneAsia_Hong_Kong;
17121 const extended::ZoneInfo& kZoneIceland = kZoneAtlantic_Reykjavik;
17122 const extended::ZoneInfo& kZoneIndian_Antananarivo = kZoneAfrica_Nairobi;
17123 const extended::ZoneInfo& kZoneIndian_Comoro = kZoneAfrica_Nairobi;
17124 const extended::ZoneInfo& kZoneIndian_Mayotte = kZoneAfrica_Nairobi;
17125 const extended::ZoneInfo& kZoneIran = kZoneAsia_Tehran;
17126 const extended::ZoneInfo& kZoneIsrael = kZoneAsia_Jerusalem;
17127 const extended::ZoneInfo& kZoneJamaica = kZoneAmerica_Jamaica;
17128 const extended::ZoneInfo& kZoneJapan = kZoneAsia_Tokyo;
17129 const extended::ZoneInfo& kZoneKwajalein = kZonePacific_Kwajalein;
17130 const extended::ZoneInfo& kZoneLibya = kZoneAfrica_Tripoli;
17131 const extended::ZoneInfo& kZoneMexico_BajaNorte = kZoneAmerica_Tijuana;
17132 const extended::ZoneInfo& kZoneMexico_BajaSur = kZoneAmerica_Mazatlan;
17133 const extended::ZoneInfo& kZoneMexico_General = kZoneAmerica_Mexico_City;
17134 const extended::ZoneInfo& kZoneNZ = kZonePacific_Auckland;
17135 const extended::ZoneInfo& kZoneNZ_CHAT = kZonePacific_Chatham;
17136 const extended::ZoneInfo& kZoneNavajo = kZoneAmerica_Denver;
17137 const extended::ZoneInfo& kZonePRC = kZoneAsia_Shanghai;
17138 const extended::ZoneInfo& kZonePacific_Johnston = kZonePacific_Honolulu;
17139 const extended::ZoneInfo& kZonePacific_Midway = kZonePacific_Pago_Pago;
17140 const extended::ZoneInfo& kZonePacific_Ponape = kZonePacific_Pohnpei;
17141 const extended::ZoneInfo& kZonePacific_Saipan = kZonePacific_Guam;
17142 const extended::ZoneInfo& kZonePacific_Samoa = kZonePacific_Pago_Pago;
17143 const extended::ZoneInfo& kZonePacific_Truk = kZonePacific_Chuuk;
17144 const extended::ZoneInfo& kZonePacific_Yap = kZonePacific_Chuuk;
17145 const extended::ZoneInfo& kZonePoland = kZoneEurope_Warsaw;
17146 const extended::ZoneInfo& kZonePortugal = kZoneEurope_Lisbon;
17147 const extended::ZoneInfo& kZoneROC = kZoneAsia_Taipei;
17148 const extended::ZoneInfo& kZoneROK = kZoneAsia_Seoul;
17149 const extended::ZoneInfo& kZoneSingapore = kZoneAsia_Singapore;
17150 const extended::ZoneInfo& kZoneTurkey = kZoneEurope_Istanbul;
17151 const extended::ZoneInfo& kZoneUCT = kZoneEtc_UTC;
17152 const extended::ZoneInfo& kZoneUS_Alaska = kZoneAmerica_Anchorage;
17153 const extended::ZoneInfo& kZoneUS_Aleutian = kZoneAmerica_Adak;
17154 const extended::ZoneInfo& kZoneUS_Arizona = kZoneAmerica_Phoenix;
17155 const extended::ZoneInfo& kZoneUS_Central = kZoneAmerica_Chicago;
17156 const extended::ZoneInfo& kZoneUS_East_Indiana = kZoneAmerica_Indiana_Indianapolis;
17157 const extended::ZoneInfo& kZoneUS_Eastern = kZoneAmerica_New_York;
17158 const extended::ZoneInfo& kZoneUS_Hawaii = kZonePacific_Honolulu;
17159 const extended::ZoneInfo& kZoneUS_Indiana_Starke = kZoneAmerica_Indiana_Knox;
17160 const extended::ZoneInfo& kZoneUS_Michigan = kZoneAmerica_Detroit;
17161 const extended::ZoneInfo& kZoneUS_Mountain = kZoneAmerica_Denver;
17162 const extended::ZoneInfo& kZoneUS_Pacific = kZoneAmerica_Los_Angeles;
17163 const extended::ZoneInfo& kZoneUS_Samoa = kZonePacific_Pago_Pago;
17164 const extended::ZoneInfo& kZoneUTC = kZoneEtc_UTC;
17165 const extended::ZoneInfo& kZoneUniversal = kZoneEtc_UTC;
17166 const extended::ZoneInfo& kZoneW_SU = kZoneEurope_Moscow;
17167 const extended::ZoneInfo& kZoneZulu = kZoneEtc_UTC;
17168 
17169 }
17170 }
static const uint8_t kSuffixS
Represents &#39;s&#39; or standard time.
Definition: ZoneContext.h:16
- -
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
static const uint8_t kSuffixW
Represents &#39;w&#39; or wall time.
Definition: ZoneContext.h:13
-
static const uint8_t kSuffixU
Represents &#39;u&#39; or UTC time.
Definition: ZoneContext.h:19
+
1 // This file was generated by the following script:
+
2 //
+
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
+
4 //
+
5 // using the TZ Database files from
+
6 // https://github.com/eggert/tz/releases/tag/2020c
+
7 //
+
8 // Zones: 387
+
9 // Links: 206
+
10 // Strings (bytes): 9491
+
11 // Memory (8-bit): 21549
+
12 // Memory (32-bit): 28015
+
13 //
+
14 // DO NOT EDIT
+
15 
+
16 #include <ace_time/common/compat.h>
+
17 #include "zone_policies.h"
+
18 #include "zone_infos.h"
+
19 
+
20 namespace ace_time {
+
21 namespace zonedbx {
+
22 
+
23 //---------------------------------------------------------------------------
+
24 // ZoneContext (should not be in PROGMEM)
+
25 //---------------------------------------------------------------------------
+
26 
+
27 const char kTzDatabaseVersion[] = "2020c";
+
28 
+
29 const extended::ZoneContext kZoneContext = {
+
30  2000 /*startYear*/,
+
31  2050 /*untilYear*/,
+
32  kTzDatabaseVersion /*tzVersion*/,
+
33 };
+
34 
+
35 //---------------------------------------------------------------------------
+
36 // Zones: 387
+
37 //---------------------------------------------------------------------------
+
38 
+
39 //---------------------------------------------------------------------------
+
40 // Zone name: Africa/Abidjan
+
41 // Zone Eras: 1
+
42 // Strings (bytes): 19
+
43 // Memory (8-bit): 42
+
44 // Memory (32-bit): 55
+
45 //---------------------------------------------------------------------------
+
46 
+
47 static const extended::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
+
48  // 0:00 - GMT
+
49  {
+
50  nullptr /*zonePolicy*/,
+
51  "GMT" /*format*/,
+
52  0 /*offsetCode*/,
+
53  (0 << 4) + (0 + 4) /*deltaCode*/,
+
54  127 /*untilYearTiny*/,
+
55  1 /*untilMonth*/,
+
56  1 /*untilDay*/,
+
57  0 /*untilTimeCode*/,
+
58  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
59  },
+
60 
+
61 };
+
62 
+
63 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "Africa/Abidjan";
+
64 
+
65 const extended::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
+
66  kZoneNameAfrica_Abidjan /*name*/,
+
67  0xc21305a3 /*zoneId*/,
+
68  &kZoneContext /*zoneContext*/,
+
69  2 /*transitionBufSize*/,
+
70  1 /*numEras*/,
+
71  kZoneEraAfrica_Abidjan /*eras*/,
+
72 };
+
73 
+
74 //---------------------------------------------------------------------------
+
75 // Zone name: Africa/Accra
+
76 // Zone Eras: 1
+
77 // Strings (bytes): 23
+
78 // Memory (8-bit): 46
+
79 // Memory (32-bit): 59
+
80 //---------------------------------------------------------------------------
+
81 
+
82 static const extended::ZoneEra kZoneEraAfrica_Accra[] ACE_TIME_PROGMEM = {
+
83  // 0:00 Ghana GMT/+0020
+
84  {
+
85  &kPolicyGhana /*zonePolicy*/,
+
86  "GMT/+0020" /*format*/,
+
87  0 /*offsetCode*/,
+
88  (0 << 4) + (0 + 4) /*deltaCode*/,
+
89  127 /*untilYearTiny*/,
+
90  1 /*untilMonth*/,
+
91  1 /*untilDay*/,
+
92  0 /*untilTimeCode*/,
+
93  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
94  },
+
95 
+
96 };
+
97 
+
98 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "Africa/Accra";
+
99 
+
100 const extended::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
+
101  kZoneNameAfrica_Accra /*name*/,
+
102  0x77d5b054 /*zoneId*/,
+
103  &kZoneContext /*zoneContext*/,
+
104  2 /*transitionBufSize*/,
+
105  1 /*numEras*/,
+
106  kZoneEraAfrica_Accra /*eras*/,
+
107 };
+
108 
+
109 //---------------------------------------------------------------------------
+
110 // Zone name: Africa/Algiers
+
111 // Zone Eras: 1
+
112 // Strings (bytes): 19
+
113 // Memory (8-bit): 42
+
114 // Memory (32-bit): 55
+
115 //---------------------------------------------------------------------------
+
116 
+
117 static const extended::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
+
118  // 1:00 - CET
+
119  {
+
120  nullptr /*zonePolicy*/,
+
121  "CET" /*format*/,
+
122  4 /*offsetCode*/,
+
123  (0 << 4) + (0 + 4) /*deltaCode*/,
+
124  127 /*untilYearTiny*/,
+
125  1 /*untilMonth*/,
+
126  1 /*untilDay*/,
+
127  0 /*untilTimeCode*/,
+
128  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
129  },
+
130 
+
131 };
+
132 
+
133 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "Africa/Algiers";
+
134 
+
135 const extended::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
+
136  kZoneNameAfrica_Algiers /*name*/,
+
137  0xd94515c1 /*zoneId*/,
+
138  &kZoneContext /*zoneContext*/,
+
139  2 /*transitionBufSize*/,
+
140  1 /*numEras*/,
+
141  kZoneEraAfrica_Algiers /*eras*/,
+
142 };
+
143 
+
144 //---------------------------------------------------------------------------
+
145 // Zone name: Africa/Bissau
+
146 // Zone Eras: 1
+
147 // Strings (bytes): 18
+
148 // Memory (8-bit): 41
+
149 // Memory (32-bit): 54
+
150 //---------------------------------------------------------------------------
+
151 
+
152 static const extended::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
+
153  // 0:00 - GMT
+
154  {
+
155  nullptr /*zonePolicy*/,
+
156  "GMT" /*format*/,
+
157  0 /*offsetCode*/,
+
158  (0 << 4) + (0 + 4) /*deltaCode*/,
+
159  127 /*untilYearTiny*/,
+
160  1 /*untilMonth*/,
+
161  1 /*untilDay*/,
+
162  0 /*untilTimeCode*/,
+
163  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
164  },
+
165 
+
166 };
+
167 
+
168 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "Africa/Bissau";
+
169 
+
170 const extended::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
+
171  kZoneNameAfrica_Bissau /*name*/,
+
172  0x75564141 /*zoneId*/,
+
173  &kZoneContext /*zoneContext*/,
+
174  2 /*transitionBufSize*/,
+
175  1 /*numEras*/,
+
176  kZoneEraAfrica_Bissau /*eras*/,
+
177 };
+
178 
+
179 //---------------------------------------------------------------------------
+
180 // Zone name: Africa/Cairo
+
181 // Zone Eras: 1
+
182 // Strings (bytes): 18
+
183 // Memory (8-bit): 41
+
184 // Memory (32-bit): 54
+
185 //---------------------------------------------------------------------------
+
186 
+
187 static const extended::ZoneEra kZoneEraAfrica_Cairo[] ACE_TIME_PROGMEM = {
+
188  // 2:00 Egypt EE%sT
+
189  {
+
190  &kPolicyEgypt /*zonePolicy*/,
+
191  "EE%T" /*format*/,
+
192  8 /*offsetCode*/,
+
193  (0 << 4) + (0 + 4) /*deltaCode*/,
+
194  127 /*untilYearTiny*/,
+
195  1 /*untilMonth*/,
+
196  1 /*untilDay*/,
+
197  0 /*untilTimeCode*/,
+
198  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
199  },
+
200 
+
201 };
+
202 
+
203 static const char kZoneNameAfrica_Cairo[] ACE_TIME_PROGMEM = "Africa/Cairo";
+
204 
+
205 const extended::ZoneInfo kZoneAfrica_Cairo ACE_TIME_PROGMEM = {
+
206  kZoneNameAfrica_Cairo /*name*/,
+
207  0x77f8e228 /*zoneId*/,
+
208  &kZoneContext /*zoneContext*/,
+
209  6 /*transitionBufSize*/,
+
210  1 /*numEras*/,
+
211  kZoneEraAfrica_Cairo /*eras*/,
+
212 };
+
213 
+
214 //---------------------------------------------------------------------------
+
215 // Zone name: Africa/Casablanca
+
216 // Zone Eras: 2
+
217 // Strings (bytes): 34
+
218 // Memory (8-bit): 68
+
219 // Memory (32-bit): 86
+
220 //---------------------------------------------------------------------------
+
221 
+
222 static const extended::ZoneEra kZoneEraAfrica_Casablanca[] ACE_TIME_PROGMEM = {
+
223  // 0:00 Morocco +00/+01 2018 Oct 28 3:00
+
224  {
+
225  &kPolicyMorocco /*zonePolicy*/,
+
226  "+00/+01" /*format*/,
+
227  0 /*offsetCode*/,
+
228  (0 << 4) + (0 + 4) /*deltaCode*/,
+
229  18 /*untilYearTiny*/,
+
230  10 /*untilMonth*/,
+
231  28 /*untilDay*/,
+
232  12 /*untilTimeCode*/,
+
233  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
234  },
+
235  // 1:00 Morocco +01/+00
+
236  {
+
237  &kPolicyMorocco /*zonePolicy*/,
+
238  "+01/+00" /*format*/,
+
239  4 /*offsetCode*/,
+
240  (0 << 4) + (0 + 4) /*deltaCode*/,
+
241  127 /*untilYearTiny*/,
+
242  1 /*untilMonth*/,
+
243  1 /*untilDay*/,
+
244  0 /*untilTimeCode*/,
+
245  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
246  },
+
247 
+
248 };
+
249 
+
250 static const char kZoneNameAfrica_Casablanca[] ACE_TIME_PROGMEM = "Africa/Casablanca";
+
251 
+
252 const extended::ZoneInfo kZoneAfrica_Casablanca ACE_TIME_PROGMEM = {
+
253  kZoneNameAfrica_Casablanca /*name*/,
+
254  0xc59f1b33 /*zoneId*/,
+
255  &kZoneContext /*zoneContext*/,
+
256  7 /*transitionBufSize*/,
+
257  2 /*numEras*/,
+
258  kZoneEraAfrica_Casablanca /*eras*/,
+
259 };
+
260 
+
261 //---------------------------------------------------------------------------
+
262 // Zone name: Africa/Ceuta
+
263 // Zone Eras: 1
+
264 // Strings (bytes): 18
+
265 // Memory (8-bit): 41
+
266 // Memory (32-bit): 54
+
267 //---------------------------------------------------------------------------
+
268 
+
269 static const extended::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
+
270  // 1:00 EU CE%sT
+
271  {
+
272  &kPolicyEU /*zonePolicy*/,
+
273  "CE%T" /*format*/,
+
274  4 /*offsetCode*/,
+
275  (0 << 4) + (0 + 4) /*deltaCode*/,
+
276  127 /*untilYearTiny*/,
+
277  1 /*untilMonth*/,
+
278  1 /*untilDay*/,
+
279  0 /*untilTimeCode*/,
+
280  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
281  },
+
282 
+
283 };
+
284 
+
285 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "Africa/Ceuta";
+
286 
+
287 const extended::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
+
288  kZoneNameAfrica_Ceuta /*name*/,
+
289  0x77fb46ec /*zoneId*/,
+
290  &kZoneContext /*zoneContext*/,
+
291  5 /*transitionBufSize*/,
+
292  1 /*numEras*/,
+
293  kZoneEraAfrica_Ceuta /*eras*/,
+
294 };
+
295 
+
296 //---------------------------------------------------------------------------
+
297 // Zone name: Africa/El_Aaiun
+
298 // Zone Eras: 2
+
299 // Strings (bytes): 32
+
300 // Memory (8-bit): 66
+
301 // Memory (32-bit): 84
+
302 //---------------------------------------------------------------------------
+
303 
+
304 static const extended::ZoneEra kZoneEraAfrica_El_Aaiun[] ACE_TIME_PROGMEM = {
+
305  // 0:00 Morocco +00/+01 2018 Oct 28 3:00
+
306  {
+
307  &kPolicyMorocco /*zonePolicy*/,
+
308  "+00/+01" /*format*/,
+
309  0 /*offsetCode*/,
+
310  (0 << 4) + (0 + 4) /*deltaCode*/,
+
311  18 /*untilYearTiny*/,
+
312  10 /*untilMonth*/,
+
313  28 /*untilDay*/,
+
314  12 /*untilTimeCode*/,
+
315  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
316  },
+
317  // 1:00 Morocco +01/+00
+
318  {
+
319  &kPolicyMorocco /*zonePolicy*/,
+
320  "+01/+00" /*format*/,
+
321  4 /*offsetCode*/,
+
322  (0 << 4) + (0 + 4) /*deltaCode*/,
+
323  127 /*untilYearTiny*/,
+
324  1 /*untilMonth*/,
+
325  1 /*untilDay*/,
+
326  0 /*untilTimeCode*/,
+
327  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
328  },
+
329 
+
330 };
+
331 
+
332 static const char kZoneNameAfrica_El_Aaiun[] ACE_TIME_PROGMEM = "Africa/El_Aaiun";
+
333 
+
334 const extended::ZoneInfo kZoneAfrica_El_Aaiun ACE_TIME_PROGMEM = {
+
335  kZoneNameAfrica_El_Aaiun /*name*/,
+
336  0x9d6fb118 /*zoneId*/,
+
337  &kZoneContext /*zoneContext*/,
+
338  7 /*transitionBufSize*/,
+
339  2 /*numEras*/,
+
340  kZoneEraAfrica_El_Aaiun /*eras*/,
+
341 };
+
342 
+
343 //---------------------------------------------------------------------------
+
344 // Zone name: Africa/Johannesburg
+
345 // Zone Eras: 1
+
346 // Strings (bytes): 25
+
347 // Memory (8-bit): 48
+
348 // Memory (32-bit): 61
+
349 //---------------------------------------------------------------------------
+
350 
+
351 static const extended::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
+
352  // 2:00 SA SAST
+
353  {
+
354  &kPolicySA /*zonePolicy*/,
+
355  "SAST" /*format*/,
+
356  8 /*offsetCode*/,
+
357  (0 << 4) + (0 + 4) /*deltaCode*/,
+
358  127 /*untilYearTiny*/,
+
359  1 /*untilMonth*/,
+
360  1 /*untilDay*/,
+
361  0 /*untilTimeCode*/,
+
362  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
363  },
+
364 
+
365 };
+
366 
+
367 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "Africa/Johannesburg";
+
368 
+
369 const extended::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
+
370  kZoneNameAfrica_Johannesburg /*name*/,
+
371  0xd5d157a0 /*zoneId*/,
+
372  &kZoneContext /*zoneContext*/,
+
373  2 /*transitionBufSize*/,
+
374  1 /*numEras*/,
+
375  kZoneEraAfrica_Johannesburg /*eras*/,
+
376 };
+
377 
+
378 //---------------------------------------------------------------------------
+
379 // Zone name: Africa/Juba
+
380 // Zone Eras: 2
+
381 // Strings (bytes): 21
+
382 // Memory (8-bit): 55
+
383 // Memory (32-bit): 73
+
384 //---------------------------------------------------------------------------
+
385 
+
386 static const extended::ZoneEra kZoneEraAfrica_Juba[] ACE_TIME_PROGMEM = {
+
387  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
+
388  {
+
389  &kPolicySudan /*zonePolicy*/,
+
390  "CA%T" /*format*/,
+
391  8 /*offsetCode*/,
+
392  (0 << 4) + (0 + 4) /*deltaCode*/,
+
393  0 /*untilYearTiny*/,
+
394  1 /*untilMonth*/,
+
395  15 /*untilDay*/,
+
396  48 /*untilTimeCode*/,
+
397  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
398  },
+
399  // 3:00 - EAT
+
400  {
+
401  nullptr /*zonePolicy*/,
+
402  "EAT" /*format*/,
+
403  12 /*offsetCode*/,
+
404  (0 << 4) + (0 + 4) /*deltaCode*/,
+
405  127 /*untilYearTiny*/,
+
406  1 /*untilMonth*/,
+
407  1 /*untilDay*/,
+
408  0 /*untilTimeCode*/,
+
409  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
410  },
+
411 
+
412 };
+
413 
+
414 static const char kZoneNameAfrica_Juba[] ACE_TIME_PROGMEM = "Africa/Juba";
+
415 
+
416 const extended::ZoneInfo kZoneAfrica_Juba ACE_TIME_PROGMEM = {
+
417  kZoneNameAfrica_Juba /*name*/,
+
418  0xd51b395c /*zoneId*/,
+
419  &kZoneContext /*zoneContext*/,
+
420  3 /*transitionBufSize*/,
+
421  2 /*numEras*/,
+
422  kZoneEraAfrica_Juba /*eras*/,
+
423 };
+
424 
+
425 //---------------------------------------------------------------------------
+
426 // Zone name: Africa/Khartoum
+
427 // Zone Eras: 3
+
428 // Strings (bytes): 29
+
429 // Memory (8-bit): 74
+
430 // Memory (32-bit): 97
+
431 //---------------------------------------------------------------------------
+
432 
+
433 static const extended::ZoneEra kZoneEraAfrica_Khartoum[] ACE_TIME_PROGMEM = {
+
434  // 2:00 Sudan CA%sT 2000 Jan 15 12:00
+
435  {
+
436  &kPolicySudan /*zonePolicy*/,
+
437  "CA%T" /*format*/,
+
438  8 /*offsetCode*/,
+
439  (0 << 4) + (0 + 4) /*deltaCode*/,
+
440  0 /*untilYearTiny*/,
+
441  1 /*untilMonth*/,
+
442  15 /*untilDay*/,
+
443  48 /*untilTimeCode*/,
+
444  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
445  },
+
446  // 3:00 - EAT 2017 Nov 1
+
447  {
+
448  nullptr /*zonePolicy*/,
+
449  "EAT" /*format*/,
+
450  12 /*offsetCode*/,
+
451  (0 << 4) + (0 + 4) /*deltaCode*/,
+
452  17 /*untilYearTiny*/,
+
453  11 /*untilMonth*/,
+
454  1 /*untilDay*/,
+
455  0 /*untilTimeCode*/,
+
456  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
457  },
+
458  // 2:00 - CAT
+
459  {
+
460  nullptr /*zonePolicy*/,
+
461  "CAT" /*format*/,
+
462  8 /*offsetCode*/,
+
463  (0 << 4) + (0 + 4) /*deltaCode*/,
+
464  127 /*untilYearTiny*/,
+
465  1 /*untilMonth*/,
+
466  1 /*untilDay*/,
+
467  0 /*untilTimeCode*/,
+
468  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
469  },
+
470 
+
471 };
+
472 
+
473 static const char kZoneNameAfrica_Khartoum[] ACE_TIME_PROGMEM = "Africa/Khartoum";
+
474 
+
475 const extended::ZoneInfo kZoneAfrica_Khartoum ACE_TIME_PROGMEM = {
+
476  kZoneNameAfrica_Khartoum /*name*/,
+
477  0xfb3d4205 /*zoneId*/,
+
478  &kZoneContext /*zoneContext*/,
+
479  3 /*transitionBufSize*/,
+
480  3 /*numEras*/,
+
481  kZoneEraAfrica_Khartoum /*eras*/,
+
482 };
+
483 
+
484 //---------------------------------------------------------------------------
+
485 // Zone name: Africa/Lagos
+
486 // Zone Eras: 1
+
487 // Strings (bytes): 17
+
488 // Memory (8-bit): 40
+
489 // Memory (32-bit): 53
+
490 //---------------------------------------------------------------------------
+
491 
+
492 static const extended::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
+
493  // 1:00 - WAT
+
494  {
+
495  nullptr /*zonePolicy*/,
+
496  "WAT" /*format*/,
+
497  4 /*offsetCode*/,
+
498  (0 << 4) + (0 + 4) /*deltaCode*/,
+
499  127 /*untilYearTiny*/,
+
500  1 /*untilMonth*/,
+
501  1 /*untilDay*/,
+
502  0 /*untilTimeCode*/,
+
503  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
504  },
+
505 
+
506 };
+
507 
+
508 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "Africa/Lagos";
+
509 
+
510 const extended::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
+
511  kZoneNameAfrica_Lagos /*name*/,
+
512  0x789bb5d0 /*zoneId*/,
+
513  &kZoneContext /*zoneContext*/,
+
514  2 /*transitionBufSize*/,
+
515  1 /*numEras*/,
+
516  kZoneEraAfrica_Lagos /*eras*/,
+
517 };
+
518 
+
519 //---------------------------------------------------------------------------
+
520 // Zone name: Africa/Maputo
+
521 // Zone Eras: 1
+
522 // Strings (bytes): 18
+
523 // Memory (8-bit): 41
+
524 // Memory (32-bit): 54
+
525 //---------------------------------------------------------------------------
+
526 
+
527 static const extended::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
+
528  // 2:00 - CAT
+
529  {
+
530  nullptr /*zonePolicy*/,
+
531  "CAT" /*format*/,
+
532  8 /*offsetCode*/,
+
533  (0 << 4) + (0 + 4) /*deltaCode*/,
+
534  127 /*untilYearTiny*/,
+
535  1 /*untilMonth*/,
+
536  1 /*untilDay*/,
+
537  0 /*untilTimeCode*/,
+
538  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
539  },
+
540 
+
541 };
+
542 
+
543 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "Africa/Maputo";
+
544 
+
545 const extended::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
+
546  kZoneNameAfrica_Maputo /*name*/,
+
547  0x8e6ca1f0 /*zoneId*/,
+
548  &kZoneContext /*zoneContext*/,
+
549  2 /*transitionBufSize*/,
+
550  1 /*numEras*/,
+
551  kZoneEraAfrica_Maputo /*eras*/,
+
552 };
+
553 
+
554 //---------------------------------------------------------------------------
+
555 // Zone name: Africa/Monrovia
+
556 // Zone Eras: 1
+
557 // Strings (bytes): 20
+
558 // Memory (8-bit): 43
+
559 // Memory (32-bit): 56
+
560 //---------------------------------------------------------------------------
+
561 
+
562 static const extended::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
+
563  // 0:00 - GMT
+
564  {
+
565  nullptr /*zonePolicy*/,
+
566  "GMT" /*format*/,
+
567  0 /*offsetCode*/,
+
568  (0 << 4) + (0 + 4) /*deltaCode*/,
+
569  127 /*untilYearTiny*/,
+
570  1 /*untilMonth*/,
+
571  1 /*untilDay*/,
+
572  0 /*untilTimeCode*/,
+
573  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
574  },
+
575 
+
576 };
+
577 
+
578 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "Africa/Monrovia";
+
579 
+
580 const extended::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
+
581  kZoneNameAfrica_Monrovia /*name*/,
+
582  0x0ce90385 /*zoneId*/,
+
583  &kZoneContext /*zoneContext*/,
+
584  2 /*transitionBufSize*/,
+
585  1 /*numEras*/,
+
586  kZoneEraAfrica_Monrovia /*eras*/,
+
587 };
+
588 
+
589 //---------------------------------------------------------------------------
+
590 // Zone name: Africa/Nairobi
+
591 // Zone Eras: 1
+
592 // Strings (bytes): 19
+
593 // Memory (8-bit): 42
+
594 // Memory (32-bit): 55
+
595 //---------------------------------------------------------------------------
+
596 
+
597 static const extended::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
+
598  // 3:00 - EAT
+
599  {
+
600  nullptr /*zonePolicy*/,
+
601  "EAT" /*format*/,
+
602  12 /*offsetCode*/,
+
603  (0 << 4) + (0 + 4) /*deltaCode*/,
+
604  127 /*untilYearTiny*/,
+
605  1 /*untilMonth*/,
+
606  1 /*untilDay*/,
+
607  0 /*untilTimeCode*/,
+
608  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
609  },
+
610 
+
611 };
+
612 
+
613 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "Africa/Nairobi";
+
614 
+
615 const extended::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
+
616  kZoneNameAfrica_Nairobi /*name*/,
+
617  0xa87ab57e /*zoneId*/,
+
618  &kZoneContext /*zoneContext*/,
+
619  2 /*transitionBufSize*/,
+
620  1 /*numEras*/,
+
621  kZoneEraAfrica_Nairobi /*eras*/,
+
622 };
+
623 
+
624 //---------------------------------------------------------------------------
+
625 // Zone name: Africa/Ndjamena
+
626 // Zone Eras: 1
+
627 // Strings (bytes): 20
+
628 // Memory (8-bit): 43
+
629 // Memory (32-bit): 56
+
630 //---------------------------------------------------------------------------
+
631 
+
632 static const extended::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
+
633  // 1:00 - WAT
+
634  {
+
635  nullptr /*zonePolicy*/,
+
636  "WAT" /*format*/,
+
637  4 /*offsetCode*/,
+
638  (0 << 4) + (0 + 4) /*deltaCode*/,
+
639  127 /*untilYearTiny*/,
+
640  1 /*untilMonth*/,
+
641  1 /*untilDay*/,
+
642  0 /*untilTimeCode*/,
+
643  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
644  },
+
645 
+
646 };
+
647 
+
648 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "Africa/Ndjamena";
+
649 
+
650 const extended::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
+
651  kZoneNameAfrica_Ndjamena /*name*/,
+
652  0x9fe09898 /*zoneId*/,
+
653  &kZoneContext /*zoneContext*/,
+
654  2 /*transitionBufSize*/,
+
655  1 /*numEras*/,
+
656  kZoneEraAfrica_Ndjamena /*eras*/,
+
657 };
+
658 
+
659 //---------------------------------------------------------------------------
+
660 // Zone name: Africa/Sao_Tome
+
661 // Zone Eras: 3
+
662 // Strings (bytes): 28
+
663 // Memory (8-bit): 73
+
664 // Memory (32-bit): 96
+
665 //---------------------------------------------------------------------------
+
666 
+
667 static const extended::ZoneEra kZoneEraAfrica_Sao_Tome[] ACE_TIME_PROGMEM = {
+
668  // 0:00 - GMT 2018 Jan 1 01:00
+
669  {
+
670  nullptr /*zonePolicy*/,
+
671  "GMT" /*format*/,
+
672  0 /*offsetCode*/,
+
673  (0 << 4) + (0 + 4) /*deltaCode*/,
+
674  18 /*untilYearTiny*/,
+
675  1 /*untilMonth*/,
+
676  1 /*untilDay*/,
+
677  4 /*untilTimeCode*/,
+
678  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
679  },
+
680  // 1:00 - WAT 2019 Jan 1 02:00
+
681  {
+
682  nullptr /*zonePolicy*/,
+
683  "WAT" /*format*/,
+
684  4 /*offsetCode*/,
+
685  (0 << 4) + (0 + 4) /*deltaCode*/,
+
686  19 /*untilYearTiny*/,
+
687  1 /*untilMonth*/,
+
688  1 /*untilDay*/,
+
689  8 /*untilTimeCode*/,
+
690  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
691  },
+
692  // 0:00 - GMT
+
693  {
+
694  nullptr /*zonePolicy*/,
+
695  "GMT" /*format*/,
+
696  0 /*offsetCode*/,
+
697  (0 << 4) + (0 + 4) /*deltaCode*/,
+
698  127 /*untilYearTiny*/,
+
699  1 /*untilMonth*/,
+
700  1 /*untilDay*/,
+
701  0 /*untilTimeCode*/,
+
702  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
703  },
+
704 
+
705 };
+
706 
+
707 static const char kZoneNameAfrica_Sao_Tome[] ACE_TIME_PROGMEM = "Africa/Sao_Tome";
+
708 
+
709 const extended::ZoneInfo kZoneAfrica_Sao_Tome ACE_TIME_PROGMEM = {
+
710  kZoneNameAfrica_Sao_Tome /*name*/,
+
711  0x61b319d1 /*zoneId*/,
+
712  &kZoneContext /*zoneContext*/,
+
713  4 /*transitionBufSize*/,
+
714  3 /*numEras*/,
+
715  kZoneEraAfrica_Sao_Tome /*eras*/,
+
716 };
+
717 
+
718 //---------------------------------------------------------------------------
+
719 // Zone name: Africa/Tripoli
+
720 // Zone Eras: 3
+
721 // Strings (bytes): 28
+
722 // Memory (8-bit): 73
+
723 // Memory (32-bit): 96
+
724 //---------------------------------------------------------------------------
+
725 
+
726 static const extended::ZoneEra kZoneEraAfrica_Tripoli[] ACE_TIME_PROGMEM = {
+
727  // 2:00 - EET 2012 Nov 10 2:00
+
728  {
+
729  nullptr /*zonePolicy*/,
+
730  "EET" /*format*/,
+
731  8 /*offsetCode*/,
+
732  (0 << 4) + (0 + 4) /*deltaCode*/,
+
733  12 /*untilYearTiny*/,
+
734  11 /*untilMonth*/,
+
735  10 /*untilDay*/,
+
736  8 /*untilTimeCode*/,
+
737  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
738  },
+
739  // 1:00 Libya CE%sT 2013 Oct 25 2:00
+
740  {
+
741  &kPolicyLibya /*zonePolicy*/,
+
742  "CE%T" /*format*/,
+
743  4 /*offsetCode*/,
+
744  (0 << 4) + (0 + 4) /*deltaCode*/,
+
745  13 /*untilYearTiny*/,
+
746  10 /*untilMonth*/,
+
747  25 /*untilDay*/,
+
748  8 /*untilTimeCode*/,
+
749  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
750  },
+
751  // 2:00 - EET
+
752  {
+
753  nullptr /*zonePolicy*/,
+
754  "EET" /*format*/,
+
755  8 /*offsetCode*/,
+
756  (0 << 4) + (0 + 4) /*deltaCode*/,
+
757  127 /*untilYearTiny*/,
+
758  1 /*untilMonth*/,
+
759  1 /*untilDay*/,
+
760  0 /*untilTimeCode*/,
+
761  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
762  },
+
763 
+
764 };
+
765 
+
766 static const char kZoneNameAfrica_Tripoli[] ACE_TIME_PROGMEM = "Africa/Tripoli";
+
767 
+
768 const extended::ZoneInfo kZoneAfrica_Tripoli ACE_TIME_PROGMEM = {
+
769  kZoneNameAfrica_Tripoli /*name*/,
+
770  0x9dfebd3d /*zoneId*/,
+
771  &kZoneContext /*zoneContext*/,
+
772  4 /*transitionBufSize*/,
+
773  3 /*numEras*/,
+
774  kZoneEraAfrica_Tripoli /*eras*/,
+
775 };
+
776 
+
777 //---------------------------------------------------------------------------
+
778 // Zone name: Africa/Tunis
+
779 // Zone Eras: 1
+
780 // Strings (bytes): 18
+
781 // Memory (8-bit): 41
+
782 // Memory (32-bit): 54
+
783 //---------------------------------------------------------------------------
+
784 
+
785 static const extended::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
+
786  // 1:00 Tunisia CE%sT
+
787  {
+
788  &kPolicyTunisia /*zonePolicy*/,
+
789  "CE%T" /*format*/,
+
790  4 /*offsetCode*/,
+
791  (0 << 4) + (0 + 4) /*deltaCode*/,
+
792  127 /*untilYearTiny*/,
+
793  1 /*untilMonth*/,
+
794  1 /*untilDay*/,
+
795  0 /*untilTimeCode*/,
+
796  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
797  },
+
798 
+
799 };
+
800 
+
801 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "Africa/Tunis";
+
802 
+
803 const extended::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
+
804  kZoneNameAfrica_Tunis /*name*/,
+
805  0x79378e6d /*zoneId*/,
+
806  &kZoneContext /*zoneContext*/,
+
807  5 /*transitionBufSize*/,
+
808  1 /*numEras*/,
+
809  kZoneEraAfrica_Tunis /*eras*/,
+
810 };
+
811 
+
812 //---------------------------------------------------------------------------
+
813 // Zone name: Africa/Windhoek
+
814 // Zone Eras: 1
+
815 // Strings (bytes): 18
+
816 // Memory (8-bit): 41
+
817 // Memory (32-bit): 54
+
818 //---------------------------------------------------------------------------
+
819 
+
820 static const extended::ZoneEra kZoneEraAfrica_Windhoek[] ACE_TIME_PROGMEM = {
+
821  // 2:00 Namibia %s
+
822  {
+
823  &kPolicyNamibia /*zonePolicy*/,
+
824  "%" /*format*/,
+
825  8 /*offsetCode*/,
+
826  (0 << 4) + (0 + 4) /*deltaCode*/,
+
827  127 /*untilYearTiny*/,
+
828  1 /*untilMonth*/,
+
829  1 /*untilDay*/,
+
830  0 /*untilTimeCode*/,
+
831  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
832  },
+
833 
+
834 };
+
835 
+
836 static const char kZoneNameAfrica_Windhoek[] ACE_TIME_PROGMEM = "Africa/Windhoek";
+
837 
+
838 const extended::ZoneInfo kZoneAfrica_Windhoek ACE_TIME_PROGMEM = {
+
839  kZoneNameAfrica_Windhoek /*name*/,
+
840  0x789c9bd3 /*zoneId*/,
+
841  &kZoneContext /*zoneContext*/,
+
842  4 /*transitionBufSize*/,
+
843  1 /*numEras*/,
+
844  kZoneEraAfrica_Windhoek /*eras*/,
+
845 };
+
846 
+
847 //---------------------------------------------------------------------------
+
848 // Zone name: America/Adak
+
849 // Zone Eras: 1
+
850 // Strings (bytes): 17
+
851 // Memory (8-bit): 40
+
852 // Memory (32-bit): 53
+
853 //---------------------------------------------------------------------------
+
854 
+
855 static const extended::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
+
856  // -10:00 US H%sT
+
857  {
+
858  &kPolicyUS /*zonePolicy*/,
+
859  "H%T" /*format*/,
+
860  -40 /*offsetCode*/,
+
861  (0 << 4) + (0 + 4) /*deltaCode*/,
+
862  127 /*untilYearTiny*/,
+
863  1 /*untilMonth*/,
+
864  1 /*untilDay*/,
+
865  0 /*untilTimeCode*/,
+
866  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
867  },
+
868 
+
869 };
+
870 
+
871 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "America/Adak";
+
872 
+
873 const extended::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
+
874  kZoneNameAmerica_Adak /*name*/,
+
875  0x97fe49d7 /*zoneId*/,
+
876  &kZoneContext /*zoneContext*/,
+
877  6 /*transitionBufSize*/,
+
878  1 /*numEras*/,
+
879  kZoneEraAmerica_Adak /*eras*/,
+
880 };
+
881 
+
882 //---------------------------------------------------------------------------
+
883 // Zone name: America/Anchorage
+
884 // Zone Eras: 1
+
885 // Strings (bytes): 23
+
886 // Memory (8-bit): 46
+
887 // Memory (32-bit): 59
+
888 //---------------------------------------------------------------------------
+
889 
+
890 static const extended::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
+
891  // -9:00 US AK%sT
+
892  {
+
893  &kPolicyUS /*zonePolicy*/,
+
894  "AK%T" /*format*/,
+
895  -36 /*offsetCode*/,
+
896  (0 << 4) + (0 + 4) /*deltaCode*/,
+
897  127 /*untilYearTiny*/,
+
898  1 /*untilMonth*/,
+
899  1 /*untilDay*/,
+
900  0 /*untilTimeCode*/,
+
901  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
902  },
+
903 
+
904 };
+
905 
+
906 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "America/Anchorage";
+
907 
+
908 const extended::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
+
909  kZoneNameAmerica_Anchorage /*name*/,
+
910  0x5a79260e /*zoneId*/,
+
911  &kZoneContext /*zoneContext*/,
+
912  6 /*transitionBufSize*/,
+
913  1 /*numEras*/,
+
914  kZoneEraAmerica_Anchorage /*eras*/,
+
915 };
+
916 
+
917 //---------------------------------------------------------------------------
+
918 // Zone name: America/Araguaina
+
919 // Zone Eras: 4
+
920 // Strings (bytes): 42
+
921 // Memory (8-bit): 98
+
922 // Memory (32-bit): 126
+
923 //---------------------------------------------------------------------------
+
924 
+
925 static const extended::ZoneEra kZoneEraAmerica_Araguaina[] ACE_TIME_PROGMEM = {
+
926  // -3:00 Brazil -03/-02 2003 Sep 24
+
927  {
+
928  &kPolicyBrazil /*zonePolicy*/,
+
929  "-03/-02" /*format*/,
+
930  -12 /*offsetCode*/,
+
931  (0 << 4) + (0 + 4) /*deltaCode*/,
+
932  3 /*untilYearTiny*/,
+
933  9 /*untilMonth*/,
+
934  24 /*untilDay*/,
+
935  0 /*untilTimeCode*/,
+
936  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
937  },
+
938  // -3:00 - -03 2012 Oct 21
+
939  {
+
940  nullptr /*zonePolicy*/,
+
941  "-03" /*format*/,
+
942  -12 /*offsetCode*/,
+
943  (0 << 4) + (0 + 4) /*deltaCode*/,
+
944  12 /*untilYearTiny*/,
+
945  10 /*untilMonth*/,
+
946  21 /*untilDay*/,
+
947  0 /*untilTimeCode*/,
+
948  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
949  },
+
950  // -3:00 Brazil -03/-02 2013 Sep
+
951  {
+
952  &kPolicyBrazil /*zonePolicy*/,
+
953  "-03/-02" /*format*/,
+
954  -12 /*offsetCode*/,
+
955  (0 << 4) + (0 + 4) /*deltaCode*/,
+
956  13 /*untilYearTiny*/,
+
957  9 /*untilMonth*/,
+
958  1 /*untilDay*/,
+
959  0 /*untilTimeCode*/,
+
960  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
961  },
+
962  // -3:00 - -03
+
963  {
+
964  nullptr /*zonePolicy*/,
+
965  "-03" /*format*/,
+
966  -12 /*offsetCode*/,
+
967  (0 << 4) + (0 + 4) /*deltaCode*/,
+
968  127 /*untilYearTiny*/,
+
969  1 /*untilMonth*/,
+
970  1 /*untilDay*/,
+
971  0 /*untilTimeCode*/,
+
972  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
973  },
+
974 
+
975 };
+
976 
+
977 static const char kZoneNameAmerica_Araguaina[] ACE_TIME_PROGMEM = "America/Araguaina";
+
978 
+
979 const extended::ZoneInfo kZoneAmerica_Araguaina ACE_TIME_PROGMEM = {
+
980  kZoneNameAmerica_Araguaina /*name*/,
+
981  0x6f9a3aef /*zoneId*/,
+
982  &kZoneContext /*zoneContext*/,
+
983  5 /*transitionBufSize*/,
+
984  4 /*numEras*/,
+
985  kZoneEraAmerica_Araguaina /*eras*/,
+
986 };
+
987 
+
988 //---------------------------------------------------------------------------
+
989 // Zone name: America/Argentina/Buenos_Aires
+
990 // Zone Eras: 3
+
991 // Strings (bytes): 55
+
992 // Memory (8-bit): 100
+
993 // Memory (32-bit): 123
+
994 //---------------------------------------------------------------------------
+
995 
+
996 static const extended::ZoneEra kZoneEraAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = {
+
997  // -3:00 Arg -03/-02 1999 Oct 3
+
998  {
+
999  &kPolicyArg /*zonePolicy*/,
+
1000  "-03/-02" /*format*/,
+
1001  -12 /*offsetCode*/,
+
1002  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1003  -1 /*untilYearTiny*/,
+
1004  10 /*untilMonth*/,
+
1005  3 /*untilDay*/,
+
1006  0 /*untilTimeCode*/,
+
1007  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1008  },
+
1009  // -4:00 Arg -04/-03 2000 Mar 3
+
1010  {
+
1011  &kPolicyArg /*zonePolicy*/,
+
1012  "-04/-03" /*format*/,
+
1013  -16 /*offsetCode*/,
+
1014  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1015  0 /*untilYearTiny*/,
+
1016  3 /*untilMonth*/,
+
1017  3 /*untilDay*/,
+
1018  0 /*untilTimeCode*/,
+
1019  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1020  },
+
1021  // -3:00 Arg -03/-02
+
1022  {
+
1023  &kPolicyArg /*zonePolicy*/,
+
1024  "-03/-02" /*format*/,
+
1025  -12 /*offsetCode*/,
+
1026  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1027  127 /*untilYearTiny*/,
+
1028  1 /*untilMonth*/,
+
1029  1 /*untilDay*/,
+
1030  0 /*untilTimeCode*/,
+
1031  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1032  },
+
1033 
+
1034 };
+
1035 
+
1036 static const char kZoneNameAmerica_Argentina_Buenos_Aires[] ACE_TIME_PROGMEM = "America/Argentina/Buenos_Aires";
+
1037 
+
1038 const extended::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires ACE_TIME_PROGMEM = {
+
1039  kZoneNameAmerica_Argentina_Buenos_Aires /*name*/,
+
1040  0xd43b4c0d /*zoneId*/,
+
1041  &kZoneContext /*zoneContext*/,
+
1042  6 /*transitionBufSize*/,
+
1043  3 /*numEras*/,
+
1044  kZoneEraAmerica_Argentina_Buenos_Aires /*eras*/,
+
1045 };
+
1046 
+
1047 //---------------------------------------------------------------------------
+
1048 // Zone name: America/Argentina/Catamarca
+
1049 // Zone Eras: 6
+
1050 // Strings (bytes): 64
+
1051 // Memory (8-bit): 142
+
1052 // Memory (32-bit): 180
+
1053 //---------------------------------------------------------------------------
+
1054 
+
1055 static const extended::ZoneEra kZoneEraAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = {
+
1056  // -3:00 Arg -03/-02 1999 Oct 3
+
1057  {
+
1058  &kPolicyArg /*zonePolicy*/,
+
1059  "-03/-02" /*format*/,
+
1060  -12 /*offsetCode*/,
+
1061  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1062  -1 /*untilYearTiny*/,
+
1063  10 /*untilMonth*/,
+
1064  3 /*untilDay*/,
+
1065  0 /*untilTimeCode*/,
+
1066  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1067  },
+
1068  // -4:00 Arg -04/-03 2000 Mar 3
+
1069  {
+
1070  &kPolicyArg /*zonePolicy*/,
+
1071  "-04/-03" /*format*/,
+
1072  -16 /*offsetCode*/,
+
1073  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1074  0 /*untilYearTiny*/,
+
1075  3 /*untilMonth*/,
+
1076  3 /*untilDay*/,
+
1077  0 /*untilTimeCode*/,
+
1078  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1079  },
+
1080  // -3:00 - -03 2004 Jun 1
+
1081  {
+
1082  nullptr /*zonePolicy*/,
+
1083  "-03" /*format*/,
+
1084  -12 /*offsetCode*/,
+
1085  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1086  4 /*untilYearTiny*/,
+
1087  6 /*untilMonth*/,
+
1088  1 /*untilDay*/,
+
1089  0 /*untilTimeCode*/,
+
1090  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1091  },
+
1092  // -4:00 - -04 2004 Jun 20
+
1093  {
+
1094  nullptr /*zonePolicy*/,
+
1095  "-04" /*format*/,
+
1096  -16 /*offsetCode*/,
+
1097  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1098  4 /*untilYearTiny*/,
+
1099  6 /*untilMonth*/,
+
1100  20 /*untilDay*/,
+
1101  0 /*untilTimeCode*/,
+
1102  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1103  },
+
1104  // -3:00 Arg -03/-02 2008 Oct 18
+
1105  {
+
1106  &kPolicyArg /*zonePolicy*/,
+
1107  "-03/-02" /*format*/,
+
1108  -12 /*offsetCode*/,
+
1109  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1110  8 /*untilYearTiny*/,
+
1111  10 /*untilMonth*/,
+
1112  18 /*untilDay*/,
+
1113  0 /*untilTimeCode*/,
+
1114  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1115  },
+
1116  // -3:00 - -03
+
1117  {
+
1118  nullptr /*zonePolicy*/,
+
1119  "-03" /*format*/,
+
1120  -12 /*offsetCode*/,
+
1121  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1122  127 /*untilYearTiny*/,
+
1123  1 /*untilMonth*/,
+
1124  1 /*untilDay*/,
+
1125  0 /*untilTimeCode*/,
+
1126  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1127  },
+
1128 
+
1129 };
+
1130 
+
1131 static const char kZoneNameAmerica_Argentina_Catamarca[] ACE_TIME_PROGMEM = "America/Argentina/Catamarca";
+
1132 
+
1133 const extended::ZoneInfo kZoneAmerica_Argentina_Catamarca ACE_TIME_PROGMEM = {
+
1134  kZoneNameAmerica_Argentina_Catamarca /*name*/,
+
1135  0x8d40986b /*zoneId*/,
+
1136  &kZoneContext /*zoneContext*/,
+
1137  5 /*transitionBufSize*/,
+
1138  6 /*numEras*/,
+
1139  kZoneEraAmerica_Argentina_Catamarca /*eras*/,
+
1140 };
+
1141 
+
1142 //---------------------------------------------------------------------------
+
1143 // Zone name: America/Argentina/Cordoba
+
1144 // Zone Eras: 3
+
1145 // Strings (bytes): 50
+
1146 // Memory (8-bit): 95
+
1147 // Memory (32-bit): 118
+
1148 //---------------------------------------------------------------------------
+
1149 
+
1150 static const extended::ZoneEra kZoneEraAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = {
+
1151  // -3:00 Arg -03/-02 1999 Oct 3
+
1152  {
+
1153  &kPolicyArg /*zonePolicy*/,
+
1154  "-03/-02" /*format*/,
+
1155  -12 /*offsetCode*/,
+
1156  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1157  -1 /*untilYearTiny*/,
+
1158  10 /*untilMonth*/,
+
1159  3 /*untilDay*/,
+
1160  0 /*untilTimeCode*/,
+
1161  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1162  },
+
1163  // -4:00 Arg -04/-03 2000 Mar 3
+
1164  {
+
1165  &kPolicyArg /*zonePolicy*/,
+
1166  "-04/-03" /*format*/,
+
1167  -16 /*offsetCode*/,
+
1168  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1169  0 /*untilYearTiny*/,
+
1170  3 /*untilMonth*/,
+
1171  3 /*untilDay*/,
+
1172  0 /*untilTimeCode*/,
+
1173  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1174  },
+
1175  // -3:00 Arg -03/-02
+
1176  {
+
1177  &kPolicyArg /*zonePolicy*/,
+
1178  "-03/-02" /*format*/,
+
1179  -12 /*offsetCode*/,
+
1180  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1181  127 /*untilYearTiny*/,
+
1182  1 /*untilMonth*/,
+
1183  1 /*untilDay*/,
+
1184  0 /*untilTimeCode*/,
+
1185  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1186  },
+
1187 
+
1188 };
+
1189 
+
1190 static const char kZoneNameAmerica_Argentina_Cordoba[] ACE_TIME_PROGMEM = "America/Argentina/Cordoba";
+
1191 
+
1192 const extended::ZoneInfo kZoneAmerica_Argentina_Cordoba ACE_TIME_PROGMEM = {
+
1193  kZoneNameAmerica_Argentina_Cordoba /*name*/,
+
1194  0xbfccc308 /*zoneId*/,
+
1195  &kZoneContext /*zoneContext*/,
+
1196  6 /*transitionBufSize*/,
+
1197  3 /*numEras*/,
+
1198  kZoneEraAmerica_Argentina_Cordoba /*eras*/,
+
1199 };
+
1200 
+
1201 //---------------------------------------------------------------------------
+
1202 // Zone name: America/Argentina/Jujuy
+
1203 // Zone Eras: 4
+
1204 // Strings (bytes): 52
+
1205 // Memory (8-bit): 108
+
1206 // Memory (32-bit): 136
+
1207 //---------------------------------------------------------------------------
+
1208 
+
1209 static const extended::ZoneEra kZoneEraAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = {
+
1210  // -3:00 Arg -03/-02 1999 Oct 3
+
1211  {
+
1212  &kPolicyArg /*zonePolicy*/,
+
1213  "-03/-02" /*format*/,
+
1214  -12 /*offsetCode*/,
+
1215  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1216  -1 /*untilYearTiny*/,
+
1217  10 /*untilMonth*/,
+
1218  3 /*untilDay*/,
+
1219  0 /*untilTimeCode*/,
+
1220  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1221  },
+
1222  // -4:00 Arg -04/-03 2000 Mar 3
+
1223  {
+
1224  &kPolicyArg /*zonePolicy*/,
+
1225  "-04/-03" /*format*/,
+
1226  -16 /*offsetCode*/,
+
1227  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1228  0 /*untilYearTiny*/,
+
1229  3 /*untilMonth*/,
+
1230  3 /*untilDay*/,
+
1231  0 /*untilTimeCode*/,
+
1232  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1233  },
+
1234  // -3:00 Arg -03/-02 2008 Oct 18
+
1235  {
+
1236  &kPolicyArg /*zonePolicy*/,
+
1237  "-03/-02" /*format*/,
+
1238  -12 /*offsetCode*/,
+
1239  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1240  8 /*untilYearTiny*/,
+
1241  10 /*untilMonth*/,
+
1242  18 /*untilDay*/,
+
1243  0 /*untilTimeCode*/,
+
1244  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1245  },
+
1246  // -3:00 - -03
+
1247  {
+
1248  nullptr /*zonePolicy*/,
+
1249  "-03" /*format*/,
+
1250  -12 /*offsetCode*/,
+
1251  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1252  127 /*untilYearTiny*/,
+
1253  1 /*untilMonth*/,
+
1254  1 /*untilDay*/,
+
1255  0 /*untilTimeCode*/,
+
1256  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1257  },
+
1258 
+
1259 };
+
1260 
+
1261 static const char kZoneNameAmerica_Argentina_Jujuy[] ACE_TIME_PROGMEM = "America/Argentina/Jujuy";
+
1262 
+
1263 const extended::ZoneInfo kZoneAmerica_Argentina_Jujuy ACE_TIME_PROGMEM = {
+
1264  kZoneNameAmerica_Argentina_Jujuy /*name*/,
+
1265  0x5f2f46c5 /*zoneId*/,
+
1266  &kZoneContext /*zoneContext*/,
+
1267  5 /*transitionBufSize*/,
+
1268  4 /*numEras*/,
+
1269  kZoneEraAmerica_Argentina_Jujuy /*eras*/,
+
1270 };
+
1271 
+
1272 //---------------------------------------------------------------------------
+
1273 // Zone name: America/Argentina/La_Rioja
+
1274 // Zone Eras: 6
+
1275 // Strings (bytes): 63
+
1276 // Memory (8-bit): 141
+
1277 // Memory (32-bit): 179
+
1278 //---------------------------------------------------------------------------
+
1279 
+
1280 static const extended::ZoneEra kZoneEraAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = {
+
1281  // -3:00 Arg -03/-02 1999 Oct 3
+
1282  {
+
1283  &kPolicyArg /*zonePolicy*/,
+
1284  "-03/-02" /*format*/,
+
1285  -12 /*offsetCode*/,
+
1286  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1287  -1 /*untilYearTiny*/,
+
1288  10 /*untilMonth*/,
+
1289  3 /*untilDay*/,
+
1290  0 /*untilTimeCode*/,
+
1291  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1292  },
+
1293  // -4:00 Arg -04/-03 2000 Mar 3
+
1294  {
+
1295  &kPolicyArg /*zonePolicy*/,
+
1296  "-04/-03" /*format*/,
+
1297  -16 /*offsetCode*/,
+
1298  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1299  0 /*untilYearTiny*/,
+
1300  3 /*untilMonth*/,
+
1301  3 /*untilDay*/,
+
1302  0 /*untilTimeCode*/,
+
1303  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1304  },
+
1305  // -3:00 - -03 2004 Jun 1
+
1306  {
+
1307  nullptr /*zonePolicy*/,
+
1308  "-03" /*format*/,
+
1309  -12 /*offsetCode*/,
+
1310  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1311  4 /*untilYearTiny*/,
+
1312  6 /*untilMonth*/,
+
1313  1 /*untilDay*/,
+
1314  0 /*untilTimeCode*/,
+
1315  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1316  },
+
1317  // -4:00 - -04 2004 Jun 20
+
1318  {
+
1319  nullptr /*zonePolicy*/,
+
1320  "-04" /*format*/,
+
1321  -16 /*offsetCode*/,
+
1322  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1323  4 /*untilYearTiny*/,
+
1324  6 /*untilMonth*/,
+
1325  20 /*untilDay*/,
+
1326  0 /*untilTimeCode*/,
+
1327  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1328  },
+
1329  // -3:00 Arg -03/-02 2008 Oct 18
+
1330  {
+
1331  &kPolicyArg /*zonePolicy*/,
+
1332  "-03/-02" /*format*/,
+
1333  -12 /*offsetCode*/,
+
1334  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1335  8 /*untilYearTiny*/,
+
1336  10 /*untilMonth*/,
+
1337  18 /*untilDay*/,
+
1338  0 /*untilTimeCode*/,
+
1339  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1340  },
+
1341  // -3:00 - -03
+
1342  {
+
1343  nullptr /*zonePolicy*/,
+
1344  "-03" /*format*/,
+
1345  -12 /*offsetCode*/,
+
1346  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1347  127 /*untilYearTiny*/,
+
1348  1 /*untilMonth*/,
+
1349  1 /*untilDay*/,
+
1350  0 /*untilTimeCode*/,
+
1351  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1352  },
+
1353 
+
1354 };
+
1355 
+
1356 static const char kZoneNameAmerica_Argentina_La_Rioja[] ACE_TIME_PROGMEM = "America/Argentina/La_Rioja";
+
1357 
+
1358 const extended::ZoneInfo kZoneAmerica_Argentina_La_Rioja ACE_TIME_PROGMEM = {
+
1359  kZoneNameAmerica_Argentina_La_Rioja /*name*/,
+
1360  0xa46b7eef /*zoneId*/,
+
1361  &kZoneContext /*zoneContext*/,
+
1362  5 /*transitionBufSize*/,
+
1363  6 /*numEras*/,
+
1364  kZoneEraAmerica_Argentina_La_Rioja /*eras*/,
+
1365 };
+
1366 
+
1367 //---------------------------------------------------------------------------
+
1368 // Zone name: America/Argentina/Mendoza
+
1369 // Zone Eras: 6
+
1370 // Strings (bytes): 62
+
1371 // Memory (8-bit): 140
+
1372 // Memory (32-bit): 178
+
1373 //---------------------------------------------------------------------------
+
1374 
+
1375 static const extended::ZoneEra kZoneEraAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = {
+
1376  // -3:00 Arg -03/-02 1999 Oct 3
+
1377  {
+
1378  &kPolicyArg /*zonePolicy*/,
+
1379  "-03/-02" /*format*/,
+
1380  -12 /*offsetCode*/,
+
1381  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1382  -1 /*untilYearTiny*/,
+
1383  10 /*untilMonth*/,
+
1384  3 /*untilDay*/,
+
1385  0 /*untilTimeCode*/,
+
1386  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1387  },
+
1388  // -4:00 Arg -04/-03 2000 Mar 3
+
1389  {
+
1390  &kPolicyArg /*zonePolicy*/,
+
1391  "-04/-03" /*format*/,
+
1392  -16 /*offsetCode*/,
+
1393  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1394  0 /*untilYearTiny*/,
+
1395  3 /*untilMonth*/,
+
1396  3 /*untilDay*/,
+
1397  0 /*untilTimeCode*/,
+
1398  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1399  },
+
1400  // -3:00 - -03 2004 May 23
+
1401  {
+
1402  nullptr /*zonePolicy*/,
+
1403  "-03" /*format*/,
+
1404  -12 /*offsetCode*/,
+
1405  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1406  4 /*untilYearTiny*/,
+
1407  5 /*untilMonth*/,
+
1408  23 /*untilDay*/,
+
1409  0 /*untilTimeCode*/,
+
1410  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1411  },
+
1412  // -4:00 - -04 2004 Sep 26
+
1413  {
+
1414  nullptr /*zonePolicy*/,
+
1415  "-04" /*format*/,
+
1416  -16 /*offsetCode*/,
+
1417  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1418  4 /*untilYearTiny*/,
+
1419  9 /*untilMonth*/,
+
1420  26 /*untilDay*/,
+
1421  0 /*untilTimeCode*/,
+
1422  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1423  },
+
1424  // -3:00 Arg -03/-02 2008 Oct 18
+
1425  {
+
1426  &kPolicyArg /*zonePolicy*/,
+
1427  "-03/-02" /*format*/,
+
1428  -12 /*offsetCode*/,
+
1429  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1430  8 /*untilYearTiny*/,
+
1431  10 /*untilMonth*/,
+
1432  18 /*untilDay*/,
+
1433  0 /*untilTimeCode*/,
+
1434  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1435  },
+
1436  // -3:00 - -03
+
1437  {
+
1438  nullptr /*zonePolicy*/,
+
1439  "-03" /*format*/,
+
1440  -12 /*offsetCode*/,
+
1441  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1442  127 /*untilYearTiny*/,
+
1443  1 /*untilMonth*/,
+
1444  1 /*untilDay*/,
+
1445  0 /*untilTimeCode*/,
+
1446  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1447  },
+
1448 
+
1449 };
+
1450 
+
1451 static const char kZoneNameAmerica_Argentina_Mendoza[] ACE_TIME_PROGMEM = "America/Argentina/Mendoza";
+
1452 
+
1453 const extended::ZoneInfo kZoneAmerica_Argentina_Mendoza ACE_TIME_PROGMEM = {
+
1454  kZoneNameAmerica_Argentina_Mendoza /*name*/,
+
1455  0xa9f72d5c /*zoneId*/,
+
1456  &kZoneContext /*zoneContext*/,
+
1457  5 /*transitionBufSize*/,
+
1458  6 /*numEras*/,
+
1459  kZoneEraAmerica_Argentina_Mendoza /*eras*/,
+
1460 };
+
1461 
+
1462 //---------------------------------------------------------------------------
+
1463 // Zone name: America/Argentina/Rio_Gallegos
+
1464 // Zone Eras: 6
+
1465 // Strings (bytes): 67
+
1466 // Memory (8-bit): 145
+
1467 // Memory (32-bit): 183
+
1468 //---------------------------------------------------------------------------
+
1469 
+
1470 static const extended::ZoneEra kZoneEraAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = {
+
1471  // -3:00 Arg -03/-02 1999 Oct 3
+
1472  {
+
1473  &kPolicyArg /*zonePolicy*/,
+
1474  "-03/-02" /*format*/,
+
1475  -12 /*offsetCode*/,
+
1476  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1477  -1 /*untilYearTiny*/,
+
1478  10 /*untilMonth*/,
+
1479  3 /*untilDay*/,
+
1480  0 /*untilTimeCode*/,
+
1481  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1482  },
+
1483  // -4:00 Arg -04/-03 2000 Mar 3
+
1484  {
+
1485  &kPolicyArg /*zonePolicy*/,
+
1486  "-04/-03" /*format*/,
+
1487  -16 /*offsetCode*/,
+
1488  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1489  0 /*untilYearTiny*/,
+
1490  3 /*untilMonth*/,
+
1491  3 /*untilDay*/,
+
1492  0 /*untilTimeCode*/,
+
1493  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1494  },
+
1495  // -3:00 - -03 2004 Jun 1
+
1496  {
+
1497  nullptr /*zonePolicy*/,
+
1498  "-03" /*format*/,
+
1499  -12 /*offsetCode*/,
+
1500  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1501  4 /*untilYearTiny*/,
+
1502  6 /*untilMonth*/,
+
1503  1 /*untilDay*/,
+
1504  0 /*untilTimeCode*/,
+
1505  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1506  },
+
1507  // -4:00 - -04 2004 Jun 20
+
1508  {
+
1509  nullptr /*zonePolicy*/,
+
1510  "-04" /*format*/,
+
1511  -16 /*offsetCode*/,
+
1512  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1513  4 /*untilYearTiny*/,
+
1514  6 /*untilMonth*/,
+
1515  20 /*untilDay*/,
+
1516  0 /*untilTimeCode*/,
+
1517  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1518  },
+
1519  // -3:00 Arg -03/-02 2008 Oct 18
+
1520  {
+
1521  &kPolicyArg /*zonePolicy*/,
+
1522  "-03/-02" /*format*/,
+
1523  -12 /*offsetCode*/,
+
1524  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1525  8 /*untilYearTiny*/,
+
1526  10 /*untilMonth*/,
+
1527  18 /*untilDay*/,
+
1528  0 /*untilTimeCode*/,
+
1529  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1530  },
+
1531  // -3:00 - -03
+
1532  {
+
1533  nullptr /*zonePolicy*/,
+
1534  "-03" /*format*/,
+
1535  -12 /*offsetCode*/,
+
1536  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1537  127 /*untilYearTiny*/,
+
1538  1 /*untilMonth*/,
+
1539  1 /*untilDay*/,
+
1540  0 /*untilTimeCode*/,
+
1541  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1542  },
+
1543 
+
1544 };
+
1545 
+
1546 static const char kZoneNameAmerica_Argentina_Rio_Gallegos[] ACE_TIME_PROGMEM = "America/Argentina/Rio_Gallegos";
+
1547 
+
1548 const extended::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos ACE_TIME_PROGMEM = {
+
1549  kZoneNameAmerica_Argentina_Rio_Gallegos /*name*/,
+
1550  0xc5b0f565 /*zoneId*/,
+
1551  &kZoneContext /*zoneContext*/,
+
1552  5 /*transitionBufSize*/,
+
1553  6 /*numEras*/,
+
1554  kZoneEraAmerica_Argentina_Rio_Gallegos /*eras*/,
+
1555 };
+
1556 
+
1557 //---------------------------------------------------------------------------
+
1558 // Zone name: America/Argentina/Salta
+
1559 // Zone Eras: 4
+
1560 // Strings (bytes): 52
+
1561 // Memory (8-bit): 108
+
1562 // Memory (32-bit): 136
+
1563 //---------------------------------------------------------------------------
+
1564 
+
1565 static const extended::ZoneEra kZoneEraAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = {
+
1566  // -3:00 Arg -03/-02 1999 Oct 3
+
1567  {
+
1568  &kPolicyArg /*zonePolicy*/,
+
1569  "-03/-02" /*format*/,
+
1570  -12 /*offsetCode*/,
+
1571  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1572  -1 /*untilYearTiny*/,
+
1573  10 /*untilMonth*/,
+
1574  3 /*untilDay*/,
+
1575  0 /*untilTimeCode*/,
+
1576  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1577  },
+
1578  // -4:00 Arg -04/-03 2000 Mar 3
+
1579  {
+
1580  &kPolicyArg /*zonePolicy*/,
+
1581  "-04/-03" /*format*/,
+
1582  -16 /*offsetCode*/,
+
1583  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1584  0 /*untilYearTiny*/,
+
1585  3 /*untilMonth*/,
+
1586  3 /*untilDay*/,
+
1587  0 /*untilTimeCode*/,
+
1588  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1589  },
+
1590  // -3:00 Arg -03/-02 2008 Oct 18
+
1591  {
+
1592  &kPolicyArg /*zonePolicy*/,
+
1593  "-03/-02" /*format*/,
+
1594  -12 /*offsetCode*/,
+
1595  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1596  8 /*untilYearTiny*/,
+
1597  10 /*untilMonth*/,
+
1598  18 /*untilDay*/,
+
1599  0 /*untilTimeCode*/,
+
1600  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1601  },
+
1602  // -3:00 - -03
+
1603  {
+
1604  nullptr /*zonePolicy*/,
+
1605  "-03" /*format*/,
+
1606  -12 /*offsetCode*/,
+
1607  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1608  127 /*untilYearTiny*/,
+
1609  1 /*untilMonth*/,
+
1610  1 /*untilDay*/,
+
1611  0 /*untilTimeCode*/,
+
1612  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1613  },
+
1614 
+
1615 };
+
1616 
+
1617 static const char kZoneNameAmerica_Argentina_Salta[] ACE_TIME_PROGMEM = "America/Argentina/Salta";
+
1618 
+
1619 const extended::ZoneInfo kZoneAmerica_Argentina_Salta ACE_TIME_PROGMEM = {
+
1620  kZoneNameAmerica_Argentina_Salta /*name*/,
+
1621  0x5fc73403 /*zoneId*/,
+
1622  &kZoneContext /*zoneContext*/,
+
1623  5 /*transitionBufSize*/,
+
1624  4 /*numEras*/,
+
1625  kZoneEraAmerica_Argentina_Salta /*eras*/,
+
1626 };
+
1627 
+
1628 //---------------------------------------------------------------------------
+
1629 // Zone name: America/Argentina/San_Juan
+
1630 // Zone Eras: 6
+
1631 // Strings (bytes): 63
+
1632 // Memory (8-bit): 141
+
1633 // Memory (32-bit): 179
+
1634 //---------------------------------------------------------------------------
+
1635 
+
1636 static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = {
+
1637  // -3:00 Arg -03/-02 1999 Oct 3
+
1638  {
+
1639  &kPolicyArg /*zonePolicy*/,
+
1640  "-03/-02" /*format*/,
+
1641  -12 /*offsetCode*/,
+
1642  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1643  -1 /*untilYearTiny*/,
+
1644  10 /*untilMonth*/,
+
1645  3 /*untilDay*/,
+
1646  0 /*untilTimeCode*/,
+
1647  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1648  },
+
1649  // -4:00 Arg -04/-03 2000 Mar 3
+
1650  {
+
1651  &kPolicyArg /*zonePolicy*/,
+
1652  "-04/-03" /*format*/,
+
1653  -16 /*offsetCode*/,
+
1654  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1655  0 /*untilYearTiny*/,
+
1656  3 /*untilMonth*/,
+
1657  3 /*untilDay*/,
+
1658  0 /*untilTimeCode*/,
+
1659  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1660  },
+
1661  // -3:00 - -03 2004 May 31
+
1662  {
+
1663  nullptr /*zonePolicy*/,
+
1664  "-03" /*format*/,
+
1665  -12 /*offsetCode*/,
+
1666  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1667  4 /*untilYearTiny*/,
+
1668  5 /*untilMonth*/,
+
1669  31 /*untilDay*/,
+
1670  0 /*untilTimeCode*/,
+
1671  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1672  },
+
1673  // -4:00 - -04 2004 Jul 25
+
1674  {
+
1675  nullptr /*zonePolicy*/,
+
1676  "-04" /*format*/,
+
1677  -16 /*offsetCode*/,
+
1678  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1679  4 /*untilYearTiny*/,
+
1680  7 /*untilMonth*/,
+
1681  25 /*untilDay*/,
+
1682  0 /*untilTimeCode*/,
+
1683  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1684  },
+
1685  // -3:00 Arg -03/-02 2008 Oct 18
+
1686  {
+
1687  &kPolicyArg /*zonePolicy*/,
+
1688  "-03/-02" /*format*/,
+
1689  -12 /*offsetCode*/,
+
1690  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1691  8 /*untilYearTiny*/,
+
1692  10 /*untilMonth*/,
+
1693  18 /*untilDay*/,
+
1694  0 /*untilTimeCode*/,
+
1695  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1696  },
+
1697  // -3:00 - -03
+
1698  {
+
1699  nullptr /*zonePolicy*/,
+
1700  "-03" /*format*/,
+
1701  -12 /*offsetCode*/,
+
1702  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1703  127 /*untilYearTiny*/,
+
1704  1 /*untilMonth*/,
+
1705  1 /*untilDay*/,
+
1706  0 /*untilTimeCode*/,
+
1707  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1708  },
+
1709 
+
1710 };
+
1711 
+
1712 static const char kZoneNameAmerica_Argentina_San_Juan[] ACE_TIME_PROGMEM = "America/Argentina/San_Juan";
+
1713 
+
1714 const extended::ZoneInfo kZoneAmerica_Argentina_San_Juan ACE_TIME_PROGMEM = {
+
1715  kZoneNameAmerica_Argentina_San_Juan /*name*/,
+
1716  0x3e1009bd /*zoneId*/,
+
1717  &kZoneContext /*zoneContext*/,
+
1718  5 /*transitionBufSize*/,
+
1719  6 /*numEras*/,
+
1720  kZoneEraAmerica_Argentina_San_Juan /*eras*/,
+
1721 };
+
1722 
+
1723 //---------------------------------------------------------------------------
+
1724 // Zone name: America/Argentina/San_Luis
+
1725 // Zone Eras: 7
+
1726 // Strings (bytes): 63
+
1727 // Memory (8-bit): 152
+
1728 // Memory (32-bit): 195
+
1729 //---------------------------------------------------------------------------
+
1730 
+
1731 static const extended::ZoneEra kZoneEraAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = {
+
1732  // -3:00 - -03 1999 Oct 3
+
1733  {
+
1734  nullptr /*zonePolicy*/,
+
1735  "-03" /*format*/,
+
1736  -12 /*offsetCode*/,
+
1737  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1738  -1 /*untilYearTiny*/,
+
1739  10 /*untilMonth*/,
+
1740  3 /*untilDay*/,
+
1741  0 /*untilTimeCode*/,
+
1742  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1743  },
+
1744  // -4:00 1:00 -03 2000 Mar 3
+
1745  {
+
1746  nullptr /*zonePolicy*/,
+
1747  "-03" /*format*/,
+
1748  -16 /*offsetCode*/,
+
1749  (0 << 4) + (4 + 4) /*deltaCode*/,
+
1750  0 /*untilYearTiny*/,
+
1751  3 /*untilMonth*/,
+
1752  3 /*untilDay*/,
+
1753  0 /*untilTimeCode*/,
+
1754  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1755  },
+
1756  // -3:00 - -03 2004 May 31
+
1757  {
+
1758  nullptr /*zonePolicy*/,
+
1759  "-03" /*format*/,
+
1760  -12 /*offsetCode*/,
+
1761  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1762  4 /*untilYearTiny*/,
+
1763  5 /*untilMonth*/,
+
1764  31 /*untilDay*/,
+
1765  0 /*untilTimeCode*/,
+
1766  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1767  },
+
1768  // -4:00 - -04 2004 Jul 25
+
1769  {
+
1770  nullptr /*zonePolicy*/,
+
1771  "-04" /*format*/,
+
1772  -16 /*offsetCode*/,
+
1773  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1774  4 /*untilYearTiny*/,
+
1775  7 /*untilMonth*/,
+
1776  25 /*untilDay*/,
+
1777  0 /*untilTimeCode*/,
+
1778  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1779  },
+
1780  // -3:00 Arg -03/-02 2008 Jan 21
+
1781  {
+
1782  &kPolicyArg /*zonePolicy*/,
+
1783  "-03/-02" /*format*/,
+
1784  -12 /*offsetCode*/,
+
1785  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1786  8 /*untilYearTiny*/,
+
1787  1 /*untilMonth*/,
+
1788  21 /*untilDay*/,
+
1789  0 /*untilTimeCode*/,
+
1790  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1791  },
+
1792  // -4:00 SanLuis -04/-03 2009 Oct 11
+
1793  {
+
1794  &kPolicySanLuis /*zonePolicy*/,
+
1795  "-04/-03" /*format*/,
+
1796  -16 /*offsetCode*/,
+
1797  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1798  9 /*untilYearTiny*/,
+
1799  10 /*untilMonth*/,
+
1800  11 /*untilDay*/,
+
1801  0 /*untilTimeCode*/,
+
1802  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1803  },
+
1804  // -3:00 - -03
+
1805  {
+
1806  nullptr /*zonePolicy*/,
+
1807  "-03" /*format*/,
+
1808  -12 /*offsetCode*/,
+
1809  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1810  127 /*untilYearTiny*/,
+
1811  1 /*untilMonth*/,
+
1812  1 /*untilDay*/,
+
1813  0 /*untilTimeCode*/,
+
1814  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1815  },
+
1816 
+
1817 };
+
1818 
+
1819 static const char kZoneNameAmerica_Argentina_San_Luis[] ACE_TIME_PROGMEM = "America/Argentina/San_Luis";
+
1820 
+
1821 const extended::ZoneInfo kZoneAmerica_Argentina_San_Luis ACE_TIME_PROGMEM = {
+
1822  kZoneNameAmerica_Argentina_San_Luis /*name*/,
+
1823  0x3e11238c /*zoneId*/,
+
1824  &kZoneContext /*zoneContext*/,
+
1825  7 /*transitionBufSize*/,
+
1826  7 /*numEras*/,
+
1827  kZoneEraAmerica_Argentina_San_Luis /*eras*/,
+
1828 };
+
1829 
+
1830 //---------------------------------------------------------------------------
+
1831 // Zone name: America/Argentina/Tucuman
+
1832 // Zone Eras: 5
+
1833 // Strings (bytes): 58
+
1834 // Memory (8-bit): 125
+
1835 // Memory (32-bit): 158
+
1836 //---------------------------------------------------------------------------
+
1837 
+
1838 static const extended::ZoneEra kZoneEraAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = {
+
1839  // -3:00 Arg -03/-02 1999 Oct 3
+
1840  {
+
1841  &kPolicyArg /*zonePolicy*/,
+
1842  "-03/-02" /*format*/,
+
1843  -12 /*offsetCode*/,
+
1844  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1845  -1 /*untilYearTiny*/,
+
1846  10 /*untilMonth*/,
+
1847  3 /*untilDay*/,
+
1848  0 /*untilTimeCode*/,
+
1849  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1850  },
+
1851  // -4:00 Arg -04/-03 2000 Mar 3
+
1852  {
+
1853  &kPolicyArg /*zonePolicy*/,
+
1854  "-04/-03" /*format*/,
+
1855  -16 /*offsetCode*/,
+
1856  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1857  0 /*untilYearTiny*/,
+
1858  3 /*untilMonth*/,
+
1859  3 /*untilDay*/,
+
1860  0 /*untilTimeCode*/,
+
1861  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1862  },
+
1863  // -3:00 - -03 2004 Jun 1
+
1864  {
+
1865  nullptr /*zonePolicy*/,
+
1866  "-03" /*format*/,
+
1867  -12 /*offsetCode*/,
+
1868  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1869  4 /*untilYearTiny*/,
+
1870  6 /*untilMonth*/,
+
1871  1 /*untilDay*/,
+
1872  0 /*untilTimeCode*/,
+
1873  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1874  },
+
1875  // -4:00 - -04 2004 Jun 13
+
1876  {
+
1877  nullptr /*zonePolicy*/,
+
1878  "-04" /*format*/,
+
1879  -16 /*offsetCode*/,
+
1880  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1881  4 /*untilYearTiny*/,
+
1882  6 /*untilMonth*/,
+
1883  13 /*untilDay*/,
+
1884  0 /*untilTimeCode*/,
+
1885  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1886  },
+
1887  // -3:00 Arg -03/-02
+
1888  {
+
1889  &kPolicyArg /*zonePolicy*/,
+
1890  "-03/-02" /*format*/,
+
1891  -12 /*offsetCode*/,
+
1892  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1893  127 /*untilYearTiny*/,
+
1894  1 /*untilMonth*/,
+
1895  1 /*untilDay*/,
+
1896  0 /*untilTimeCode*/,
+
1897  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1898  },
+
1899 
+
1900 };
+
1901 
+
1902 static const char kZoneNameAmerica_Argentina_Tucuman[] ACE_TIME_PROGMEM = "America/Argentina/Tucuman";
+
1903 
+
1904 const extended::ZoneInfo kZoneAmerica_Argentina_Tucuman ACE_TIME_PROGMEM = {
+
1905  kZoneNameAmerica_Argentina_Tucuman /*name*/,
+
1906  0xe96399eb /*zoneId*/,
+
1907  &kZoneContext /*zoneContext*/,
+
1908  6 /*transitionBufSize*/,
+
1909  5 /*numEras*/,
+
1910  kZoneEraAmerica_Argentina_Tucuman /*eras*/,
+
1911 };
+
1912 
+
1913 //---------------------------------------------------------------------------
+
1914 // Zone name: America/Argentina/Ushuaia
+
1915 // Zone Eras: 6
+
1916 // Strings (bytes): 62
+
1917 // Memory (8-bit): 140
+
1918 // Memory (32-bit): 178
+
1919 //---------------------------------------------------------------------------
+
1920 
+
1921 static const extended::ZoneEra kZoneEraAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = {
+
1922  // -3:00 Arg -03/-02 1999 Oct 3
+
1923  {
+
1924  &kPolicyArg /*zonePolicy*/,
+
1925  "-03/-02" /*format*/,
+
1926  -12 /*offsetCode*/,
+
1927  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1928  -1 /*untilYearTiny*/,
+
1929  10 /*untilMonth*/,
+
1930  3 /*untilDay*/,
+
1931  0 /*untilTimeCode*/,
+
1932  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1933  },
+
1934  // -4:00 Arg -04/-03 2000 Mar 3
+
1935  {
+
1936  &kPolicyArg /*zonePolicy*/,
+
1937  "-04/-03" /*format*/,
+
1938  -16 /*offsetCode*/,
+
1939  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1940  0 /*untilYearTiny*/,
+
1941  3 /*untilMonth*/,
+
1942  3 /*untilDay*/,
+
1943  0 /*untilTimeCode*/,
+
1944  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1945  },
+
1946  // -3:00 - -03 2004 May 30
+
1947  {
+
1948  nullptr /*zonePolicy*/,
+
1949  "-03" /*format*/,
+
1950  -12 /*offsetCode*/,
+
1951  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1952  4 /*untilYearTiny*/,
+
1953  5 /*untilMonth*/,
+
1954  30 /*untilDay*/,
+
1955  0 /*untilTimeCode*/,
+
1956  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1957  },
+
1958  // -4:00 - -04 2004 Jun 20
+
1959  {
+
1960  nullptr /*zonePolicy*/,
+
1961  "-04" /*format*/,
+
1962  -16 /*offsetCode*/,
+
1963  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1964  4 /*untilYearTiny*/,
+
1965  6 /*untilMonth*/,
+
1966  20 /*untilDay*/,
+
1967  0 /*untilTimeCode*/,
+
1968  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1969  },
+
1970  // -3:00 Arg -03/-02 2008 Oct 18
+
1971  {
+
1972  &kPolicyArg /*zonePolicy*/,
+
1973  "-03/-02" /*format*/,
+
1974  -12 /*offsetCode*/,
+
1975  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1976  8 /*untilYearTiny*/,
+
1977  10 /*untilMonth*/,
+
1978  18 /*untilDay*/,
+
1979  0 /*untilTimeCode*/,
+
1980  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1981  },
+
1982  // -3:00 - -03
+
1983  {
+
1984  nullptr /*zonePolicy*/,
+
1985  "-03" /*format*/,
+
1986  -12 /*offsetCode*/,
+
1987  (0 << 4) + (0 + 4) /*deltaCode*/,
+
1988  127 /*untilYearTiny*/,
+
1989  1 /*untilMonth*/,
+
1990  1 /*untilDay*/,
+
1991  0 /*untilTimeCode*/,
+
1992  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
1993  },
+
1994 
+
1995 };
+
1996 
+
1997 static const char kZoneNameAmerica_Argentina_Ushuaia[] ACE_TIME_PROGMEM = "America/Argentina/Ushuaia";
+
1998 
+
1999 const extended::ZoneInfo kZoneAmerica_Argentina_Ushuaia ACE_TIME_PROGMEM = {
+
2000  kZoneNameAmerica_Argentina_Ushuaia /*name*/,
+
2001  0x320dcdde /*zoneId*/,
+
2002  &kZoneContext /*zoneContext*/,
+
2003  5 /*transitionBufSize*/,
+
2004  6 /*numEras*/,
+
2005  kZoneEraAmerica_Argentina_Ushuaia /*eras*/,
+
2006 };
+
2007 
+
2008 //---------------------------------------------------------------------------
+
2009 // Zone name: America/Asuncion
+
2010 // Zone Eras: 1
+
2011 // Strings (bytes): 25
+
2012 // Memory (8-bit): 48
+
2013 // Memory (32-bit): 61
+
2014 //---------------------------------------------------------------------------
+
2015 
+
2016 static const extended::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
+
2017  // -4:00 Para -04/-03
+
2018  {
+
2019  &kPolicyPara /*zonePolicy*/,
+
2020  "-04/-03" /*format*/,
+
2021  -16 /*offsetCode*/,
+
2022  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2023  127 /*untilYearTiny*/,
+
2024  1 /*untilMonth*/,
+
2025  1 /*untilDay*/,
+
2026  0 /*untilTimeCode*/,
+
2027  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2028  },
+
2029 
+
2030 };
+
2031 
+
2032 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "America/Asuncion";
+
2033 
+
2034 const extended::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
+
2035  kZoneNameAmerica_Asuncion /*name*/,
+
2036  0x50ec79a6 /*zoneId*/,
+
2037  &kZoneContext /*zoneContext*/,
+
2038  5 /*transitionBufSize*/,
+
2039  1 /*numEras*/,
+
2040  kZoneEraAmerica_Asuncion /*eras*/,
+
2041 };
+
2042 
+
2043 //---------------------------------------------------------------------------
+
2044 // Zone name: America/Atikokan
+
2045 // Zone Eras: 1
+
2046 // Strings (bytes): 21
+
2047 // Memory (8-bit): 44
+
2048 // Memory (32-bit): 57
+
2049 //---------------------------------------------------------------------------
+
2050 
+
2051 static const extended::ZoneEra kZoneEraAmerica_Atikokan[] ACE_TIME_PROGMEM = {
+
2052  // -5:00 - EST
+
2053  {
+
2054  nullptr /*zonePolicy*/,
+
2055  "EST" /*format*/,
+
2056  -20 /*offsetCode*/,
+
2057  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2058  127 /*untilYearTiny*/,
+
2059  1 /*untilMonth*/,
+
2060  1 /*untilDay*/,
+
2061  0 /*untilTimeCode*/,
+
2062  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2063  },
+
2064 
+
2065 };
+
2066 
+
2067 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "America/Atikokan";
+
2068 
+
2069 const extended::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
+
2070  kZoneNameAmerica_Atikokan /*name*/,
+
2071  0x81b92098 /*zoneId*/,
+
2072  &kZoneContext /*zoneContext*/,
+
2073  2 /*transitionBufSize*/,
+
2074  1 /*numEras*/,
+
2075  kZoneEraAmerica_Atikokan /*eras*/,
+
2076 };
+
2077 
+
2078 //---------------------------------------------------------------------------
+
2079 // Zone name: America/Bahia
+
2080 // Zone Eras: 4
+
2081 // Strings (bytes): 38
+
2082 // Memory (8-bit): 94
+
2083 // Memory (32-bit): 122
+
2084 //---------------------------------------------------------------------------
+
2085 
+
2086 static const extended::ZoneEra kZoneEraAmerica_Bahia[] ACE_TIME_PROGMEM = {
+
2087  // -3:00 Brazil -03/-02 2003 Sep 24
+
2088  {
+
2089  &kPolicyBrazil /*zonePolicy*/,
+
2090  "-03/-02" /*format*/,
+
2091  -12 /*offsetCode*/,
+
2092  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2093  3 /*untilYearTiny*/,
+
2094  9 /*untilMonth*/,
+
2095  24 /*untilDay*/,
+
2096  0 /*untilTimeCode*/,
+
2097  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2098  },
+
2099  // -3:00 - -03 2011 Oct 16
+
2100  {
+
2101  nullptr /*zonePolicy*/,
+
2102  "-03" /*format*/,
+
2103  -12 /*offsetCode*/,
+
2104  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2105  11 /*untilYearTiny*/,
+
2106  10 /*untilMonth*/,
+
2107  16 /*untilDay*/,
+
2108  0 /*untilTimeCode*/,
+
2109  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2110  },
+
2111  // -3:00 Brazil -03/-02 2012 Oct 21
+
2112  {
+
2113  &kPolicyBrazil /*zonePolicy*/,
+
2114  "-03/-02" /*format*/,
+
2115  -12 /*offsetCode*/,
+
2116  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2117  12 /*untilYearTiny*/,
+
2118  10 /*untilMonth*/,
+
2119  21 /*untilDay*/,
+
2120  0 /*untilTimeCode*/,
+
2121  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2122  },
+
2123  // -3:00 - -03
+
2124  {
+
2125  nullptr /*zonePolicy*/,
+
2126  "-03" /*format*/,
+
2127  -12 /*offsetCode*/,
+
2128  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2129  127 /*untilYearTiny*/,
+
2130  1 /*untilMonth*/,
+
2131  1 /*untilDay*/,
+
2132  0 /*untilTimeCode*/,
+
2133  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2134  },
+
2135 
+
2136 };
+
2137 
+
2138 static const char kZoneNameAmerica_Bahia[] ACE_TIME_PROGMEM = "America/Bahia";
+
2139 
+
2140 const extended::ZoneInfo kZoneAmerica_Bahia ACE_TIME_PROGMEM = {
+
2141  kZoneNameAmerica_Bahia /*name*/,
+
2142  0x97d815fb /*zoneId*/,
+
2143  &kZoneContext /*zoneContext*/,
+
2144  5 /*transitionBufSize*/,
+
2145  4 /*numEras*/,
+
2146  kZoneEraAmerica_Bahia /*eras*/,
+
2147 };
+
2148 
+
2149 //---------------------------------------------------------------------------
+
2150 // Zone name: America/Bahia_Banderas
+
2151 // Zone Eras: 2
+
2152 // Strings (bytes): 31
+
2153 // Memory (8-bit): 65
+
2154 // Memory (32-bit): 83
+
2155 //---------------------------------------------------------------------------
+
2156 
+
2157 static const extended::ZoneEra kZoneEraAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = {
+
2158  // -7:00 Mexico M%sT 2010 Apr 4 2:00
+
2159  {
+
2160  &kPolicyMexico /*zonePolicy*/,
+
2161  "M%T" /*format*/,
+
2162  -28 /*offsetCode*/,
+
2163  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2164  10 /*untilYearTiny*/,
+
2165  4 /*untilMonth*/,
+
2166  4 /*untilDay*/,
+
2167  8 /*untilTimeCode*/,
+
2168  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2169  },
+
2170  // -6:00 Mexico C%sT
+
2171  {
+
2172  &kPolicyMexico /*zonePolicy*/,
+
2173  "C%T" /*format*/,
+
2174  -24 /*offsetCode*/,
+
2175  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2176  127 /*untilYearTiny*/,
+
2177  1 /*untilMonth*/,
+
2178  1 /*untilDay*/,
+
2179  0 /*untilTimeCode*/,
+
2180  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2181  },
+
2182 
+
2183 };
+
2184 
+
2185 static const char kZoneNameAmerica_Bahia_Banderas[] ACE_TIME_PROGMEM = "America/Bahia_Banderas";
+
2186 
+
2187 const extended::ZoneInfo kZoneAmerica_Bahia_Banderas ACE_TIME_PROGMEM = {
+
2188  kZoneNameAmerica_Bahia_Banderas /*name*/,
+
2189  0x14f6329a /*zoneId*/,
+
2190  &kZoneContext /*zoneContext*/,
+
2191  5 /*transitionBufSize*/,
+
2192  2 /*numEras*/,
+
2193  kZoneEraAmerica_Bahia_Banderas /*eras*/,
+
2194 };
+
2195 
+
2196 //---------------------------------------------------------------------------
+
2197 // Zone name: America/Barbados
+
2198 // Zone Eras: 1
+
2199 // Strings (bytes): 21
+
2200 // Memory (8-bit): 44
+
2201 // Memory (32-bit): 57
+
2202 //---------------------------------------------------------------------------
+
2203 
+
2204 static const extended::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
+
2205  // -4:00 Barb A%sT
+
2206  {
+
2207  &kPolicyBarb /*zonePolicy*/,
+
2208  "A%T" /*format*/,
+
2209  -16 /*offsetCode*/,
+
2210  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2211  127 /*untilYearTiny*/,
+
2212  1 /*untilMonth*/,
+
2213  1 /*untilDay*/,
+
2214  0 /*untilTimeCode*/,
+
2215  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2216  },
+
2217 
+
2218 };
+
2219 
+
2220 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "America/Barbados";
+
2221 
+
2222 const extended::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
+
2223  kZoneNameAmerica_Barbados /*name*/,
+
2224  0xcbbc3b04 /*zoneId*/,
+
2225  &kZoneContext /*zoneContext*/,
+
2226  2 /*transitionBufSize*/,
+
2227  1 /*numEras*/,
+
2228  kZoneEraAmerica_Barbados /*eras*/,
+
2229 };
+
2230 
+
2231 //---------------------------------------------------------------------------
+
2232 // Zone name: America/Belem
+
2233 // Zone Eras: 1
+
2234 // Strings (bytes): 18
+
2235 // Memory (8-bit): 41
+
2236 // Memory (32-bit): 54
+
2237 //---------------------------------------------------------------------------
+
2238 
+
2239 static const extended::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
+
2240  // -3:00 - -03
+
2241  {
+
2242  nullptr /*zonePolicy*/,
+
2243  "-03" /*format*/,
+
2244  -12 /*offsetCode*/,
+
2245  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2246  127 /*untilYearTiny*/,
+
2247  1 /*untilMonth*/,
+
2248  1 /*untilDay*/,
+
2249  0 /*untilTimeCode*/,
+
2250  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2251  },
+
2252 
+
2253 };
+
2254 
+
2255 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "America/Belem";
+
2256 
+
2257 const extended::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
+
2258  kZoneNameAmerica_Belem /*name*/,
+
2259  0x97da580b /*zoneId*/,
+
2260  &kZoneContext /*zoneContext*/,
+
2261  2 /*transitionBufSize*/,
+
2262  1 /*numEras*/,
+
2263  kZoneEraAmerica_Belem /*eras*/,
+
2264 };
+
2265 
+
2266 //---------------------------------------------------------------------------
+
2267 // Zone name: America/Belize
+
2268 // Zone Eras: 1
+
2269 // Strings (bytes): 17
+
2270 // Memory (8-bit): 40
+
2271 // Memory (32-bit): 53
+
2272 //---------------------------------------------------------------------------
+
2273 
+
2274 static const extended::ZoneEra kZoneEraAmerica_Belize[] ACE_TIME_PROGMEM = {
+
2275  // -6:00 Belize %s
+
2276  {
+
2277  &kPolicyBelize /*zonePolicy*/,
+
2278  "%" /*format*/,
+
2279  -24 /*offsetCode*/,
+
2280  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2281  127 /*untilYearTiny*/,
+
2282  1 /*untilMonth*/,
+
2283  1 /*untilDay*/,
+
2284  0 /*untilTimeCode*/,
+
2285  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2286  },
+
2287 
+
2288 };
+
2289 
+
2290 static const char kZoneNameAmerica_Belize[] ACE_TIME_PROGMEM = "America/Belize";
+
2291 
+
2292 const extended::ZoneInfo kZoneAmerica_Belize ACE_TIME_PROGMEM = {
+
2293  kZoneNameAmerica_Belize /*name*/,
+
2294  0x93256c81 /*zoneId*/,
+
2295  &kZoneContext /*zoneContext*/,
+
2296  2 /*transitionBufSize*/,
+
2297  1 /*numEras*/,
+
2298  kZoneEraAmerica_Belize /*eras*/,
+
2299 };
+
2300 
+
2301 //---------------------------------------------------------------------------
+
2302 // Zone name: America/Blanc-Sablon
+
2303 // Zone Eras: 1
+
2304 // Strings (bytes): 25
+
2305 // Memory (8-bit): 48
+
2306 // Memory (32-bit): 61
+
2307 //---------------------------------------------------------------------------
+
2308 
+
2309 static const extended::ZoneEra kZoneEraAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = {
+
2310  // -4:00 - AST
+
2311  {
+
2312  nullptr /*zonePolicy*/,
+
2313  "AST" /*format*/,
+
2314  -16 /*offsetCode*/,
+
2315  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2316  127 /*untilYearTiny*/,
+
2317  1 /*untilMonth*/,
+
2318  1 /*untilDay*/,
+
2319  0 /*untilTimeCode*/,
+
2320  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2321  },
+
2322 
+
2323 };
+
2324 
+
2325 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "America/Blanc-Sablon";
+
2326 
+
2327 const extended::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
+
2328  kZoneNameAmerica_Blanc_Sablon /*name*/,
+
2329  0x6e299892 /*zoneId*/,
+
2330  &kZoneContext /*zoneContext*/,
+
2331  2 /*transitionBufSize*/,
+
2332  1 /*numEras*/,
+
2333  kZoneEraAmerica_Blanc_Sablon /*eras*/,
+
2334 };
+
2335 
+
2336 //---------------------------------------------------------------------------
+
2337 // Zone name: America/Boa_Vista
+
2338 // Zone Eras: 3
+
2339 // Strings (bytes): 34
+
2340 // Memory (8-bit): 79
+
2341 // Memory (32-bit): 102
+
2342 //---------------------------------------------------------------------------
+
2343 
+
2344 static const extended::ZoneEra kZoneEraAmerica_Boa_Vista[] ACE_TIME_PROGMEM = {
+
2345  // -4:00 - -04 1999 Sep 30
+
2346  {
+
2347  nullptr /*zonePolicy*/,
+
2348  "-04" /*format*/,
+
2349  -16 /*offsetCode*/,
+
2350  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2351  -1 /*untilYearTiny*/,
+
2352  9 /*untilMonth*/,
+
2353  30 /*untilDay*/,
+
2354  0 /*untilTimeCode*/,
+
2355  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2356  },
+
2357  // -4:00 Brazil -04/-03 2000 Oct 15
+
2358  {
+
2359  &kPolicyBrazil /*zonePolicy*/,
+
2360  "-04/-03" /*format*/,
+
2361  -16 /*offsetCode*/,
+
2362  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2363  0 /*untilYearTiny*/,
+
2364  10 /*untilMonth*/,
+
2365  15 /*untilDay*/,
+
2366  0 /*untilTimeCode*/,
+
2367  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2368  },
+
2369  // -4:00 - -04
+
2370  {
+
2371  nullptr /*zonePolicy*/,
+
2372  "-04" /*format*/,
+
2373  -16 /*offsetCode*/,
+
2374  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2375  127 /*untilYearTiny*/,
+
2376  1 /*untilMonth*/,
+
2377  1 /*untilDay*/,
+
2378  0 /*untilTimeCode*/,
+
2379  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2380  },
+
2381 
+
2382 };
+
2383 
+
2384 static const char kZoneNameAmerica_Boa_Vista[] ACE_TIME_PROGMEM = "America/Boa_Vista";
+
2385 
+
2386 const extended::ZoneInfo kZoneAmerica_Boa_Vista ACE_TIME_PROGMEM = {
+
2387  kZoneNameAmerica_Boa_Vista /*name*/,
+
2388  0x0a7b7efe /*zoneId*/,
+
2389  &kZoneContext /*zoneContext*/,
+
2390  5 /*transitionBufSize*/,
+
2391  3 /*numEras*/,
+
2392  kZoneEraAmerica_Boa_Vista /*eras*/,
+
2393 };
+
2394 
+
2395 //---------------------------------------------------------------------------
+
2396 // Zone name: America/Bogota
+
2397 // Zone Eras: 1
+
2398 // Strings (bytes): 23
+
2399 // Memory (8-bit): 46
+
2400 // Memory (32-bit): 59
+
2401 //---------------------------------------------------------------------------
+
2402 
+
2403 static const extended::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
+
2404  // -5:00 CO -05/-04
+
2405  {
+
2406  &kPolicyCO /*zonePolicy*/,
+
2407  "-05/-04" /*format*/,
+
2408  -20 /*offsetCode*/,
+
2409  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2410  127 /*untilYearTiny*/,
+
2411  1 /*untilMonth*/,
+
2412  1 /*untilDay*/,
+
2413  0 /*untilTimeCode*/,
+
2414  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2415  },
+
2416 
+
2417 };
+
2418 
+
2419 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "America/Bogota";
+
2420 
+
2421 const extended::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
+
2422  kZoneNameAmerica_Bogota /*name*/,
+
2423  0x93d7bc62 /*zoneId*/,
+
2424  &kZoneContext /*zoneContext*/,
+
2425  2 /*transitionBufSize*/,
+
2426  1 /*numEras*/,
+
2427  kZoneEraAmerica_Bogota /*eras*/,
+
2428 };
+
2429 
+
2430 //---------------------------------------------------------------------------
+
2431 // Zone name: America/Boise
+
2432 // Zone Eras: 1
+
2433 // Strings (bytes): 18
+
2434 // Memory (8-bit): 41
+
2435 // Memory (32-bit): 54
+
2436 //---------------------------------------------------------------------------
+
2437 
+
2438 static const extended::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
+
2439  // -7:00 US M%sT
+
2440  {
+
2441  &kPolicyUS /*zonePolicy*/,
+
2442  "M%T" /*format*/,
+
2443  -28 /*offsetCode*/,
+
2444  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2445  127 /*untilYearTiny*/,
+
2446  1 /*untilMonth*/,
+
2447  1 /*untilDay*/,
+
2448  0 /*untilTimeCode*/,
+
2449  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2450  },
+
2451 
+
2452 };
+
2453 
+
2454 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "America/Boise";
+
2455 
+
2456 const extended::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
+
2457  kZoneNameAmerica_Boise /*name*/,
+
2458  0x97dfc8d8 /*zoneId*/,
+
2459  &kZoneContext /*zoneContext*/,
+
2460  6 /*transitionBufSize*/,
+
2461  1 /*numEras*/,
+
2462  kZoneEraAmerica_Boise /*eras*/,
+
2463 };
+
2464 
+
2465 //---------------------------------------------------------------------------
+
2466 // Zone name: America/Cambridge_Bay
+
2467 // Zone Eras: 5
+
2468 // Strings (bytes): 42
+
2469 // Memory (8-bit): 109
+
2470 // Memory (32-bit): 142
+
2471 //---------------------------------------------------------------------------
+
2472 
+
2473 static const extended::ZoneEra kZoneEraAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = {
+
2474  // -7:00 NT_YK M%sT 1999 Oct 31 2:00
+
2475  {
+
2476  &kPolicyNT_YK /*zonePolicy*/,
+
2477  "M%T" /*format*/,
+
2478  -28 /*offsetCode*/,
+
2479  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2480  -1 /*untilYearTiny*/,
+
2481  10 /*untilMonth*/,
+
2482  31 /*untilDay*/,
+
2483  8 /*untilTimeCode*/,
+
2484  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2485  },
+
2486  // -6:00 Canada C%sT 2000 Oct 29 2:00
+
2487  {
+
2488  &kPolicyCanada /*zonePolicy*/,
+
2489  "C%T" /*format*/,
+
2490  -24 /*offsetCode*/,
+
2491  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2492  0 /*untilYearTiny*/,
+
2493  10 /*untilMonth*/,
+
2494  29 /*untilDay*/,
+
2495  8 /*untilTimeCode*/,
+
2496  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2497  },
+
2498  // -5:00 - EST 2000 Nov 5 0:00
+
2499  {
+
2500  nullptr /*zonePolicy*/,
+
2501  "EST" /*format*/,
+
2502  -20 /*offsetCode*/,
+
2503  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2504  0 /*untilYearTiny*/,
+
2505  11 /*untilMonth*/,
+
2506  5 /*untilDay*/,
+
2507  0 /*untilTimeCode*/,
+
2508  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2509  },
+
2510  // -6:00 - CST 2001 Apr 1 3:00
+
2511  {
+
2512  nullptr /*zonePolicy*/,
+
2513  "CST" /*format*/,
+
2514  -24 /*offsetCode*/,
+
2515  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2516  1 /*untilYearTiny*/,
+
2517  4 /*untilMonth*/,
+
2518  1 /*untilDay*/,
+
2519  12 /*untilTimeCode*/,
+
2520  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2521  },
+
2522  // -7:00 Canada M%sT
+
2523  {
+
2524  &kPolicyCanada /*zonePolicy*/,
+
2525  "M%T" /*format*/,
+
2526  -28 /*offsetCode*/,
+
2527  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2528  127 /*untilYearTiny*/,
+
2529  1 /*untilMonth*/,
+
2530  1 /*untilDay*/,
+
2531  0 /*untilTimeCode*/,
+
2532  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2533  },
+
2534 
+
2535 };
+
2536 
+
2537 static const char kZoneNameAmerica_Cambridge_Bay[] ACE_TIME_PROGMEM = "America/Cambridge_Bay";
+
2538 
+
2539 const extended::ZoneInfo kZoneAmerica_Cambridge_Bay ACE_TIME_PROGMEM = {
+
2540  kZoneNameAmerica_Cambridge_Bay /*name*/,
+
2541  0xd5a44aff /*zoneId*/,
+
2542  &kZoneContext /*zoneContext*/,
+
2543  6 /*transitionBufSize*/,
+
2544  5 /*numEras*/,
+
2545  kZoneEraAmerica_Cambridge_Bay /*eras*/,
+
2546 };
+
2547 
+
2548 //---------------------------------------------------------------------------
+
2549 // Zone name: America/Campo_Grande
+
2550 // Zone Eras: 1
+
2551 // Strings (bytes): 29
+
2552 // Memory (8-bit): 52
+
2553 // Memory (32-bit): 65
+
2554 //---------------------------------------------------------------------------
+
2555 
+
2556 static const extended::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
+
2557  // -4:00 Brazil -04/-03
+
2558  {
+
2559  &kPolicyBrazil /*zonePolicy*/,
+
2560  "-04/-03" /*format*/,
+
2561  -16 /*offsetCode*/,
+
2562  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2563  127 /*untilYearTiny*/,
+
2564  1 /*untilMonth*/,
+
2565  1 /*untilDay*/,
+
2566  0 /*untilTimeCode*/,
+
2567  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2568  },
+
2569 
+
2570 };
+
2571 
+
2572 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "America/Campo_Grande";
+
2573 
+
2574 const extended::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
+
2575  kZoneNameAmerica_Campo_Grande /*name*/,
+
2576  0xfec3e7a6 /*zoneId*/,
+
2577  &kZoneContext /*zoneContext*/,
+
2578  6 /*transitionBufSize*/,
+
2579  1 /*numEras*/,
+
2580  kZoneEraAmerica_Campo_Grande /*eras*/,
+
2581 };
+
2582 
+
2583 //---------------------------------------------------------------------------
+
2584 // Zone name: America/Cancun
+
2585 // Zone Eras: 2
+
2586 // Strings (bytes): 23
+
2587 // Memory (8-bit): 57
+
2588 // Memory (32-bit): 75
+
2589 //---------------------------------------------------------------------------
+
2590 
+
2591 static const extended::ZoneEra kZoneEraAmerica_Cancun[] ACE_TIME_PROGMEM = {
+
2592  // -6:00 Mexico C%sT 2015 Feb 1 2:00
+
2593  {
+
2594  &kPolicyMexico /*zonePolicy*/,
+
2595  "C%T" /*format*/,
+
2596  -24 /*offsetCode*/,
+
2597  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2598  15 /*untilYearTiny*/,
+
2599  2 /*untilMonth*/,
+
2600  1 /*untilDay*/,
+
2601  8 /*untilTimeCode*/,
+
2602  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2603  },
+
2604  // -5:00 - EST
+
2605  {
+
2606  nullptr /*zonePolicy*/,
+
2607  "EST" /*format*/,
+
2608  -20 /*offsetCode*/,
+
2609  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2610  127 /*untilYearTiny*/,
+
2611  1 /*untilMonth*/,
+
2612  1 /*untilDay*/,
+
2613  0 /*untilTimeCode*/,
+
2614  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2615  },
+
2616 
+
2617 };
+
2618 
+
2619 static const char kZoneNameAmerica_Cancun[] ACE_TIME_PROGMEM = "America/Cancun";
+
2620 
+
2621 const extended::ZoneInfo kZoneAmerica_Cancun ACE_TIME_PROGMEM = {
+
2622  kZoneNameAmerica_Cancun /*name*/,
+
2623  0x953331be /*zoneId*/,
+
2624  &kZoneContext /*zoneContext*/,
+
2625  4 /*transitionBufSize*/,
+
2626  2 /*numEras*/,
+
2627  kZoneEraAmerica_Cancun /*eras*/,
+
2628 };
+
2629 
+
2630 //---------------------------------------------------------------------------
+
2631 // Zone name: America/Caracas
+
2632 // Zone Eras: 3
+
2633 // Strings (bytes): 30
+
2634 // Memory (8-bit): 75
+
2635 // Memory (32-bit): 98
+
2636 //---------------------------------------------------------------------------
+
2637 
+
2638 static const extended::ZoneEra kZoneEraAmerica_Caracas[] ACE_TIME_PROGMEM = {
+
2639  // -4:00 - -04 2007 Dec 9 3:00
+
2640  {
+
2641  nullptr /*zonePolicy*/,
+
2642  "-04" /*format*/,
+
2643  -16 /*offsetCode*/,
+
2644  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2645  7 /*untilYearTiny*/,
+
2646  12 /*untilMonth*/,
+
2647  9 /*untilDay*/,
+
2648  12 /*untilTimeCode*/,
+
2649  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2650  },
+
2651  // -4:30 - -0430 2016 May 1 2:30
+
2652  {
+
2653  nullptr /*zonePolicy*/,
+
2654  "-0430" /*format*/,
+
2655  -18 /*offsetCode*/,
+
2656  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2657  16 /*untilYearTiny*/,
+
2658  5 /*untilMonth*/,
+
2659  1 /*untilDay*/,
+
2660  10 /*untilTimeCode*/,
+
2661  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2662  },
+
2663  // -4:00 - -04
+
2664  {
+
2665  nullptr /*zonePolicy*/,
+
2666  "-04" /*format*/,
+
2667  -16 /*offsetCode*/,
+
2668  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2669  127 /*untilYearTiny*/,
+
2670  1 /*untilMonth*/,
+
2671  1 /*untilDay*/,
+
2672  0 /*untilTimeCode*/,
+
2673  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2674  },
+
2675 
+
2676 };
+
2677 
+
2678 static const char kZoneNameAmerica_Caracas[] ACE_TIME_PROGMEM = "America/Caracas";
+
2679 
+
2680 const extended::ZoneInfo kZoneAmerica_Caracas ACE_TIME_PROGMEM = {
+
2681  kZoneNameAmerica_Caracas /*name*/,
+
2682  0x3be064f4 /*zoneId*/,
+
2683  &kZoneContext /*zoneContext*/,
+
2684  3 /*transitionBufSize*/,
+
2685  3 /*numEras*/,
+
2686  kZoneEraAmerica_Caracas /*eras*/,
+
2687 };
+
2688 
+
2689 //---------------------------------------------------------------------------
+
2690 // Zone name: America/Cayenne
+
2691 // Zone Eras: 1
+
2692 // Strings (bytes): 20
+
2693 // Memory (8-bit): 43
+
2694 // Memory (32-bit): 56
+
2695 //---------------------------------------------------------------------------
+
2696 
+
2697 static const extended::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
+
2698  // -3:00 - -03
+
2699  {
+
2700  nullptr /*zonePolicy*/,
+
2701  "-03" /*format*/,
+
2702  -12 /*offsetCode*/,
+
2703  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2704  127 /*untilYearTiny*/,
+
2705  1 /*untilMonth*/,
+
2706  1 /*untilDay*/,
+
2707  0 /*untilTimeCode*/,
+
2708  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2709  },
+
2710 
+
2711 };
+
2712 
+
2713 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "America/Cayenne";
+
2714 
+
2715 const extended::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
+
2716  kZoneNameAmerica_Cayenne /*name*/,
+
2717  0x3c617269 /*zoneId*/,
+
2718  &kZoneContext /*zoneContext*/,
+
2719  2 /*transitionBufSize*/,
+
2720  1 /*numEras*/,
+
2721  kZoneEraAmerica_Cayenne /*eras*/,
+
2722 };
+
2723 
+
2724 //---------------------------------------------------------------------------
+
2725 // Zone name: America/Chicago
+
2726 // Zone Eras: 1
+
2727 // Strings (bytes): 20
+
2728 // Memory (8-bit): 43
+
2729 // Memory (32-bit): 56
+
2730 //---------------------------------------------------------------------------
+
2731 
+
2732 static const extended::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
+
2733  // -6:00 US C%sT
+
2734  {
+
2735  &kPolicyUS /*zonePolicy*/,
+
2736  "C%T" /*format*/,
+
2737  -24 /*offsetCode*/,
+
2738  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2739  127 /*untilYearTiny*/,
+
2740  1 /*untilMonth*/,
+
2741  1 /*untilDay*/,
+
2742  0 /*untilTimeCode*/,
+
2743  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2744  },
+
2745 
+
2746 };
+
2747 
+
2748 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "America/Chicago";
+
2749 
+
2750 const extended::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
+
2751  kZoneNameAmerica_Chicago /*name*/,
+
2752  0x4b92b5d4 /*zoneId*/,
+
2753  &kZoneContext /*zoneContext*/,
+
2754  6 /*transitionBufSize*/,
+
2755  1 /*numEras*/,
+
2756  kZoneEraAmerica_Chicago /*eras*/,
+
2757 };
+
2758 
+
2759 //---------------------------------------------------------------------------
+
2760 // Zone name: America/Chihuahua
+
2761 // Zone Eras: 1
+
2762 // Strings (bytes): 22
+
2763 // Memory (8-bit): 45
+
2764 // Memory (32-bit): 58
+
2765 //---------------------------------------------------------------------------
+
2766 
+
2767 static const extended::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
+
2768  // -7:00 Mexico M%sT
+
2769  {
+
2770  &kPolicyMexico /*zonePolicy*/,
+
2771  "M%T" /*format*/,
+
2772  -28 /*offsetCode*/,
+
2773  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2774  127 /*untilYearTiny*/,
+
2775  1 /*untilMonth*/,
+
2776  1 /*untilDay*/,
+
2777  0 /*untilTimeCode*/,
+
2778  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2779  },
+
2780 
+
2781 };
+
2782 
+
2783 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "America/Chihuahua";
+
2784 
+
2785 const extended::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
+
2786  kZoneNameAmerica_Chihuahua /*name*/,
+
2787  0x8827d776 /*zoneId*/,
+
2788  &kZoneContext /*zoneContext*/,
+
2789  4 /*transitionBufSize*/,
+
2790  1 /*numEras*/,
+
2791  kZoneEraAmerica_Chihuahua /*eras*/,
+
2792 };
+
2793 
+
2794 //---------------------------------------------------------------------------
+
2795 // Zone name: America/Costa_Rica
+
2796 // Zone Eras: 1
+
2797 // Strings (bytes): 23
+
2798 // Memory (8-bit): 46
+
2799 // Memory (32-bit): 59
+
2800 //---------------------------------------------------------------------------
+
2801 
+
2802 static const extended::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
+
2803  // -6:00 CR C%sT
+
2804  {
+
2805  &kPolicyCR /*zonePolicy*/,
+
2806  "C%T" /*format*/,
+
2807  -24 /*offsetCode*/,
+
2808  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2809  127 /*untilYearTiny*/,
+
2810  1 /*untilMonth*/,
+
2811  1 /*untilDay*/,
+
2812  0 /*untilTimeCode*/,
+
2813  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2814  },
+
2815 
+
2816 };
+
2817 
+
2818 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "America/Costa_Rica";
+
2819 
+
2820 const extended::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
+
2821  kZoneNameAmerica_Costa_Rica /*name*/,
+
2822  0x63ff66be /*zoneId*/,
+
2823  &kZoneContext /*zoneContext*/,
+
2824  2 /*transitionBufSize*/,
+
2825  1 /*numEras*/,
+
2826  kZoneEraAmerica_Costa_Rica /*eras*/,
+
2827 };
+
2828 
+
2829 //---------------------------------------------------------------------------
+
2830 // Zone name: America/Creston
+
2831 // Zone Eras: 1
+
2832 // Strings (bytes): 20
+
2833 // Memory (8-bit): 43
+
2834 // Memory (32-bit): 56
+
2835 //---------------------------------------------------------------------------
+
2836 
+
2837 static const extended::ZoneEra kZoneEraAmerica_Creston[] ACE_TIME_PROGMEM = {
+
2838  // -7:00 - MST
+
2839  {
+
2840  nullptr /*zonePolicy*/,
+
2841  "MST" /*format*/,
+
2842  -28 /*offsetCode*/,
+
2843  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2844  127 /*untilYearTiny*/,
+
2845  1 /*untilMonth*/,
+
2846  1 /*untilDay*/,
+
2847  0 /*untilTimeCode*/,
+
2848  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2849  },
+
2850 
+
2851 };
+
2852 
+
2853 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "America/Creston";
+
2854 
+
2855 const extended::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
+
2856  kZoneNameAmerica_Creston /*name*/,
+
2857  0x62a70204 /*zoneId*/,
+
2858  &kZoneContext /*zoneContext*/,
+
2859  2 /*transitionBufSize*/,
+
2860  1 /*numEras*/,
+
2861  kZoneEraAmerica_Creston /*eras*/,
+
2862 };
+
2863 
+
2864 //---------------------------------------------------------------------------
+
2865 // Zone name: America/Cuiaba
+
2866 // Zone Eras: 3
+
2867 // Strings (bytes): 35
+
2868 // Memory (8-bit): 80
+
2869 // Memory (32-bit): 103
+
2870 //---------------------------------------------------------------------------
+
2871 
+
2872 static const extended::ZoneEra kZoneEraAmerica_Cuiaba[] ACE_TIME_PROGMEM = {
+
2873  // -4:00 Brazil -04/-03 2003 Sep 24
+
2874  {
+
2875  &kPolicyBrazil /*zonePolicy*/,
+
2876  "-04/-03" /*format*/,
+
2877  -16 /*offsetCode*/,
+
2878  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2879  3 /*untilYearTiny*/,
+
2880  9 /*untilMonth*/,
+
2881  24 /*untilDay*/,
+
2882  0 /*untilTimeCode*/,
+
2883  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2884  },
+
2885  // -4:00 - -04 2004 Oct 1
+
2886  {
+
2887  nullptr /*zonePolicy*/,
+
2888  "-04" /*format*/,
+
2889  -16 /*offsetCode*/,
+
2890  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2891  4 /*untilYearTiny*/,
+
2892  10 /*untilMonth*/,
+
2893  1 /*untilDay*/,
+
2894  0 /*untilTimeCode*/,
+
2895  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2896  },
+
2897  // -4:00 Brazil -04/-03
+
2898  {
+
2899  &kPolicyBrazil /*zonePolicy*/,
+
2900  "-04/-03" /*format*/,
+
2901  -16 /*offsetCode*/,
+
2902  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2903  127 /*untilYearTiny*/,
+
2904  1 /*untilMonth*/,
+
2905  1 /*untilDay*/,
+
2906  0 /*untilTimeCode*/,
+
2907  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2908  },
+
2909 
+
2910 };
+
2911 
+
2912 static const char kZoneNameAmerica_Cuiaba[] ACE_TIME_PROGMEM = "America/Cuiaba";
+
2913 
+
2914 const extended::ZoneInfo kZoneAmerica_Cuiaba ACE_TIME_PROGMEM = {
+
2915  kZoneNameAmerica_Cuiaba /*name*/,
+
2916  0x969a52eb /*zoneId*/,
+
2917  &kZoneContext /*zoneContext*/,
+
2918  6 /*transitionBufSize*/,
+
2919  3 /*numEras*/,
+
2920  kZoneEraAmerica_Cuiaba /*eras*/,
+
2921 };
+
2922 
+
2923 //---------------------------------------------------------------------------
+
2924 // Zone name: America/Curacao
+
2925 // Zone Eras: 1
+
2926 // Strings (bytes): 20
+
2927 // Memory (8-bit): 43
+
2928 // Memory (32-bit): 56
+
2929 //---------------------------------------------------------------------------
+
2930 
+
2931 static const extended::ZoneEra kZoneEraAmerica_Curacao[] ACE_TIME_PROGMEM = {
+
2932  // -4:00 - AST
+
2933  {
+
2934  nullptr /*zonePolicy*/,
+
2935  "AST" /*format*/,
+
2936  -16 /*offsetCode*/,
+
2937  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2938  127 /*untilYearTiny*/,
+
2939  1 /*untilMonth*/,
+
2940  1 /*untilDay*/,
+
2941  0 /*untilTimeCode*/,
+
2942  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2943  },
+
2944 
+
2945 };
+
2946 
+
2947 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "America/Curacao";
+
2948 
+
2949 const extended::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
+
2950  kZoneNameAmerica_Curacao /*name*/,
+
2951  0x6a879184 /*zoneId*/,
+
2952  &kZoneContext /*zoneContext*/,
+
2953  2 /*transitionBufSize*/,
+
2954  1 /*numEras*/,
+
2955  kZoneEraAmerica_Curacao /*eras*/,
+
2956 };
+
2957 
+
2958 //---------------------------------------------------------------------------
+
2959 // Zone name: America/Danmarkshavn
+
2960 // Zone Eras: 1
+
2961 // Strings (bytes): 25
+
2962 // Memory (8-bit): 48
+
2963 // Memory (32-bit): 61
+
2964 //---------------------------------------------------------------------------
+
2965 
+
2966 static const extended::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
+
2967  // 0:00 - GMT
+
2968  {
+
2969  nullptr /*zonePolicy*/,
+
2970  "GMT" /*format*/,
+
2971  0 /*offsetCode*/,
+
2972  (0 << 4) + (0 + 4) /*deltaCode*/,
+
2973  127 /*untilYearTiny*/,
+
2974  1 /*untilMonth*/,
+
2975  1 /*untilDay*/,
+
2976  0 /*untilTimeCode*/,
+
2977  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
2978  },
+
2979 
+
2980 };
+
2981 
+
2982 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "America/Danmarkshavn";
+
2983 
+
2984 const extended::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
+
2985  kZoneNameAmerica_Danmarkshavn /*name*/,
+
2986  0xf554d204 /*zoneId*/,
+
2987  &kZoneContext /*zoneContext*/,
+
2988  2 /*transitionBufSize*/,
+
2989  1 /*numEras*/,
+
2990  kZoneEraAmerica_Danmarkshavn /*eras*/,
+
2991 };
+
2992 
+
2993 //---------------------------------------------------------------------------
+
2994 // Zone name: America/Dawson
+
2995 // Zone Eras: 2
+
2996 // Strings (bytes): 23
+
2997 // Memory (8-bit): 57
+
2998 // Memory (32-bit): 75
+
2999 //---------------------------------------------------------------------------
+
3000 
+
3001 static const extended::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = {
+
3002  // -8:00 Canada P%sT 2020 Nov 1
+
3003  {
+
3004  &kPolicyCanada /*zonePolicy*/,
+
3005  "P%T" /*format*/,
+
3006  -32 /*offsetCode*/,
+
3007  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3008  20 /*untilYearTiny*/,
+
3009  11 /*untilMonth*/,
+
3010  1 /*untilDay*/,
+
3011  0 /*untilTimeCode*/,
+
3012  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3013  },
+
3014  // -7:00 - MST
+
3015  {
+
3016  nullptr /*zonePolicy*/,
+
3017  "MST" /*format*/,
+
3018  -28 /*offsetCode*/,
+
3019  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3020  127 /*untilYearTiny*/,
+
3021  1 /*untilMonth*/,
+
3022  1 /*untilDay*/,
+
3023  0 /*untilTimeCode*/,
+
3024  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3025  },
+
3026 
+
3027 };
+
3028 
+
3029 static const char kZoneNameAmerica_Dawson[] ACE_TIME_PROGMEM = "America/Dawson";
+
3030 
+
3031 const extended::ZoneInfo kZoneAmerica_Dawson ACE_TIME_PROGMEM = {
+
3032  kZoneNameAmerica_Dawson /*name*/,
+
3033  0x978d8d12 /*zoneId*/,
+
3034  &kZoneContext /*zoneContext*/,
+
3035  6 /*transitionBufSize*/,
+
3036  2 /*numEras*/,
+
3037  kZoneEraAmerica_Dawson /*eras*/,
+
3038 };
+
3039 
+
3040 //---------------------------------------------------------------------------
+
3041 // Zone name: America/Dawson_Creek
+
3042 // Zone Eras: 1
+
3043 // Strings (bytes): 25
+
3044 // Memory (8-bit): 48
+
3045 // Memory (32-bit): 61
+
3046 //---------------------------------------------------------------------------
+
3047 
+
3048 static const extended::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
+
3049  // -7:00 - MST
+
3050  {
+
3051  nullptr /*zonePolicy*/,
+
3052  "MST" /*format*/,
+
3053  -28 /*offsetCode*/,
+
3054  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3055  127 /*untilYearTiny*/,
+
3056  1 /*untilMonth*/,
+
3057  1 /*untilDay*/,
+
3058  0 /*untilTimeCode*/,
+
3059  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3060  },
+
3061 
+
3062 };
+
3063 
+
3064 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "America/Dawson_Creek";
+
3065 
+
3066 const extended::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
+
3067  kZoneNameAmerica_Dawson_Creek /*name*/,
+
3068  0x6cf24e5b /*zoneId*/,
+
3069  &kZoneContext /*zoneContext*/,
+
3070  2 /*transitionBufSize*/,
+
3071  1 /*numEras*/,
+
3072  kZoneEraAmerica_Dawson_Creek /*eras*/,
+
3073 };
+
3074 
+
3075 //---------------------------------------------------------------------------
+
3076 // Zone name: America/Denver
+
3077 // Zone Eras: 1
+
3078 // Strings (bytes): 19
+
3079 // Memory (8-bit): 42
+
3080 // Memory (32-bit): 55
+
3081 //---------------------------------------------------------------------------
+
3082 
+
3083 static const extended::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
+
3084  // -7:00 US M%sT
+
3085  {
+
3086  &kPolicyUS /*zonePolicy*/,
+
3087  "M%T" /*format*/,
+
3088  -28 /*offsetCode*/,
+
3089  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3090  127 /*untilYearTiny*/,
+
3091  1 /*untilMonth*/,
+
3092  1 /*untilDay*/,
+
3093  0 /*untilTimeCode*/,
+
3094  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3095  },
+
3096 
+
3097 };
+
3098 
+
3099 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "America/Denver";
+
3100 
+
3101 const extended::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
+
3102  kZoneNameAmerica_Denver /*name*/,
+
3103  0x97d10b2a /*zoneId*/,
+
3104  &kZoneContext /*zoneContext*/,
+
3105  6 /*transitionBufSize*/,
+
3106  1 /*numEras*/,
+
3107  kZoneEraAmerica_Denver /*eras*/,
+
3108 };
+
3109 
+
3110 //---------------------------------------------------------------------------
+
3111 // Zone name: America/Detroit
+
3112 // Zone Eras: 1
+
3113 // Strings (bytes): 20
+
3114 // Memory (8-bit): 43
+
3115 // Memory (32-bit): 56
+
3116 //---------------------------------------------------------------------------
+
3117 
+
3118 static const extended::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
+
3119  // -5:00 US E%sT
+
3120  {
+
3121  &kPolicyUS /*zonePolicy*/,
+
3122  "E%T" /*format*/,
+
3123  -20 /*offsetCode*/,
+
3124  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3125  127 /*untilYearTiny*/,
+
3126  1 /*untilMonth*/,
+
3127  1 /*untilDay*/,
+
3128  0 /*untilTimeCode*/,
+
3129  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3130  },
+
3131 
+
3132 };
+
3133 
+
3134 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "America/Detroit";
+
3135 
+
3136 const extended::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
+
3137  kZoneNameAmerica_Detroit /*name*/,
+
3138  0x925cfbc1 /*zoneId*/,
+
3139  &kZoneContext /*zoneContext*/,
+
3140  6 /*transitionBufSize*/,
+
3141  1 /*numEras*/,
+
3142  kZoneEraAmerica_Detroit /*eras*/,
+
3143 };
+
3144 
+
3145 //---------------------------------------------------------------------------
+
3146 // Zone name: America/Edmonton
+
3147 // Zone Eras: 1
+
3148 // Strings (bytes): 21
+
3149 // Memory (8-bit): 44
+
3150 // Memory (32-bit): 57
+
3151 //---------------------------------------------------------------------------
+
3152 
+
3153 static const extended::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
+
3154  // -7:00 Canada M%sT
+
3155  {
+
3156  &kPolicyCanada /*zonePolicy*/,
+
3157  "M%T" /*format*/,
+
3158  -28 /*offsetCode*/,
+
3159  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3160  127 /*untilYearTiny*/,
+
3161  1 /*untilMonth*/,
+
3162  1 /*untilDay*/,
+
3163  0 /*untilTimeCode*/,
+
3164  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3165  },
+
3166 
+
3167 };
+
3168 
+
3169 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "America/Edmonton";
+
3170 
+
3171 const extended::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
+
3172  kZoneNameAmerica_Edmonton /*name*/,
+
3173  0x6cb9484a /*zoneId*/,
+
3174  &kZoneContext /*zoneContext*/,
+
3175  6 /*transitionBufSize*/,
+
3176  1 /*numEras*/,
+
3177  kZoneEraAmerica_Edmonton /*eras*/,
+
3178 };
+
3179 
+
3180 //---------------------------------------------------------------------------
+
3181 // Zone name: America/Eirunepe
+
3182 // Zone Eras: 3
+
3183 // Strings (bytes): 29
+
3184 // Memory (8-bit): 74
+
3185 // Memory (32-bit): 97
+
3186 //---------------------------------------------------------------------------
+
3187 
+
3188 static const extended::ZoneEra kZoneEraAmerica_Eirunepe[] ACE_TIME_PROGMEM = {
+
3189  // -5:00 - -05 2008 Jun 24 0:00
+
3190  {
+
3191  nullptr /*zonePolicy*/,
+
3192  "-05" /*format*/,
+
3193  -20 /*offsetCode*/,
+
3194  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3195  8 /*untilYearTiny*/,
+
3196  6 /*untilMonth*/,
+
3197  24 /*untilDay*/,
+
3198  0 /*untilTimeCode*/,
+
3199  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3200  },
+
3201  // -4:00 - -04 2013 Nov 10
+
3202  {
+
3203  nullptr /*zonePolicy*/,
+
3204  "-04" /*format*/,
+
3205  -16 /*offsetCode*/,
+
3206  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3207  13 /*untilYearTiny*/,
+
3208  11 /*untilMonth*/,
+
3209  10 /*untilDay*/,
+
3210  0 /*untilTimeCode*/,
+
3211  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3212  },
+
3213  // -5:00 - -05
+
3214  {
+
3215  nullptr /*zonePolicy*/,
+
3216  "-05" /*format*/,
+
3217  -20 /*offsetCode*/,
+
3218  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3219  127 /*untilYearTiny*/,
+
3220  1 /*untilMonth*/,
+
3221  1 /*untilDay*/,
+
3222  0 /*untilTimeCode*/,
+
3223  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3224  },
+
3225 
+
3226 };
+
3227 
+
3228 static const char kZoneNameAmerica_Eirunepe[] ACE_TIME_PROGMEM = "America/Eirunepe";
+
3229 
+
3230 const extended::ZoneInfo kZoneAmerica_Eirunepe ACE_TIME_PROGMEM = {
+
3231  kZoneNameAmerica_Eirunepe /*name*/,
+
3232  0xf9b29683 /*zoneId*/,
+
3233  &kZoneContext /*zoneContext*/,
+
3234  3 /*transitionBufSize*/,
+
3235  3 /*numEras*/,
+
3236  kZoneEraAmerica_Eirunepe /*eras*/,
+
3237 };
+
3238 
+
3239 //---------------------------------------------------------------------------
+
3240 // Zone name: America/El_Salvador
+
3241 // Zone Eras: 1
+
3242 // Strings (bytes): 24
+
3243 // Memory (8-bit): 47
+
3244 // Memory (32-bit): 60
+
3245 //---------------------------------------------------------------------------
+
3246 
+
3247 static const extended::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
+
3248  // -6:00 Salv C%sT
+
3249  {
+
3250  &kPolicySalv /*zonePolicy*/,
+
3251  "C%T" /*format*/,
+
3252  -24 /*offsetCode*/,
+
3253  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3254  127 /*untilYearTiny*/,
+
3255  1 /*untilMonth*/,
+
3256  1 /*untilDay*/,
+
3257  0 /*untilTimeCode*/,
+
3258  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3259  },
+
3260 
+
3261 };
+
3262 
+
3263 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "America/El_Salvador";
+
3264 
+
3265 const extended::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
+
3266  kZoneNameAmerica_El_Salvador /*name*/,
+
3267  0x752ad652 /*zoneId*/,
+
3268  &kZoneContext /*zoneContext*/,
+
3269  2 /*transitionBufSize*/,
+
3270  1 /*numEras*/,
+
3271  kZoneEraAmerica_El_Salvador /*eras*/,
+
3272 };
+
3273 
+
3274 //---------------------------------------------------------------------------
+
3275 // Zone name: America/Fort_Nelson
+
3276 // Zone Eras: 2
+
3277 // Strings (bytes): 28
+
3278 // Memory (8-bit): 62
+
3279 // Memory (32-bit): 80
+
3280 //---------------------------------------------------------------------------
+
3281 
+
3282 static const extended::ZoneEra kZoneEraAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = {
+
3283  // -8:00 Canada P%sT 2015 Mar 8 2:00
+
3284  {
+
3285  &kPolicyCanada /*zonePolicy*/,
+
3286  "P%T" /*format*/,
+
3287  -32 /*offsetCode*/,
+
3288  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3289  15 /*untilYearTiny*/,
+
3290  3 /*untilMonth*/,
+
3291  8 /*untilDay*/,
+
3292  8 /*untilTimeCode*/,
+
3293  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3294  },
+
3295  // -7:00 - MST
+
3296  {
+
3297  nullptr /*zonePolicy*/,
+
3298  "MST" /*format*/,
+
3299  -28 /*offsetCode*/,
+
3300  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3301  127 /*untilYearTiny*/,
+
3302  1 /*untilMonth*/,
+
3303  1 /*untilDay*/,
+
3304  0 /*untilTimeCode*/,
+
3305  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3306  },
+
3307 
+
3308 };
+
3309 
+
3310 static const char kZoneNameAmerica_Fort_Nelson[] ACE_TIME_PROGMEM = "America/Fort_Nelson";
+
3311 
+
3312 const extended::ZoneInfo kZoneAmerica_Fort_Nelson ACE_TIME_PROGMEM = {
+
3313  kZoneNameAmerica_Fort_Nelson /*name*/,
+
3314  0x3f437e0f /*zoneId*/,
+
3315  &kZoneContext /*zoneContext*/,
+
3316  6 /*transitionBufSize*/,
+
3317  2 /*numEras*/,
+
3318  kZoneEraAmerica_Fort_Nelson /*eras*/,
+
3319 };
+
3320 
+
3321 //---------------------------------------------------------------------------
+
3322 // Zone name: America/Fortaleza
+
3323 // Zone Eras: 5
+
3324 // Strings (bytes): 46
+
3325 // Memory (8-bit): 113
+
3326 // Memory (32-bit): 146
+
3327 //---------------------------------------------------------------------------
+
3328 
+
3329 static const extended::ZoneEra kZoneEraAmerica_Fortaleza[] ACE_TIME_PROGMEM = {
+
3330  // -3:00 - -03 1999 Sep 30
+
3331  {
+
3332  nullptr /*zonePolicy*/,
+
3333  "-03" /*format*/,
+
3334  -12 /*offsetCode*/,
+
3335  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3336  -1 /*untilYearTiny*/,
+
3337  9 /*untilMonth*/,
+
3338  30 /*untilDay*/,
+
3339  0 /*untilTimeCode*/,
+
3340  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3341  },
+
3342  // -3:00 Brazil -03/-02 2000 Oct 22
+
3343  {
+
3344  &kPolicyBrazil /*zonePolicy*/,
+
3345  "-03/-02" /*format*/,
+
3346  -12 /*offsetCode*/,
+
3347  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3348  0 /*untilYearTiny*/,
+
3349  10 /*untilMonth*/,
+
3350  22 /*untilDay*/,
+
3351  0 /*untilTimeCode*/,
+
3352  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3353  },
+
3354  // -3:00 - -03 2001 Sep 13
+
3355  {
+
3356  nullptr /*zonePolicy*/,
+
3357  "-03" /*format*/,
+
3358  -12 /*offsetCode*/,
+
3359  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3360  1 /*untilYearTiny*/,
+
3361  9 /*untilMonth*/,
+
3362  13 /*untilDay*/,
+
3363  0 /*untilTimeCode*/,
+
3364  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3365  },
+
3366  // -3:00 Brazil -03/-02 2002 Oct 1
+
3367  {
+
3368  &kPolicyBrazil /*zonePolicy*/,
+
3369  "-03/-02" /*format*/,
+
3370  -12 /*offsetCode*/,
+
3371  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3372  2 /*untilYearTiny*/,
+
3373  10 /*untilMonth*/,
+
3374  1 /*untilDay*/,
+
3375  0 /*untilTimeCode*/,
+
3376  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3377  },
+
3378  // -3:00 - -03
+
3379  {
+
3380  nullptr /*zonePolicy*/,
+
3381  "-03" /*format*/,
+
3382  -12 /*offsetCode*/,
+
3383  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3384  127 /*untilYearTiny*/,
+
3385  1 /*untilMonth*/,
+
3386  1 /*untilDay*/,
+
3387  0 /*untilTimeCode*/,
+
3388  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3389  },
+
3390 
+
3391 };
+
3392 
+
3393 static const char kZoneNameAmerica_Fortaleza[] ACE_TIME_PROGMEM = "America/Fortaleza";
+
3394 
+
3395 const extended::ZoneInfo kZoneAmerica_Fortaleza ACE_TIME_PROGMEM = {
+
3396  kZoneNameAmerica_Fortaleza /*name*/,
+
3397  0x2ad018ee /*zoneId*/,
+
3398  &kZoneContext /*zoneContext*/,
+
3399  5 /*transitionBufSize*/,
+
3400  5 /*numEras*/,
+
3401  kZoneEraAmerica_Fortaleza /*eras*/,
+
3402 };
+
3403 
+
3404 //---------------------------------------------------------------------------
+
3405 // Zone name: America/Glace_Bay
+
3406 // Zone Eras: 1
+
3407 // Strings (bytes): 22
+
3408 // Memory (8-bit): 45
+
3409 // Memory (32-bit): 58
+
3410 //---------------------------------------------------------------------------
+
3411 
+
3412 static const extended::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
+
3413  // -4:00 Canada A%sT
+
3414  {
+
3415  &kPolicyCanada /*zonePolicy*/,
+
3416  "A%T" /*format*/,
+
3417  -16 /*offsetCode*/,
+
3418  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3419  127 /*untilYearTiny*/,
+
3420  1 /*untilMonth*/,
+
3421  1 /*untilDay*/,
+
3422  0 /*untilTimeCode*/,
+
3423  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3424  },
+
3425 
+
3426 };
+
3427 
+
3428 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "America/Glace_Bay";
+
3429 
+
3430 const extended::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
+
3431  kZoneNameAmerica_Glace_Bay /*name*/,
+
3432  0x9681f8dd /*zoneId*/,
+
3433  &kZoneContext /*zoneContext*/,
+
3434  6 /*transitionBufSize*/,
+
3435  1 /*numEras*/,
+
3436  kZoneEraAmerica_Glace_Bay /*eras*/,
+
3437 };
+
3438 
+
3439 //---------------------------------------------------------------------------
+
3440 // Zone name: America/Goose_Bay
+
3441 // Zone Eras: 2
+
3442 // Strings (bytes): 26
+
3443 // Memory (8-bit): 60
+
3444 // Memory (32-bit): 78
+
3445 //---------------------------------------------------------------------------
+
3446 
+
3447 static const extended::ZoneEra kZoneEraAmerica_Goose_Bay[] ACE_TIME_PROGMEM = {
+
3448  // -4:00 StJohns A%sT 2011 Nov
+
3449  {
+
3450  &kPolicyStJohns /*zonePolicy*/,
+
3451  "A%T" /*format*/,
+
3452  -16 /*offsetCode*/,
+
3453  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3454  11 /*untilYearTiny*/,
+
3455  11 /*untilMonth*/,
+
3456  1 /*untilDay*/,
+
3457  0 /*untilTimeCode*/,
+
3458  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3459  },
+
3460  // -4:00 Canada A%sT
+
3461  {
+
3462  &kPolicyCanada /*zonePolicy*/,
+
3463  "A%T" /*format*/,
+
3464  -16 /*offsetCode*/,
+
3465  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3466  127 /*untilYearTiny*/,
+
3467  1 /*untilMonth*/,
+
3468  1 /*untilDay*/,
+
3469  0 /*untilTimeCode*/,
+
3470  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3471  },
+
3472 
+
3473 };
+
3474 
+
3475 static const char kZoneNameAmerica_Goose_Bay[] ACE_TIME_PROGMEM = "America/Goose_Bay";
+
3476 
+
3477 const extended::ZoneInfo kZoneAmerica_Goose_Bay ACE_TIME_PROGMEM = {
+
3478  kZoneNameAmerica_Goose_Bay /*name*/,
+
3479  0xb649541e /*zoneId*/,
+
3480  &kZoneContext /*zoneContext*/,
+
3481  6 /*transitionBufSize*/,
+
3482  2 /*numEras*/,
+
3483  kZoneEraAmerica_Goose_Bay /*eras*/,
+
3484 };
+
3485 
+
3486 //---------------------------------------------------------------------------
+
3487 // Zone name: America/Grand_Turk
+
3488 // Zone Eras: 3
+
3489 // Strings (bytes): 31
+
3490 // Memory (8-bit): 76
+
3491 // Memory (32-bit): 99
+
3492 //---------------------------------------------------------------------------
+
3493 
+
3494 static const extended::ZoneEra kZoneEraAmerica_Grand_Turk[] ACE_TIME_PROGMEM = {
+
3495  // -5:00 US E%sT 2015 Nov Sun>=1 2:00
+
3496  {
+
3497  &kPolicyUS /*zonePolicy*/,
+
3498  "E%T" /*format*/,
+
3499  -20 /*offsetCode*/,
+
3500  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3501  15 /*untilYearTiny*/,
+
3502  11 /*untilMonth*/,
+
3503  1 /*untilDay*/,
+
3504  8 /*untilTimeCode*/,
+
3505  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3506  },
+
3507  // -4:00 - AST 2018 Mar 11 3:00
+
3508  {
+
3509  nullptr /*zonePolicy*/,
+
3510  "AST" /*format*/,
+
3511  -16 /*offsetCode*/,
+
3512  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3513  18 /*untilYearTiny*/,
+
3514  3 /*untilMonth*/,
+
3515  11 /*untilDay*/,
+
3516  12 /*untilTimeCode*/,
+
3517  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3518  },
+
3519  // -5:00 US E%sT
+
3520  {
+
3521  &kPolicyUS /*zonePolicy*/,
+
3522  "E%T" /*format*/,
+
3523  -20 /*offsetCode*/,
+
3524  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3525  127 /*untilYearTiny*/,
+
3526  1 /*untilMonth*/,
+
3527  1 /*untilDay*/,
+
3528  0 /*untilTimeCode*/,
+
3529  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3530  },
+
3531 
+
3532 };
+
3533 
+
3534 static const char kZoneNameAmerica_Grand_Turk[] ACE_TIME_PROGMEM = "America/Grand_Turk";
+
3535 
+
3536 const extended::ZoneInfo kZoneAmerica_Grand_Turk ACE_TIME_PROGMEM = {
+
3537  kZoneNameAmerica_Grand_Turk /*name*/,
+
3538  0x6e216197 /*zoneId*/,
+
3539  &kZoneContext /*zoneContext*/,
+
3540  6 /*transitionBufSize*/,
+
3541  3 /*numEras*/,
+
3542  kZoneEraAmerica_Grand_Turk /*eras*/,
+
3543 };
+
3544 
+
3545 //---------------------------------------------------------------------------
+
3546 // Zone name: America/Guatemala
+
3547 // Zone Eras: 1
+
3548 // Strings (bytes): 22
+
3549 // Memory (8-bit): 45
+
3550 // Memory (32-bit): 58
+
3551 //---------------------------------------------------------------------------
+
3552 
+
3553 static const extended::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
+
3554  // -6:00 Guat C%sT
+
3555  {
+
3556  &kPolicyGuat /*zonePolicy*/,
+
3557  "C%T" /*format*/,
+
3558  -24 /*offsetCode*/,
+
3559  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3560  127 /*untilYearTiny*/,
+
3561  1 /*untilMonth*/,
+
3562  1 /*untilDay*/,
+
3563  0 /*untilTimeCode*/,
+
3564  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3565  },
+
3566 
+
3567 };
+
3568 
+
3569 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "America/Guatemala";
+
3570 
+
3571 const extended::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
+
3572  kZoneNameAmerica_Guatemala /*name*/,
+
3573  0x0c8259f7 /*zoneId*/,
+
3574  &kZoneContext /*zoneContext*/,
+
3575  4 /*transitionBufSize*/,
+
3576  1 /*numEras*/,
+
3577  kZoneEraAmerica_Guatemala /*eras*/,
+
3578 };
+
3579 
+
3580 //---------------------------------------------------------------------------
+
3581 // Zone name: America/Guayaquil
+
3582 // Zone Eras: 1
+
3583 // Strings (bytes): 26
+
3584 // Memory (8-bit): 49
+
3585 // Memory (32-bit): 62
+
3586 //---------------------------------------------------------------------------
+
3587 
+
3588 static const extended::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
+
3589  // -5:00 Ecuador -05/-04
+
3590  {
+
3591  &kPolicyEcuador /*zonePolicy*/,
+
3592  "-05/-04" /*format*/,
+
3593  -20 /*offsetCode*/,
+
3594  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3595  127 /*untilYearTiny*/,
+
3596  1 /*untilMonth*/,
+
3597  1 /*untilDay*/,
+
3598  0 /*untilTimeCode*/,
+
3599  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3600  },
+
3601 
+
3602 };
+
3603 
+
3604 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "America/Guayaquil";
+
3605 
+
3606 const extended::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
+
3607  kZoneNameAmerica_Guayaquil /*name*/,
+
3608  0x17e64958 /*zoneId*/,
+
3609  &kZoneContext /*zoneContext*/,
+
3610  2 /*transitionBufSize*/,
+
3611  1 /*numEras*/,
+
3612  kZoneEraAmerica_Guayaquil /*eras*/,
+
3613 };
+
3614 
+
3615 //---------------------------------------------------------------------------
+
3616 // Zone name: America/Guyana
+
3617 // Zone Eras: 1
+
3618 // Strings (bytes): 19
+
3619 // Memory (8-bit): 42
+
3620 // Memory (32-bit): 55
+
3621 //---------------------------------------------------------------------------
+
3622 
+
3623 static const extended::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
+
3624  // -4:00 - -04
+
3625  {
+
3626  nullptr /*zonePolicy*/,
+
3627  "-04" /*format*/,
+
3628  -16 /*offsetCode*/,
+
3629  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3630  127 /*untilYearTiny*/,
+
3631  1 /*untilMonth*/,
+
3632  1 /*untilDay*/,
+
3633  0 /*untilTimeCode*/,
+
3634  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3635  },
+
3636 
+
3637 };
+
3638 
+
3639 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "America/Guyana";
+
3640 
+
3641 const extended::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
+
3642  kZoneNameAmerica_Guyana /*name*/,
+
3643  0x9ff7bd0b /*zoneId*/,
+
3644  &kZoneContext /*zoneContext*/,
+
3645  2 /*transitionBufSize*/,
+
3646  1 /*numEras*/,
+
3647  kZoneEraAmerica_Guyana /*eras*/,
+
3648 };
+
3649 
+
3650 //---------------------------------------------------------------------------
+
3651 // Zone name: America/Halifax
+
3652 // Zone Eras: 1
+
3653 // Strings (bytes): 20
+
3654 // Memory (8-bit): 43
+
3655 // Memory (32-bit): 56
+
3656 //---------------------------------------------------------------------------
+
3657 
+
3658 static const extended::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
+
3659  // -4:00 Canada A%sT
+
3660  {
+
3661  &kPolicyCanada /*zonePolicy*/,
+
3662  "A%T" /*format*/,
+
3663  -16 /*offsetCode*/,
+
3664  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3665  127 /*untilYearTiny*/,
+
3666  1 /*untilMonth*/,
+
3667  1 /*untilDay*/,
+
3668  0 /*untilTimeCode*/,
+
3669  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3670  },
+
3671 
+
3672 };
+
3673 
+
3674 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "America/Halifax";
+
3675 
+
3676 const extended::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
+
3677  kZoneNameAmerica_Halifax /*name*/,
+
3678  0xbc5b7183 /*zoneId*/,
+
3679  &kZoneContext /*zoneContext*/,
+
3680  6 /*transitionBufSize*/,
+
3681  1 /*numEras*/,
+
3682  kZoneEraAmerica_Halifax /*eras*/,
+
3683 };
+
3684 
+
3685 //---------------------------------------------------------------------------
+
3686 // Zone name: America/Havana
+
3687 // Zone Eras: 1
+
3688 // Strings (bytes): 19
+
3689 // Memory (8-bit): 42
+
3690 // Memory (32-bit): 55
+
3691 //---------------------------------------------------------------------------
+
3692 
+
3693 static const extended::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
+
3694  // -5:00 Cuba C%sT
+
3695  {
+
3696  &kPolicyCuba /*zonePolicy*/,
+
3697  "C%T" /*format*/,
+
3698  -20 /*offsetCode*/,
+
3699  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3700  127 /*untilYearTiny*/,
+
3701  1 /*untilMonth*/,
+
3702  1 /*untilDay*/,
+
3703  0 /*untilTimeCode*/,
+
3704  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3705  },
+
3706 
+
3707 };
+
3708 
+
3709 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "America/Havana";
+
3710 
+
3711 const extended::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
+
3712  kZoneNameAmerica_Havana /*name*/,
+
3713  0xa0e15675 /*zoneId*/,
+
3714  &kZoneContext /*zoneContext*/,
+
3715  6 /*transitionBufSize*/,
+
3716  1 /*numEras*/,
+
3717  kZoneEraAmerica_Havana /*eras*/,
+
3718 };
+
3719 
+
3720 //---------------------------------------------------------------------------
+
3721 // Zone name: America/Hermosillo
+
3722 // Zone Eras: 2
+
3723 // Strings (bytes): 27
+
3724 // Memory (8-bit): 61
+
3725 // Memory (32-bit): 79
+
3726 //---------------------------------------------------------------------------
+
3727 
+
3728 static const extended::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
+
3729  // -7:00 Mexico M%sT 1999
+
3730  {
+
3731  &kPolicyMexico /*zonePolicy*/,
+
3732  "M%T" /*format*/,
+
3733  -28 /*offsetCode*/,
+
3734  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3735  -1 /*untilYearTiny*/,
+
3736  1 /*untilMonth*/,
+
3737  1 /*untilDay*/,
+
3738  0 /*untilTimeCode*/,
+
3739  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3740  },
+
3741  // -7:00 - MST
+
3742  {
+
3743  nullptr /*zonePolicy*/,
+
3744  "MST" /*format*/,
+
3745  -28 /*offsetCode*/,
+
3746  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3747  127 /*untilYearTiny*/,
+
3748  1 /*untilMonth*/,
+
3749  1 /*untilDay*/,
+
3750  0 /*untilTimeCode*/,
+
3751  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3752  },
+
3753 
+
3754 };
+
3755 
+
3756 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "America/Hermosillo";
+
3757 
+
3758 const extended::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
+
3759  kZoneNameAmerica_Hermosillo /*name*/,
+
3760  0x065d21c4 /*zoneId*/,
+
3761  &kZoneContext /*zoneContext*/,
+
3762  2 /*transitionBufSize*/,
+
3763  2 /*numEras*/,
+
3764  kZoneEraAmerica_Hermosillo /*eras*/,
+
3765 };
+
3766 
+
3767 //---------------------------------------------------------------------------
+
3768 // Zone name: America/Indiana/Indianapolis
+
3769 // Zone Eras: 2
+
3770 // Strings (bytes): 37
+
3771 // Memory (8-bit): 71
+
3772 // Memory (32-bit): 89
+
3773 //---------------------------------------------------------------------------
+
3774 
+
3775 static const extended::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
+
3776  // -5:00 - EST 2006
+
3777  {
+
3778  nullptr /*zonePolicy*/,
+
3779  "EST" /*format*/,
+
3780  -20 /*offsetCode*/,
+
3781  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3782  6 /*untilYearTiny*/,
+
3783  1 /*untilMonth*/,
+
3784  1 /*untilDay*/,
+
3785  0 /*untilTimeCode*/,
+
3786  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3787  },
+
3788  // -5:00 US E%sT
+
3789  {
+
3790  &kPolicyUS /*zonePolicy*/,
+
3791  "E%T" /*format*/,
+
3792  -20 /*offsetCode*/,
+
3793  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3794  127 /*untilYearTiny*/,
+
3795  1 /*untilMonth*/,
+
3796  1 /*untilDay*/,
+
3797  0 /*untilTimeCode*/,
+
3798  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3799  },
+
3800 
+
3801 };
+
3802 
+
3803 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "America/Indiana/Indianapolis";
+
3804 
+
3805 const extended::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
+
3806  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
+
3807  0x28a669a4 /*zoneId*/,
+
3808  &kZoneContext /*zoneContext*/,
+
3809  6 /*transitionBufSize*/,
+
3810  2 /*numEras*/,
+
3811  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
+
3812 };
+
3813 
+
3814 //---------------------------------------------------------------------------
+
3815 // Zone name: America/Indiana/Knox
+
3816 // Zone Eras: 2
+
3817 // Strings (bytes): 29
+
3818 // Memory (8-bit): 63
+
3819 // Memory (32-bit): 81
+
3820 //---------------------------------------------------------------------------
+
3821 
+
3822 static const extended::ZoneEra kZoneEraAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = {
+
3823  // -5:00 - EST 2006 Apr 2 2:00
+
3824  {
+
3825  nullptr /*zonePolicy*/,
+
3826  "EST" /*format*/,
+
3827  -20 /*offsetCode*/,
+
3828  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3829  6 /*untilYearTiny*/,
+
3830  4 /*untilMonth*/,
+
3831  2 /*untilDay*/,
+
3832  8 /*untilTimeCode*/,
+
3833  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3834  },
+
3835  // -6:00 US C%sT
+
3836  {
+
3837  &kPolicyUS /*zonePolicy*/,
+
3838  "C%T" /*format*/,
+
3839  -24 /*offsetCode*/,
+
3840  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3841  127 /*untilYearTiny*/,
+
3842  1 /*untilMonth*/,
+
3843  1 /*untilDay*/,
+
3844  0 /*untilTimeCode*/,
+
3845  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3846  },
+
3847 
+
3848 };
+
3849 
+
3850 static const char kZoneNameAmerica_Indiana_Knox[] ACE_TIME_PROGMEM = "America/Indiana/Knox";
+
3851 
+
3852 const extended::ZoneInfo kZoneAmerica_Indiana_Knox ACE_TIME_PROGMEM = {
+
3853  kZoneNameAmerica_Indiana_Knox /*name*/,
+
3854  0x6554adc9 /*zoneId*/,
+
3855  &kZoneContext /*zoneContext*/,
+
3856  6 /*transitionBufSize*/,
+
3857  2 /*numEras*/,
+
3858  kZoneEraAmerica_Indiana_Knox /*eras*/,
+
3859 };
+
3860 
+
3861 //---------------------------------------------------------------------------
+
3862 // Zone name: America/Indiana/Marengo
+
3863 // Zone Eras: 2
+
3864 // Strings (bytes): 32
+
3865 // Memory (8-bit): 66
+
3866 // Memory (32-bit): 84
+
3867 //---------------------------------------------------------------------------
+
3868 
+
3869 static const extended::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
+
3870  // -5:00 - EST 2006
+
3871  {
+
3872  nullptr /*zonePolicy*/,
+
3873  "EST" /*format*/,
+
3874  -20 /*offsetCode*/,
+
3875  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3876  6 /*untilYearTiny*/,
+
3877  1 /*untilMonth*/,
+
3878  1 /*untilDay*/,
+
3879  0 /*untilTimeCode*/,
+
3880  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3881  },
+
3882  // -5:00 US E%sT
+
3883  {
+
3884  &kPolicyUS /*zonePolicy*/,
+
3885  "E%T" /*format*/,
+
3886  -20 /*offsetCode*/,
+
3887  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3888  127 /*untilYearTiny*/,
+
3889  1 /*untilMonth*/,
+
3890  1 /*untilDay*/,
+
3891  0 /*untilTimeCode*/,
+
3892  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3893  },
+
3894 
+
3895 };
+
3896 
+
3897 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "America/Indiana/Marengo";
+
3898 
+
3899 const extended::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
+
3900  kZoneNameAmerica_Indiana_Marengo /*name*/,
+
3901  0x2feeee72 /*zoneId*/,
+
3902  &kZoneContext /*zoneContext*/,
+
3903  6 /*transitionBufSize*/,
+
3904  2 /*numEras*/,
+
3905  kZoneEraAmerica_Indiana_Marengo /*eras*/,
+
3906 };
+
3907 
+
3908 //---------------------------------------------------------------------------
+
3909 // Zone name: America/Indiana/Petersburg
+
3910 // Zone Eras: 3
+
3911 // Strings (bytes): 39
+
3912 // Memory (8-bit): 84
+
3913 // Memory (32-bit): 107
+
3914 //---------------------------------------------------------------------------
+
3915 
+
3916 static const extended::ZoneEra kZoneEraAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = {
+
3917  // -5:00 - EST 2006 Apr 2 2:00
+
3918  {
+
3919  nullptr /*zonePolicy*/,
+
3920  "EST" /*format*/,
+
3921  -20 /*offsetCode*/,
+
3922  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3923  6 /*untilYearTiny*/,
+
3924  4 /*untilMonth*/,
+
3925  2 /*untilDay*/,
+
3926  8 /*untilTimeCode*/,
+
3927  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3928  },
+
3929  // -6:00 US C%sT 2007 Nov 4 2:00
+
3930  {
+
3931  &kPolicyUS /*zonePolicy*/,
+
3932  "C%T" /*format*/,
+
3933  -24 /*offsetCode*/,
+
3934  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3935  7 /*untilYearTiny*/,
+
3936  11 /*untilMonth*/,
+
3937  4 /*untilDay*/,
+
3938  8 /*untilTimeCode*/,
+
3939  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3940  },
+
3941  // -5:00 US E%sT
+
3942  {
+
3943  &kPolicyUS /*zonePolicy*/,
+
3944  "E%T" /*format*/,
+
3945  -20 /*offsetCode*/,
+
3946  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3947  127 /*untilYearTiny*/,
+
3948  1 /*untilMonth*/,
+
3949  1 /*untilDay*/,
+
3950  0 /*untilTimeCode*/,
+
3951  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3952  },
+
3953 
+
3954 };
+
3955 
+
3956 static const char kZoneNameAmerica_Indiana_Petersburg[] ACE_TIME_PROGMEM = "America/Indiana/Petersburg";
+
3957 
+
3958 const extended::ZoneInfo kZoneAmerica_Indiana_Petersburg ACE_TIME_PROGMEM = {
+
3959  kZoneNameAmerica_Indiana_Petersburg /*name*/,
+
3960  0x94ac7acc /*zoneId*/,
+
3961  &kZoneContext /*zoneContext*/,
+
3962  6 /*transitionBufSize*/,
+
3963  3 /*numEras*/,
+
3964  kZoneEraAmerica_Indiana_Petersburg /*eras*/,
+
3965 };
+
3966 
+
3967 //---------------------------------------------------------------------------
+
3968 // Zone name: America/Indiana/Tell_City
+
3969 // Zone Eras: 2
+
3970 // Strings (bytes): 34
+
3971 // Memory (8-bit): 68
+
3972 // Memory (32-bit): 86
+
3973 //---------------------------------------------------------------------------
+
3974 
+
3975 static const extended::ZoneEra kZoneEraAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = {
+
3976  // -5:00 - EST 2006 Apr 2 2:00
+
3977  {
+
3978  nullptr /*zonePolicy*/,
+
3979  "EST" /*format*/,
+
3980  -20 /*offsetCode*/,
+
3981  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3982  6 /*untilYearTiny*/,
+
3983  4 /*untilMonth*/,
+
3984  2 /*untilDay*/,
+
3985  8 /*untilTimeCode*/,
+
3986  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3987  },
+
3988  // -6:00 US C%sT
+
3989  {
+
3990  &kPolicyUS /*zonePolicy*/,
+
3991  "C%T" /*format*/,
+
3992  -24 /*offsetCode*/,
+
3993  (0 << 4) + (0 + 4) /*deltaCode*/,
+
3994  127 /*untilYearTiny*/,
+
3995  1 /*untilMonth*/,
+
3996  1 /*untilDay*/,
+
3997  0 /*untilTimeCode*/,
+
3998  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
3999  },
+
4000 
+
4001 };
+
4002 
+
4003 static const char kZoneNameAmerica_Indiana_Tell_City[] ACE_TIME_PROGMEM = "America/Indiana/Tell_City";
+
4004 
+
4005 const extended::ZoneInfo kZoneAmerica_Indiana_Tell_City ACE_TIME_PROGMEM = {
+
4006  kZoneNameAmerica_Indiana_Tell_City /*name*/,
+
4007  0x09263612 /*zoneId*/,
+
4008  &kZoneContext /*zoneContext*/,
+
4009  6 /*transitionBufSize*/,
+
4010  2 /*numEras*/,
+
4011  kZoneEraAmerica_Indiana_Tell_City /*eras*/,
+
4012 };
+
4013 
+
4014 //---------------------------------------------------------------------------
+
4015 // Zone name: America/Indiana/Vevay
+
4016 // Zone Eras: 2
+
4017 // Strings (bytes): 30
+
4018 // Memory (8-bit): 64
+
4019 // Memory (32-bit): 82
+
4020 //---------------------------------------------------------------------------
+
4021 
+
4022 static const extended::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
+
4023  // -5:00 - EST 2006
+
4024  {
+
4025  nullptr /*zonePolicy*/,
+
4026  "EST" /*format*/,
+
4027  -20 /*offsetCode*/,
+
4028  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4029  6 /*untilYearTiny*/,
+
4030  1 /*untilMonth*/,
+
4031  1 /*untilDay*/,
+
4032  0 /*untilTimeCode*/,
+
4033  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4034  },
+
4035  // -5:00 US E%sT
+
4036  {
+
4037  &kPolicyUS /*zonePolicy*/,
+
4038  "E%T" /*format*/,
+
4039  -20 /*offsetCode*/,
+
4040  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4041  127 /*untilYearTiny*/,
+
4042  1 /*untilMonth*/,
+
4043  1 /*untilDay*/,
+
4044  0 /*untilTimeCode*/,
+
4045  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4046  },
+
4047 
+
4048 };
+
4049 
+
4050 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "America/Indiana/Vevay";
+
4051 
+
4052 const extended::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
+
4053  kZoneNameAmerica_Indiana_Vevay /*name*/,
+
4054  0x10aca054 /*zoneId*/,
+
4055  &kZoneContext /*zoneContext*/,
+
4056  6 /*transitionBufSize*/,
+
4057  2 /*numEras*/,
+
4058  kZoneEraAmerica_Indiana_Vevay /*eras*/,
+
4059 };
+
4060 
+
4061 //---------------------------------------------------------------------------
+
4062 // Zone name: America/Indiana/Vincennes
+
4063 // Zone Eras: 3
+
4064 // Strings (bytes): 38
+
4065 // Memory (8-bit): 83
+
4066 // Memory (32-bit): 106
+
4067 //---------------------------------------------------------------------------
+
4068 
+
4069 static const extended::ZoneEra kZoneEraAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = {
+
4070  // -5:00 - EST 2006 Apr 2 2:00
+
4071  {
+
4072  nullptr /*zonePolicy*/,
+
4073  "EST" /*format*/,
+
4074  -20 /*offsetCode*/,
+
4075  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4076  6 /*untilYearTiny*/,
+
4077  4 /*untilMonth*/,
+
4078  2 /*untilDay*/,
+
4079  8 /*untilTimeCode*/,
+
4080  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4081  },
+
4082  // -6:00 US C%sT 2007 Nov 4 2:00
+
4083  {
+
4084  &kPolicyUS /*zonePolicy*/,
+
4085  "C%T" /*format*/,
+
4086  -24 /*offsetCode*/,
+
4087  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4088  7 /*untilYearTiny*/,
+
4089  11 /*untilMonth*/,
+
4090  4 /*untilDay*/,
+
4091  8 /*untilTimeCode*/,
+
4092  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4093  },
+
4094  // -5:00 US E%sT
+
4095  {
+
4096  &kPolicyUS /*zonePolicy*/,
+
4097  "E%T" /*format*/,
+
4098  -20 /*offsetCode*/,
+
4099  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4100  127 /*untilYearTiny*/,
+
4101  1 /*untilMonth*/,
+
4102  1 /*untilDay*/,
+
4103  0 /*untilTimeCode*/,
+
4104  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4105  },
+
4106 
+
4107 };
+
4108 
+
4109 static const char kZoneNameAmerica_Indiana_Vincennes[] ACE_TIME_PROGMEM = "America/Indiana/Vincennes";
+
4110 
+
4111 const extended::ZoneInfo kZoneAmerica_Indiana_Vincennes ACE_TIME_PROGMEM = {
+
4112  kZoneNameAmerica_Indiana_Vincennes /*name*/,
+
4113  0x28a0b212 /*zoneId*/,
+
4114  &kZoneContext /*zoneContext*/,
+
4115  6 /*transitionBufSize*/,
+
4116  3 /*numEras*/,
+
4117  kZoneEraAmerica_Indiana_Vincennes /*eras*/,
+
4118 };
+
4119 
+
4120 //---------------------------------------------------------------------------
+
4121 // Zone name: America/Indiana/Winamac
+
4122 // Zone Eras: 3
+
4123 // Strings (bytes): 36
+
4124 // Memory (8-bit): 81
+
4125 // Memory (32-bit): 104
+
4126 //---------------------------------------------------------------------------
+
4127 
+
4128 static const extended::ZoneEra kZoneEraAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = {
+
4129  // -5:00 - EST 2006 Apr 2 2:00
+
4130  {
+
4131  nullptr /*zonePolicy*/,
+
4132  "EST" /*format*/,
+
4133  -20 /*offsetCode*/,
+
4134  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4135  6 /*untilYearTiny*/,
+
4136  4 /*untilMonth*/,
+
4137  2 /*untilDay*/,
+
4138  8 /*untilTimeCode*/,
+
4139  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4140  },
+
4141  // -6:00 US C%sT 2007 Mar 11 2:00
+
4142  {
+
4143  &kPolicyUS /*zonePolicy*/,
+
4144  "C%T" /*format*/,
+
4145  -24 /*offsetCode*/,
+
4146  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4147  7 /*untilYearTiny*/,
+
4148  3 /*untilMonth*/,
+
4149  11 /*untilDay*/,
+
4150  8 /*untilTimeCode*/,
+
4151  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4152  },
+
4153  // -5:00 US E%sT
+
4154  {
+
4155  &kPolicyUS /*zonePolicy*/,
+
4156  "E%T" /*format*/,
+
4157  -20 /*offsetCode*/,
+
4158  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4159  127 /*untilYearTiny*/,
+
4160  1 /*untilMonth*/,
+
4161  1 /*untilDay*/,
+
4162  0 /*untilTimeCode*/,
+
4163  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4164  },
+
4165 
+
4166 };
+
4167 
+
4168 static const char kZoneNameAmerica_Indiana_Winamac[] ACE_TIME_PROGMEM = "America/Indiana/Winamac";
+
4169 
+
4170 const extended::ZoneInfo kZoneAmerica_Indiana_Winamac ACE_TIME_PROGMEM = {
+
4171  kZoneNameAmerica_Indiana_Winamac /*name*/,
+
4172  0x4413fa69 /*zoneId*/,
+
4173  &kZoneContext /*zoneContext*/,
+
4174  6 /*transitionBufSize*/,
+
4175  3 /*numEras*/,
+
4176  kZoneEraAmerica_Indiana_Winamac /*eras*/,
+
4177 };
+
4178 
+
4179 //---------------------------------------------------------------------------
+
4180 // Zone name: America/Inuvik
+
4181 // Zone Eras: 1
+
4182 // Strings (bytes): 19
+
4183 // Memory (8-bit): 42
+
4184 // Memory (32-bit): 55
+
4185 //---------------------------------------------------------------------------
+
4186 
+
4187 static const extended::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
+
4188  // -7:00 Canada M%sT
+
4189  {
+
4190  &kPolicyCanada /*zonePolicy*/,
+
4191  "M%T" /*format*/,
+
4192  -28 /*offsetCode*/,
+
4193  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4194  127 /*untilYearTiny*/,
+
4195  1 /*untilMonth*/,
+
4196  1 /*untilDay*/,
+
4197  0 /*untilTimeCode*/,
+
4198  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4199  },
+
4200 
+
4201 };
+
4202 
+
4203 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "America/Inuvik";
+
4204 
+
4205 const extended::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
+
4206  kZoneNameAmerica_Inuvik /*name*/,
+
4207  0xa42189fc /*zoneId*/,
+
4208  &kZoneContext /*zoneContext*/,
+
4209  6 /*transitionBufSize*/,
+
4210  1 /*numEras*/,
+
4211  kZoneEraAmerica_Inuvik /*eras*/,
+
4212 };
+
4213 
+
4214 //---------------------------------------------------------------------------
+
4215 // Zone name: America/Iqaluit
+
4216 // Zone Eras: 3
+
4217 // Strings (bytes): 28
+
4218 // Memory (8-bit): 73
+
4219 // Memory (32-bit): 96
+
4220 //---------------------------------------------------------------------------
+
4221 
+
4222 static const extended::ZoneEra kZoneEraAmerica_Iqaluit[] ACE_TIME_PROGMEM = {
+
4223  // -5:00 NT_YK E%sT 1999 Oct 31 2:00
+
4224  {
+
4225  &kPolicyNT_YK /*zonePolicy*/,
+
4226  "E%T" /*format*/,
+
4227  -20 /*offsetCode*/,
+
4228  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4229  -1 /*untilYearTiny*/,
+
4230  10 /*untilMonth*/,
+
4231  31 /*untilDay*/,
+
4232  8 /*untilTimeCode*/,
+
4233  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4234  },
+
4235  // -6:00 Canada C%sT 2000 Oct 29 2:00
+
4236  {
+
4237  &kPolicyCanada /*zonePolicy*/,
+
4238  "C%T" /*format*/,
+
4239  -24 /*offsetCode*/,
+
4240  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4241  0 /*untilYearTiny*/,
+
4242  10 /*untilMonth*/,
+
4243  29 /*untilDay*/,
+
4244  8 /*untilTimeCode*/,
+
4245  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4246  },
+
4247  // -5:00 Canada E%sT
+
4248  {
+
4249  &kPolicyCanada /*zonePolicy*/,
+
4250  "E%T" /*format*/,
+
4251  -20 /*offsetCode*/,
+
4252  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4253  127 /*untilYearTiny*/,
+
4254  1 /*untilMonth*/,
+
4255  1 /*untilDay*/,
+
4256  0 /*untilTimeCode*/,
+
4257  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4258  },
+
4259 
+
4260 };
+
4261 
+
4262 static const char kZoneNameAmerica_Iqaluit[] ACE_TIME_PROGMEM = "America/Iqaluit";
+
4263 
+
4264 const extended::ZoneInfo kZoneAmerica_Iqaluit ACE_TIME_PROGMEM = {
+
4265  kZoneNameAmerica_Iqaluit /*name*/,
+
4266  0x2de310bf /*zoneId*/,
+
4267  &kZoneContext /*zoneContext*/,
+
4268  6 /*transitionBufSize*/,
+
4269  3 /*numEras*/,
+
4270  kZoneEraAmerica_Iqaluit /*eras*/,
+
4271 };
+
4272 
+
4273 //---------------------------------------------------------------------------
+
4274 // Zone name: America/Jamaica
+
4275 // Zone Eras: 1
+
4276 // Strings (bytes): 20
+
4277 // Memory (8-bit): 43
+
4278 // Memory (32-bit): 56
+
4279 //---------------------------------------------------------------------------
+
4280 
+
4281 static const extended::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
+
4282  // -5:00 - EST
+
4283  {
+
4284  nullptr /*zonePolicy*/,
+
4285  "EST" /*format*/,
+
4286  -20 /*offsetCode*/,
+
4287  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4288  127 /*untilYearTiny*/,
+
4289  1 /*untilMonth*/,
+
4290  1 /*untilDay*/,
+
4291  0 /*untilTimeCode*/,
+
4292  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4293  },
+
4294 
+
4295 };
+
4296 
+
4297 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "America/Jamaica";
+
4298 
+
4299 const extended::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
+
4300  kZoneNameAmerica_Jamaica /*name*/,
+
4301  0x565dad6c /*zoneId*/,
+
4302  &kZoneContext /*zoneContext*/,
+
4303  2 /*transitionBufSize*/,
+
4304  1 /*numEras*/,
+
4305  kZoneEraAmerica_Jamaica /*eras*/,
+
4306 };
+
4307 
+
4308 //---------------------------------------------------------------------------
+
4309 // Zone name: America/Juneau
+
4310 // Zone Eras: 1
+
4311 // Strings (bytes): 20
+
4312 // Memory (8-bit): 43
+
4313 // Memory (32-bit): 56
+
4314 //---------------------------------------------------------------------------
+
4315 
+
4316 static const extended::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
+
4317  // -9:00 US AK%sT
+
4318  {
+
4319  &kPolicyUS /*zonePolicy*/,
+
4320  "AK%T" /*format*/,
+
4321  -36 /*offsetCode*/,
+
4322  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4323  127 /*untilYearTiny*/,
+
4324  1 /*untilMonth*/,
+
4325  1 /*untilDay*/,
+
4326  0 /*untilTimeCode*/,
+
4327  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4328  },
+
4329 
+
4330 };
+
4331 
+
4332 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "America/Juneau";
+
4333 
+
4334 const extended::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
+
4335  kZoneNameAmerica_Juneau /*name*/,
+
4336  0xa6f13e2e /*zoneId*/,
+
4337  &kZoneContext /*zoneContext*/,
+
4338  6 /*transitionBufSize*/,
+
4339  1 /*numEras*/,
+
4340  kZoneEraAmerica_Juneau /*eras*/,
+
4341 };
+
4342 
+
4343 //---------------------------------------------------------------------------
+
4344 // Zone name: America/Kentucky/Louisville
+
4345 // Zone Eras: 1
+
4346 // Strings (bytes): 32
+
4347 // Memory (8-bit): 55
+
4348 // Memory (32-bit): 68
+
4349 //---------------------------------------------------------------------------
+
4350 
+
4351 static const extended::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
+
4352  // -5:00 US E%sT
+
4353  {
+
4354  &kPolicyUS /*zonePolicy*/,
+
4355  "E%T" /*format*/,
+
4356  -20 /*offsetCode*/,
+
4357  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4358  127 /*untilYearTiny*/,
+
4359  1 /*untilMonth*/,
+
4360  1 /*untilDay*/,
+
4361  0 /*untilTimeCode*/,
+
4362  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4363  },
+
4364 
+
4365 };
+
4366 
+
4367 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "America/Kentucky/Louisville";
+
4368 
+
4369 const extended::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
+
4370  kZoneNameAmerica_Kentucky_Louisville /*name*/,
+
4371  0x1a21024b /*zoneId*/,
+
4372  &kZoneContext /*zoneContext*/,
+
4373  6 /*transitionBufSize*/,
+
4374  1 /*numEras*/,
+
4375  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
+
4376 };
+
4377 
+
4378 //---------------------------------------------------------------------------
+
4379 // Zone name: America/Kentucky/Monticello
+
4380 // Zone Eras: 2
+
4381 // Strings (bytes): 36
+
4382 // Memory (8-bit): 70
+
4383 // Memory (32-bit): 88
+
4384 //---------------------------------------------------------------------------
+
4385 
+
4386 static const extended::ZoneEra kZoneEraAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = {
+
4387  // -6:00 US C%sT 2000 Oct 29 2:00
+
4388  {
+
4389  &kPolicyUS /*zonePolicy*/,
+
4390  "C%T" /*format*/,
+
4391  -24 /*offsetCode*/,
+
4392  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4393  0 /*untilYearTiny*/,
+
4394  10 /*untilMonth*/,
+
4395  29 /*untilDay*/,
+
4396  8 /*untilTimeCode*/,
+
4397  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4398  },
+
4399  // -5:00 US E%sT
+
4400  {
+
4401  &kPolicyUS /*zonePolicy*/,
+
4402  "E%T" /*format*/,
+
4403  -20 /*offsetCode*/,
+
4404  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4405  127 /*untilYearTiny*/,
+
4406  1 /*untilMonth*/,
+
4407  1 /*untilDay*/,
+
4408  0 /*untilTimeCode*/,
+
4409  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4410  },
+
4411 
+
4412 };
+
4413 
+
4414 static const char kZoneNameAmerica_Kentucky_Monticello[] ACE_TIME_PROGMEM = "America/Kentucky/Monticello";
+
4415 
+
4416 const extended::ZoneInfo kZoneAmerica_Kentucky_Monticello ACE_TIME_PROGMEM = {
+
4417  kZoneNameAmerica_Kentucky_Monticello /*name*/,
+
4418  0xde71c439 /*zoneId*/,
+
4419  &kZoneContext /*zoneContext*/,
+
4420  6 /*transitionBufSize*/,
+
4421  2 /*numEras*/,
+
4422  kZoneEraAmerica_Kentucky_Monticello /*eras*/,
+
4423 };
+
4424 
+
4425 //---------------------------------------------------------------------------
+
4426 // Zone name: America/La_Paz
+
4427 // Zone Eras: 1
+
4428 // Strings (bytes): 19
+
4429 // Memory (8-bit): 42
+
4430 // Memory (32-bit): 55
+
4431 //---------------------------------------------------------------------------
+
4432 
+
4433 static const extended::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
+
4434  // -4:00 - -04
+
4435  {
+
4436  nullptr /*zonePolicy*/,
+
4437  "-04" /*format*/,
+
4438  -16 /*offsetCode*/,
+
4439  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4440  127 /*untilYearTiny*/,
+
4441  1 /*untilMonth*/,
+
4442  1 /*untilDay*/,
+
4443  0 /*untilTimeCode*/,
+
4444  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4445  },
+
4446 
+
4447 };
+
4448 
+
4449 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "America/La_Paz";
+
4450 
+
4451 const extended::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
+
4452  kZoneNameAmerica_La_Paz /*name*/,
+
4453  0xaa29125d /*zoneId*/,
+
4454  &kZoneContext /*zoneContext*/,
+
4455  2 /*transitionBufSize*/,
+
4456  1 /*numEras*/,
+
4457  kZoneEraAmerica_La_Paz /*eras*/,
+
4458 };
+
4459 
+
4460 //---------------------------------------------------------------------------
+
4461 // Zone name: America/Lima
+
4462 // Zone Eras: 1
+
4463 // Strings (bytes): 21
+
4464 // Memory (8-bit): 44
+
4465 // Memory (32-bit): 57
+
4466 //---------------------------------------------------------------------------
+
4467 
+
4468 static const extended::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
+
4469  // -5:00 Peru -05/-04
+
4470  {
+
4471  &kPolicyPeru /*zonePolicy*/,
+
4472  "-05/-04" /*format*/,
+
4473  -20 /*offsetCode*/,
+
4474  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4475  127 /*untilYearTiny*/,
+
4476  1 /*untilMonth*/,
+
4477  1 /*untilDay*/,
+
4478  0 /*untilTimeCode*/,
+
4479  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4480  },
+
4481 
+
4482 };
+
4483 
+
4484 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "America/Lima";
+
4485 
+
4486 const extended::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
+
4487  kZoneNameAmerica_Lima /*name*/,
+
4488  0x980468c9 /*zoneId*/,
+
4489  &kZoneContext /*zoneContext*/,
+
4490  2 /*transitionBufSize*/,
+
4491  1 /*numEras*/,
+
4492  kZoneEraAmerica_Lima /*eras*/,
+
4493 };
+
4494 
+
4495 //---------------------------------------------------------------------------
+
4496 // Zone name: America/Los_Angeles
+
4497 // Zone Eras: 1
+
4498 // Strings (bytes): 24
+
4499 // Memory (8-bit): 47
+
4500 // Memory (32-bit): 60
+
4501 //---------------------------------------------------------------------------
+
4502 
+
4503 static const extended::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
+
4504  // -8:00 US P%sT
+
4505  {
+
4506  &kPolicyUS /*zonePolicy*/,
+
4507  "P%T" /*format*/,
+
4508  -32 /*offsetCode*/,
+
4509  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4510  127 /*untilYearTiny*/,
+
4511  1 /*untilMonth*/,
+
4512  1 /*untilDay*/,
+
4513  0 /*untilTimeCode*/,
+
4514  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4515  },
+
4516 
+
4517 };
+
4518 
+
4519 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "America/Los_Angeles";
+
4520 
+
4521 const extended::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
+
4522  kZoneNameAmerica_Los_Angeles /*name*/,
+
4523  0xb7f7e8f2 /*zoneId*/,
+
4524  &kZoneContext /*zoneContext*/,
+
4525  6 /*transitionBufSize*/,
+
4526  1 /*numEras*/,
+
4527  kZoneEraAmerica_Los_Angeles /*eras*/,
+
4528 };
+
4529 
+
4530 //---------------------------------------------------------------------------
+
4531 // Zone name: America/Maceio
+
4532 // Zone Eras: 5
+
4533 // Strings (bytes): 43
+
4534 // Memory (8-bit): 110
+
4535 // Memory (32-bit): 143
+
4536 //---------------------------------------------------------------------------
+
4537 
+
4538 static const extended::ZoneEra kZoneEraAmerica_Maceio[] ACE_TIME_PROGMEM = {
+
4539  // -3:00 - -03 1999 Sep 30
+
4540  {
+
4541  nullptr /*zonePolicy*/,
+
4542  "-03" /*format*/,
+
4543  -12 /*offsetCode*/,
+
4544  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4545  -1 /*untilYearTiny*/,
+
4546  9 /*untilMonth*/,
+
4547  30 /*untilDay*/,
+
4548  0 /*untilTimeCode*/,
+
4549  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4550  },
+
4551  // -3:00 Brazil -03/-02 2000 Oct 22
+
4552  {
+
4553  &kPolicyBrazil /*zonePolicy*/,
+
4554  "-03/-02" /*format*/,
+
4555  -12 /*offsetCode*/,
+
4556  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4557  0 /*untilYearTiny*/,
+
4558  10 /*untilMonth*/,
+
4559  22 /*untilDay*/,
+
4560  0 /*untilTimeCode*/,
+
4561  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4562  },
+
4563  // -3:00 - -03 2001 Sep 13
+
4564  {
+
4565  nullptr /*zonePolicy*/,
+
4566  "-03" /*format*/,
+
4567  -12 /*offsetCode*/,
+
4568  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4569  1 /*untilYearTiny*/,
+
4570  9 /*untilMonth*/,
+
4571  13 /*untilDay*/,
+
4572  0 /*untilTimeCode*/,
+
4573  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4574  },
+
4575  // -3:00 Brazil -03/-02 2002 Oct 1
+
4576  {
+
4577  &kPolicyBrazil /*zonePolicy*/,
+
4578  "-03/-02" /*format*/,
+
4579  -12 /*offsetCode*/,
+
4580  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4581  2 /*untilYearTiny*/,
+
4582  10 /*untilMonth*/,
+
4583  1 /*untilDay*/,
+
4584  0 /*untilTimeCode*/,
+
4585  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4586  },
+
4587  // -3:00 - -03
+
4588  {
+
4589  nullptr /*zonePolicy*/,
+
4590  "-03" /*format*/,
+
4591  -12 /*offsetCode*/,
+
4592  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4593  127 /*untilYearTiny*/,
+
4594  1 /*untilMonth*/,
+
4595  1 /*untilDay*/,
+
4596  0 /*untilTimeCode*/,
+
4597  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4598  },
+
4599 
+
4600 };
+
4601 
+
4602 static const char kZoneNameAmerica_Maceio[] ACE_TIME_PROGMEM = "America/Maceio";
+
4603 
+
4604 const extended::ZoneInfo kZoneAmerica_Maceio ACE_TIME_PROGMEM = {
+
4605  kZoneNameAmerica_Maceio /*name*/,
+
4606  0xac80c6d4 /*zoneId*/,
+
4607  &kZoneContext /*zoneContext*/,
+
4608  5 /*transitionBufSize*/,
+
4609  5 /*numEras*/,
+
4610  kZoneEraAmerica_Maceio /*eras*/,
+
4611 };
+
4612 
+
4613 //---------------------------------------------------------------------------
+
4614 // Zone name: America/Managua
+
4615 // Zone Eras: 1
+
4616 // Strings (bytes): 20
+
4617 // Memory (8-bit): 43
+
4618 // Memory (32-bit): 56
+
4619 //---------------------------------------------------------------------------
+
4620 
+
4621 static const extended::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
+
4622  // -6:00 Nic C%sT
+
4623  {
+
4624  &kPolicyNic /*zonePolicy*/,
+
4625  "C%T" /*format*/,
+
4626  -24 /*offsetCode*/,
+
4627  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4628  127 /*untilYearTiny*/,
+
4629  1 /*untilMonth*/,
+
4630  1 /*untilDay*/,
+
4631  0 /*untilTimeCode*/,
+
4632  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4633  },
+
4634 
+
4635 };
+
4636 
+
4637 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "America/Managua";
+
4638 
+
4639 const extended::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
+
4640  kZoneNameAmerica_Managua /*name*/,
+
4641  0x3d5e7600 /*zoneId*/,
+
4642  &kZoneContext /*zoneContext*/,
+
4643  4 /*transitionBufSize*/,
+
4644  1 /*numEras*/,
+
4645  kZoneEraAmerica_Managua /*eras*/,
+
4646 };
+
4647 
+
4648 //---------------------------------------------------------------------------
+
4649 // Zone name: America/Manaus
+
4650 // Zone Eras: 1
+
4651 // Strings (bytes): 19
+
4652 // Memory (8-bit): 42
+
4653 // Memory (32-bit): 55
+
4654 //---------------------------------------------------------------------------
+
4655 
+
4656 static const extended::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
+
4657  // -4:00 - -04
+
4658  {
+
4659  nullptr /*zonePolicy*/,
+
4660  "-04" /*format*/,
+
4661  -16 /*offsetCode*/,
+
4662  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4663  127 /*untilYearTiny*/,
+
4664  1 /*untilMonth*/,
+
4665  1 /*untilDay*/,
+
4666  0 /*untilTimeCode*/,
+
4667  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4668  },
+
4669 
+
4670 };
+
4671 
+
4672 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "America/Manaus";
+
4673 
+
4674 const extended::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
+
4675  kZoneNameAmerica_Manaus /*name*/,
+
4676  0xac86bf8b /*zoneId*/,
+
4677  &kZoneContext /*zoneContext*/,
+
4678  2 /*transitionBufSize*/,
+
4679  1 /*numEras*/,
+
4680  kZoneEraAmerica_Manaus /*eras*/,
+
4681 };
+
4682 
+
4683 //---------------------------------------------------------------------------
+
4684 // Zone name: America/Martinique
+
4685 // Zone Eras: 1
+
4686 // Strings (bytes): 23
+
4687 // Memory (8-bit): 46
+
4688 // Memory (32-bit): 59
+
4689 //---------------------------------------------------------------------------
+
4690 
+
4691 static const extended::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
+
4692  // -4:00 - AST
+
4693  {
+
4694  nullptr /*zonePolicy*/,
+
4695  "AST" /*format*/,
+
4696  -16 /*offsetCode*/,
+
4697  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4698  127 /*untilYearTiny*/,
+
4699  1 /*untilMonth*/,
+
4700  1 /*untilDay*/,
+
4701  0 /*untilTimeCode*/,
+
4702  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4703  },
+
4704 
+
4705 };
+
4706 
+
4707 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "America/Martinique";
+
4708 
+
4709 const extended::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
+
4710  kZoneNameAmerica_Martinique /*name*/,
+
4711  0x551e84c5 /*zoneId*/,
+
4712  &kZoneContext /*zoneContext*/,
+
4713  2 /*transitionBufSize*/,
+
4714  1 /*numEras*/,
+
4715  kZoneEraAmerica_Martinique /*eras*/,
+
4716 };
+
4717 
+
4718 //---------------------------------------------------------------------------
+
4719 // Zone name: America/Matamoros
+
4720 // Zone Eras: 2
+
4721 // Strings (bytes): 26
+
4722 // Memory (8-bit): 60
+
4723 // Memory (32-bit): 78
+
4724 //---------------------------------------------------------------------------
+
4725 
+
4726 static const extended::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
+
4727  // -6:00 Mexico C%sT 2010
+
4728  {
+
4729  &kPolicyMexico /*zonePolicy*/,
+
4730  "C%T" /*format*/,
+
4731  -24 /*offsetCode*/,
+
4732  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4733  10 /*untilYearTiny*/,
+
4734  1 /*untilMonth*/,
+
4735  1 /*untilDay*/,
+
4736  0 /*untilTimeCode*/,
+
4737  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4738  },
+
4739  // -6:00 US C%sT
+
4740  {
+
4741  &kPolicyUS /*zonePolicy*/,
+
4742  "C%T" /*format*/,
+
4743  -24 /*offsetCode*/,
+
4744  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4745  127 /*untilYearTiny*/,
+
4746  1 /*untilMonth*/,
+
4747  1 /*untilDay*/,
+
4748  0 /*untilTimeCode*/,
+
4749  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4750  },
+
4751 
+
4752 };
+
4753 
+
4754 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "America/Matamoros";
+
4755 
+
4756 const extended::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
+
4757  kZoneNameAmerica_Matamoros /*name*/,
+
4758  0xdd1b0259 /*zoneId*/,
+
4759  &kZoneContext /*zoneContext*/,
+
4760  6 /*transitionBufSize*/,
+
4761  2 /*numEras*/,
+
4762  kZoneEraAmerica_Matamoros /*eras*/,
+
4763 };
+
4764 
+
4765 //---------------------------------------------------------------------------
+
4766 // Zone name: America/Mazatlan
+
4767 // Zone Eras: 1
+
4768 // Strings (bytes): 21
+
4769 // Memory (8-bit): 44
+
4770 // Memory (32-bit): 57
+
4771 //---------------------------------------------------------------------------
+
4772 
+
4773 static const extended::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
+
4774  // -7:00 Mexico M%sT
+
4775  {
+
4776  &kPolicyMexico /*zonePolicy*/,
+
4777  "M%T" /*format*/,
+
4778  -28 /*offsetCode*/,
+
4779  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4780  127 /*untilYearTiny*/,
+
4781  1 /*untilMonth*/,
+
4782  1 /*untilDay*/,
+
4783  0 /*untilTimeCode*/,
+
4784  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4785  },
+
4786 
+
4787 };
+
4788 
+
4789 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "America/Mazatlan";
+
4790 
+
4791 const extended::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
+
4792  kZoneNameAmerica_Mazatlan /*name*/,
+
4793  0x0532189e /*zoneId*/,
+
4794  &kZoneContext /*zoneContext*/,
+
4795  4 /*transitionBufSize*/,
+
4796  1 /*numEras*/,
+
4797  kZoneEraAmerica_Mazatlan /*eras*/,
+
4798 };
+
4799 
+
4800 //---------------------------------------------------------------------------
+
4801 // Zone name: America/Menominee
+
4802 // Zone Eras: 1
+
4803 // Strings (bytes): 22
+
4804 // Memory (8-bit): 45
+
4805 // Memory (32-bit): 58
+
4806 //---------------------------------------------------------------------------
+
4807 
+
4808 static const extended::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
+
4809  // -6:00 US C%sT
+
4810  {
+
4811  &kPolicyUS /*zonePolicy*/,
+
4812  "C%T" /*format*/,
+
4813  -24 /*offsetCode*/,
+
4814  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4815  127 /*untilYearTiny*/,
+
4816  1 /*untilMonth*/,
+
4817  1 /*untilDay*/,
+
4818  0 /*untilTimeCode*/,
+
4819  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4820  },
+
4821 
+
4822 };
+
4823 
+
4824 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "America/Menominee";
+
4825 
+
4826 const extended::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
+
4827  kZoneNameAmerica_Menominee /*name*/,
+
4828  0xe0e9c583 /*zoneId*/,
+
4829  &kZoneContext /*zoneContext*/,
+
4830  6 /*transitionBufSize*/,
+
4831  1 /*numEras*/,
+
4832  kZoneEraAmerica_Menominee /*eras*/,
+
4833 };
+
4834 
+
4835 //---------------------------------------------------------------------------
+
4836 // Zone name: America/Merida
+
4837 // Zone Eras: 1
+
4838 // Strings (bytes): 19
+
4839 // Memory (8-bit): 42
+
4840 // Memory (32-bit): 55
+
4841 //---------------------------------------------------------------------------
+
4842 
+
4843 static const extended::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
+
4844  // -6:00 Mexico C%sT
+
4845  {
+
4846  &kPolicyMexico /*zonePolicy*/,
+
4847  "C%T" /*format*/,
+
4848  -24 /*offsetCode*/,
+
4849  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4850  127 /*untilYearTiny*/,
+
4851  1 /*untilMonth*/,
+
4852  1 /*untilDay*/,
+
4853  0 /*untilTimeCode*/,
+
4854  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4855  },
+
4856 
+
4857 };
+
4858 
+
4859 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "America/Merida";
+
4860 
+
4861 const extended::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
+
4862  kZoneNameAmerica_Merida /*name*/,
+
4863  0xacd172d8 /*zoneId*/,
+
4864  &kZoneContext /*zoneContext*/,
+
4865  4 /*transitionBufSize*/,
+
4866  1 /*numEras*/,
+
4867  kZoneEraAmerica_Merida /*eras*/,
+
4868 };
+
4869 
+
4870 //---------------------------------------------------------------------------
+
4871 // Zone name: America/Metlakatla
+
4872 // Zone Eras: 4
+
4873 // Strings (bytes): 37
+
4874 // Memory (8-bit): 93
+
4875 // Memory (32-bit): 121
+
4876 //---------------------------------------------------------------------------
+
4877 
+
4878 static const extended::ZoneEra kZoneEraAmerica_Metlakatla[] ACE_TIME_PROGMEM = {
+
4879  // -8:00 - PST 2015 Nov 1 2:00
+
4880  {
+
4881  nullptr /*zonePolicy*/,
+
4882  "PST" /*format*/,
+
4883  -32 /*offsetCode*/,
+
4884  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4885  15 /*untilYearTiny*/,
+
4886  11 /*untilMonth*/,
+
4887  1 /*untilDay*/,
+
4888  8 /*untilTimeCode*/,
+
4889  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4890  },
+
4891  // -9:00 US AK%sT 2018 Nov 4 2:00
+
4892  {
+
4893  &kPolicyUS /*zonePolicy*/,
+
4894  "AK%T" /*format*/,
+
4895  -36 /*offsetCode*/,
+
4896  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4897  18 /*untilYearTiny*/,
+
4898  11 /*untilMonth*/,
+
4899  4 /*untilDay*/,
+
4900  8 /*untilTimeCode*/,
+
4901  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4902  },
+
4903  // -8:00 - PST 2019 Jan 20 2:00
+
4904  {
+
4905  nullptr /*zonePolicy*/,
+
4906  "PST" /*format*/,
+
4907  -32 /*offsetCode*/,
+
4908  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4909  19 /*untilYearTiny*/,
+
4910  1 /*untilMonth*/,
+
4911  20 /*untilDay*/,
+
4912  8 /*untilTimeCode*/,
+
4913  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4914  },
+
4915  // -9:00 US AK%sT
+
4916  {
+
4917  &kPolicyUS /*zonePolicy*/,
+
4918  "AK%T" /*format*/,
+
4919  -36 /*offsetCode*/,
+
4920  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4921  127 /*untilYearTiny*/,
+
4922  1 /*untilMonth*/,
+
4923  1 /*untilDay*/,
+
4924  0 /*untilTimeCode*/,
+
4925  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4926  },
+
4927 
+
4928 };
+
4929 
+
4930 static const char kZoneNameAmerica_Metlakatla[] ACE_TIME_PROGMEM = "America/Metlakatla";
+
4931 
+
4932 const extended::ZoneInfo kZoneAmerica_Metlakatla ACE_TIME_PROGMEM = {
+
4933  kZoneNameAmerica_Metlakatla /*name*/,
+
4934  0x84de2686 /*zoneId*/,
+
4935  &kZoneContext /*zoneContext*/,
+
4936  6 /*transitionBufSize*/,
+
4937  4 /*numEras*/,
+
4938  kZoneEraAmerica_Metlakatla /*eras*/,
+
4939 };
+
4940 
+
4941 //---------------------------------------------------------------------------
+
4942 // Zone name: America/Mexico_City
+
4943 // Zone Eras: 3
+
4944 // Strings (bytes): 32
+
4945 // Memory (8-bit): 77
+
4946 // Memory (32-bit): 100
+
4947 //---------------------------------------------------------------------------
+
4948 
+
4949 static const extended::ZoneEra kZoneEraAmerica_Mexico_City[] ACE_TIME_PROGMEM = {
+
4950  // -6:00 Mexico C%sT 2001 Sep 30 2:00
+
4951  {
+
4952  &kPolicyMexico /*zonePolicy*/,
+
4953  "C%T" /*format*/,
+
4954  -24 /*offsetCode*/,
+
4955  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4956  1 /*untilYearTiny*/,
+
4957  9 /*untilMonth*/,
+
4958  30 /*untilDay*/,
+
4959  8 /*untilTimeCode*/,
+
4960  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4961  },
+
4962  // -6:00 - CST 2002 Feb 20
+
4963  {
+
4964  nullptr /*zonePolicy*/,
+
4965  "CST" /*format*/,
+
4966  -24 /*offsetCode*/,
+
4967  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4968  2 /*untilYearTiny*/,
+
4969  2 /*untilMonth*/,
+
4970  20 /*untilDay*/,
+
4971  0 /*untilTimeCode*/,
+
4972  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4973  },
+
4974  // -6:00 Mexico C%sT
+
4975  {
+
4976  &kPolicyMexico /*zonePolicy*/,
+
4977  "C%T" /*format*/,
+
4978  -24 /*offsetCode*/,
+
4979  (0 << 4) + (0 + 4) /*deltaCode*/,
+
4980  127 /*untilYearTiny*/,
+
4981  1 /*untilMonth*/,
+
4982  1 /*untilDay*/,
+
4983  0 /*untilTimeCode*/,
+
4984  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
4985  },
+
4986 
+
4987 };
+
4988 
+
4989 static const char kZoneNameAmerica_Mexico_City[] ACE_TIME_PROGMEM = "America/Mexico_City";
+
4990 
+
4991 const extended::ZoneInfo kZoneAmerica_Mexico_City ACE_TIME_PROGMEM = {
+
4992  kZoneNameAmerica_Mexico_City /*name*/,
+
4993  0xd0d93f43 /*zoneId*/,
+
4994  &kZoneContext /*zoneContext*/,
+
4995  5 /*transitionBufSize*/,
+
4996  3 /*numEras*/,
+
4997  kZoneEraAmerica_Mexico_City /*eras*/,
+
4998 };
+
4999 
+
5000 //---------------------------------------------------------------------------
+
5001 // Zone name: America/Miquelon
+
5002 // Zone Eras: 1
+
5003 // Strings (bytes): 25
+
5004 // Memory (8-bit): 48
+
5005 // Memory (32-bit): 61
+
5006 //---------------------------------------------------------------------------
+
5007 
+
5008 static const extended::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
+
5009  // -3:00 Canada -03/-02
+
5010  {
+
5011  &kPolicyCanada /*zonePolicy*/,
+
5012  "-03/-02" /*format*/,
+
5013  -12 /*offsetCode*/,
+
5014  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5015  127 /*untilYearTiny*/,
+
5016  1 /*untilMonth*/,
+
5017  1 /*untilDay*/,
+
5018  0 /*untilTimeCode*/,
+
5019  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5020  },
+
5021 
+
5022 };
+
5023 
+
5024 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "America/Miquelon";
+
5025 
+
5026 const extended::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
+
5027  kZoneNameAmerica_Miquelon /*name*/,
+
5028  0x59674330 /*zoneId*/,
+
5029  &kZoneContext /*zoneContext*/,
+
5030  6 /*transitionBufSize*/,
+
5031  1 /*numEras*/,
+
5032  kZoneEraAmerica_Miquelon /*eras*/,
+
5033 };
+
5034 
+
5035 //---------------------------------------------------------------------------
+
5036 // Zone name: America/Moncton
+
5037 // Zone Eras: 2
+
5038 // Strings (bytes): 24
+
5039 // Memory (8-bit): 58
+
5040 // Memory (32-bit): 76
+
5041 //---------------------------------------------------------------------------
+
5042 
+
5043 static const extended::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
+
5044  // -4:00 Moncton A%sT 2007
+
5045  {
+
5046  &kPolicyMoncton /*zonePolicy*/,
+
5047  "A%T" /*format*/,
+
5048  -16 /*offsetCode*/,
+
5049  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5050  7 /*untilYearTiny*/,
+
5051  1 /*untilMonth*/,
+
5052  1 /*untilDay*/,
+
5053  0 /*untilTimeCode*/,
+
5054  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5055  },
+
5056  // -4:00 Canada A%sT
+
5057  {
+
5058  &kPolicyCanada /*zonePolicy*/,
+
5059  "A%T" /*format*/,
+
5060  -16 /*offsetCode*/,
+
5061  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5062  127 /*untilYearTiny*/,
+
5063  1 /*untilMonth*/,
+
5064  1 /*untilDay*/,
+
5065  0 /*untilTimeCode*/,
+
5066  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5067  },
+
5068 
+
5069 };
+
5070 
+
5071 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "America/Moncton";
+
5072 
+
5073 const extended::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
+
5074  kZoneNameAmerica_Moncton /*name*/,
+
5075  0x5e07fe24 /*zoneId*/,
+
5076  &kZoneContext /*zoneContext*/,
+
5077  6 /*transitionBufSize*/,
+
5078  2 /*numEras*/,
+
5079  kZoneEraAmerica_Moncton /*eras*/,
+
5080 };
+
5081 
+
5082 //---------------------------------------------------------------------------
+
5083 // Zone name: America/Monterrey
+
5084 // Zone Eras: 1
+
5085 // Strings (bytes): 22
+
5086 // Memory (8-bit): 45
+
5087 // Memory (32-bit): 58
+
5088 //---------------------------------------------------------------------------
+
5089 
+
5090 static const extended::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
+
5091  // -6:00 Mexico C%sT
+
5092  {
+
5093  &kPolicyMexico /*zonePolicy*/,
+
5094  "C%T" /*format*/,
+
5095  -24 /*offsetCode*/,
+
5096  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5097  127 /*untilYearTiny*/,
+
5098  1 /*untilMonth*/,
+
5099  1 /*untilDay*/,
+
5100  0 /*untilTimeCode*/,
+
5101  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5102  },
+
5103 
+
5104 };
+
5105 
+
5106 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "America/Monterrey";
+
5107 
+
5108 const extended::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
+
5109  kZoneNameAmerica_Monterrey /*name*/,
+
5110  0x269a1deb /*zoneId*/,
+
5111  &kZoneContext /*zoneContext*/,
+
5112  4 /*transitionBufSize*/,
+
5113  1 /*numEras*/,
+
5114  kZoneEraAmerica_Monterrey /*eras*/,
+
5115 };
+
5116 
+
5117 //---------------------------------------------------------------------------
+
5118 // Zone name: America/Montevideo
+
5119 // Zone Eras: 1
+
5120 // Strings (bytes): 27
+
5121 // Memory (8-bit): 50
+
5122 // Memory (32-bit): 63
+
5123 //---------------------------------------------------------------------------
+
5124 
+
5125 static const extended::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
+
5126  // -3:00 Uruguay -03/-02
+
5127  {
+
5128  &kPolicyUruguay /*zonePolicy*/,
+
5129  "-03/-02" /*format*/,
+
5130  -12 /*offsetCode*/,
+
5131  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5132  127 /*untilYearTiny*/,
+
5133  1 /*untilMonth*/,
+
5134  1 /*untilDay*/,
+
5135  0 /*untilTimeCode*/,
+
5136  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5137  },
+
5138 
+
5139 };
+
5140 
+
5141 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "America/Montevideo";
+
5142 
+
5143 const extended::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
+
5144  kZoneNameAmerica_Montevideo /*name*/,
+
5145  0xfa214780 /*zoneId*/,
+
5146  &kZoneContext /*zoneContext*/,
+
5147  5 /*transitionBufSize*/,
+
5148  1 /*numEras*/,
+
5149  kZoneEraAmerica_Montevideo /*eras*/,
+
5150 };
+
5151 
+
5152 //---------------------------------------------------------------------------
+
5153 // Zone name: America/Nassau
+
5154 // Zone Eras: 1
+
5155 // Strings (bytes): 19
+
5156 // Memory (8-bit): 42
+
5157 // Memory (32-bit): 55
+
5158 //---------------------------------------------------------------------------
+
5159 
+
5160 static const extended::ZoneEra kZoneEraAmerica_Nassau[] ACE_TIME_PROGMEM = {
+
5161  // -5:00 US E%sT
+
5162  {
+
5163  &kPolicyUS /*zonePolicy*/,
+
5164  "E%T" /*format*/,
+
5165  -20 /*offsetCode*/,
+
5166  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5167  127 /*untilYearTiny*/,
+
5168  1 /*untilMonth*/,
+
5169  1 /*untilDay*/,
+
5170  0 /*untilTimeCode*/,
+
5171  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5172  },
+
5173 
+
5174 };
+
5175 
+
5176 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "America/Nassau";
+
5177 
+
5178 const extended::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
+
5179  kZoneNameAmerica_Nassau /*name*/,
+
5180  0xaedef011 /*zoneId*/,
+
5181  &kZoneContext /*zoneContext*/,
+
5182  6 /*transitionBufSize*/,
+
5183  1 /*numEras*/,
+
5184  kZoneEraAmerica_Nassau /*eras*/,
+
5185 };
+
5186 
+
5187 //---------------------------------------------------------------------------
+
5188 // Zone name: America/New_York
+
5189 // Zone Eras: 1
+
5190 // Strings (bytes): 21
+
5191 // Memory (8-bit): 44
+
5192 // Memory (32-bit): 57
+
5193 //---------------------------------------------------------------------------
+
5194 
+
5195 static const extended::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
+
5196  // -5:00 US E%sT
+
5197  {
+
5198  &kPolicyUS /*zonePolicy*/,
+
5199  "E%T" /*format*/,
+
5200  -20 /*offsetCode*/,
+
5201  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5202  127 /*untilYearTiny*/,
+
5203  1 /*untilMonth*/,
+
5204  1 /*untilDay*/,
+
5205  0 /*untilTimeCode*/,
+
5206  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5207  },
+
5208 
+
5209 };
+
5210 
+
5211 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "America/New_York";
+
5212 
+
5213 const extended::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
+
5214  kZoneNameAmerica_New_York /*name*/,
+
5215  0x1e2a7654 /*zoneId*/,
+
5216  &kZoneContext /*zoneContext*/,
+
5217  6 /*transitionBufSize*/,
+
5218  1 /*numEras*/,
+
5219  kZoneEraAmerica_New_York /*eras*/,
+
5220 };
+
5221 
+
5222 //---------------------------------------------------------------------------
+
5223 // Zone name: America/Nipigon
+
5224 // Zone Eras: 1
+
5225 // Strings (bytes): 20
+
5226 // Memory (8-bit): 43
+
5227 // Memory (32-bit): 56
+
5228 //---------------------------------------------------------------------------
+
5229 
+
5230 static const extended::ZoneEra kZoneEraAmerica_Nipigon[] ACE_TIME_PROGMEM = {
+
5231  // -5:00 Canada E%sT
+
5232  {
+
5233  &kPolicyCanada /*zonePolicy*/,
+
5234  "E%T" /*format*/,
+
5235  -20 /*offsetCode*/,
+
5236  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5237  127 /*untilYearTiny*/,
+
5238  1 /*untilMonth*/,
+
5239  1 /*untilDay*/,
+
5240  0 /*untilTimeCode*/,
+
5241  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5242  },
+
5243 
+
5244 };
+
5245 
+
5246 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "America/Nipigon";
+
5247 
+
5248 const extended::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
+
5249  kZoneNameAmerica_Nipigon /*name*/,
+
5250  0x9d2a8b1a /*zoneId*/,
+
5251  &kZoneContext /*zoneContext*/,
+
5252  6 /*transitionBufSize*/,
+
5253  1 /*numEras*/,
+
5254  kZoneEraAmerica_Nipigon /*eras*/,
+
5255 };
+
5256 
+
5257 //---------------------------------------------------------------------------
+
5258 // Zone name: America/Nome
+
5259 // Zone Eras: 1
+
5260 // Strings (bytes): 18
+
5261 // Memory (8-bit): 41
+
5262 // Memory (32-bit): 54
+
5263 //---------------------------------------------------------------------------
+
5264 
+
5265 static const extended::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
+
5266  // -9:00 US AK%sT
+
5267  {
+
5268  &kPolicyUS /*zonePolicy*/,
+
5269  "AK%T" /*format*/,
+
5270  -36 /*offsetCode*/,
+
5271  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5272  127 /*untilYearTiny*/,
+
5273  1 /*untilMonth*/,
+
5274  1 /*untilDay*/,
+
5275  0 /*untilTimeCode*/,
+
5276  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5277  },
+
5278 
+
5279 };
+
5280 
+
5281 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "America/Nome";
+
5282 
+
5283 const extended::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
+
5284  kZoneNameAmerica_Nome /*name*/,
+
5285  0x98059b15 /*zoneId*/,
+
5286  &kZoneContext /*zoneContext*/,
+
5287  6 /*transitionBufSize*/,
+
5288  1 /*numEras*/,
+
5289  kZoneEraAmerica_Nome /*eras*/,
+
5290 };
+
5291 
+
5292 //---------------------------------------------------------------------------
+
5293 // Zone name: America/Noronha
+
5294 // Zone Eras: 5
+
5295 // Strings (bytes): 44
+
5296 // Memory (8-bit): 111
+
5297 // Memory (32-bit): 144
+
5298 //---------------------------------------------------------------------------
+
5299 
+
5300 static const extended::ZoneEra kZoneEraAmerica_Noronha[] ACE_TIME_PROGMEM = {
+
5301  // -2:00 - -02 1999 Sep 30
+
5302  {
+
5303  nullptr /*zonePolicy*/,
+
5304  "-02" /*format*/,
+
5305  -8 /*offsetCode*/,
+
5306  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5307  -1 /*untilYearTiny*/,
+
5308  9 /*untilMonth*/,
+
5309  30 /*untilDay*/,
+
5310  0 /*untilTimeCode*/,
+
5311  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5312  },
+
5313  // -2:00 Brazil -02/-01 2000 Oct 15
+
5314  {
+
5315  &kPolicyBrazil /*zonePolicy*/,
+
5316  "-02/-01" /*format*/,
+
5317  -8 /*offsetCode*/,
+
5318  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5319  0 /*untilYearTiny*/,
+
5320  10 /*untilMonth*/,
+
5321  15 /*untilDay*/,
+
5322  0 /*untilTimeCode*/,
+
5323  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5324  },
+
5325  // -2:00 - -02 2001 Sep 13
+
5326  {
+
5327  nullptr /*zonePolicy*/,
+
5328  "-02" /*format*/,
+
5329  -8 /*offsetCode*/,
+
5330  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5331  1 /*untilYearTiny*/,
+
5332  9 /*untilMonth*/,
+
5333  13 /*untilDay*/,
+
5334  0 /*untilTimeCode*/,
+
5335  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5336  },
+
5337  // -2:00 Brazil -02/-01 2002 Oct 1
+
5338  {
+
5339  &kPolicyBrazil /*zonePolicy*/,
+
5340  "-02/-01" /*format*/,
+
5341  -8 /*offsetCode*/,
+
5342  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5343  2 /*untilYearTiny*/,
+
5344  10 /*untilMonth*/,
+
5345  1 /*untilDay*/,
+
5346  0 /*untilTimeCode*/,
+
5347  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5348  },
+
5349  // -2:00 - -02
+
5350  {
+
5351  nullptr /*zonePolicy*/,
+
5352  "-02" /*format*/,
+
5353  -8 /*offsetCode*/,
+
5354  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5355  127 /*untilYearTiny*/,
+
5356  1 /*untilMonth*/,
+
5357  1 /*untilDay*/,
+
5358  0 /*untilTimeCode*/,
+
5359  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5360  },
+
5361 
+
5362 };
+
5363 
+
5364 static const char kZoneNameAmerica_Noronha[] ACE_TIME_PROGMEM = "America/Noronha";
+
5365 
+
5366 const extended::ZoneInfo kZoneAmerica_Noronha ACE_TIME_PROGMEM = {
+
5367  kZoneNameAmerica_Noronha /*name*/,
+
5368  0xab5116fb /*zoneId*/,
+
5369  &kZoneContext /*zoneContext*/,
+
5370  5 /*transitionBufSize*/,
+
5371  5 /*numEras*/,
+
5372  kZoneEraAmerica_Noronha /*eras*/,
+
5373 };
+
5374 
+
5375 //---------------------------------------------------------------------------
+
5376 // Zone name: America/North_Dakota/Beulah
+
5377 // Zone Eras: 2
+
5378 // Strings (bytes): 36
+
5379 // Memory (8-bit): 70
+
5380 // Memory (32-bit): 88
+
5381 //---------------------------------------------------------------------------
+
5382 
+
5383 static const extended::ZoneEra kZoneEraAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = {
+
5384  // -7:00 US M%sT 2010 Nov 7 2:00
+
5385  {
+
5386  &kPolicyUS /*zonePolicy*/,
+
5387  "M%T" /*format*/,
+
5388  -28 /*offsetCode*/,
+
5389  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5390  10 /*untilYearTiny*/,
+
5391  11 /*untilMonth*/,
+
5392  7 /*untilDay*/,
+
5393  8 /*untilTimeCode*/,
+
5394  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5395  },
+
5396  // -6:00 US C%sT
+
5397  {
+
5398  &kPolicyUS /*zonePolicy*/,
+
5399  "C%T" /*format*/,
+
5400  -24 /*offsetCode*/,
+
5401  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5402  127 /*untilYearTiny*/,
+
5403  1 /*untilMonth*/,
+
5404  1 /*untilDay*/,
+
5405  0 /*untilTimeCode*/,
+
5406  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5407  },
+
5408 
+
5409 };
+
5410 
+
5411 static const char kZoneNameAmerica_North_Dakota_Beulah[] ACE_TIME_PROGMEM = "America/North_Dakota/Beulah";
+
5412 
+
5413 const extended::ZoneInfo kZoneAmerica_North_Dakota_Beulah ACE_TIME_PROGMEM = {
+
5414  kZoneNameAmerica_North_Dakota_Beulah /*name*/,
+
5415  0x9b52b384 /*zoneId*/,
+
5416  &kZoneContext /*zoneContext*/,
+
5417  6 /*transitionBufSize*/,
+
5418  2 /*numEras*/,
+
5419  kZoneEraAmerica_North_Dakota_Beulah /*eras*/,
+
5420 };
+
5421 
+
5422 //---------------------------------------------------------------------------
+
5423 // Zone name: America/North_Dakota/Center
+
5424 // Zone Eras: 1
+
5425 // Strings (bytes): 32
+
5426 // Memory (8-bit): 55
+
5427 // Memory (32-bit): 68
+
5428 //---------------------------------------------------------------------------
+
5429 
+
5430 static const extended::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
+
5431  // -6:00 US C%sT
+
5432  {
+
5433  &kPolicyUS /*zonePolicy*/,
+
5434  "C%T" /*format*/,
+
5435  -24 /*offsetCode*/,
+
5436  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5437  127 /*untilYearTiny*/,
+
5438  1 /*untilMonth*/,
+
5439  1 /*untilDay*/,
+
5440  0 /*untilTimeCode*/,
+
5441  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5442  },
+
5443 
+
5444 };
+
5445 
+
5446 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "America/North_Dakota/Center";
+
5447 
+
5448 const extended::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
+
5449  kZoneNameAmerica_North_Dakota_Center /*name*/,
+
5450  0x9da42814 /*zoneId*/,
+
5451  &kZoneContext /*zoneContext*/,
+
5452  6 /*transitionBufSize*/,
+
5453  1 /*numEras*/,
+
5454  kZoneEraAmerica_North_Dakota_Center /*eras*/,
+
5455 };
+
5456 
+
5457 //---------------------------------------------------------------------------
+
5458 // Zone name: America/North_Dakota/New_Salem
+
5459 // Zone Eras: 2
+
5460 // Strings (bytes): 39
+
5461 // Memory (8-bit): 73
+
5462 // Memory (32-bit): 91
+
5463 //---------------------------------------------------------------------------
+
5464 
+
5465 static const extended::ZoneEra kZoneEraAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = {
+
5466  // -7:00 US M%sT 2003 Oct 26 2:00
+
5467  {
+
5468  &kPolicyUS /*zonePolicy*/,
+
5469  "M%T" /*format*/,
+
5470  -28 /*offsetCode*/,
+
5471  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5472  3 /*untilYearTiny*/,
+
5473  10 /*untilMonth*/,
+
5474  26 /*untilDay*/,
+
5475  8 /*untilTimeCode*/,
+
5476  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5477  },
+
5478  // -6:00 US C%sT
+
5479  {
+
5480  &kPolicyUS /*zonePolicy*/,
+
5481  "C%T" /*format*/,
+
5482  -24 /*offsetCode*/,
+
5483  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5484  127 /*untilYearTiny*/,
+
5485  1 /*untilMonth*/,
+
5486  1 /*untilDay*/,
+
5487  0 /*untilTimeCode*/,
+
5488  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5489  },
+
5490 
+
5491 };
+
5492 
+
5493 static const char kZoneNameAmerica_North_Dakota_New_Salem[] ACE_TIME_PROGMEM = "America/North_Dakota/New_Salem";
+
5494 
+
5495 const extended::ZoneInfo kZoneAmerica_North_Dakota_New_Salem ACE_TIME_PROGMEM = {
+
5496  kZoneNameAmerica_North_Dakota_New_Salem /*name*/,
+
5497  0x04f9958e /*zoneId*/,
+
5498  &kZoneContext /*zoneContext*/,
+
5499  6 /*transitionBufSize*/,
+
5500  2 /*numEras*/,
+
5501  kZoneEraAmerica_North_Dakota_New_Salem /*eras*/,
+
5502 };
+
5503 
+
5504 //---------------------------------------------------------------------------
+
5505 // Zone name: America/Nuuk
+
5506 // Zone Eras: 1
+
5507 // Strings (bytes): 21
+
5508 // Memory (8-bit): 44
+
5509 // Memory (32-bit): 57
+
5510 //---------------------------------------------------------------------------
+
5511 
+
5512 static const extended::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
+
5513  // -3:00 EU -03/-02
+
5514  {
+
5515  &kPolicyEU /*zonePolicy*/,
+
5516  "-03/-02" /*format*/,
+
5517  -12 /*offsetCode*/,
+
5518  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5519  127 /*untilYearTiny*/,
+
5520  1 /*untilMonth*/,
+
5521  1 /*untilDay*/,
+
5522  0 /*untilTimeCode*/,
+
5523  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5524  },
+
5525 
+
5526 };
+
5527 
+
5528 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "America/Nuuk";
+
5529 
+
5530 const extended::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
+
5531  kZoneNameAmerica_Nuuk /*name*/,
+
5532  0x9805b5a9 /*zoneId*/,
+
5533  &kZoneContext /*zoneContext*/,
+
5534  5 /*transitionBufSize*/,
+
5535  1 /*numEras*/,
+
5536  kZoneEraAmerica_Nuuk /*eras*/,
+
5537 };
+
5538 
+
5539 //---------------------------------------------------------------------------
+
5540 // Zone name: America/Ojinaga
+
5541 // Zone Eras: 2
+
5542 // Strings (bytes): 24
+
5543 // Memory (8-bit): 58
+
5544 // Memory (32-bit): 76
+
5545 //---------------------------------------------------------------------------
+
5546 
+
5547 static const extended::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
+
5548  // -7:00 Mexico M%sT 2010
+
5549  {
+
5550  &kPolicyMexico /*zonePolicy*/,
+
5551  "M%T" /*format*/,
+
5552  -28 /*offsetCode*/,
+
5553  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5554  10 /*untilYearTiny*/,
+
5555  1 /*untilMonth*/,
+
5556  1 /*untilDay*/,
+
5557  0 /*untilTimeCode*/,
+
5558  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5559  },
+
5560  // -7:00 US M%sT
+
5561  {
+
5562  &kPolicyUS /*zonePolicy*/,
+
5563  "M%T" /*format*/,
+
5564  -28 /*offsetCode*/,
+
5565  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5566  127 /*untilYearTiny*/,
+
5567  1 /*untilMonth*/,
+
5568  1 /*untilDay*/,
+
5569  0 /*untilTimeCode*/,
+
5570  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5571  },
+
5572 
+
5573 };
+
5574 
+
5575 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "America/Ojinaga";
+
5576 
+
5577 const extended::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
+
5578  kZoneNameAmerica_Ojinaga /*name*/,
+
5579  0xebfde83f /*zoneId*/,
+
5580  &kZoneContext /*zoneContext*/,
+
5581  6 /*transitionBufSize*/,
+
5582  2 /*numEras*/,
+
5583  kZoneEraAmerica_Ojinaga /*eras*/,
+
5584 };
+
5585 
+
5586 //---------------------------------------------------------------------------
+
5587 // Zone name: America/Panama
+
5588 // Zone Eras: 1
+
5589 // Strings (bytes): 19
+
5590 // Memory (8-bit): 42
+
5591 // Memory (32-bit): 55
+
5592 //---------------------------------------------------------------------------
+
5593 
+
5594 static const extended::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
+
5595  // -5:00 - EST
+
5596  {
+
5597  nullptr /*zonePolicy*/,
+
5598  "EST" /*format*/,
+
5599  -20 /*offsetCode*/,
+
5600  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5601  127 /*untilYearTiny*/,
+
5602  1 /*untilMonth*/,
+
5603  1 /*untilDay*/,
+
5604  0 /*untilTimeCode*/,
+
5605  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5606  },
+
5607 
+
5608 };
+
5609 
+
5610 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "America/Panama";
+
5611 
+
5612 const extended::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
+
5613  kZoneNameAmerica_Panama /*name*/,
+
5614  0xb3863854 /*zoneId*/,
+
5615  &kZoneContext /*zoneContext*/,
+
5616  2 /*transitionBufSize*/,
+
5617  1 /*numEras*/,
+
5618  kZoneEraAmerica_Panama /*eras*/,
+
5619 };
+
5620 
+
5621 //---------------------------------------------------------------------------
+
5622 // Zone name: America/Pangnirtung
+
5623 // Zone Eras: 3
+
5624 // Strings (bytes): 32
+
5625 // Memory (8-bit): 77
+
5626 // Memory (32-bit): 100
+
5627 //---------------------------------------------------------------------------
+
5628 
+
5629 static const extended::ZoneEra kZoneEraAmerica_Pangnirtung[] ACE_TIME_PROGMEM = {
+
5630  // -5:00 Canada E%sT 1999 Oct 31 2:00
+
5631  {
+
5632  &kPolicyCanada /*zonePolicy*/,
+
5633  "E%T" /*format*/,
+
5634  -20 /*offsetCode*/,
+
5635  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5636  -1 /*untilYearTiny*/,
+
5637  10 /*untilMonth*/,
+
5638  31 /*untilDay*/,
+
5639  8 /*untilTimeCode*/,
+
5640  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5641  },
+
5642  // -6:00 Canada C%sT 2000 Oct 29 2:00
+
5643  {
+
5644  &kPolicyCanada /*zonePolicy*/,
+
5645  "C%T" /*format*/,
+
5646  -24 /*offsetCode*/,
+
5647  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5648  0 /*untilYearTiny*/,
+
5649  10 /*untilMonth*/,
+
5650  29 /*untilDay*/,
+
5651  8 /*untilTimeCode*/,
+
5652  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5653  },
+
5654  // -5:00 Canada E%sT
+
5655  {
+
5656  &kPolicyCanada /*zonePolicy*/,
+
5657  "E%T" /*format*/,
+
5658  -20 /*offsetCode*/,
+
5659  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5660  127 /*untilYearTiny*/,
+
5661  1 /*untilMonth*/,
+
5662  1 /*untilDay*/,
+
5663  0 /*untilTimeCode*/,
+
5664  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5665  },
+
5666 
+
5667 };
+
5668 
+
5669 static const char kZoneNameAmerica_Pangnirtung[] ACE_TIME_PROGMEM = "America/Pangnirtung";
+
5670 
+
5671 const extended::ZoneInfo kZoneAmerica_Pangnirtung ACE_TIME_PROGMEM = {
+
5672  kZoneNameAmerica_Pangnirtung /*name*/,
+
5673  0x2d999193 /*zoneId*/,
+
5674  &kZoneContext /*zoneContext*/,
+
5675  6 /*transitionBufSize*/,
+
5676  3 /*numEras*/,
+
5677  kZoneEraAmerica_Pangnirtung /*eras*/,
+
5678 };
+
5679 
+
5680 //---------------------------------------------------------------------------
+
5681 // Zone name: America/Paramaribo
+
5682 // Zone Eras: 1
+
5683 // Strings (bytes): 23
+
5684 // Memory (8-bit): 46
+
5685 // Memory (32-bit): 59
+
5686 //---------------------------------------------------------------------------
+
5687 
+
5688 static const extended::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
+
5689  // -3:00 - -03
+
5690  {
+
5691  nullptr /*zonePolicy*/,
+
5692  "-03" /*format*/,
+
5693  -12 /*offsetCode*/,
+
5694  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5695  127 /*untilYearTiny*/,
+
5696  1 /*untilMonth*/,
+
5697  1 /*untilDay*/,
+
5698  0 /*untilTimeCode*/,
+
5699  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5700  },
+
5701 
+
5702 };
+
5703 
+
5704 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "America/Paramaribo";
+
5705 
+
5706 const extended::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
+
5707  kZoneNameAmerica_Paramaribo /*name*/,
+
5708  0xb319e4c4 /*zoneId*/,
+
5709  &kZoneContext /*zoneContext*/,
+
5710  2 /*transitionBufSize*/,
+
5711  1 /*numEras*/,
+
5712  kZoneEraAmerica_Paramaribo /*eras*/,
+
5713 };
+
5714 
+
5715 //---------------------------------------------------------------------------
+
5716 // Zone name: America/Phoenix
+
5717 // Zone Eras: 1
+
5718 // Strings (bytes): 20
+
5719 // Memory (8-bit): 43
+
5720 // Memory (32-bit): 56
+
5721 //---------------------------------------------------------------------------
+
5722 
+
5723 static const extended::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
+
5724  // -7:00 - MST
+
5725  {
+
5726  nullptr /*zonePolicy*/,
+
5727  "MST" /*format*/,
+
5728  -28 /*offsetCode*/,
+
5729  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5730  127 /*untilYearTiny*/,
+
5731  1 /*untilMonth*/,
+
5732  1 /*untilDay*/,
+
5733  0 /*untilTimeCode*/,
+
5734  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5735  },
+
5736 
+
5737 };
+
5738 
+
5739 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "America/Phoenix";
+
5740 
+
5741 const extended::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
+
5742  kZoneNameAmerica_Phoenix /*name*/,
+
5743  0x34b5af01 /*zoneId*/,
+
5744  &kZoneContext /*zoneContext*/,
+
5745  2 /*transitionBufSize*/,
+
5746  1 /*numEras*/,
+
5747  kZoneEraAmerica_Phoenix /*eras*/,
+
5748 };
+
5749 
+
5750 //---------------------------------------------------------------------------
+
5751 // Zone name: America/Port-au-Prince
+
5752 // Zone Eras: 1
+
5753 // Strings (bytes): 27
+
5754 // Memory (8-bit): 50
+
5755 // Memory (32-bit): 63
+
5756 //---------------------------------------------------------------------------
+
5757 
+
5758 static const extended::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
+
5759  // -5:00 Haiti E%sT
+
5760  {
+
5761  &kPolicyHaiti /*zonePolicy*/,
+
5762  "E%T" /*format*/,
+
5763  -20 /*offsetCode*/,
+
5764  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5765  127 /*untilYearTiny*/,
+
5766  1 /*untilMonth*/,
+
5767  1 /*untilDay*/,
+
5768  0 /*untilTimeCode*/,
+
5769  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5770  },
+
5771 
+
5772 };
+
5773 
+
5774 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "America/Port-au-Prince";
+
5775 
+
5776 const extended::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
+
5777  kZoneNameAmerica_Port_au_Prince /*name*/,
+
5778  0x8e4a7bdc /*zoneId*/,
+
5779  &kZoneContext /*zoneContext*/,
+
5780  6 /*transitionBufSize*/,
+
5781  1 /*numEras*/,
+
5782  kZoneEraAmerica_Port_au_Prince /*eras*/,
+
5783 };
+
5784 
+
5785 //---------------------------------------------------------------------------
+
5786 // Zone name: America/Port_of_Spain
+
5787 // Zone Eras: 1
+
5788 // Strings (bytes): 26
+
5789 // Memory (8-bit): 49
+
5790 // Memory (32-bit): 62
+
5791 //---------------------------------------------------------------------------
+
5792 
+
5793 static const extended::ZoneEra kZoneEraAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = {
+
5794  // -4:00 - AST
+
5795  {
+
5796  nullptr /*zonePolicy*/,
+
5797  "AST" /*format*/,
+
5798  -16 /*offsetCode*/,
+
5799  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5800  127 /*untilYearTiny*/,
+
5801  1 /*untilMonth*/,
+
5802  1 /*untilDay*/,
+
5803  0 /*untilTimeCode*/,
+
5804  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5805  },
+
5806 
+
5807 };
+
5808 
+
5809 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "America/Port_of_Spain";
+
5810 
+
5811 const extended::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
+
5812  kZoneNameAmerica_Port_of_Spain /*name*/,
+
5813  0xd8b28d59 /*zoneId*/,
+
5814  &kZoneContext /*zoneContext*/,
+
5815  2 /*transitionBufSize*/,
+
5816  1 /*numEras*/,
+
5817  kZoneEraAmerica_Port_of_Spain /*eras*/,
+
5818 };
+
5819 
+
5820 //---------------------------------------------------------------------------
+
5821 // Zone name: America/Porto_Velho
+
5822 // Zone Eras: 1
+
5823 // Strings (bytes): 24
+
5824 // Memory (8-bit): 47
+
5825 // Memory (32-bit): 60
+
5826 //---------------------------------------------------------------------------
+
5827 
+
5828 static const extended::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
+
5829  // -4:00 - -04
+
5830  {
+
5831  nullptr /*zonePolicy*/,
+
5832  "-04" /*format*/,
+
5833  -16 /*offsetCode*/,
+
5834  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5835  127 /*untilYearTiny*/,
+
5836  1 /*untilMonth*/,
+
5837  1 /*untilDay*/,
+
5838  0 /*untilTimeCode*/,
+
5839  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5840  },
+
5841 
+
5842 };
+
5843 
+
5844 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "America/Porto_Velho";
+
5845 
+
5846 const extended::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
+
5847  kZoneNameAmerica_Porto_Velho /*name*/,
+
5848  0x6b1aac77 /*zoneId*/,
+
5849  &kZoneContext /*zoneContext*/,
+
5850  2 /*transitionBufSize*/,
+
5851  1 /*numEras*/,
+
5852  kZoneEraAmerica_Porto_Velho /*eras*/,
+
5853 };
+
5854 
+
5855 //---------------------------------------------------------------------------
+
5856 // Zone name: America/Puerto_Rico
+
5857 // Zone Eras: 1
+
5858 // Strings (bytes): 24
+
5859 // Memory (8-bit): 47
+
5860 // Memory (32-bit): 60
+
5861 //---------------------------------------------------------------------------
+
5862 
+
5863 static const extended::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
+
5864  // -4:00 - AST
+
5865  {
+
5866  nullptr /*zonePolicy*/,
+
5867  "AST" /*format*/,
+
5868  -16 /*offsetCode*/,
+
5869  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5870  127 /*untilYearTiny*/,
+
5871  1 /*untilMonth*/,
+
5872  1 /*untilDay*/,
+
5873  0 /*untilTimeCode*/,
+
5874  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5875  },
+
5876 
+
5877 };
+
5878 
+
5879 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "America/Puerto_Rico";
+
5880 
+
5881 const extended::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
+
5882  kZoneNameAmerica_Puerto_Rico /*name*/,
+
5883  0x6752ca31 /*zoneId*/,
+
5884  &kZoneContext /*zoneContext*/,
+
5885  2 /*transitionBufSize*/,
+
5886  1 /*numEras*/,
+
5887  kZoneEraAmerica_Puerto_Rico /*eras*/,
+
5888 };
+
5889 
+
5890 //---------------------------------------------------------------------------
+
5891 // Zone name: America/Punta_Arenas
+
5892 // Zone Eras: 2
+
5893 // Strings (bytes): 33
+
5894 // Memory (8-bit): 67
+
5895 // Memory (32-bit): 85
+
5896 //---------------------------------------------------------------------------
+
5897 
+
5898 static const extended::ZoneEra kZoneEraAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = {
+
5899  // -4:00 Chile -04/-03 2016 Dec 4
+
5900  {
+
5901  &kPolicyChile /*zonePolicy*/,
+
5902  "-04/-03" /*format*/,
+
5903  -16 /*offsetCode*/,
+
5904  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5905  16 /*untilYearTiny*/,
+
5906  12 /*untilMonth*/,
+
5907  4 /*untilDay*/,
+
5908  0 /*untilTimeCode*/,
+
5909  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5910  },
+
5911  // -3:00 - -03
+
5912  {
+
5913  nullptr /*zonePolicy*/,
+
5914  "-03" /*format*/,
+
5915  -12 /*offsetCode*/,
+
5916  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5917  127 /*untilYearTiny*/,
+
5918  1 /*untilMonth*/,
+
5919  1 /*untilDay*/,
+
5920  0 /*untilTimeCode*/,
+
5921  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5922  },
+
5923 
+
5924 };
+
5925 
+
5926 static const char kZoneNameAmerica_Punta_Arenas[] ACE_TIME_PROGMEM = "America/Punta_Arenas";
+
5927 
+
5928 const extended::ZoneInfo kZoneAmerica_Punta_Arenas ACE_TIME_PROGMEM = {
+
5929  kZoneNameAmerica_Punta_Arenas /*name*/,
+
5930  0xc2c3bce7 /*zoneId*/,
+
5931  &kZoneContext /*zoneContext*/,
+
5932  5 /*transitionBufSize*/,
+
5933  2 /*numEras*/,
+
5934  kZoneEraAmerica_Punta_Arenas /*eras*/,
+
5935 };
+
5936 
+
5937 //---------------------------------------------------------------------------
+
5938 // Zone name: America/Rainy_River
+
5939 // Zone Eras: 1
+
5940 // Strings (bytes): 24
+
5941 // Memory (8-bit): 47
+
5942 // Memory (32-bit): 60
+
5943 //---------------------------------------------------------------------------
+
5944 
+
5945 static const extended::ZoneEra kZoneEraAmerica_Rainy_River[] ACE_TIME_PROGMEM = {
+
5946  // -6:00 Canada C%sT
+
5947  {
+
5948  &kPolicyCanada /*zonePolicy*/,
+
5949  "C%T" /*format*/,
+
5950  -24 /*offsetCode*/,
+
5951  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5952  127 /*untilYearTiny*/,
+
5953  1 /*untilMonth*/,
+
5954  1 /*untilDay*/,
+
5955  0 /*untilTimeCode*/,
+
5956  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5957  },
+
5958 
+
5959 };
+
5960 
+
5961 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "America/Rainy_River";
+
5962 
+
5963 const extended::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
+
5964  kZoneNameAmerica_Rainy_River /*name*/,
+
5965  0x9cd58a10 /*zoneId*/,
+
5966  &kZoneContext /*zoneContext*/,
+
5967  6 /*transitionBufSize*/,
+
5968  1 /*numEras*/,
+
5969  kZoneEraAmerica_Rainy_River /*eras*/,
+
5970 };
+
5971 
+
5972 //---------------------------------------------------------------------------
+
5973 // Zone name: America/Rankin_Inlet
+
5974 // Zone Eras: 3
+
5975 // Strings (bytes): 33
+
5976 // Memory (8-bit): 78
+
5977 // Memory (32-bit): 101
+
5978 //---------------------------------------------------------------------------
+
5979 
+
5980 static const extended::ZoneEra kZoneEraAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = {
+
5981  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
+
5982  {
+
5983  &kPolicyNT_YK /*zonePolicy*/,
+
5984  "C%T" /*format*/,
+
5985  -24 /*offsetCode*/,
+
5986  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5987  0 /*untilYearTiny*/,
+
5988  10 /*untilMonth*/,
+
5989  29 /*untilDay*/,
+
5990  8 /*untilTimeCode*/,
+
5991  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
5992  },
+
5993  // -5:00 - EST 2001 Apr 1 3:00
+
5994  {
+
5995  nullptr /*zonePolicy*/,
+
5996  "EST" /*format*/,
+
5997  -20 /*offsetCode*/,
+
5998  (0 << 4) + (0 + 4) /*deltaCode*/,
+
5999  1 /*untilYearTiny*/,
+
6000  4 /*untilMonth*/,
+
6001  1 /*untilDay*/,
+
6002  12 /*untilTimeCode*/,
+
6003  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6004  },
+
6005  // -6:00 Canada C%sT
+
6006  {
+
6007  &kPolicyCanada /*zonePolicy*/,
+
6008  "C%T" /*format*/,
+
6009  -24 /*offsetCode*/,
+
6010  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6011  127 /*untilYearTiny*/,
+
6012  1 /*untilMonth*/,
+
6013  1 /*untilDay*/,
+
6014  0 /*untilTimeCode*/,
+
6015  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6016  },
+
6017 
+
6018 };
+
6019 
+
6020 static const char kZoneNameAmerica_Rankin_Inlet[] ACE_TIME_PROGMEM = "America/Rankin_Inlet";
+
6021 
+
6022 const extended::ZoneInfo kZoneAmerica_Rankin_Inlet ACE_TIME_PROGMEM = {
+
6023  kZoneNameAmerica_Rankin_Inlet /*name*/,
+
6024  0xc8de4984 /*zoneId*/,
+
6025  &kZoneContext /*zoneContext*/,
+
6026  6 /*transitionBufSize*/,
+
6027  3 /*numEras*/,
+
6028  kZoneEraAmerica_Rankin_Inlet /*eras*/,
+
6029 };
+
6030 
+
6031 //---------------------------------------------------------------------------
+
6032 // Zone name: America/Recife
+
6033 // Zone Eras: 5
+
6034 // Strings (bytes): 43
+
6035 // Memory (8-bit): 110
+
6036 // Memory (32-bit): 143
+
6037 //---------------------------------------------------------------------------
+
6038 
+
6039 static const extended::ZoneEra kZoneEraAmerica_Recife[] ACE_TIME_PROGMEM = {
+
6040  // -3:00 - -03 1999 Sep 30
+
6041  {
+
6042  nullptr /*zonePolicy*/,
+
6043  "-03" /*format*/,
+
6044  -12 /*offsetCode*/,
+
6045  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6046  -1 /*untilYearTiny*/,
+
6047  9 /*untilMonth*/,
+
6048  30 /*untilDay*/,
+
6049  0 /*untilTimeCode*/,
+
6050  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6051  },
+
6052  // -3:00 Brazil -03/-02 2000 Oct 15
+
6053  {
+
6054  &kPolicyBrazil /*zonePolicy*/,
+
6055  "-03/-02" /*format*/,
+
6056  -12 /*offsetCode*/,
+
6057  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6058  0 /*untilYearTiny*/,
+
6059  10 /*untilMonth*/,
+
6060  15 /*untilDay*/,
+
6061  0 /*untilTimeCode*/,
+
6062  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6063  },
+
6064  // -3:00 - -03 2001 Sep 13
+
6065  {
+
6066  nullptr /*zonePolicy*/,
+
6067  "-03" /*format*/,
+
6068  -12 /*offsetCode*/,
+
6069  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6070  1 /*untilYearTiny*/,
+
6071  9 /*untilMonth*/,
+
6072  13 /*untilDay*/,
+
6073  0 /*untilTimeCode*/,
+
6074  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6075  },
+
6076  // -3:00 Brazil -03/-02 2002 Oct 1
+
6077  {
+
6078  &kPolicyBrazil /*zonePolicy*/,
+
6079  "-03/-02" /*format*/,
+
6080  -12 /*offsetCode*/,
+
6081  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6082  2 /*untilYearTiny*/,
+
6083  10 /*untilMonth*/,
+
6084  1 /*untilDay*/,
+
6085  0 /*untilTimeCode*/,
+
6086  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6087  },
+
6088  // -3:00 - -03
+
6089  {
+
6090  nullptr /*zonePolicy*/,
+
6091  "-03" /*format*/,
+
6092  -12 /*offsetCode*/,
+
6093  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6094  127 /*untilYearTiny*/,
+
6095  1 /*untilMonth*/,
+
6096  1 /*untilDay*/,
+
6097  0 /*untilTimeCode*/,
+
6098  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6099  },
+
6100 
+
6101 };
+
6102 
+
6103 static const char kZoneNameAmerica_Recife[] ACE_TIME_PROGMEM = "America/Recife";
+
6104 
+
6105 const extended::ZoneInfo kZoneAmerica_Recife ACE_TIME_PROGMEM = {
+
6106  kZoneNameAmerica_Recife /*name*/,
+
6107  0xb8730494 /*zoneId*/,
+
6108  &kZoneContext /*zoneContext*/,
+
6109  5 /*transitionBufSize*/,
+
6110  5 /*numEras*/,
+
6111  kZoneEraAmerica_Recife /*eras*/,
+
6112 };
+
6113 
+
6114 //---------------------------------------------------------------------------
+
6115 // Zone name: America/Regina
+
6116 // Zone Eras: 1
+
6117 // Strings (bytes): 19
+
6118 // Memory (8-bit): 42
+
6119 // Memory (32-bit): 55
+
6120 //---------------------------------------------------------------------------
+
6121 
+
6122 static const extended::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
+
6123  // -6:00 - CST
+
6124  {
+
6125  nullptr /*zonePolicy*/,
+
6126  "CST" /*format*/,
+
6127  -24 /*offsetCode*/,
+
6128  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6129  127 /*untilYearTiny*/,
+
6130  1 /*untilMonth*/,
+
6131  1 /*untilDay*/,
+
6132  0 /*untilTimeCode*/,
+
6133  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6134  },
+
6135 
+
6136 };
+
6137 
+
6138 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "America/Regina";
+
6139 
+
6140 const extended::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
+
6141  kZoneNameAmerica_Regina /*name*/,
+
6142  0xb875371c /*zoneId*/,
+
6143  &kZoneContext /*zoneContext*/,
+
6144  2 /*transitionBufSize*/,
+
6145  1 /*numEras*/,
+
6146  kZoneEraAmerica_Regina /*eras*/,
+
6147 };
+
6148 
+
6149 //---------------------------------------------------------------------------
+
6150 // Zone name: America/Resolute
+
6151 // Zone Eras: 5
+
6152 // Strings (bytes): 37
+
6153 // Memory (8-bit): 104
+
6154 // Memory (32-bit): 137
+
6155 //---------------------------------------------------------------------------
+
6156 
+
6157 static const extended::ZoneEra kZoneEraAmerica_Resolute[] ACE_TIME_PROGMEM = {
+
6158  // -6:00 NT_YK C%sT 2000 Oct 29 2:00
+
6159  {
+
6160  &kPolicyNT_YK /*zonePolicy*/,
+
6161  "C%T" /*format*/,
+
6162  -24 /*offsetCode*/,
+
6163  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6164  0 /*untilYearTiny*/,
+
6165  10 /*untilMonth*/,
+
6166  29 /*untilDay*/,
+
6167  8 /*untilTimeCode*/,
+
6168  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6169  },
+
6170  // -5:00 - EST 2001 Apr 1 3:00
+
6171  {
+
6172  nullptr /*zonePolicy*/,
+
6173  "EST" /*format*/,
+
6174  -20 /*offsetCode*/,
+
6175  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6176  1 /*untilYearTiny*/,
+
6177  4 /*untilMonth*/,
+
6178  1 /*untilDay*/,
+
6179  12 /*untilTimeCode*/,
+
6180  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6181  },
+
6182  // -6:00 Canada C%sT 2006 Oct 29 2:00
+
6183  {
+
6184  &kPolicyCanada /*zonePolicy*/,
+
6185  "C%T" /*format*/,
+
6186  -24 /*offsetCode*/,
+
6187  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6188  6 /*untilYearTiny*/,
+
6189  10 /*untilMonth*/,
+
6190  29 /*untilDay*/,
+
6191  8 /*untilTimeCode*/,
+
6192  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6193  },
+
6194  // -5:00 - EST 2007 Mar 11 3:00
+
6195  {
+
6196  nullptr /*zonePolicy*/,
+
6197  "EST" /*format*/,
+
6198  -20 /*offsetCode*/,
+
6199  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6200  7 /*untilYearTiny*/,
+
6201  3 /*untilMonth*/,
+
6202  11 /*untilDay*/,
+
6203  12 /*untilTimeCode*/,
+
6204  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6205  },
+
6206  // -6:00 Canada C%sT
+
6207  {
+
6208  &kPolicyCanada /*zonePolicy*/,
+
6209  "C%T" /*format*/,
+
6210  -24 /*offsetCode*/,
+
6211  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6212  127 /*untilYearTiny*/,
+
6213  1 /*untilMonth*/,
+
6214  1 /*untilDay*/,
+
6215  0 /*untilTimeCode*/,
+
6216  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6217  },
+
6218 
+
6219 };
+
6220 
+
6221 static const char kZoneNameAmerica_Resolute[] ACE_TIME_PROGMEM = "America/Resolute";
+
6222 
+
6223 const extended::ZoneInfo kZoneAmerica_Resolute ACE_TIME_PROGMEM = {
+
6224  kZoneNameAmerica_Resolute /*name*/,
+
6225  0xc7093459 /*zoneId*/,
+
6226  &kZoneContext /*zoneContext*/,
+
6227  6 /*transitionBufSize*/,
+
6228  5 /*numEras*/,
+
6229  kZoneEraAmerica_Resolute /*eras*/,
+
6230 };
+
6231 
+
6232 //---------------------------------------------------------------------------
+
6233 // Zone name: America/Rio_Branco
+
6234 // Zone Eras: 3
+
6235 // Strings (bytes): 31
+
6236 // Memory (8-bit): 76
+
6237 // Memory (32-bit): 99
+
6238 //---------------------------------------------------------------------------
+
6239 
+
6240 static const extended::ZoneEra kZoneEraAmerica_Rio_Branco[] ACE_TIME_PROGMEM = {
+
6241  // -5:00 - -05 2008 Jun 24 0:00
+
6242  {
+
6243  nullptr /*zonePolicy*/,
+
6244  "-05" /*format*/,
+
6245  -20 /*offsetCode*/,
+
6246  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6247  8 /*untilYearTiny*/,
+
6248  6 /*untilMonth*/,
+
6249  24 /*untilDay*/,
+
6250  0 /*untilTimeCode*/,
+
6251  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6252  },
+
6253  // -4:00 - -04 2013 Nov 10
+
6254  {
+
6255  nullptr /*zonePolicy*/,
+
6256  "-04" /*format*/,
+
6257  -16 /*offsetCode*/,
+
6258  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6259  13 /*untilYearTiny*/,
+
6260  11 /*untilMonth*/,
+
6261  10 /*untilDay*/,
+
6262  0 /*untilTimeCode*/,
+
6263  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6264  },
+
6265  // -5:00 - -05
+
6266  {
+
6267  nullptr /*zonePolicy*/,
+
6268  "-05" /*format*/,
+
6269  -20 /*offsetCode*/,
+
6270  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6271  127 /*untilYearTiny*/,
+
6272  1 /*untilMonth*/,
+
6273  1 /*untilDay*/,
+
6274  0 /*untilTimeCode*/,
+
6275  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6276  },
+
6277 
+
6278 };
+
6279 
+
6280 static const char kZoneNameAmerica_Rio_Branco[] ACE_TIME_PROGMEM = "America/Rio_Branco";
+
6281 
+
6282 const extended::ZoneInfo kZoneAmerica_Rio_Branco ACE_TIME_PROGMEM = {
+
6283  kZoneNameAmerica_Rio_Branco /*name*/,
+
6284  0x9d352764 /*zoneId*/,
+
6285  &kZoneContext /*zoneContext*/,
+
6286  3 /*transitionBufSize*/,
+
6287  3 /*numEras*/,
+
6288  kZoneEraAmerica_Rio_Branco /*eras*/,
+
6289 };
+
6290 
+
6291 //---------------------------------------------------------------------------
+
6292 // Zone name: America/Santarem
+
6293 // Zone Eras: 2
+
6294 // Strings (bytes): 25
+
6295 // Memory (8-bit): 59
+
6296 // Memory (32-bit): 77
+
6297 //---------------------------------------------------------------------------
+
6298 
+
6299 static const extended::ZoneEra kZoneEraAmerica_Santarem[] ACE_TIME_PROGMEM = {
+
6300  // -4:00 - -04 2008 Jun 24 0:00
+
6301  {
+
6302  nullptr /*zonePolicy*/,
+
6303  "-04" /*format*/,
+
6304  -16 /*offsetCode*/,
+
6305  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6306  8 /*untilYearTiny*/,
+
6307  6 /*untilMonth*/,
+
6308  24 /*untilDay*/,
+
6309  0 /*untilTimeCode*/,
+
6310  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6311  },
+
6312  // -3:00 - -03
+
6313  {
+
6314  nullptr /*zonePolicy*/,
+
6315  "-03" /*format*/,
+
6316  -12 /*offsetCode*/,
+
6317  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6318  127 /*untilYearTiny*/,
+
6319  1 /*untilMonth*/,
+
6320  1 /*untilDay*/,
+
6321  0 /*untilTimeCode*/,
+
6322  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6323  },
+
6324 
+
6325 };
+
6326 
+
6327 static const char kZoneNameAmerica_Santarem[] ACE_TIME_PROGMEM = "America/Santarem";
+
6328 
+
6329 const extended::ZoneInfo kZoneAmerica_Santarem ACE_TIME_PROGMEM = {
+
6330  kZoneNameAmerica_Santarem /*name*/,
+
6331  0x740caec1 /*zoneId*/,
+
6332  &kZoneContext /*zoneContext*/,
+
6333  3 /*transitionBufSize*/,
+
6334  2 /*numEras*/,
+
6335  kZoneEraAmerica_Santarem /*eras*/,
+
6336 };
+
6337 
+
6338 //---------------------------------------------------------------------------
+
6339 // Zone name: America/Santiago
+
6340 // Zone Eras: 1
+
6341 // Strings (bytes): 25
+
6342 // Memory (8-bit): 48
+
6343 // Memory (32-bit): 61
+
6344 //---------------------------------------------------------------------------
+
6345 
+
6346 static const extended::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
+
6347  // -4:00 Chile -04/-03
+
6348  {
+
6349  &kPolicyChile /*zonePolicy*/,
+
6350  "-04/-03" /*format*/,
+
6351  -16 /*offsetCode*/,
+
6352  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6353  127 /*untilYearTiny*/,
+
6354  1 /*untilMonth*/,
+
6355  1 /*untilDay*/,
+
6356  0 /*untilTimeCode*/,
+
6357  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6358  },
+
6359 
+
6360 };
+
6361 
+
6362 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "America/Santiago";
+
6363 
+
6364 const extended::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
+
6365  kZoneNameAmerica_Santiago /*name*/,
+
6366  0x7410c9bc /*zoneId*/,
+
6367  &kZoneContext /*zoneContext*/,
+
6368  5 /*transitionBufSize*/,
+
6369  1 /*numEras*/,
+
6370  kZoneEraAmerica_Santiago /*eras*/,
+
6371 };
+
6372 
+
6373 //---------------------------------------------------------------------------
+
6374 // Zone name: America/Santo_Domingo
+
6375 // Zone Eras: 3
+
6376 // Strings (bytes): 34
+
6377 // Memory (8-bit): 79
+
6378 // Memory (32-bit): 102
+
6379 //---------------------------------------------------------------------------
+
6380 
+
6381 static const extended::ZoneEra kZoneEraAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = {
+
6382  // -4:00 - AST 2000 Oct 29 2:00
+
6383  {
+
6384  nullptr /*zonePolicy*/,
+
6385  "AST" /*format*/,
+
6386  -16 /*offsetCode*/,
+
6387  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6388  0 /*untilYearTiny*/,
+
6389  10 /*untilMonth*/,
+
6390  29 /*untilDay*/,
+
6391  8 /*untilTimeCode*/,
+
6392  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6393  },
+
6394  // -5:00 US E%sT 2000 Dec 3 1:00
+
6395  {
+
6396  &kPolicyUS /*zonePolicy*/,
+
6397  "E%T" /*format*/,
+
6398  -20 /*offsetCode*/,
+
6399  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6400  0 /*untilYearTiny*/,
+
6401  12 /*untilMonth*/,
+
6402  3 /*untilDay*/,
+
6403  4 /*untilTimeCode*/,
+
6404  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6405  },
+
6406  // -4:00 - AST
+
6407  {
+
6408  nullptr /*zonePolicy*/,
+
6409  "AST" /*format*/,
+
6410  -16 /*offsetCode*/,
+
6411  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6412  127 /*untilYearTiny*/,
+
6413  1 /*untilMonth*/,
+
6414  1 /*untilDay*/,
+
6415  0 /*untilTimeCode*/,
+
6416  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6417  },
+
6418 
+
6419 };
+
6420 
+
6421 static const char kZoneNameAmerica_Santo_Domingo[] ACE_TIME_PROGMEM = "America/Santo_Domingo";
+
6422 
+
6423 const extended::ZoneInfo kZoneAmerica_Santo_Domingo ACE_TIME_PROGMEM = {
+
6424  kZoneNameAmerica_Santo_Domingo /*name*/,
+
6425  0x75a0d177 /*zoneId*/,
+
6426  &kZoneContext /*zoneContext*/,
+
6427  4 /*transitionBufSize*/,
+
6428  3 /*numEras*/,
+
6429  kZoneEraAmerica_Santo_Domingo /*eras*/,
+
6430 };
+
6431 
+
6432 //---------------------------------------------------------------------------
+
6433 // Zone name: America/Sao_Paulo
+
6434 // Zone Eras: 1
+
6435 // Strings (bytes): 26
+
6436 // Memory (8-bit): 49
+
6437 // Memory (32-bit): 62
+
6438 //---------------------------------------------------------------------------
+
6439 
+
6440 static const extended::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
+
6441  // -3:00 Brazil -03/-02
+
6442  {
+
6443  &kPolicyBrazil /*zonePolicy*/,
+
6444  "-03/-02" /*format*/,
+
6445  -12 /*offsetCode*/,
+
6446  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6447  127 /*untilYearTiny*/,
+
6448  1 /*untilMonth*/,
+
6449  1 /*untilDay*/,
+
6450  0 /*untilTimeCode*/,
+
6451  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6452  },
+
6453 
+
6454 };
+
6455 
+
6456 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "America/Sao_Paulo";
+
6457 
+
6458 const extended::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
+
6459  kZoneNameAmerica_Sao_Paulo /*name*/,
+
6460  0x1063bfc9 /*zoneId*/,
+
6461  &kZoneContext /*zoneContext*/,
+
6462  6 /*transitionBufSize*/,
+
6463  1 /*numEras*/,
+
6464  kZoneEraAmerica_Sao_Paulo /*eras*/,
+
6465 };
+
6466 
+
6467 //---------------------------------------------------------------------------
+
6468 // Zone name: America/Scoresbysund
+
6469 // Zone Eras: 1
+
6470 // Strings (bytes): 29
+
6471 // Memory (8-bit): 52
+
6472 // Memory (32-bit): 65
+
6473 //---------------------------------------------------------------------------
+
6474 
+
6475 static const extended::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
+
6476  // -1:00 EU -01/+00
+
6477  {
+
6478  &kPolicyEU /*zonePolicy*/,
+
6479  "-01/+00" /*format*/,
+
6480  -4 /*offsetCode*/,
+
6481  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6482  127 /*untilYearTiny*/,
+
6483  1 /*untilMonth*/,
+
6484  1 /*untilDay*/,
+
6485  0 /*untilTimeCode*/,
+
6486  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6487  },
+
6488 
+
6489 };
+
6490 
+
6491 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "America/Scoresbysund";
+
6492 
+
6493 const extended::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
+
6494  kZoneNameAmerica_Scoresbysund /*name*/,
+
6495  0x123f8d2a /*zoneId*/,
+
6496  &kZoneContext /*zoneContext*/,
+
6497  5 /*transitionBufSize*/,
+
6498  1 /*numEras*/,
+
6499  kZoneEraAmerica_Scoresbysund /*eras*/,
+
6500 };
+
6501 
+
6502 //---------------------------------------------------------------------------
+
6503 // Zone name: America/Sitka
+
6504 // Zone Eras: 1
+
6505 // Strings (bytes): 19
+
6506 // Memory (8-bit): 42
+
6507 // Memory (32-bit): 55
+
6508 //---------------------------------------------------------------------------
+
6509 
+
6510 static const extended::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
+
6511  // -9:00 US AK%sT
+
6512  {
+
6513  &kPolicyUS /*zonePolicy*/,
+
6514  "AK%T" /*format*/,
+
6515  -36 /*offsetCode*/,
+
6516  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6517  127 /*untilYearTiny*/,
+
6518  1 /*untilMonth*/,
+
6519  1 /*untilDay*/,
+
6520  0 /*untilTimeCode*/,
+
6521  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6522  },
+
6523 
+
6524 };
+
6525 
+
6526 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "America/Sitka";
+
6527 
+
6528 const extended::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
+
6529  kZoneNameAmerica_Sitka /*name*/,
+
6530  0x99104ce2 /*zoneId*/,
+
6531  &kZoneContext /*zoneContext*/,
+
6532  6 /*transitionBufSize*/,
+
6533  1 /*numEras*/,
+
6534  kZoneEraAmerica_Sitka /*eras*/,
+
6535 };
+
6536 
+
6537 //---------------------------------------------------------------------------
+
6538 // Zone name: America/St_Johns
+
6539 // Zone Eras: 2
+
6540 // Strings (bytes): 25
+
6541 // Memory (8-bit): 59
+
6542 // Memory (32-bit): 77
+
6543 //---------------------------------------------------------------------------
+
6544 
+
6545 static const extended::ZoneEra kZoneEraAmerica_St_Johns[] ACE_TIME_PROGMEM = {
+
6546  // -3:30 StJohns N%sT 2011 Nov
+
6547  {
+
6548  &kPolicyStJohns /*zonePolicy*/,
+
6549  "N%T" /*format*/,
+
6550  -14 /*offsetCode*/,
+
6551  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6552  11 /*untilYearTiny*/,
+
6553  11 /*untilMonth*/,
+
6554  1 /*untilDay*/,
+
6555  0 /*untilTimeCode*/,
+
6556  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6557  },
+
6558  // -3:30 Canada N%sT
+
6559  {
+
6560  &kPolicyCanada /*zonePolicy*/,
+
6561  "N%T" /*format*/,
+
6562  -14 /*offsetCode*/,
+
6563  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6564  127 /*untilYearTiny*/,
+
6565  1 /*untilMonth*/,
+
6566  1 /*untilDay*/,
+
6567  0 /*untilTimeCode*/,
+
6568  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6569  },
+
6570 
+
6571 };
+
6572 
+
6573 static const char kZoneNameAmerica_St_Johns[] ACE_TIME_PROGMEM = "America/St_Johns";
+
6574 
+
6575 const extended::ZoneInfo kZoneAmerica_St_Johns ACE_TIME_PROGMEM = {
+
6576  kZoneNameAmerica_St_Johns /*name*/,
+
6577  0x04b14e6e /*zoneId*/,
+
6578  &kZoneContext /*zoneContext*/,
+
6579  6 /*transitionBufSize*/,
+
6580  2 /*numEras*/,
+
6581  kZoneEraAmerica_St_Johns /*eras*/,
+
6582 };
+
6583 
+
6584 //---------------------------------------------------------------------------
+
6585 // Zone name: America/Swift_Current
+
6586 // Zone Eras: 1
+
6587 // Strings (bytes): 26
+
6588 // Memory (8-bit): 49
+
6589 // Memory (32-bit): 62
+
6590 //---------------------------------------------------------------------------
+
6591 
+
6592 static const extended::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
+
6593  // -6:00 - CST
+
6594  {
+
6595  nullptr /*zonePolicy*/,
+
6596  "CST" /*format*/,
+
6597  -24 /*offsetCode*/,
+
6598  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6599  127 /*untilYearTiny*/,
+
6600  1 /*untilMonth*/,
+
6601  1 /*untilDay*/,
+
6602  0 /*untilTimeCode*/,
+
6603  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6604  },
+
6605 
+
6606 };
+
6607 
+
6608 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "America/Swift_Current";
+
6609 
+
6610 const extended::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
+
6611  kZoneNameAmerica_Swift_Current /*name*/,
+
6612  0xdef98e55 /*zoneId*/,
+
6613  &kZoneContext /*zoneContext*/,
+
6614  2 /*transitionBufSize*/,
+
6615  1 /*numEras*/,
+
6616  kZoneEraAmerica_Swift_Current /*eras*/,
+
6617 };
+
6618 
+
6619 //---------------------------------------------------------------------------
+
6620 // Zone name: America/Tegucigalpa
+
6621 // Zone Eras: 1
+
6622 // Strings (bytes): 24
+
6623 // Memory (8-bit): 47
+
6624 // Memory (32-bit): 60
+
6625 //---------------------------------------------------------------------------
+
6626 
+
6627 static const extended::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
+
6628  // -6:00 Hond C%sT
+
6629  {
+
6630  &kPolicyHond /*zonePolicy*/,
+
6631  "C%T" /*format*/,
+
6632  -24 /*offsetCode*/,
+
6633  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6634  127 /*untilYearTiny*/,
+
6635  1 /*untilMonth*/,
+
6636  1 /*untilDay*/,
+
6637  0 /*untilTimeCode*/,
+
6638  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6639  },
+
6640 
+
6641 };
+
6642 
+
6643 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "America/Tegucigalpa";
+
6644 
+
6645 const extended::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
+
6646  kZoneNameAmerica_Tegucigalpa /*name*/,
+
6647  0xbfd6fd4c /*zoneId*/,
+
6648  &kZoneContext /*zoneContext*/,
+
6649  4 /*transitionBufSize*/,
+
6650  1 /*numEras*/,
+
6651  kZoneEraAmerica_Tegucigalpa /*eras*/,
+
6652 };
+
6653 
+
6654 //---------------------------------------------------------------------------
+
6655 // Zone name: America/Thule
+
6656 // Zone Eras: 1
+
6657 // Strings (bytes): 18
+
6658 // Memory (8-bit): 41
+
6659 // Memory (32-bit): 54
+
6660 //---------------------------------------------------------------------------
+
6661 
+
6662 static const extended::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
+
6663  // -4:00 Thule A%sT
+
6664  {
+
6665  &kPolicyThule /*zonePolicy*/,
+
6666  "A%T" /*format*/,
+
6667  -16 /*offsetCode*/,
+
6668  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6669  127 /*untilYearTiny*/,
+
6670  1 /*untilMonth*/,
+
6671  1 /*untilDay*/,
+
6672  0 /*untilTimeCode*/,
+
6673  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6674  },
+
6675 
+
6676 };
+
6677 
+
6678 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "America/Thule";
+
6679 
+
6680 const extended::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
+
6681  kZoneNameAmerica_Thule /*name*/,
+
6682  0x9921dd68 /*zoneId*/,
+
6683  &kZoneContext /*zoneContext*/,
+
6684  6 /*transitionBufSize*/,
+
6685  1 /*numEras*/,
+
6686  kZoneEraAmerica_Thule /*eras*/,
+
6687 };
+
6688 
+
6689 //---------------------------------------------------------------------------
+
6690 // Zone name: America/Thunder_Bay
+
6691 // Zone Eras: 1
+
6692 // Strings (bytes): 24
+
6693 // Memory (8-bit): 47
+
6694 // Memory (32-bit): 60
+
6695 //---------------------------------------------------------------------------
+
6696 
+
6697 static const extended::ZoneEra kZoneEraAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = {
+
6698  // -5:00 Canada E%sT
+
6699  {
+
6700  &kPolicyCanada /*zonePolicy*/,
+
6701  "E%T" /*format*/,
+
6702  -20 /*offsetCode*/,
+
6703  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6704  127 /*untilYearTiny*/,
+
6705  1 /*untilMonth*/,
+
6706  1 /*untilDay*/,
+
6707  0 /*untilTimeCode*/,
+
6708  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6709  },
+
6710 
+
6711 };
+
6712 
+
6713 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "America/Thunder_Bay";
+
6714 
+
6715 const extended::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
+
6716  kZoneNameAmerica_Thunder_Bay /*name*/,
+
6717  0xf962e71b /*zoneId*/,
+
6718  &kZoneContext /*zoneContext*/,
+
6719  6 /*transitionBufSize*/,
+
6720  1 /*numEras*/,
+
6721  kZoneEraAmerica_Thunder_Bay /*eras*/,
+
6722 };
+
6723 
+
6724 //---------------------------------------------------------------------------
+
6725 // Zone name: America/Tijuana
+
6726 // Zone Eras: 4
+
6727 // Strings (bytes): 32
+
6728 // Memory (8-bit): 88
+
6729 // Memory (32-bit): 116
+
6730 //---------------------------------------------------------------------------
+
6731 
+
6732 static const extended::ZoneEra kZoneEraAmerica_Tijuana[] ACE_TIME_PROGMEM = {
+
6733  // -8:00 Mexico P%sT 2001
+
6734  {
+
6735  &kPolicyMexico /*zonePolicy*/,
+
6736  "P%T" /*format*/,
+
6737  -32 /*offsetCode*/,
+
6738  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6739  1 /*untilYearTiny*/,
+
6740  1 /*untilMonth*/,
+
6741  1 /*untilDay*/,
+
6742  0 /*untilTimeCode*/,
+
6743  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6744  },
+
6745  // -8:00 US P%sT 2002 Feb 20
+
6746  {
+
6747  &kPolicyUS /*zonePolicy*/,
+
6748  "P%T" /*format*/,
+
6749  -32 /*offsetCode*/,
+
6750  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6751  2 /*untilYearTiny*/,
+
6752  2 /*untilMonth*/,
+
6753  20 /*untilDay*/,
+
6754  0 /*untilTimeCode*/,
+
6755  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6756  },
+
6757  // -8:00 Mexico P%sT 2010
+
6758  {
+
6759  &kPolicyMexico /*zonePolicy*/,
+
6760  "P%T" /*format*/,
+
6761  -32 /*offsetCode*/,
+
6762  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6763  10 /*untilYearTiny*/,
+
6764  1 /*untilMonth*/,
+
6765  1 /*untilDay*/,
+
6766  0 /*untilTimeCode*/,
+
6767  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6768  },
+
6769  // -8:00 US P%sT
+
6770  {
+
6771  &kPolicyUS /*zonePolicy*/,
+
6772  "P%T" /*format*/,
+
6773  -32 /*offsetCode*/,
+
6774  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6775  127 /*untilYearTiny*/,
+
6776  1 /*untilMonth*/,
+
6777  1 /*untilDay*/,
+
6778  0 /*untilTimeCode*/,
+
6779  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6780  },
+
6781 
+
6782 };
+
6783 
+
6784 static const char kZoneNameAmerica_Tijuana[] ACE_TIME_PROGMEM = "America/Tijuana";
+
6785 
+
6786 const extended::ZoneInfo kZoneAmerica_Tijuana ACE_TIME_PROGMEM = {
+
6787  kZoneNameAmerica_Tijuana /*name*/,
+
6788  0x6aa1df72 /*zoneId*/,
+
6789  &kZoneContext /*zoneContext*/,
+
6790  6 /*transitionBufSize*/,
+
6791  4 /*numEras*/,
+
6792  kZoneEraAmerica_Tijuana /*eras*/,
+
6793 };
+
6794 
+
6795 //---------------------------------------------------------------------------
+
6796 // Zone name: America/Toronto
+
6797 // Zone Eras: 1
+
6798 // Strings (bytes): 20
+
6799 // Memory (8-bit): 43
+
6800 // Memory (32-bit): 56
+
6801 //---------------------------------------------------------------------------
+
6802 
+
6803 static const extended::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
+
6804  // -5:00 Canada E%sT
+
6805  {
+
6806  &kPolicyCanada /*zonePolicy*/,
+
6807  "E%T" /*format*/,
+
6808  -20 /*offsetCode*/,
+
6809  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6810  127 /*untilYearTiny*/,
+
6811  1 /*untilMonth*/,
+
6812  1 /*untilDay*/,
+
6813  0 /*untilTimeCode*/,
+
6814  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6815  },
+
6816 
+
6817 };
+
6818 
+
6819 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "America/Toronto";
+
6820 
+
6821 const extended::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
+
6822  kZoneNameAmerica_Toronto /*name*/,
+
6823  0x792e851b /*zoneId*/,
+
6824  &kZoneContext /*zoneContext*/,
+
6825  6 /*transitionBufSize*/,
+
6826  1 /*numEras*/,
+
6827  kZoneEraAmerica_Toronto /*eras*/,
+
6828 };
+
6829 
+
6830 //---------------------------------------------------------------------------
+
6831 // Zone name: America/Vancouver
+
6832 // Zone Eras: 1
+
6833 // Strings (bytes): 22
+
6834 // Memory (8-bit): 45
+
6835 // Memory (32-bit): 58
+
6836 //---------------------------------------------------------------------------
+
6837 
+
6838 static const extended::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
+
6839  // -8:00 Canada P%sT
+
6840  {
+
6841  &kPolicyCanada /*zonePolicy*/,
+
6842  "P%T" /*format*/,
+
6843  -32 /*offsetCode*/,
+
6844  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6845  127 /*untilYearTiny*/,
+
6846  1 /*untilMonth*/,
+
6847  1 /*untilDay*/,
+
6848  0 /*untilTimeCode*/,
+
6849  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6850  },
+
6851 
+
6852 };
+
6853 
+
6854 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "America/Vancouver";
+
6855 
+
6856 const extended::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
+
6857  kZoneNameAmerica_Vancouver /*name*/,
+
6858  0x2c6f6b1f /*zoneId*/,
+
6859  &kZoneContext /*zoneContext*/,
+
6860  6 /*transitionBufSize*/,
+
6861  1 /*numEras*/,
+
6862  kZoneEraAmerica_Vancouver /*eras*/,
+
6863 };
+
6864 
+
6865 //---------------------------------------------------------------------------
+
6866 // Zone name: America/Whitehorse
+
6867 // Zone Eras: 2
+
6868 // Strings (bytes): 27
+
6869 // Memory (8-bit): 61
+
6870 // Memory (32-bit): 79
+
6871 //---------------------------------------------------------------------------
+
6872 
+
6873 static const extended::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = {
+
6874  // -8:00 Canada P%sT 2020 Nov 1
+
6875  {
+
6876  &kPolicyCanada /*zonePolicy*/,
+
6877  "P%T" /*format*/,
+
6878  -32 /*offsetCode*/,
+
6879  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6880  20 /*untilYearTiny*/,
+
6881  11 /*untilMonth*/,
+
6882  1 /*untilDay*/,
+
6883  0 /*untilTimeCode*/,
+
6884  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6885  },
+
6886  // -7:00 - MST
+
6887  {
+
6888  nullptr /*zonePolicy*/,
+
6889  "MST" /*format*/,
+
6890  -28 /*offsetCode*/,
+
6891  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6892  127 /*untilYearTiny*/,
+
6893  1 /*untilMonth*/,
+
6894  1 /*untilDay*/,
+
6895  0 /*untilTimeCode*/,
+
6896  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6897  },
+
6898 
+
6899 };
+
6900 
+
6901 static const char kZoneNameAmerica_Whitehorse[] ACE_TIME_PROGMEM = "America/Whitehorse";
+
6902 
+
6903 const extended::ZoneInfo kZoneAmerica_Whitehorse ACE_TIME_PROGMEM = {
+
6904  kZoneNameAmerica_Whitehorse /*name*/,
+
6905  0x54e0e3e8 /*zoneId*/,
+
6906  &kZoneContext /*zoneContext*/,
+
6907  6 /*transitionBufSize*/,
+
6908  2 /*numEras*/,
+
6909  kZoneEraAmerica_Whitehorse /*eras*/,
+
6910 };
+
6911 
+
6912 //---------------------------------------------------------------------------
+
6913 // Zone name: America/Winnipeg
+
6914 // Zone Eras: 2
+
6915 // Strings (bytes): 25
+
6916 // Memory (8-bit): 59
+
6917 // Memory (32-bit): 77
+
6918 //---------------------------------------------------------------------------
+
6919 
+
6920 static const extended::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
+
6921  // -6:00 Winn C%sT 2006
+
6922  {
+
6923  &kPolicyWinn /*zonePolicy*/,
+
6924  "C%T" /*format*/,
+
6925  -24 /*offsetCode*/,
+
6926  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6927  6 /*untilYearTiny*/,
+
6928  1 /*untilMonth*/,
+
6929  1 /*untilDay*/,
+
6930  0 /*untilTimeCode*/,
+
6931  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6932  },
+
6933  // -6:00 Canada C%sT
+
6934  {
+
6935  &kPolicyCanada /*zonePolicy*/,
+
6936  "C%T" /*format*/,
+
6937  -24 /*offsetCode*/,
+
6938  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6939  127 /*untilYearTiny*/,
+
6940  1 /*untilMonth*/,
+
6941  1 /*untilDay*/,
+
6942  0 /*untilTimeCode*/,
+
6943  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6944  },
+
6945 
+
6946 };
+
6947 
+
6948 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "America/Winnipeg";
+
6949 
+
6950 const extended::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
+
6951  kZoneNameAmerica_Winnipeg /*name*/,
+
6952  0x8c7dafc7 /*zoneId*/,
+
6953  &kZoneContext /*zoneContext*/,
+
6954  6 /*transitionBufSize*/,
+
6955  2 /*numEras*/,
+
6956  kZoneEraAmerica_Winnipeg /*eras*/,
+
6957 };
+
6958 
+
6959 //---------------------------------------------------------------------------
+
6960 // Zone name: America/Yakutat
+
6961 // Zone Eras: 1
+
6962 // Strings (bytes): 21
+
6963 // Memory (8-bit): 44
+
6964 // Memory (32-bit): 57
+
6965 //---------------------------------------------------------------------------
+
6966 
+
6967 static const extended::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
+
6968  // -9:00 US AK%sT
+
6969  {
+
6970  &kPolicyUS /*zonePolicy*/,
+
6971  "AK%T" /*format*/,
+
6972  -36 /*offsetCode*/,
+
6973  (0 << 4) + (0 + 4) /*deltaCode*/,
+
6974  127 /*untilYearTiny*/,
+
6975  1 /*untilMonth*/,
+
6976  1 /*untilDay*/,
+
6977  0 /*untilTimeCode*/,
+
6978  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
6979  },
+
6980 
+
6981 };
+
6982 
+
6983 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "America/Yakutat";
+
6984 
+
6985 const extended::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
+
6986  kZoneNameAmerica_Yakutat /*name*/,
+
6987  0xd8ee31e9 /*zoneId*/,
+
6988  &kZoneContext /*zoneContext*/,
+
6989  6 /*transitionBufSize*/,
+
6990  1 /*numEras*/,
+
6991  kZoneEraAmerica_Yakutat /*eras*/,
+
6992 };
+
6993 
+
6994 //---------------------------------------------------------------------------
+
6995 // Zone name: America/Yellowknife
+
6996 // Zone Eras: 1
+
6997 // Strings (bytes): 24
+
6998 // Memory (8-bit): 47
+
6999 // Memory (32-bit): 60
+
7000 //---------------------------------------------------------------------------
+
7001 
+
7002 static const extended::ZoneEra kZoneEraAmerica_Yellowknife[] ACE_TIME_PROGMEM = {
+
7003  // -7:00 Canada M%sT
+
7004  {
+
7005  &kPolicyCanada /*zonePolicy*/,
+
7006  "M%T" /*format*/,
+
7007  -28 /*offsetCode*/,
+
7008  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7009  127 /*untilYearTiny*/,
+
7010  1 /*untilMonth*/,
+
7011  1 /*untilDay*/,
+
7012  0 /*untilTimeCode*/,
+
7013  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7014  },
+
7015 
+
7016 };
+
7017 
+
7018 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "America/Yellowknife";
+
7019 
+
7020 const extended::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
+
7021  kZoneNameAmerica_Yellowknife /*name*/,
+
7022  0x0f76c76f /*zoneId*/,
+
7023  &kZoneContext /*zoneContext*/,
+
7024  6 /*transitionBufSize*/,
+
7025  1 /*numEras*/,
+
7026  kZoneEraAmerica_Yellowknife /*eras*/,
+
7027 };
+
7028 
+
7029 //---------------------------------------------------------------------------
+
7030 // Zone name: Antarctica/Casey
+
7031 // Zone Eras: 12
+
7032 // Strings (bytes): 65
+
7033 // Memory (8-bit): 209
+
7034 // Memory (32-bit): 277
+
7035 //---------------------------------------------------------------------------
+
7036 
+
7037 static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = {
+
7038  // 8:00 - +08 2009 Oct 18 2:00
+
7039  {
+
7040  nullptr /*zonePolicy*/,
+
7041  "+08" /*format*/,
+
7042  32 /*offsetCode*/,
+
7043  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7044  9 /*untilYearTiny*/,
+
7045  10 /*untilMonth*/,
+
7046  18 /*untilDay*/,
+
7047  8 /*untilTimeCode*/,
+
7048  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7049  },
+
7050  // 11:00 - +11 2010 Mar 5 2:00
+
7051  {
+
7052  nullptr /*zonePolicy*/,
+
7053  "+11" /*format*/,
+
7054  44 /*offsetCode*/,
+
7055  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7056  10 /*untilYearTiny*/,
+
7057  3 /*untilMonth*/,
+
7058  5 /*untilDay*/,
+
7059  8 /*untilTimeCode*/,
+
7060  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7061  },
+
7062  // 8:00 - +08 2011 Oct 28 2:00
+
7063  {
+
7064  nullptr /*zonePolicy*/,
+
7065  "+08" /*format*/,
+
7066  32 /*offsetCode*/,
+
7067  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7068  11 /*untilYearTiny*/,
+
7069  10 /*untilMonth*/,
+
7070  28 /*untilDay*/,
+
7071  8 /*untilTimeCode*/,
+
7072  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7073  },
+
7074  // 11:00 - +11 2012 Feb 21 17:00u
+
7075  {
+
7076  nullptr /*zonePolicy*/,
+
7077  "+11" /*format*/,
+
7078  44 /*offsetCode*/,
+
7079  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7080  12 /*untilYearTiny*/,
+
7081  2 /*untilMonth*/,
+
7082  21 /*untilDay*/,
+
7083  68 /*untilTimeCode*/,
+
7084  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
7085  },
+
7086  // 8:00 - +08 2016 Oct 22
+
7087  {
+
7088  nullptr /*zonePolicy*/,
+
7089  "+08" /*format*/,
+
7090  32 /*offsetCode*/,
+
7091  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7092  16 /*untilYearTiny*/,
+
7093  10 /*untilMonth*/,
+
7094  22 /*untilDay*/,
+
7095  0 /*untilTimeCode*/,
+
7096  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7097  },
+
7098  // 11:00 - +11 2018 Mar 11 4:00
+
7099  {
+
7100  nullptr /*zonePolicy*/,
+
7101  "+11" /*format*/,
+
7102  44 /*offsetCode*/,
+
7103  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7104  18 /*untilYearTiny*/,
+
7105  3 /*untilMonth*/,
+
7106  11 /*untilDay*/,
+
7107  16 /*untilTimeCode*/,
+
7108  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7109  },
+
7110  // 8:00 - +08 2018 Oct 7 4:00
+
7111  {
+
7112  nullptr /*zonePolicy*/,
+
7113  "+08" /*format*/,
+
7114  32 /*offsetCode*/,
+
7115  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7116  18 /*untilYearTiny*/,
+
7117  10 /*untilMonth*/,
+
7118  7 /*untilDay*/,
+
7119  16 /*untilTimeCode*/,
+
7120  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7121  },
+
7122  // 11:00 - +11 2019 Mar 17 3:00
+
7123  {
+
7124  nullptr /*zonePolicy*/,
+
7125  "+11" /*format*/,
+
7126  44 /*offsetCode*/,
+
7127  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7128  19 /*untilYearTiny*/,
+
7129  3 /*untilMonth*/,
+
7130  17 /*untilDay*/,
+
7131  12 /*untilTimeCode*/,
+
7132  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7133  },
+
7134  // 8:00 - +08 2019 Oct 4 3:00
+
7135  {
+
7136  nullptr /*zonePolicy*/,
+
7137  "+08" /*format*/,
+
7138  32 /*offsetCode*/,
+
7139  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7140  19 /*untilYearTiny*/,
+
7141  10 /*untilMonth*/,
+
7142  4 /*untilDay*/,
+
7143  12 /*untilTimeCode*/,
+
7144  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7145  },
+
7146  // 11:00 - +11 2020 Mar 8 3:00
+
7147  {
+
7148  nullptr /*zonePolicy*/,
+
7149  "+11" /*format*/,
+
7150  44 /*offsetCode*/,
+
7151  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7152  20 /*untilYearTiny*/,
+
7153  3 /*untilMonth*/,
+
7154  8 /*untilDay*/,
+
7155  12 /*untilTimeCode*/,
+
7156  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7157  },
+
7158  // 8:00 - +08 2020 Oct 4 0:01
+
7159  {
+
7160  nullptr /*zonePolicy*/,
+
7161  "+08" /*format*/,
+
7162  32 /*offsetCode*/,
+
7163  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7164  20 /*untilYearTiny*/,
+
7165  10 /*untilMonth*/,
+
7166  4 /*untilDay*/,
+
7167  0 /*untilTimeCode*/,
+
7168  extended::ZoneContext::kSuffixW + 1 /*untilTimeModifier*/,
+
7169  },
+
7170  // 11:00 - +11
+
7171  {
+
7172  nullptr /*zonePolicy*/,
+
7173  "+11" /*format*/,
+
7174  44 /*offsetCode*/,
+
7175  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7176  127 /*untilYearTiny*/,
+
7177  1 /*untilMonth*/,
+
7178  1 /*untilDay*/,
+
7179  0 /*untilTimeCode*/,
+
7180  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7181  },
+
7182 
+
7183 };
+
7184 
+
7185 static const char kZoneNameAntarctica_Casey[] ACE_TIME_PROGMEM = "Antarctica/Casey";
+
7186 
+
7187 const extended::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = {
+
7188  kZoneNameAntarctica_Casey /*name*/,
+
7189  0xe2022583 /*zoneId*/,
+
7190  &kZoneContext /*zoneContext*/,
+
7191  4 /*transitionBufSize*/,
+
7192  12 /*numEras*/,
+
7193  kZoneEraAntarctica_Casey /*eras*/,
+
7194 };
+
7195 
+
7196 //---------------------------------------------------------------------------
+
7197 // Zone name: Antarctica/Davis
+
7198 // Zone Eras: 5
+
7199 // Strings (bytes): 37
+
7200 // Memory (8-bit): 104
+
7201 // Memory (32-bit): 137
+
7202 //---------------------------------------------------------------------------
+
7203 
+
7204 static const extended::ZoneEra kZoneEraAntarctica_Davis[] ACE_TIME_PROGMEM = {
+
7205  // 7:00 - +07 2009 Oct 18 2:00
+
7206  {
+
7207  nullptr /*zonePolicy*/,
+
7208  "+07" /*format*/,
+
7209  28 /*offsetCode*/,
+
7210  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7211  9 /*untilYearTiny*/,
+
7212  10 /*untilMonth*/,
+
7213  18 /*untilDay*/,
+
7214  8 /*untilTimeCode*/,
+
7215  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7216  },
+
7217  // 5:00 - +05 2010 Mar 10 20:00u
+
7218  {
+
7219  nullptr /*zonePolicy*/,
+
7220  "+05" /*format*/,
+
7221  20 /*offsetCode*/,
+
7222  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7223  10 /*untilYearTiny*/,
+
7224  3 /*untilMonth*/,
+
7225  10 /*untilDay*/,
+
7226  80 /*untilTimeCode*/,
+
7227  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
7228  },
+
7229  // 7:00 - +07 2011 Oct 28 2:00
+
7230  {
+
7231  nullptr /*zonePolicy*/,
+
7232  "+07" /*format*/,
+
7233  28 /*offsetCode*/,
+
7234  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7235  11 /*untilYearTiny*/,
+
7236  10 /*untilMonth*/,
+
7237  28 /*untilDay*/,
+
7238  8 /*untilTimeCode*/,
+
7239  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7240  },
+
7241  // 5:00 - +05 2012 Feb 21 20:00u
+
7242  {
+
7243  nullptr /*zonePolicy*/,
+
7244  "+05" /*format*/,
+
7245  20 /*offsetCode*/,
+
7246  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7247  12 /*untilYearTiny*/,
+
7248  2 /*untilMonth*/,
+
7249  21 /*untilDay*/,
+
7250  80 /*untilTimeCode*/,
+
7251  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
7252  },
+
7253  // 7:00 - +07
+
7254  {
+
7255  nullptr /*zonePolicy*/,
+
7256  "+07" /*format*/,
+
7257  28 /*offsetCode*/,
+
7258  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7259  127 /*untilYearTiny*/,
+
7260  1 /*untilMonth*/,
+
7261  1 /*untilDay*/,
+
7262  0 /*untilTimeCode*/,
+
7263  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7264  },
+
7265 
+
7266 };
+
7267 
+
7268 static const char kZoneNameAntarctica_Davis[] ACE_TIME_PROGMEM = "Antarctica/Davis";
+
7269 
+
7270 const extended::ZoneInfo kZoneAntarctica_Davis ACE_TIME_PROGMEM = {
+
7271  kZoneNameAntarctica_Davis /*name*/,
+
7272  0xe2144b45 /*zoneId*/,
+
7273  &kZoneContext /*zoneContext*/,
+
7274  3 /*transitionBufSize*/,
+
7275  5 /*numEras*/,
+
7276  kZoneEraAntarctica_Davis /*eras*/,
+
7277 };
+
7278 
+
7279 //---------------------------------------------------------------------------
+
7280 // Zone name: Antarctica/DumontDUrville
+
7281 // Zone Eras: 1
+
7282 // Strings (bytes): 30
+
7283 // Memory (8-bit): 53
+
7284 // Memory (32-bit): 66
+
7285 //---------------------------------------------------------------------------
+
7286 
+
7287 static const extended::ZoneEra kZoneEraAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = {
+
7288  // 10:00 - +10
+
7289  {
+
7290  nullptr /*zonePolicy*/,
+
7291  "+10" /*format*/,
+
7292  40 /*offsetCode*/,
+
7293  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7294  127 /*untilYearTiny*/,
+
7295  1 /*untilMonth*/,
+
7296  1 /*untilDay*/,
+
7297  0 /*untilTimeCode*/,
+
7298  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7299  },
+
7300 
+
7301 };
+
7302 
+
7303 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "Antarctica/DumontDUrville";
+
7304 
+
7305 const extended::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
+
7306  kZoneNameAntarctica_DumontDUrville /*name*/,
+
7307  0x5a3c656c /*zoneId*/,
+
7308  &kZoneContext /*zoneContext*/,
+
7309  2 /*transitionBufSize*/,
+
7310  1 /*numEras*/,
+
7311  kZoneEraAntarctica_DumontDUrville /*eras*/,
+
7312 };
+
7313 
+
7314 //---------------------------------------------------------------------------
+
7315 // Zone name: Antarctica/Macquarie
+
7316 // Zone Eras: 3
+
7317 // Strings (bytes): 36
+
7318 // Memory (8-bit): 81
+
7319 // Memory (32-bit): 104
+
7320 //---------------------------------------------------------------------------
+
7321 
+
7322 static const extended::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = {
+
7323  // 10:00 AT AE%sT 2010
+
7324  {
+
7325  &kPolicyAT /*zonePolicy*/,
+
7326  "AE%T" /*format*/,
+
7327  40 /*offsetCode*/,
+
7328  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7329  10 /*untilYearTiny*/,
+
7330  1 /*untilMonth*/,
+
7331  1 /*untilDay*/,
+
7332  0 /*untilTimeCode*/,
+
7333  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7334  },
+
7335  // 10:00 1:00 AEDT 2011
+
7336  {
+
7337  nullptr /*zonePolicy*/,
+
7338  "AEDT" /*format*/,
+
7339  40 /*offsetCode*/,
+
7340  (0 << 4) + (4 + 4) /*deltaCode*/,
+
7341  11 /*untilYearTiny*/,
+
7342  1 /*untilMonth*/,
+
7343  1 /*untilDay*/,
+
7344  0 /*untilTimeCode*/,
+
7345  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7346  },
+
7347  // 10:00 AT AE%sT
+
7348  {
+
7349  &kPolicyAT /*zonePolicy*/,
+
7350  "AE%T" /*format*/,
+
7351  40 /*offsetCode*/,
+
7352  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7353  127 /*untilYearTiny*/,
+
7354  1 /*untilMonth*/,
+
7355  1 /*untilDay*/,
+
7356  0 /*untilTimeCode*/,
+
7357  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7358  },
+
7359 
+
7360 };
+
7361 
+
7362 static const char kZoneNameAntarctica_Macquarie[] ACE_TIME_PROGMEM = "Antarctica/Macquarie";
+
7363 
+
7364 const extended::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = {
+
7365  kZoneNameAntarctica_Macquarie /*name*/,
+
7366  0x92f47626 /*zoneId*/,
+
7367  &kZoneContext /*zoneContext*/,
+
7368  5 /*transitionBufSize*/,
+
7369  3 /*numEras*/,
+
7370  kZoneEraAntarctica_Macquarie /*eras*/,
+
7371 };
+
7372 
+
7373 //---------------------------------------------------------------------------
+
7374 // Zone name: Antarctica/Mawson
+
7375 // Zone Eras: 2
+
7376 // Strings (bytes): 26
+
7377 // Memory (8-bit): 60
+
7378 // Memory (32-bit): 78
+
7379 //---------------------------------------------------------------------------
+
7380 
+
7381 static const extended::ZoneEra kZoneEraAntarctica_Mawson[] ACE_TIME_PROGMEM = {
+
7382  // 6:00 - +06 2009 Oct 18 2:00
+
7383  {
+
7384  nullptr /*zonePolicy*/,
+
7385  "+06" /*format*/,
+
7386  24 /*offsetCode*/,
+
7387  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7388  9 /*untilYearTiny*/,
+
7389  10 /*untilMonth*/,
+
7390  18 /*untilDay*/,
+
7391  8 /*untilTimeCode*/,
+
7392  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7393  },
+
7394  // 5:00 - +05
+
7395  {
+
7396  nullptr /*zonePolicy*/,
+
7397  "+05" /*format*/,
+
7398  20 /*offsetCode*/,
+
7399  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7400  127 /*untilYearTiny*/,
+
7401  1 /*untilMonth*/,
+
7402  1 /*untilDay*/,
+
7403  0 /*untilTimeCode*/,
+
7404  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7405  },
+
7406 
+
7407 };
+
7408 
+
7409 static const char kZoneNameAntarctica_Mawson[] ACE_TIME_PROGMEM = "Antarctica/Mawson";
+
7410 
+
7411 const extended::ZoneInfo kZoneAntarctica_Mawson ACE_TIME_PROGMEM = {
+
7412  kZoneNameAntarctica_Mawson /*name*/,
+
7413  0x399cd863 /*zoneId*/,
+
7414  &kZoneContext /*zoneContext*/,
+
7415  3 /*transitionBufSize*/,
+
7416  2 /*numEras*/,
+
7417  kZoneEraAntarctica_Mawson /*eras*/,
+
7418 };
+
7419 
+
7420 //---------------------------------------------------------------------------
+
7421 // Zone name: Antarctica/Palmer
+
7422 // Zone Eras: 2
+
7423 // Strings (bytes): 30
+
7424 // Memory (8-bit): 64
+
7425 // Memory (32-bit): 82
+
7426 //---------------------------------------------------------------------------
+
7427 
+
7428 static const extended::ZoneEra kZoneEraAntarctica_Palmer[] ACE_TIME_PROGMEM = {
+
7429  // -4:00 Chile -04/-03 2016 Dec 4
+
7430  {
+
7431  &kPolicyChile /*zonePolicy*/,
+
7432  "-04/-03" /*format*/,
+
7433  -16 /*offsetCode*/,
+
7434  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7435  16 /*untilYearTiny*/,
+
7436  12 /*untilMonth*/,
+
7437  4 /*untilDay*/,
+
7438  0 /*untilTimeCode*/,
+
7439  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7440  },
+
7441  // -3:00 - -03
+
7442  {
+
7443  nullptr /*zonePolicy*/,
+
7444  "-03" /*format*/,
+
7445  -12 /*offsetCode*/,
+
7446  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7447  127 /*untilYearTiny*/,
+
7448  1 /*untilMonth*/,
+
7449  1 /*untilDay*/,
+
7450  0 /*untilTimeCode*/,
+
7451  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7452  },
+
7453 
+
7454 };
+
7455 
+
7456 static const char kZoneNameAntarctica_Palmer[] ACE_TIME_PROGMEM = "Antarctica/Palmer";
+
7457 
+
7458 const extended::ZoneInfo kZoneAntarctica_Palmer ACE_TIME_PROGMEM = {
+
7459  kZoneNameAntarctica_Palmer /*name*/,
+
7460  0x40962f4f /*zoneId*/,
+
7461  &kZoneContext /*zoneContext*/,
+
7462  5 /*transitionBufSize*/,
+
7463  2 /*numEras*/,
+
7464  kZoneEraAntarctica_Palmer /*eras*/,
+
7465 };
+
7466 
+
7467 //---------------------------------------------------------------------------
+
7468 // Zone name: Antarctica/Rothera
+
7469 // Zone Eras: 1
+
7470 // Strings (bytes): 23
+
7471 // Memory (8-bit): 46
+
7472 // Memory (32-bit): 59
+
7473 //---------------------------------------------------------------------------
+
7474 
+
7475 static const extended::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
+
7476  // -3:00 - -03
+
7477  {
+
7478  nullptr /*zonePolicy*/,
+
7479  "-03" /*format*/,
+
7480  -12 /*offsetCode*/,
+
7481  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7482  127 /*untilYearTiny*/,
+
7483  1 /*untilMonth*/,
+
7484  1 /*untilDay*/,
+
7485  0 /*untilTimeCode*/,
+
7486  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7487  },
+
7488 
+
7489 };
+
7490 
+
7491 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "Antarctica/Rothera";
+
7492 
+
7493 const extended::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
+
7494  kZoneNameAntarctica_Rothera /*name*/,
+
7495  0x0e86d203 /*zoneId*/,
+
7496  &kZoneContext /*zoneContext*/,
+
7497  2 /*transitionBufSize*/,
+
7498  1 /*numEras*/,
+
7499  kZoneEraAntarctica_Rothera /*eras*/,
+
7500 };
+
7501 
+
7502 //---------------------------------------------------------------------------
+
7503 // Zone name: Antarctica/Syowa
+
7504 // Zone Eras: 1
+
7505 // Strings (bytes): 21
+
7506 // Memory (8-bit): 44
+
7507 // Memory (32-bit): 57
+
7508 //---------------------------------------------------------------------------
+
7509 
+
7510 static const extended::ZoneEra kZoneEraAntarctica_Syowa[] ACE_TIME_PROGMEM = {
+
7511  // 3:00 - +03
+
7512  {
+
7513  nullptr /*zonePolicy*/,
+
7514  "+03" /*format*/,
+
7515  12 /*offsetCode*/,
+
7516  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7517  127 /*untilYearTiny*/,
+
7518  1 /*untilMonth*/,
+
7519  1 /*untilDay*/,
+
7520  0 /*untilTimeCode*/,
+
7521  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7522  },
+
7523 
+
7524 };
+
7525 
+
7526 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "Antarctica/Syowa";
+
7527 
+
7528 const extended::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
+
7529  kZoneNameAntarctica_Syowa /*name*/,
+
7530  0xe330c7e1 /*zoneId*/,
+
7531  &kZoneContext /*zoneContext*/,
+
7532  2 /*transitionBufSize*/,
+
7533  1 /*numEras*/,
+
7534  kZoneEraAntarctica_Syowa /*eras*/,
+
7535 };
+
7536 
+
7537 //---------------------------------------------------------------------------
+
7538 // Zone name: Antarctica/Troll
+
7539 // Zone Eras: 2
+
7540 // Strings (bytes): 23
+
7541 // Memory (8-bit): 57
+
7542 // Memory (32-bit): 75
+
7543 //---------------------------------------------------------------------------
+
7544 
+
7545 static const extended::ZoneEra kZoneEraAntarctica_Troll[] ACE_TIME_PROGMEM = {
+
7546  // 0 - -00 2005 Feb 12
+
7547  {
+
7548  nullptr /*zonePolicy*/,
+
7549  "-00" /*format*/,
+
7550  0 /*offsetCode*/,
+
7551  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7552  5 /*untilYearTiny*/,
+
7553  2 /*untilMonth*/,
+
7554  12 /*untilDay*/,
+
7555  0 /*untilTimeCode*/,
+
7556  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7557  },
+
7558  // 0:00 Troll %s
+
7559  {
+
7560  &kPolicyTroll /*zonePolicy*/,
+
7561  "%" /*format*/,
+
7562  0 /*offsetCode*/,
+
7563  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7564  127 /*untilYearTiny*/,
+
7565  1 /*untilMonth*/,
+
7566  1 /*untilDay*/,
+
7567  0 /*untilTimeCode*/,
+
7568  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7569  },
+
7570 
+
7571 };
+
7572 
+
7573 static const char kZoneNameAntarctica_Troll[] ACE_TIME_PROGMEM = "Antarctica/Troll";
+
7574 
+
7575 const extended::ZoneInfo kZoneAntarctica_Troll ACE_TIME_PROGMEM = {
+
7576  kZoneNameAntarctica_Troll /*name*/,
+
7577  0xe33f085b /*zoneId*/,
+
7578  &kZoneContext /*zoneContext*/,
+
7579  6 /*transitionBufSize*/,
+
7580  2 /*numEras*/,
+
7581  kZoneEraAntarctica_Troll /*eras*/,
+
7582 };
+
7583 
+
7584 //---------------------------------------------------------------------------
+
7585 // Zone name: Antarctica/Vostok
+
7586 // Zone Eras: 1
+
7587 // Strings (bytes): 22
+
7588 // Memory (8-bit): 45
+
7589 // Memory (32-bit): 58
+
7590 //---------------------------------------------------------------------------
+
7591 
+
7592 static const extended::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
+
7593  // 6:00 - +06
+
7594  {
+
7595  nullptr /*zonePolicy*/,
+
7596  "+06" /*format*/,
+
7597  24 /*offsetCode*/,
+
7598  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7599  127 /*untilYearTiny*/,
+
7600  1 /*untilMonth*/,
+
7601  1 /*untilDay*/,
+
7602  0 /*untilTimeCode*/,
+
7603  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7604  },
+
7605 
+
7606 };
+
7607 
+
7608 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "Antarctica/Vostok";
+
7609 
+
7610 const extended::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
+
7611  kZoneNameAntarctica_Vostok /*name*/,
+
7612  0x4f966fd4 /*zoneId*/,
+
7613  &kZoneContext /*zoneContext*/,
+
7614  2 /*transitionBufSize*/,
+
7615  1 /*numEras*/,
+
7616  kZoneEraAntarctica_Vostok /*eras*/,
+
7617 };
+
7618 
+
7619 //---------------------------------------------------------------------------
+
7620 // Zone name: Asia/Almaty
+
7621 // Zone Eras: 2
+
7622 // Strings (bytes): 24
+
7623 // Memory (8-bit): 58
+
7624 // Memory (32-bit): 76
+
7625 //---------------------------------------------------------------------------
+
7626 
+
7627 static const extended::ZoneEra kZoneEraAsia_Almaty[] ACE_TIME_PROGMEM = {
+
7628  // 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
+
7629  {
+
7630  &kPolicyRussiaAsia /*zonePolicy*/,
+
7631  "+06/+07" /*format*/,
+
7632  24 /*offsetCode*/,
+
7633  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7634  4 /*untilYearTiny*/,
+
7635  10 /*untilMonth*/,
+
7636  31 /*untilDay*/,
+
7637  8 /*untilTimeCode*/,
+
7638  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7639  },
+
7640  // 6:00 - +06
+
7641  {
+
7642  nullptr /*zonePolicy*/,
+
7643  "+06" /*format*/,
+
7644  24 /*offsetCode*/,
+
7645  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7646  127 /*untilYearTiny*/,
+
7647  1 /*untilMonth*/,
+
7648  1 /*untilDay*/,
+
7649  0 /*untilTimeCode*/,
+
7650  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7651  },
+
7652 
+
7653 };
+
7654 
+
7655 static const char kZoneNameAsia_Almaty[] ACE_TIME_PROGMEM = "Asia/Almaty";
+
7656 
+
7657 const extended::ZoneInfo kZoneAsia_Almaty ACE_TIME_PROGMEM = {
+
7658  kZoneNameAsia_Almaty /*name*/,
+
7659  0xa61f41fa /*zoneId*/,
+
7660  &kZoneContext /*zoneContext*/,
+
7661  5 /*transitionBufSize*/,
+
7662  2 /*numEras*/,
+
7663  kZoneEraAsia_Almaty /*eras*/,
+
7664 };
+
7665 
+
7666 //---------------------------------------------------------------------------
+
7667 // Zone name: Asia/Amman
+
7668 // Zone Eras: 1
+
7669 // Strings (bytes): 16
+
7670 // Memory (8-bit): 39
+
7671 // Memory (32-bit): 52
+
7672 //---------------------------------------------------------------------------
+
7673 
+
7674 static const extended::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
+
7675  // 2:00 Jordan EE%sT
+
7676  {
+
7677  &kPolicyJordan /*zonePolicy*/,
+
7678  "EE%T" /*format*/,
+
7679  8 /*offsetCode*/,
+
7680  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7681  127 /*untilYearTiny*/,
+
7682  1 /*untilMonth*/,
+
7683  1 /*untilDay*/,
+
7684  0 /*untilTimeCode*/,
+
7685  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7686  },
+
7687 
+
7688 };
+
7689 
+
7690 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "Asia/Amman";
+
7691 
+
7692 const extended::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
+
7693  kZoneNameAsia_Amman /*name*/,
+
7694  0x148d21bc /*zoneId*/,
+
7695  &kZoneContext /*zoneContext*/,
+
7696  6 /*transitionBufSize*/,
+
7697  1 /*numEras*/,
+
7698  kZoneEraAsia_Amman /*eras*/,
+
7699 };
+
7700 
+
7701 //---------------------------------------------------------------------------
+
7702 // Zone name: Asia/Anadyr
+
7703 // Zone Eras: 3
+
7704 // Strings (bytes): 32
+
7705 // Memory (8-bit): 77
+
7706 // Memory (32-bit): 100
+
7707 //---------------------------------------------------------------------------
+
7708 
+
7709 static const extended::ZoneEra kZoneEraAsia_Anadyr[] ACE_TIME_PROGMEM = {
+
7710  // 12:00 Russia +12/+13 2010 Mar 28 2:00s
+
7711  {
+
7712  &kPolicyRussia /*zonePolicy*/,
+
7713  "+12/+13" /*format*/,
+
7714  48 /*offsetCode*/,
+
7715  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7716  10 /*untilYearTiny*/,
+
7717  3 /*untilMonth*/,
+
7718  28 /*untilDay*/,
+
7719  8 /*untilTimeCode*/,
+
7720  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7721  },
+
7722  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
+
7723  {
+
7724  &kPolicyRussia /*zonePolicy*/,
+
7725  "+11/+12" /*format*/,
+
7726  44 /*offsetCode*/,
+
7727  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7728  11 /*untilYearTiny*/,
+
7729  3 /*untilMonth*/,
+
7730  27 /*untilDay*/,
+
7731  8 /*untilTimeCode*/,
+
7732  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7733  },
+
7734  // 12:00 - +12
+
7735  {
+
7736  nullptr /*zonePolicy*/,
+
7737  "+12" /*format*/,
+
7738  48 /*offsetCode*/,
+
7739  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7740  127 /*untilYearTiny*/,
+
7741  1 /*untilMonth*/,
+
7742  1 /*untilDay*/,
+
7743  0 /*untilTimeCode*/,
+
7744  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7745  },
+
7746 
+
7747 };
+
7748 
+
7749 static const char kZoneNameAsia_Anadyr[] ACE_TIME_PROGMEM = "Asia/Anadyr";
+
7750 
+
7751 const extended::ZoneInfo kZoneAsia_Anadyr ACE_TIME_PROGMEM = {
+
7752  kZoneNameAsia_Anadyr /*name*/,
+
7753  0xa63cebd1 /*zoneId*/,
+
7754  &kZoneContext /*zoneContext*/,
+
7755  5 /*transitionBufSize*/,
+
7756  3 /*numEras*/,
+
7757  kZoneEraAsia_Anadyr /*eras*/,
+
7758 };
+
7759 
+
7760 //---------------------------------------------------------------------------
+
7761 // Zone name: Asia/Aqtau
+
7762 // Zone Eras: 2
+
7763 // Strings (bytes): 23
+
7764 // Memory (8-bit): 57
+
7765 // Memory (32-bit): 75
+
7766 //---------------------------------------------------------------------------
+
7767 
+
7768 static const extended::ZoneEra kZoneEraAsia_Aqtau[] ACE_TIME_PROGMEM = {
+
7769  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
+
7770  {
+
7771  &kPolicyRussiaAsia /*zonePolicy*/,
+
7772  "+04/+05" /*format*/,
+
7773  16 /*offsetCode*/,
+
7774  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7775  4 /*untilYearTiny*/,
+
7776  10 /*untilMonth*/,
+
7777  31 /*untilDay*/,
+
7778  8 /*untilTimeCode*/,
+
7779  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7780  },
+
7781  // 5:00 - +05
+
7782  {
+
7783  nullptr /*zonePolicy*/,
+
7784  "+05" /*format*/,
+
7785  20 /*offsetCode*/,
+
7786  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7787  127 /*untilYearTiny*/,
+
7788  1 /*untilMonth*/,
+
7789  1 /*untilDay*/,
+
7790  0 /*untilTimeCode*/,
+
7791  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7792  },
+
7793 
+
7794 };
+
7795 
+
7796 static const char kZoneNameAsia_Aqtau[] ACE_TIME_PROGMEM = "Asia/Aqtau";
+
7797 
+
7798 const extended::ZoneInfo kZoneAsia_Aqtau ACE_TIME_PROGMEM = {
+
7799  kZoneNameAsia_Aqtau /*name*/,
+
7800  0x148f710e /*zoneId*/,
+
7801  &kZoneContext /*zoneContext*/,
+
7802  5 /*transitionBufSize*/,
+
7803  2 /*numEras*/,
+
7804  kZoneEraAsia_Aqtau /*eras*/,
+
7805 };
+
7806 
+
7807 //---------------------------------------------------------------------------
+
7808 // Zone name: Asia/Aqtobe
+
7809 // Zone Eras: 2
+
7810 // Strings (bytes): 24
+
7811 // Memory (8-bit): 58
+
7812 // Memory (32-bit): 76
+
7813 //---------------------------------------------------------------------------
+
7814 
+
7815 static const extended::ZoneEra kZoneEraAsia_Aqtobe[] ACE_TIME_PROGMEM = {
+
7816  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
+
7817  {
+
7818  &kPolicyRussiaAsia /*zonePolicy*/,
+
7819  "+05/+06" /*format*/,
+
7820  20 /*offsetCode*/,
+
7821  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7822  4 /*untilYearTiny*/,
+
7823  10 /*untilMonth*/,
+
7824  31 /*untilDay*/,
+
7825  8 /*untilTimeCode*/,
+
7826  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7827  },
+
7828  // 5:00 - +05
+
7829  {
+
7830  nullptr /*zonePolicy*/,
+
7831  "+05" /*format*/,
+
7832  20 /*offsetCode*/,
+
7833  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7834  127 /*untilYearTiny*/,
+
7835  1 /*untilMonth*/,
+
7836  1 /*untilDay*/,
+
7837  0 /*untilTimeCode*/,
+
7838  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7839  },
+
7840 
+
7841 };
+
7842 
+
7843 static const char kZoneNameAsia_Aqtobe[] ACE_TIME_PROGMEM = "Asia/Aqtobe";
+
7844 
+
7845 const extended::ZoneInfo kZoneAsia_Aqtobe ACE_TIME_PROGMEM = {
+
7846  kZoneNameAsia_Aqtobe /*name*/,
+
7847  0xa67dcc4e /*zoneId*/,
+
7848  &kZoneContext /*zoneContext*/,
+
7849  5 /*transitionBufSize*/,
+
7850  2 /*numEras*/,
+
7851  kZoneEraAsia_Aqtobe /*eras*/,
+
7852 };
+
7853 
+
7854 //---------------------------------------------------------------------------
+
7855 // Zone name: Asia/Ashgabat
+
7856 // Zone Eras: 1
+
7857 // Strings (bytes): 18
+
7858 // Memory (8-bit): 41
+
7859 // Memory (32-bit): 54
+
7860 //---------------------------------------------------------------------------
+
7861 
+
7862 static const extended::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
+
7863  // 5:00 - +05
+
7864  {
+
7865  nullptr /*zonePolicy*/,
+
7866  "+05" /*format*/,
+
7867  20 /*offsetCode*/,
+
7868  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7869  127 /*untilYearTiny*/,
+
7870  1 /*untilMonth*/,
+
7871  1 /*untilDay*/,
+
7872  0 /*untilTimeCode*/,
+
7873  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7874  },
+
7875 
+
7876 };
+
7877 
+
7878 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "Asia/Ashgabat";
+
7879 
+
7880 const extended::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
+
7881  kZoneNameAsia_Ashgabat /*name*/,
+
7882  0xba87598d /*zoneId*/,
+
7883  &kZoneContext /*zoneContext*/,
+
7884  2 /*transitionBufSize*/,
+
7885  1 /*numEras*/,
+
7886  kZoneEraAsia_Ashgabat /*eras*/,
+
7887 };
+
7888 
+
7889 //---------------------------------------------------------------------------
+
7890 // Zone name: Asia/Atyrau
+
7891 // Zone Eras: 3
+
7892 // Strings (bytes): 32
+
7893 // Memory (8-bit): 77
+
7894 // Memory (32-bit): 100
+
7895 //---------------------------------------------------------------------------
+
7896 
+
7897 static const extended::ZoneEra kZoneEraAsia_Atyrau[] ACE_TIME_PROGMEM = {
+
7898  // 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
+
7899  {
+
7900  &kPolicyRussiaAsia /*zonePolicy*/,
+
7901  "+05/+06" /*format*/,
+
7902  20 /*offsetCode*/,
+
7903  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7904  -1 /*untilYearTiny*/,
+
7905  3 /*untilMonth*/,
+
7906  28 /*untilDay*/,
+
7907  8 /*untilTimeCode*/,
+
7908  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7909  },
+
7910  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
+
7911  {
+
7912  &kPolicyRussiaAsia /*zonePolicy*/,
+
7913  "+04/+05" /*format*/,
+
7914  16 /*offsetCode*/,
+
7915  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7916  4 /*untilYearTiny*/,
+
7917  10 /*untilMonth*/,
+
7918  31 /*untilDay*/,
+
7919  8 /*untilTimeCode*/,
+
7920  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
7921  },
+
7922  // 5:00 - +05
+
7923  {
+
7924  nullptr /*zonePolicy*/,
+
7925  "+05" /*format*/,
+
7926  20 /*offsetCode*/,
+
7927  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7928  127 /*untilYearTiny*/,
+
7929  1 /*untilMonth*/,
+
7930  1 /*untilDay*/,
+
7931  0 /*untilTimeCode*/,
+
7932  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7933  },
+
7934 
+
7935 };
+
7936 
+
7937 static const char kZoneNameAsia_Atyrau[] ACE_TIME_PROGMEM = "Asia/Atyrau";
+
7938 
+
7939 const extended::ZoneInfo kZoneAsia_Atyrau ACE_TIME_PROGMEM = {
+
7940  kZoneNameAsia_Atyrau /*name*/,
+
7941  0xa6b6e068 /*zoneId*/,
+
7942  &kZoneContext /*zoneContext*/,
+
7943  6 /*transitionBufSize*/,
+
7944  3 /*numEras*/,
+
7945  kZoneEraAsia_Atyrau /*eras*/,
+
7946 };
+
7947 
+
7948 //---------------------------------------------------------------------------
+
7949 // Zone name: Asia/Baghdad
+
7950 // Zone Eras: 1
+
7951 // Strings (bytes): 21
+
7952 // Memory (8-bit): 44
+
7953 // Memory (32-bit): 57
+
7954 //---------------------------------------------------------------------------
+
7955 
+
7956 static const extended::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
+
7957  // 3:00 Iraq +03/+04
+
7958  {
+
7959  &kPolicyIraq /*zonePolicy*/,
+
7960  "+03/+04" /*format*/,
+
7961  12 /*offsetCode*/,
+
7962  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7963  127 /*untilYearTiny*/,
+
7964  1 /*untilMonth*/,
+
7965  1 /*untilDay*/,
+
7966  0 /*untilTimeCode*/,
+
7967  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
7968  },
+
7969 
+
7970 };
+
7971 
+
7972 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "Asia/Baghdad";
+
7973 
+
7974 const extended::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
+
7975  kZoneNameAsia_Baghdad /*name*/,
+
7976  0x9ceffbed /*zoneId*/,
+
7977  &kZoneContext /*zoneContext*/,
+
7978  4 /*transitionBufSize*/,
+
7979  1 /*numEras*/,
+
7980  kZoneEraAsia_Baghdad /*eras*/,
+
7981 };
+
7982 
+
7983 //---------------------------------------------------------------------------
+
7984 // Zone name: Asia/Baku
+
7985 // Zone Eras: 1
+
7986 // Strings (bytes): 18
+
7987 // Memory (8-bit): 41
+
7988 // Memory (32-bit): 54
+
7989 //---------------------------------------------------------------------------
+
7990 
+
7991 static const extended::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
+
7992  // 4:00 Azer +04/+05
+
7993  {
+
7994  &kPolicyAzer /*zonePolicy*/,
+
7995  "+04/+05" /*format*/,
+
7996  16 /*offsetCode*/,
+
7997  (0 << 4) + (0 + 4) /*deltaCode*/,
+
7998  127 /*untilYearTiny*/,
+
7999  1 /*untilMonth*/,
+
8000  1 /*untilDay*/,
+
8001  0 /*untilTimeCode*/,
+
8002  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8003  },
+
8004 
+
8005 };
+
8006 
+
8007 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "Asia/Baku";
+
8008 
+
8009 const extended::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
+
8010  kZoneNameAsia_Baku /*name*/,
+
8011  0x1fa788b5 /*zoneId*/,
+
8012  &kZoneContext /*zoneContext*/,
+
8013  5 /*transitionBufSize*/,
+
8014  1 /*numEras*/,
+
8015  kZoneEraAsia_Baku /*eras*/,
+
8016 };
+
8017 
+
8018 //---------------------------------------------------------------------------
+
8019 // Zone name: Asia/Bangkok
+
8020 // Zone Eras: 1
+
8021 // Strings (bytes): 17
+
8022 // Memory (8-bit): 40
+
8023 // Memory (32-bit): 53
+
8024 //---------------------------------------------------------------------------
+
8025 
+
8026 static const extended::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
+
8027  // 7:00 - +07
+
8028  {
+
8029  nullptr /*zonePolicy*/,
+
8030  "+07" /*format*/,
+
8031  28 /*offsetCode*/,
+
8032  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8033  127 /*untilYearTiny*/,
+
8034  1 /*untilMonth*/,
+
8035  1 /*untilDay*/,
+
8036  0 /*untilTimeCode*/,
+
8037  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8038  },
+
8039 
+
8040 };
+
8041 
+
8042 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "Asia/Bangkok";
+
8043 
+
8044 const extended::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
+
8045  kZoneNameAsia_Bangkok /*name*/,
+
8046  0x9d6e3aaf /*zoneId*/,
+
8047  &kZoneContext /*zoneContext*/,
+
8048  2 /*transitionBufSize*/,
+
8049  1 /*numEras*/,
+
8050  kZoneEraAsia_Bangkok /*eras*/,
+
8051 };
+
8052 
+
8053 //---------------------------------------------------------------------------
+
8054 // Zone name: Asia/Barnaul
+
8055 // Zone Eras: 4
+
8056 // Strings (bytes): 33
+
8057 // Memory (8-bit): 89
+
8058 // Memory (32-bit): 117
+
8059 //---------------------------------------------------------------------------
+
8060 
+
8061 static const extended::ZoneEra kZoneEraAsia_Barnaul[] ACE_TIME_PROGMEM = {
+
8062  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
+
8063  {
+
8064  &kPolicyRussia /*zonePolicy*/,
+
8065  "+06/+07" /*format*/,
+
8066  24 /*offsetCode*/,
+
8067  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8068  11 /*untilYearTiny*/,
+
8069  3 /*untilMonth*/,
+
8070  27 /*untilDay*/,
+
8071  8 /*untilTimeCode*/,
+
8072  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8073  },
+
8074  // 7:00 - +07 2014 Oct 26 2:00s
+
8075  {
+
8076  nullptr /*zonePolicy*/,
+
8077  "+07" /*format*/,
+
8078  28 /*offsetCode*/,
+
8079  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8080  14 /*untilYearTiny*/,
+
8081  10 /*untilMonth*/,
+
8082  26 /*untilDay*/,
+
8083  8 /*untilTimeCode*/,
+
8084  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8085  },
+
8086  // 6:00 - +06 2016 Mar 27 2:00s
+
8087  {
+
8088  nullptr /*zonePolicy*/,
+
8089  "+06" /*format*/,
+
8090  24 /*offsetCode*/,
+
8091  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8092  16 /*untilYearTiny*/,
+
8093  3 /*untilMonth*/,
+
8094  27 /*untilDay*/,
+
8095  8 /*untilTimeCode*/,
+
8096  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8097  },
+
8098  // 7:00 - +07
+
8099  {
+
8100  nullptr /*zonePolicy*/,
+
8101  "+07" /*format*/,
+
8102  28 /*offsetCode*/,
+
8103  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8104  127 /*untilYearTiny*/,
+
8105  1 /*untilMonth*/,
+
8106  1 /*untilDay*/,
+
8107  0 /*untilTimeCode*/,
+
8108  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8109  },
+
8110 
+
8111 };
+
8112 
+
8113 static const char kZoneNameAsia_Barnaul[] ACE_TIME_PROGMEM = "Asia/Barnaul";
+
8114 
+
8115 const extended::ZoneInfo kZoneAsia_Barnaul ACE_TIME_PROGMEM = {
+
8116  kZoneNameAsia_Barnaul /*name*/,
+
8117  0x9dba4997 /*zoneId*/,
+
8118  &kZoneContext /*zoneContext*/,
+
8119  5 /*transitionBufSize*/,
+
8120  4 /*numEras*/,
+
8121  kZoneEraAsia_Barnaul /*eras*/,
+
8122 };
+
8123 
+
8124 //---------------------------------------------------------------------------
+
8125 // Zone name: Asia/Beirut
+
8126 // Zone Eras: 1
+
8127 // Strings (bytes): 17
+
8128 // Memory (8-bit): 40
+
8129 // Memory (32-bit): 53
+
8130 //---------------------------------------------------------------------------
+
8131 
+
8132 static const extended::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
+
8133  // 2:00 Lebanon EE%sT
+
8134  {
+
8135  &kPolicyLebanon /*zonePolicy*/,
+
8136  "EE%T" /*format*/,
+
8137  8 /*offsetCode*/,
+
8138  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8139  127 /*untilYearTiny*/,
+
8140  1 /*untilMonth*/,
+
8141  1 /*untilDay*/,
+
8142  0 /*untilTimeCode*/,
+
8143  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8144  },
+
8145 
+
8146 };
+
8147 
+
8148 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "Asia/Beirut";
+
8149 
+
8150 const extended::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
+
8151  kZoneNameAsia_Beirut /*name*/,
+
8152  0xa7f3d5fd /*zoneId*/,
+
8153  &kZoneContext /*zoneContext*/,
+
8154  5 /*transitionBufSize*/,
+
8155  1 /*numEras*/,
+
8156  kZoneEraAsia_Beirut /*eras*/,
+
8157 };
+
8158 
+
8159 //---------------------------------------------------------------------------
+
8160 // Zone name: Asia/Bishkek
+
8161 // Zone Eras: 2
+
8162 // Strings (bytes): 25
+
8163 // Memory (8-bit): 59
+
8164 // Memory (32-bit): 77
+
8165 //---------------------------------------------------------------------------
+
8166 
+
8167 static const extended::ZoneEra kZoneEraAsia_Bishkek[] ACE_TIME_PROGMEM = {
+
8168  // 5:00 Kyrgyz +05/+06 2005 Aug 12
+
8169  {
+
8170  &kPolicyKyrgyz /*zonePolicy*/,
+
8171  "+05/+06" /*format*/,
+
8172  20 /*offsetCode*/,
+
8173  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8174  5 /*untilYearTiny*/,
+
8175  8 /*untilMonth*/,
+
8176  12 /*untilDay*/,
+
8177  0 /*untilTimeCode*/,
+
8178  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8179  },
+
8180  // 6:00 - +06
+
8181  {
+
8182  nullptr /*zonePolicy*/,
+
8183  "+06" /*format*/,
+
8184  24 /*offsetCode*/,
+
8185  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8186  127 /*untilYearTiny*/,
+
8187  1 /*untilMonth*/,
+
8188  1 /*untilDay*/,
+
8189  0 /*untilTimeCode*/,
+
8190  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8191  },
+
8192 
+
8193 };
+
8194 
+
8195 static const char kZoneNameAsia_Bishkek[] ACE_TIME_PROGMEM = "Asia/Bishkek";
+
8196 
+
8197 const extended::ZoneInfo kZoneAsia_Bishkek ACE_TIME_PROGMEM = {
+
8198  kZoneNameAsia_Bishkek /*name*/,
+
8199  0xb0728553 /*zoneId*/,
+
8200  &kZoneContext /*zoneContext*/,
+
8201  5 /*transitionBufSize*/,
+
8202  2 /*numEras*/,
+
8203  kZoneEraAsia_Bishkek /*eras*/,
+
8204 };
+
8205 
+
8206 //---------------------------------------------------------------------------
+
8207 // Zone name: Asia/Brunei
+
8208 // Zone Eras: 1
+
8209 // Strings (bytes): 16
+
8210 // Memory (8-bit): 39
+
8211 // Memory (32-bit): 52
+
8212 //---------------------------------------------------------------------------
+
8213 
+
8214 static const extended::ZoneEra kZoneEraAsia_Brunei[] ACE_TIME_PROGMEM = {
+
8215  // 8:00 - +08
+
8216  {
+
8217  nullptr /*zonePolicy*/,
+
8218  "+08" /*format*/,
+
8219  32 /*offsetCode*/,
+
8220  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8221  127 /*untilYearTiny*/,
+
8222  1 /*untilMonth*/,
+
8223  1 /*untilDay*/,
+
8224  0 /*untilTimeCode*/,
+
8225  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8226  },
+
8227 
+
8228 };
+
8229 
+
8230 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "Asia/Brunei";
+
8231 
+
8232 const extended::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
+
8233  kZoneNameAsia_Brunei /*name*/,
+
8234  0xa8e595f7 /*zoneId*/,
+
8235  &kZoneContext /*zoneContext*/,
+
8236  2 /*transitionBufSize*/,
+
8237  1 /*numEras*/,
+
8238  kZoneEraAsia_Brunei /*eras*/,
+
8239 };
+
8240 
+
8241 //---------------------------------------------------------------------------
+
8242 // Zone name: Asia/Chita
+
8243 // Zone Eras: 4
+
8244 // Strings (bytes): 31
+
8245 // Memory (8-bit): 87
+
8246 // Memory (32-bit): 115
+
8247 //---------------------------------------------------------------------------
+
8248 
+
8249 static const extended::ZoneEra kZoneEraAsia_Chita[] ACE_TIME_PROGMEM = {
+
8250  // 9:00 Russia +09/+10 2011 Mar 27 2:00s
+
8251  {
+
8252  &kPolicyRussia /*zonePolicy*/,
+
8253  "+09/+10" /*format*/,
+
8254  36 /*offsetCode*/,
+
8255  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8256  11 /*untilYearTiny*/,
+
8257  3 /*untilMonth*/,
+
8258  27 /*untilDay*/,
+
8259  8 /*untilTimeCode*/,
+
8260  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8261  },
+
8262  // 10:00 - +10 2014 Oct 26 2:00s
+
8263  {
+
8264  nullptr /*zonePolicy*/,
+
8265  "+10" /*format*/,
+
8266  40 /*offsetCode*/,
+
8267  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8268  14 /*untilYearTiny*/,
+
8269  10 /*untilMonth*/,
+
8270  26 /*untilDay*/,
+
8271  8 /*untilTimeCode*/,
+
8272  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8273  },
+
8274  // 8:00 - +08 2016 Mar 27 2:00
+
8275  {
+
8276  nullptr /*zonePolicy*/,
+
8277  "+08" /*format*/,
+
8278  32 /*offsetCode*/,
+
8279  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8280  16 /*untilYearTiny*/,
+
8281  3 /*untilMonth*/,
+
8282  27 /*untilDay*/,
+
8283  8 /*untilTimeCode*/,
+
8284  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8285  },
+
8286  // 9:00 - +09
+
8287  {
+
8288  nullptr /*zonePolicy*/,
+
8289  "+09" /*format*/,
+
8290  36 /*offsetCode*/,
+
8291  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8292  127 /*untilYearTiny*/,
+
8293  1 /*untilMonth*/,
+
8294  1 /*untilDay*/,
+
8295  0 /*untilTimeCode*/,
+
8296  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8297  },
+
8298 
+
8299 };
+
8300 
+
8301 static const char kZoneNameAsia_Chita[] ACE_TIME_PROGMEM = "Asia/Chita";
+
8302 
+
8303 const extended::ZoneInfo kZoneAsia_Chita ACE_TIME_PROGMEM = {
+
8304  kZoneNameAsia_Chita /*name*/,
+
8305  0x14ae863b /*zoneId*/,
+
8306  &kZoneContext /*zoneContext*/,
+
8307  5 /*transitionBufSize*/,
+
8308  4 /*numEras*/,
+
8309  kZoneEraAsia_Chita /*eras*/,
+
8310 };
+
8311 
+
8312 //---------------------------------------------------------------------------
+
8313 // Zone name: Asia/Choibalsan
+
8314 // Zone Eras: 2
+
8315 // Strings (bytes): 32
+
8316 // Memory (8-bit): 66
+
8317 // Memory (32-bit): 84
+
8318 //---------------------------------------------------------------------------
+
8319 
+
8320 static const extended::ZoneEra kZoneEraAsia_Choibalsan[] ACE_TIME_PROGMEM = {
+
8321  // 9:00 Mongol +09/+10 2008 Mar 31
+
8322  {
+
8323  &kPolicyMongol /*zonePolicy*/,
+
8324  "+09/+10" /*format*/,
+
8325  36 /*offsetCode*/,
+
8326  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8327  8 /*untilYearTiny*/,
+
8328  3 /*untilMonth*/,
+
8329  31 /*untilDay*/,
+
8330  0 /*untilTimeCode*/,
+
8331  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8332  },
+
8333  // 8:00 Mongol +08/+09
+
8334  {
+
8335  &kPolicyMongol /*zonePolicy*/,
+
8336  "+08/+09" /*format*/,
+
8337  32 /*offsetCode*/,
+
8338  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8339  127 /*untilYearTiny*/,
+
8340  1 /*untilMonth*/,
+
8341  1 /*untilDay*/,
+
8342  0 /*untilTimeCode*/,
+
8343  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8344  },
+
8345 
+
8346 };
+
8347 
+
8348 static const char kZoneNameAsia_Choibalsan[] ACE_TIME_PROGMEM = "Asia/Choibalsan";
+
8349 
+
8350 const extended::ZoneInfo kZoneAsia_Choibalsan ACE_TIME_PROGMEM = {
+
8351  kZoneNameAsia_Choibalsan /*name*/,
+
8352  0x928aa4a6 /*zoneId*/,
+
8353  &kZoneContext /*zoneContext*/,
+
8354  5 /*transitionBufSize*/,
+
8355  2 /*numEras*/,
+
8356  kZoneEraAsia_Choibalsan /*eras*/,
+
8357 };
+
8358 
+
8359 //---------------------------------------------------------------------------
+
8360 // Zone name: Asia/Colombo
+
8361 // Zone Eras: 2
+
8362 // Strings (bytes): 23
+
8363 // Memory (8-bit): 57
+
8364 // Memory (32-bit): 75
+
8365 //---------------------------------------------------------------------------
+
8366 
+
8367 static const extended::ZoneEra kZoneEraAsia_Colombo[] ACE_TIME_PROGMEM = {
+
8368  // 6:00 - +06 2006 Apr 15 0:30
+
8369  {
+
8370  nullptr /*zonePolicy*/,
+
8371  "+06" /*format*/,
+
8372  24 /*offsetCode*/,
+
8373  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8374  6 /*untilYearTiny*/,
+
8375  4 /*untilMonth*/,
+
8376  15 /*untilDay*/,
+
8377  2 /*untilTimeCode*/,
+
8378  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8379  },
+
8380  // 5:30 - +0530
+
8381  {
+
8382  nullptr /*zonePolicy*/,
+
8383  "+0530" /*format*/,
+
8384  22 /*offsetCode*/,
+
8385  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8386  127 /*untilYearTiny*/,
+
8387  1 /*untilMonth*/,
+
8388  1 /*untilDay*/,
+
8389  0 /*untilTimeCode*/,
+
8390  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8391  },
+
8392 
+
8393 };
+
8394 
+
8395 static const char kZoneNameAsia_Colombo[] ACE_TIME_PROGMEM = "Asia/Colombo";
+
8396 
+
8397 const extended::ZoneInfo kZoneAsia_Colombo ACE_TIME_PROGMEM = {
+
8398  kZoneNameAsia_Colombo /*name*/,
+
8399  0x0af0e91d /*zoneId*/,
+
8400  &kZoneContext /*zoneContext*/,
+
8401  3 /*transitionBufSize*/,
+
8402  2 /*numEras*/,
+
8403  kZoneEraAsia_Colombo /*eras*/,
+
8404 };
+
8405 
+
8406 //---------------------------------------------------------------------------
+
8407 // Zone name: Asia/Damascus
+
8408 // Zone Eras: 1
+
8409 // Strings (bytes): 19
+
8410 // Memory (8-bit): 42
+
8411 // Memory (32-bit): 55
+
8412 //---------------------------------------------------------------------------
+
8413 
+
8414 static const extended::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
+
8415  // 2:00 Syria EE%sT
+
8416  {
+
8417  &kPolicySyria /*zonePolicy*/,
+
8418  "EE%T" /*format*/,
+
8419  8 /*offsetCode*/,
+
8420  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8421  127 /*untilYearTiny*/,
+
8422  1 /*untilMonth*/,
+
8423  1 /*untilDay*/,
+
8424  0 /*untilTimeCode*/,
+
8425  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8426  },
+
8427 
+
8428 };
+
8429 
+
8430 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "Asia/Damascus";
+
8431 
+
8432 const extended::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
+
8433  kZoneNameAsia_Damascus /*name*/,
+
8434  0x20fbb063 /*zoneId*/,
+
8435  &kZoneContext /*zoneContext*/,
+
8436  6 /*transitionBufSize*/,
+
8437  1 /*numEras*/,
+
8438  kZoneEraAsia_Damascus /*eras*/,
+
8439 };
+
8440 
+
8441 //---------------------------------------------------------------------------
+
8442 // Zone name: Asia/Dhaka
+
8443 // Zone Eras: 2
+
8444 // Strings (bytes): 23
+
8445 // Memory (8-bit): 57
+
8446 // Memory (32-bit): 75
+
8447 //---------------------------------------------------------------------------
+
8448 
+
8449 static const extended::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
+
8450  // 6:00 - +06 2009
+
8451  {
+
8452  nullptr /*zonePolicy*/,
+
8453  "+06" /*format*/,
+
8454  24 /*offsetCode*/,
+
8455  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8456  9 /*untilYearTiny*/,
+
8457  1 /*untilMonth*/,
+
8458  1 /*untilDay*/,
+
8459  0 /*untilTimeCode*/,
+
8460  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8461  },
+
8462  // 6:00 Dhaka +06/+07
+
8463  {
+
8464  &kPolicyDhaka /*zonePolicy*/,
+
8465  "+06/+07" /*format*/,
+
8466  24 /*offsetCode*/,
+
8467  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8468  127 /*untilYearTiny*/,
+
8469  1 /*untilMonth*/,
+
8470  1 /*untilDay*/,
+
8471  0 /*untilTimeCode*/,
+
8472  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8473  },
+
8474 
+
8475 };
+
8476 
+
8477 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "Asia/Dhaka";
+
8478 
+
8479 const extended::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
+
8480  kZoneNameAsia_Dhaka /*name*/,
+
8481  0x14c07b8b /*zoneId*/,
+
8482  &kZoneContext /*zoneContext*/,
+
8483  5 /*transitionBufSize*/,
+
8484  2 /*numEras*/,
+
8485  kZoneEraAsia_Dhaka /*eras*/,
+
8486 };
+
8487 
+
8488 //---------------------------------------------------------------------------
+
8489 // Zone name: Asia/Dili
+
8490 // Zone Eras: 2
+
8491 // Strings (bytes): 18
+
8492 // Memory (8-bit): 52
+
8493 // Memory (32-bit): 70
+
8494 //---------------------------------------------------------------------------
+
8495 
+
8496 static const extended::ZoneEra kZoneEraAsia_Dili[] ACE_TIME_PROGMEM = {
+
8497  // 8:00 - +08 2000 Sep 17 0:00
+
8498  {
+
8499  nullptr /*zonePolicy*/,
+
8500  "+08" /*format*/,
+
8501  32 /*offsetCode*/,
+
8502  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8503  0 /*untilYearTiny*/,
+
8504  9 /*untilMonth*/,
+
8505  17 /*untilDay*/,
+
8506  0 /*untilTimeCode*/,
+
8507  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8508  },
+
8509  // 9:00 - +09
+
8510  {
+
8511  nullptr /*zonePolicy*/,
+
8512  "+09" /*format*/,
+
8513  36 /*offsetCode*/,
+
8514  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8515  127 /*untilYearTiny*/,
+
8516  1 /*untilMonth*/,
+
8517  1 /*untilDay*/,
+
8518  0 /*untilTimeCode*/,
+
8519  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8520  },
+
8521 
+
8522 };
+
8523 
+
8524 static const char kZoneNameAsia_Dili[] ACE_TIME_PROGMEM = "Asia/Dili";
+
8525 
+
8526 const extended::ZoneInfo kZoneAsia_Dili ACE_TIME_PROGMEM = {
+
8527  kZoneNameAsia_Dili /*name*/,
+
8528  0x1fa8c394 /*zoneId*/,
+
8529  &kZoneContext /*zoneContext*/,
+
8530  3 /*transitionBufSize*/,
+
8531  2 /*numEras*/,
+
8532  kZoneEraAsia_Dili /*eras*/,
+
8533 };
+
8534 
+
8535 //---------------------------------------------------------------------------
+
8536 // Zone name: Asia/Dubai
+
8537 // Zone Eras: 1
+
8538 // Strings (bytes): 15
+
8539 // Memory (8-bit): 38
+
8540 // Memory (32-bit): 51
+
8541 //---------------------------------------------------------------------------
+
8542 
+
8543 static const extended::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
+
8544  // 4:00 - +04
+
8545  {
+
8546  nullptr /*zonePolicy*/,
+
8547  "+04" /*format*/,
+
8548  16 /*offsetCode*/,
+
8549  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8550  127 /*untilYearTiny*/,
+
8551  1 /*untilMonth*/,
+
8552  1 /*untilDay*/,
+
8553  0 /*untilTimeCode*/,
+
8554  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8555  },
+
8556 
+
8557 };
+
8558 
+
8559 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "Asia/Dubai";
+
8560 
+
8561 const extended::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
+
8562  kZoneNameAsia_Dubai /*name*/,
+
8563  0x14c79f77 /*zoneId*/,
+
8564  &kZoneContext /*zoneContext*/,
+
8565  2 /*transitionBufSize*/,
+
8566  1 /*numEras*/,
+
8567  kZoneEraAsia_Dubai /*eras*/,
+
8568 };
+
8569 
+
8570 //---------------------------------------------------------------------------
+
8571 // Zone name: Asia/Dushanbe
+
8572 // Zone Eras: 1
+
8573 // Strings (bytes): 18
+
8574 // Memory (8-bit): 41
+
8575 // Memory (32-bit): 54
+
8576 //---------------------------------------------------------------------------
+
8577 
+
8578 static const extended::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
+
8579  // 5:00 - +05
+
8580  {
+
8581  nullptr /*zonePolicy*/,
+
8582  "+05" /*format*/,
+
8583  20 /*offsetCode*/,
+
8584  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8585  127 /*untilYearTiny*/,
+
8586  1 /*untilMonth*/,
+
8587  1 /*untilDay*/,
+
8588  0 /*untilTimeCode*/,
+
8589  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8590  },
+
8591 
+
8592 };
+
8593 
+
8594 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "Asia/Dushanbe";
+
8595 
+
8596 const extended::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
+
8597  kZoneNameAsia_Dushanbe /*name*/,
+
8598  0x32fc5c3c /*zoneId*/,
+
8599  &kZoneContext /*zoneContext*/,
+
8600  2 /*transitionBufSize*/,
+
8601  1 /*numEras*/,
+
8602  kZoneEraAsia_Dushanbe /*eras*/,
+
8603 };
+
8604 
+
8605 //---------------------------------------------------------------------------
+
8606 // Zone name: Asia/Famagusta
+
8607 // Zone Eras: 3
+
8608 // Strings (bytes): 29
+
8609 // Memory (8-bit): 74
+
8610 // Memory (32-bit): 97
+
8611 //---------------------------------------------------------------------------
+
8612 
+
8613 static const extended::ZoneEra kZoneEraAsia_Famagusta[] ACE_TIME_PROGMEM = {
+
8614  // 2:00 EUAsia EE%sT 2016 Sep 8
+
8615  {
+
8616  &kPolicyEUAsia /*zonePolicy*/,
+
8617  "EE%T" /*format*/,
+
8618  8 /*offsetCode*/,
+
8619  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8620  16 /*untilYearTiny*/,
+
8621  9 /*untilMonth*/,
+
8622  8 /*untilDay*/,
+
8623  0 /*untilTimeCode*/,
+
8624  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8625  },
+
8626  // 3:00 - +03 2017 Oct 29 1:00u
+
8627  {
+
8628  nullptr /*zonePolicy*/,
+
8629  "+03" /*format*/,
+
8630  12 /*offsetCode*/,
+
8631  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8632  17 /*untilYearTiny*/,
+
8633  10 /*untilMonth*/,
+
8634  29 /*untilDay*/,
+
8635  4 /*untilTimeCode*/,
+
8636  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
8637  },
+
8638  // 2:00 EUAsia EE%sT
+
8639  {
+
8640  &kPolicyEUAsia /*zonePolicy*/,
+
8641  "EE%T" /*format*/,
+
8642  8 /*offsetCode*/,
+
8643  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8644  127 /*untilYearTiny*/,
+
8645  1 /*untilMonth*/,
+
8646  1 /*untilDay*/,
+
8647  0 /*untilTimeCode*/,
+
8648  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8649  },
+
8650 
+
8651 };
+
8652 
+
8653 static const char kZoneNameAsia_Famagusta[] ACE_TIME_PROGMEM = "Asia/Famagusta";
+
8654 
+
8655 const extended::ZoneInfo kZoneAsia_Famagusta ACE_TIME_PROGMEM = {
+
8656  kZoneNameAsia_Famagusta /*name*/,
+
8657  0x289b4f8b /*zoneId*/,
+
8658  &kZoneContext /*zoneContext*/,
+
8659  5 /*transitionBufSize*/,
+
8660  3 /*numEras*/,
+
8661  kZoneEraAsia_Famagusta /*eras*/,
+
8662 };
+
8663 
+
8664 //---------------------------------------------------------------------------
+
8665 // Zone name: Asia/Gaza
+
8666 // Zone Eras: 8
+
8667 // Strings (bytes): 47
+
8668 // Memory (8-bit): 147
+
8669 // Memory (32-bit): 195
+
8670 //---------------------------------------------------------------------------
+
8671 
+
8672 static const extended::ZoneEra kZoneEraAsia_Gaza[] ACE_TIME_PROGMEM = {
+
8673  // 2:00 Jordan EE%sT 1999
+
8674  {
+
8675  &kPolicyJordan /*zonePolicy*/,
+
8676  "EE%T" /*format*/,
+
8677  8 /*offsetCode*/,
+
8678  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8679  -1 /*untilYearTiny*/,
+
8680  1 /*untilMonth*/,
+
8681  1 /*untilDay*/,
+
8682  0 /*untilTimeCode*/,
+
8683  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8684  },
+
8685  // 2:00 Palestine EE%sT 2008 Aug 29 0:00
+
8686  {
+
8687  &kPolicyPalestine /*zonePolicy*/,
+
8688  "EE%T" /*format*/,
+
8689  8 /*offsetCode*/,
+
8690  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8691  8 /*untilYearTiny*/,
+
8692  8 /*untilMonth*/,
+
8693  29 /*untilDay*/,
+
8694  0 /*untilTimeCode*/,
+
8695  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8696  },
+
8697  // 2:00 - EET 2008 Sep
+
8698  {
+
8699  nullptr /*zonePolicy*/,
+
8700  "EET" /*format*/,
+
8701  8 /*offsetCode*/,
+
8702  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8703  8 /*untilYearTiny*/,
+
8704  9 /*untilMonth*/,
+
8705  1 /*untilDay*/,
+
8706  0 /*untilTimeCode*/,
+
8707  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8708  },
+
8709  // 2:00 Palestine EE%sT 2010
+
8710  {
+
8711  &kPolicyPalestine /*zonePolicy*/,
+
8712  "EE%T" /*format*/,
+
8713  8 /*offsetCode*/,
+
8714  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8715  10 /*untilYearTiny*/,
+
8716  1 /*untilMonth*/,
+
8717  1 /*untilDay*/,
+
8718  0 /*untilTimeCode*/,
+
8719  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8720  },
+
8721  // 2:00 - EET 2010 Mar 27 0:01
+
8722  {
+
8723  nullptr /*zonePolicy*/,
+
8724  "EET" /*format*/,
+
8725  8 /*offsetCode*/,
+
8726  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8727  10 /*untilYearTiny*/,
+
8728  3 /*untilMonth*/,
+
8729  27 /*untilDay*/,
+
8730  0 /*untilTimeCode*/,
+
8731  extended::ZoneContext::kSuffixW + 1 /*untilTimeModifier*/,
+
8732  },
+
8733  // 2:00 Palestine EE%sT 2011 Aug 1
+
8734  {
+
8735  &kPolicyPalestine /*zonePolicy*/,
+
8736  "EE%T" /*format*/,
+
8737  8 /*offsetCode*/,
+
8738  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8739  11 /*untilYearTiny*/,
+
8740  8 /*untilMonth*/,
+
8741  1 /*untilDay*/,
+
8742  0 /*untilTimeCode*/,
+
8743  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8744  },
+
8745  // 2:00 - EET 2012
+
8746  {
+
8747  nullptr /*zonePolicy*/,
+
8748  "EET" /*format*/,
+
8749  8 /*offsetCode*/,
+
8750  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8751  12 /*untilYearTiny*/,
+
8752  1 /*untilMonth*/,
+
8753  1 /*untilDay*/,
+
8754  0 /*untilTimeCode*/,
+
8755  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8756  },
+
8757  // 2:00 Palestine EE%sT
+
8758  {
+
8759  &kPolicyPalestine /*zonePolicy*/,
+
8760  "EE%T" /*format*/,
+
8761  8 /*offsetCode*/,
+
8762  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8763  127 /*untilYearTiny*/,
+
8764  1 /*untilMonth*/,
+
8765  1 /*untilDay*/,
+
8766  0 /*untilTimeCode*/,
+
8767  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8768  },
+
8769 
+
8770 };
+
8771 
+
8772 static const char kZoneNameAsia_Gaza[] ACE_TIME_PROGMEM = "Asia/Gaza";
+
8773 
+
8774 const extended::ZoneInfo kZoneAsia_Gaza ACE_TIME_PROGMEM = {
+
8775  kZoneNameAsia_Gaza /*name*/,
+
8776  0x1faa4875 /*zoneId*/,
+
8777  &kZoneContext /*zoneContext*/,
+
8778  7 /*transitionBufSize*/,
+
8779  8 /*numEras*/,
+
8780  kZoneEraAsia_Gaza /*eras*/,
+
8781 };
+
8782 
+
8783 //---------------------------------------------------------------------------
+
8784 // Zone name: Asia/Hebron
+
8785 // Zone Eras: 2
+
8786 // Strings (bytes): 22
+
8787 // Memory (8-bit): 56
+
8788 // Memory (32-bit): 74
+
8789 //---------------------------------------------------------------------------
+
8790 
+
8791 static const extended::ZoneEra kZoneEraAsia_Hebron[] ACE_TIME_PROGMEM = {
+
8792  // 2:00 Jordan EE%sT 1999
+
8793  {
+
8794  &kPolicyJordan /*zonePolicy*/,
+
8795  "EE%T" /*format*/,
+
8796  8 /*offsetCode*/,
+
8797  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8798  -1 /*untilYearTiny*/,
+
8799  1 /*untilMonth*/,
+
8800  1 /*untilDay*/,
+
8801  0 /*untilTimeCode*/,
+
8802  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8803  },
+
8804  // 2:00 Palestine EE%sT
+
8805  {
+
8806  &kPolicyPalestine /*zonePolicy*/,
+
8807  "EE%T" /*format*/,
+
8808  8 /*offsetCode*/,
+
8809  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8810  127 /*untilYearTiny*/,
+
8811  1 /*untilMonth*/,
+
8812  1 /*untilDay*/,
+
8813  0 /*untilTimeCode*/,
+
8814  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8815  },
+
8816 
+
8817 };
+
8818 
+
8819 static const char kZoneNameAsia_Hebron[] ACE_TIME_PROGMEM = "Asia/Hebron";
+
8820 
+
8821 const extended::ZoneInfo kZoneAsia_Hebron ACE_TIME_PROGMEM = {
+
8822  kZoneNameAsia_Hebron /*name*/,
+
8823  0xb5eef250 /*zoneId*/,
+
8824  &kZoneContext /*zoneContext*/,
+
8825  7 /*transitionBufSize*/,
+
8826  2 /*numEras*/,
+
8827  kZoneEraAsia_Hebron /*eras*/,
+
8828 };
+
8829 
+
8830 //---------------------------------------------------------------------------
+
8831 // Zone name: Asia/Ho_Chi_Minh
+
8832 // Zone Eras: 1
+
8833 // Strings (bytes): 21
+
8834 // Memory (8-bit): 44
+
8835 // Memory (32-bit): 57
+
8836 //---------------------------------------------------------------------------
+
8837 
+
8838 static const extended::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
+
8839  // 7:00 - +07
+
8840  {
+
8841  nullptr /*zonePolicy*/,
+
8842  "+07" /*format*/,
+
8843  28 /*offsetCode*/,
+
8844  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8845  127 /*untilYearTiny*/,
+
8846  1 /*untilMonth*/,
+
8847  1 /*untilDay*/,
+
8848  0 /*untilTimeCode*/,
+
8849  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8850  },
+
8851 
+
8852 };
+
8853 
+
8854 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "Asia/Ho_Chi_Minh";
+
8855 
+
8856 const extended::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
+
8857  kZoneNameAsia_Ho_Chi_Minh /*name*/,
+
8858  0x20f2d127 /*zoneId*/,
+
8859  &kZoneContext /*zoneContext*/,
+
8860  2 /*transitionBufSize*/,
+
8861  1 /*numEras*/,
+
8862  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
+
8863 };
+
8864 
+
8865 //---------------------------------------------------------------------------
+
8866 // Zone name: Asia/Hong_Kong
+
8867 // Zone Eras: 1
+
8868 // Strings (bytes): 20
+
8869 // Memory (8-bit): 43
+
8870 // Memory (32-bit): 56
+
8871 //---------------------------------------------------------------------------
+
8872 
+
8873 static const extended::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
+
8874  // 8:00 HK HK%sT
+
8875  {
+
8876  &kPolicyHK /*zonePolicy*/,
+
8877  "HK%T" /*format*/,
+
8878  32 /*offsetCode*/,
+
8879  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8880  127 /*untilYearTiny*/,
+
8881  1 /*untilMonth*/,
+
8882  1 /*untilDay*/,
+
8883  0 /*untilTimeCode*/,
+
8884  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8885  },
+
8886 
+
8887 };
+
8888 
+
8889 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "Asia/Hong_Kong";
+
8890 
+
8891 const extended::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
+
8892  kZoneNameAsia_Hong_Kong /*name*/,
+
8893  0x577f28ac /*zoneId*/,
+
8894  &kZoneContext /*zoneContext*/,
+
8895  2 /*transitionBufSize*/,
+
8896  1 /*numEras*/,
+
8897  kZoneEraAsia_Hong_Kong /*eras*/,
+
8898 };
+
8899 
+
8900 //---------------------------------------------------------------------------
+
8901 // Zone name: Asia/Hovd
+
8902 // Zone Eras: 1
+
8903 // Strings (bytes): 18
+
8904 // Memory (8-bit): 41
+
8905 // Memory (32-bit): 54
+
8906 //---------------------------------------------------------------------------
+
8907 
+
8908 static const extended::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
+
8909  // 7:00 Mongol +07/+08
+
8910  {
+
8911  &kPolicyMongol /*zonePolicy*/,
+
8912  "+07/+08" /*format*/,
+
8913  28 /*offsetCode*/,
+
8914  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8915  127 /*untilYearTiny*/,
+
8916  1 /*untilMonth*/,
+
8917  1 /*untilDay*/,
+
8918  0 /*untilTimeCode*/,
+
8919  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8920  },
+
8921 
+
8922 };
+
8923 
+
8924 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "Asia/Hovd";
+
8925 
+
8926 const extended::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
+
8927  kZoneNameAsia_Hovd /*name*/,
+
8928  0x1fab0fe3 /*zoneId*/,
+
8929  &kZoneContext /*zoneContext*/,
+
8930  5 /*transitionBufSize*/,
+
8931  1 /*numEras*/,
+
8932  kZoneEraAsia_Hovd /*eras*/,
+
8933 };
+
8934 
+
8935 //---------------------------------------------------------------------------
+
8936 // Zone name: Asia/Irkutsk
+
8937 // Zone Eras: 3
+
8938 // Strings (bytes): 29
+
8939 // Memory (8-bit): 74
+
8940 // Memory (32-bit): 97
+
8941 //---------------------------------------------------------------------------
+
8942 
+
8943 static const extended::ZoneEra kZoneEraAsia_Irkutsk[] ACE_TIME_PROGMEM = {
+
8944  // 8:00 Russia +08/+09 2011 Mar 27 2:00s
+
8945  {
+
8946  &kPolicyRussia /*zonePolicy*/,
+
8947  "+08/+09" /*format*/,
+
8948  32 /*offsetCode*/,
+
8949  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8950  11 /*untilYearTiny*/,
+
8951  3 /*untilMonth*/,
+
8952  27 /*untilDay*/,
+
8953  8 /*untilTimeCode*/,
+
8954  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8955  },
+
8956  // 9:00 - +09 2014 Oct 26 2:00s
+
8957  {
+
8958  nullptr /*zonePolicy*/,
+
8959  "+09" /*format*/,
+
8960  36 /*offsetCode*/,
+
8961  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8962  14 /*untilYearTiny*/,
+
8963  10 /*untilMonth*/,
+
8964  26 /*untilDay*/,
+
8965  8 /*untilTimeCode*/,
+
8966  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
8967  },
+
8968  // 8:00 - +08
+
8969  {
+
8970  nullptr /*zonePolicy*/,
+
8971  "+08" /*format*/,
+
8972  32 /*offsetCode*/,
+
8973  (0 << 4) + (0 + 4) /*deltaCode*/,
+
8974  127 /*untilYearTiny*/,
+
8975  1 /*untilMonth*/,
+
8976  1 /*untilDay*/,
+
8977  0 /*untilTimeCode*/,
+
8978  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
8979  },
+
8980 
+
8981 };
+
8982 
+
8983 static const char kZoneNameAsia_Irkutsk[] ACE_TIME_PROGMEM = "Asia/Irkutsk";
+
8984 
+
8985 const extended::ZoneInfo kZoneAsia_Irkutsk ACE_TIME_PROGMEM = {
+
8986  kZoneNameAsia_Irkutsk /*name*/,
+
8987  0xdfbf213f /*zoneId*/,
+
8988  &kZoneContext /*zoneContext*/,
+
8989  5 /*transitionBufSize*/,
+
8990  3 /*numEras*/,
+
8991  kZoneEraAsia_Irkutsk /*eras*/,
+
8992 };
+
8993 
+
8994 //---------------------------------------------------------------------------
+
8995 // Zone name: Asia/Jakarta
+
8996 // Zone Eras: 1
+
8997 // Strings (bytes): 17
+
8998 // Memory (8-bit): 40
+
8999 // Memory (32-bit): 53
+
9000 //---------------------------------------------------------------------------
+
9001 
+
9002 static const extended::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
+
9003  // 7:00 - WIB
+
9004  {
+
9005  nullptr /*zonePolicy*/,
+
9006  "WIB" /*format*/,
+
9007  28 /*offsetCode*/,
+
9008  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9009  127 /*untilYearTiny*/,
+
9010  1 /*untilMonth*/,
+
9011  1 /*untilDay*/,
+
9012  0 /*untilTimeCode*/,
+
9013  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9014  },
+
9015 
+
9016 };
+
9017 
+
9018 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "Asia/Jakarta";
+
9019 
+
9020 const extended::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
+
9021  kZoneNameAsia_Jakarta /*name*/,
+
9022  0x0506ab50 /*zoneId*/,
+
9023  &kZoneContext /*zoneContext*/,
+
9024  2 /*transitionBufSize*/,
+
9025  1 /*numEras*/,
+
9026  kZoneEraAsia_Jakarta /*eras*/,
+
9027 };
+
9028 
+
9029 //---------------------------------------------------------------------------
+
9030 // Zone name: Asia/Jayapura
+
9031 // Zone Eras: 1
+
9032 // Strings (bytes): 18
+
9033 // Memory (8-bit): 41
+
9034 // Memory (32-bit): 54
+
9035 //---------------------------------------------------------------------------
+
9036 
+
9037 static const extended::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
+
9038  // 9:00 - WIT
+
9039  {
+
9040  nullptr /*zonePolicy*/,
+
9041  "WIT" /*format*/,
+
9042  36 /*offsetCode*/,
+
9043  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9044  127 /*untilYearTiny*/,
+
9045  1 /*untilMonth*/,
+
9046  1 /*untilDay*/,
+
9047  0 /*untilTimeCode*/,
+
9048  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9049  },
+
9050 
+
9051 };
+
9052 
+
9053 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "Asia/Jayapura";
+
9054 
+
9055 const extended::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
+
9056  kZoneNameAsia_Jayapura /*name*/,
+
9057  0xc6833c2f /*zoneId*/,
+
9058  &kZoneContext /*zoneContext*/,
+
9059  2 /*transitionBufSize*/,
+
9060  1 /*numEras*/,
+
9061  kZoneEraAsia_Jayapura /*eras*/,
+
9062 };
+
9063 
+
9064 //---------------------------------------------------------------------------
+
9065 // Zone name: Asia/Jerusalem
+
9066 // Zone Eras: 1
+
9067 // Strings (bytes): 19
+
9068 // Memory (8-bit): 42
+
9069 // Memory (32-bit): 55
+
9070 //---------------------------------------------------------------------------
+
9071 
+
9072 static const extended::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
+
9073  // 2:00 Zion I%sT
+
9074  {
+
9075  &kPolicyZion /*zonePolicy*/,
+
9076  "I%T" /*format*/,
+
9077  8 /*offsetCode*/,
+
9078  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9079  127 /*untilYearTiny*/,
+
9080  1 /*untilMonth*/,
+
9081  1 /*untilDay*/,
+
9082  0 /*untilTimeCode*/,
+
9083  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9084  },
+
9085 
+
9086 };
+
9087 
+
9088 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "Asia/Jerusalem";
+
9089 
+
9090 const extended::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
+
9091  kZoneNameAsia_Jerusalem /*name*/,
+
9092  0x5becd23a /*zoneId*/,
+
9093  &kZoneContext /*zoneContext*/,
+
9094  5 /*transitionBufSize*/,
+
9095  1 /*numEras*/,
+
9096  kZoneEraAsia_Jerusalem /*eras*/,
+
9097 };
+
9098 
+
9099 //---------------------------------------------------------------------------
+
9100 // Zone name: Asia/Kabul
+
9101 // Zone Eras: 1
+
9102 // Strings (bytes): 17
+
9103 // Memory (8-bit): 40
+
9104 // Memory (32-bit): 53
+
9105 //---------------------------------------------------------------------------
+
9106 
+
9107 static const extended::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
+
9108  // 4:30 - +0430
+
9109  {
+
9110  nullptr /*zonePolicy*/,
+
9111  "+0430" /*format*/,
+
9112  18 /*offsetCode*/,
+
9113  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9114  127 /*untilYearTiny*/,
+
9115  1 /*untilMonth*/,
+
9116  1 /*untilDay*/,
+
9117  0 /*untilTimeCode*/,
+
9118  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9119  },
+
9120 
+
9121 };
+
9122 
+
9123 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "Asia/Kabul";
+
9124 
+
9125 const extended::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
+
9126  kZoneNameAsia_Kabul /*name*/,
+
9127  0x153b5601 /*zoneId*/,
+
9128  &kZoneContext /*zoneContext*/,
+
9129  2 /*transitionBufSize*/,
+
9130  1 /*numEras*/,
+
9131  kZoneEraAsia_Kabul /*eras*/,
+
9132 };
+
9133 
+
9134 //---------------------------------------------------------------------------
+
9135 // Zone name: Asia/Kamchatka
+
9136 // Zone Eras: 3
+
9137 // Strings (bytes): 35
+
9138 // Memory (8-bit): 80
+
9139 // Memory (32-bit): 103
+
9140 //---------------------------------------------------------------------------
+
9141 
+
9142 static const extended::ZoneEra kZoneEraAsia_Kamchatka[] ACE_TIME_PROGMEM = {
+
9143  // 12:00 Russia +12/+13 2010 Mar 28 2:00s
+
9144  {
+
9145  &kPolicyRussia /*zonePolicy*/,
+
9146  "+12/+13" /*format*/,
+
9147  48 /*offsetCode*/,
+
9148  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9149  10 /*untilYearTiny*/,
+
9150  3 /*untilMonth*/,
+
9151  28 /*untilDay*/,
+
9152  8 /*untilTimeCode*/,
+
9153  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9154  },
+
9155  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
+
9156  {
+
9157  &kPolicyRussia /*zonePolicy*/,
+
9158  "+11/+12" /*format*/,
+
9159  44 /*offsetCode*/,
+
9160  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9161  11 /*untilYearTiny*/,
+
9162  3 /*untilMonth*/,
+
9163  27 /*untilDay*/,
+
9164  8 /*untilTimeCode*/,
+
9165  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9166  },
+
9167  // 12:00 - +12
+
9168  {
+
9169  nullptr /*zonePolicy*/,
+
9170  "+12" /*format*/,
+
9171  48 /*offsetCode*/,
+
9172  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9173  127 /*untilYearTiny*/,
+
9174  1 /*untilMonth*/,
+
9175  1 /*untilDay*/,
+
9176  0 /*untilTimeCode*/,
+
9177  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9178  },
+
9179 
+
9180 };
+
9181 
+
9182 static const char kZoneNameAsia_Kamchatka[] ACE_TIME_PROGMEM = "Asia/Kamchatka";
+
9183 
+
9184 const extended::ZoneInfo kZoneAsia_Kamchatka ACE_TIME_PROGMEM = {
+
9185  kZoneNameAsia_Kamchatka /*name*/,
+
9186  0x73baf9d7 /*zoneId*/,
+
9187  &kZoneContext /*zoneContext*/,
+
9188  5 /*transitionBufSize*/,
+
9189  3 /*numEras*/,
+
9190  kZoneEraAsia_Kamchatka /*eras*/,
+
9191 };
+
9192 
+
9193 //---------------------------------------------------------------------------
+
9194 // Zone name: Asia/Karachi
+
9195 // Zone Eras: 1
+
9196 // Strings (bytes): 18
+
9197 // Memory (8-bit): 41
+
9198 // Memory (32-bit): 54
+
9199 //---------------------------------------------------------------------------
+
9200 
+
9201 static const extended::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
+
9202  // 5:00 Pakistan PK%sT
+
9203  {
+
9204  &kPolicyPakistan /*zonePolicy*/,
+
9205  "PK%T" /*format*/,
+
9206  20 /*offsetCode*/,
+
9207  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9208  127 /*untilYearTiny*/,
+
9209  1 /*untilMonth*/,
+
9210  1 /*untilDay*/,
+
9211  0 /*untilTimeCode*/,
+
9212  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9213  },
+
9214 
+
9215 };
+
9216 
+
9217 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "Asia/Karachi";
+
9218 
+
9219 const extended::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
+
9220  kZoneNameAsia_Karachi /*name*/,
+
9221  0x527f5245 /*zoneId*/,
+
9222  &kZoneContext /*zoneContext*/,
+
9223  5 /*transitionBufSize*/,
+
9224  1 /*numEras*/,
+
9225  kZoneEraAsia_Karachi /*eras*/,
+
9226 };
+
9227 
+
9228 //---------------------------------------------------------------------------
+
9229 // Zone name: Asia/Kathmandu
+
9230 // Zone Eras: 1
+
9231 // Strings (bytes): 21
+
9232 // Memory (8-bit): 44
+
9233 // Memory (32-bit): 57
+
9234 //---------------------------------------------------------------------------
+
9235 
+
9236 static const extended::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
+
9237  // 5:45 - +0545
+
9238  {
+
9239  nullptr /*zonePolicy*/,
+
9240  "+0545" /*format*/,
+
9241  23 /*offsetCode*/,
+
9242  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9243  127 /*untilYearTiny*/,
+
9244  1 /*untilMonth*/,
+
9245  1 /*untilDay*/,
+
9246  0 /*untilTimeCode*/,
+
9247  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9248  },
+
9249 
+
9250 };
+
9251 
+
9252 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "Asia/Kathmandu";
+
9253 
+
9254 const extended::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
+
9255  kZoneNameAsia_Kathmandu /*name*/,
+
9256  0x9a96ce6f /*zoneId*/,
+
9257  &kZoneContext /*zoneContext*/,
+
9258  2 /*transitionBufSize*/,
+
9259  1 /*numEras*/,
+
9260  kZoneEraAsia_Kathmandu /*eras*/,
+
9261 };
+
9262 
+
9263 //---------------------------------------------------------------------------
+
9264 // Zone name: Asia/Khandyga
+
9265 // Zone Eras: 5
+
9266 // Strings (bytes): 42
+
9267 // Memory (8-bit): 109
+
9268 // Memory (32-bit): 142
+
9269 //---------------------------------------------------------------------------
+
9270 
+
9271 static const extended::ZoneEra kZoneEraAsia_Khandyga[] ACE_TIME_PROGMEM = {
+
9272  // 9:00 Russia +09/+10 2004
+
9273  {
+
9274  &kPolicyRussia /*zonePolicy*/,
+
9275  "+09/+10" /*format*/,
+
9276  36 /*offsetCode*/,
+
9277  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9278  4 /*untilYearTiny*/,
+
9279  1 /*untilMonth*/,
+
9280  1 /*untilDay*/,
+
9281  0 /*untilTimeCode*/,
+
9282  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9283  },
+
9284  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
+
9285  {
+
9286  &kPolicyRussia /*zonePolicy*/,
+
9287  "+10/+11" /*format*/,
+
9288  40 /*offsetCode*/,
+
9289  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9290  11 /*untilYearTiny*/,
+
9291  3 /*untilMonth*/,
+
9292  27 /*untilDay*/,
+
9293  8 /*untilTimeCode*/,
+
9294  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9295  },
+
9296  // 11:00 - +11 2011 Sep 13 0:00s
+
9297  {
+
9298  nullptr /*zonePolicy*/,
+
9299  "+11" /*format*/,
+
9300  44 /*offsetCode*/,
+
9301  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9302  11 /*untilYearTiny*/,
+
9303  9 /*untilMonth*/,
+
9304  13 /*untilDay*/,
+
9305  0 /*untilTimeCode*/,
+
9306  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9307  },
+
9308  // 10:00 - +10 2014 Oct 26 2:00s
+
9309  {
+
9310  nullptr /*zonePolicy*/,
+
9311  "+10" /*format*/,
+
9312  40 /*offsetCode*/,
+
9313  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9314  14 /*untilYearTiny*/,
+
9315  10 /*untilMonth*/,
+
9316  26 /*untilDay*/,
+
9317  8 /*untilTimeCode*/,
+
9318  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9319  },
+
9320  // 9:00 - +09
+
9321  {
+
9322  nullptr /*zonePolicy*/,
+
9323  "+09" /*format*/,
+
9324  36 /*offsetCode*/,
+
9325  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9326  127 /*untilYearTiny*/,
+
9327  1 /*untilMonth*/,
+
9328  1 /*untilDay*/,
+
9329  0 /*untilTimeCode*/,
+
9330  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9331  },
+
9332 
+
9333 };
+
9334 
+
9335 static const char kZoneNameAsia_Khandyga[] ACE_TIME_PROGMEM = "Asia/Khandyga";
+
9336 
+
9337 const extended::ZoneInfo kZoneAsia_Khandyga ACE_TIME_PROGMEM = {
+
9338  kZoneNameAsia_Khandyga /*name*/,
+
9339  0x9685a4d9 /*zoneId*/,
+
9340  &kZoneContext /*zoneContext*/,
+
9341  6 /*transitionBufSize*/,
+
9342  5 /*numEras*/,
+
9343  kZoneEraAsia_Khandyga /*eras*/,
+
9344 };
+
9345 
+
9346 //---------------------------------------------------------------------------
+
9347 // Zone name: Asia/Kolkata
+
9348 // Zone Eras: 1
+
9349 // Strings (bytes): 17
+
9350 // Memory (8-bit): 40
+
9351 // Memory (32-bit): 53
+
9352 //---------------------------------------------------------------------------
+
9353 
+
9354 static const extended::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
+
9355  // 5:30 - IST
+
9356  {
+
9357  nullptr /*zonePolicy*/,
+
9358  "IST" /*format*/,
+
9359  22 /*offsetCode*/,
+
9360  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9361  127 /*untilYearTiny*/,
+
9362  1 /*untilMonth*/,
+
9363  1 /*untilDay*/,
+
9364  0 /*untilTimeCode*/,
+
9365  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9366  },
+
9367 
+
9368 };
+
9369 
+
9370 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "Asia/Kolkata";
+
9371 
+
9372 const extended::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
+
9373  kZoneNameAsia_Kolkata /*name*/,
+
9374  0x72c06cd9 /*zoneId*/,
+
9375  &kZoneContext /*zoneContext*/,
+
9376  2 /*transitionBufSize*/,
+
9377  1 /*numEras*/,
+
9378  kZoneEraAsia_Kolkata /*eras*/,
+
9379 };
+
9380 
+
9381 //---------------------------------------------------------------------------
+
9382 // Zone name: Asia/Krasnoyarsk
+
9383 // Zone Eras: 3
+
9384 // Strings (bytes): 33
+
9385 // Memory (8-bit): 78
+
9386 // Memory (32-bit): 101
+
9387 //---------------------------------------------------------------------------
+
9388 
+
9389 static const extended::ZoneEra kZoneEraAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = {
+
9390  // 7:00 Russia +07/+08 2011 Mar 27 2:00s
+
9391  {
+
9392  &kPolicyRussia /*zonePolicy*/,
+
9393  "+07/+08" /*format*/,
+
9394  28 /*offsetCode*/,
+
9395  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9396  11 /*untilYearTiny*/,
+
9397  3 /*untilMonth*/,
+
9398  27 /*untilDay*/,
+
9399  8 /*untilTimeCode*/,
+
9400  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9401  },
+
9402  // 8:00 - +08 2014 Oct 26 2:00s
+
9403  {
+
9404  nullptr /*zonePolicy*/,
+
9405  "+08" /*format*/,
+
9406  32 /*offsetCode*/,
+
9407  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9408  14 /*untilYearTiny*/,
+
9409  10 /*untilMonth*/,
+
9410  26 /*untilDay*/,
+
9411  8 /*untilTimeCode*/,
+
9412  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9413  },
+
9414  // 7:00 - +07
+
9415  {
+
9416  nullptr /*zonePolicy*/,
+
9417  "+07" /*format*/,
+
9418  28 /*offsetCode*/,
+
9419  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9420  127 /*untilYearTiny*/,
+
9421  1 /*untilMonth*/,
+
9422  1 /*untilDay*/,
+
9423  0 /*untilTimeCode*/,
+
9424  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9425  },
+
9426 
+
9427 };
+
9428 
+
9429 static const char kZoneNameAsia_Krasnoyarsk[] ACE_TIME_PROGMEM = "Asia/Krasnoyarsk";
+
9430 
+
9431 const extended::ZoneInfo kZoneAsia_Krasnoyarsk ACE_TIME_PROGMEM = {
+
9432  kZoneNameAsia_Krasnoyarsk /*name*/,
+
9433  0xd0376c6a /*zoneId*/,
+
9434  &kZoneContext /*zoneContext*/,
+
9435  5 /*transitionBufSize*/,
+
9436  3 /*numEras*/,
+
9437  kZoneEraAsia_Krasnoyarsk /*eras*/,
+
9438 };
+
9439 
+
9440 //---------------------------------------------------------------------------
+
9441 // Zone name: Asia/Kuala_Lumpur
+
9442 // Zone Eras: 1
+
9443 // Strings (bytes): 22
+
9444 // Memory (8-bit): 45
+
9445 // Memory (32-bit): 58
+
9446 //---------------------------------------------------------------------------
+
9447 
+
9448 static const extended::ZoneEra kZoneEraAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = {
+
9449  // 8:00 - +08
+
9450  {
+
9451  nullptr /*zonePolicy*/,
+
9452  "+08" /*format*/,
+
9453  32 /*offsetCode*/,
+
9454  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9455  127 /*untilYearTiny*/,
+
9456  1 /*untilMonth*/,
+
9457  1 /*untilDay*/,
+
9458  0 /*untilTimeCode*/,
+
9459  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9460  },
+
9461 
+
9462 };
+
9463 
+
9464 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "Asia/Kuala_Lumpur";
+
9465 
+
9466 const extended::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
+
9467  kZoneNameAsia_Kuala_Lumpur /*name*/,
+
9468  0x014763c4 /*zoneId*/,
+
9469  &kZoneContext /*zoneContext*/,
+
9470  2 /*transitionBufSize*/,
+
9471  1 /*numEras*/,
+
9472  kZoneEraAsia_Kuala_Lumpur /*eras*/,
+
9473 };
+
9474 
+
9475 //---------------------------------------------------------------------------
+
9476 // Zone name: Asia/Kuching
+
9477 // Zone Eras: 1
+
9478 // Strings (bytes): 17
+
9479 // Memory (8-bit): 40
+
9480 // Memory (32-bit): 53
+
9481 //---------------------------------------------------------------------------
+
9482 
+
9483 static const extended::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
+
9484  // 8:00 - +08
+
9485  {
+
9486  nullptr /*zonePolicy*/,
+
9487  "+08" /*format*/,
+
9488  32 /*offsetCode*/,
+
9489  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9490  127 /*untilYearTiny*/,
+
9491  1 /*untilMonth*/,
+
9492  1 /*untilDay*/,
+
9493  0 /*untilTimeCode*/,
+
9494  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9495  },
+
9496 
+
9497 };
+
9498 
+
9499 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "Asia/Kuching";
+
9500 
+
9501 const extended::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
+
9502  kZoneNameAsia_Kuching /*name*/,
+
9503  0x801b003b /*zoneId*/,
+
9504  &kZoneContext /*zoneContext*/,
+
9505  2 /*transitionBufSize*/,
+
9506  1 /*numEras*/,
+
9507  kZoneEraAsia_Kuching /*eras*/,
+
9508 };
+
9509 
+
9510 //---------------------------------------------------------------------------
+
9511 // Zone name: Asia/Macau
+
9512 // Zone Eras: 1
+
9513 // Strings (bytes): 15
+
9514 // Memory (8-bit): 38
+
9515 // Memory (32-bit): 51
+
9516 //---------------------------------------------------------------------------
+
9517 
+
9518 static const extended::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
+
9519  // 8:00 Macau C%sT
+
9520  {
+
9521  &kPolicyMacau /*zonePolicy*/,
+
9522  "C%T" /*format*/,
+
9523  32 /*offsetCode*/,
+
9524  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9525  127 /*untilYearTiny*/,
+
9526  1 /*untilMonth*/,
+
9527  1 /*untilDay*/,
+
9528  0 /*untilTimeCode*/,
+
9529  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9530  },
+
9531 
+
9532 };
+
9533 
+
9534 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "Asia/Macau";
+
9535 
+
9536 const extended::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
+
9537  kZoneNameAsia_Macau /*name*/,
+
9538  0x155f88b9 /*zoneId*/,
+
9539  &kZoneContext /*zoneContext*/,
+
9540  2 /*transitionBufSize*/,
+
9541  1 /*numEras*/,
+
9542  kZoneEraAsia_Macau /*eras*/,
+
9543 };
+
9544 
+
9545 //---------------------------------------------------------------------------
+
9546 // Zone name: Asia/Magadan
+
9547 // Zone Eras: 4
+
9548 // Strings (bytes): 33
+
9549 // Memory (8-bit): 89
+
9550 // Memory (32-bit): 117
+
9551 //---------------------------------------------------------------------------
+
9552 
+
9553 static const extended::ZoneEra kZoneEraAsia_Magadan[] ACE_TIME_PROGMEM = {
+
9554  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
+
9555  {
+
9556  &kPolicyRussia /*zonePolicy*/,
+
9557  "+11/+12" /*format*/,
+
9558  44 /*offsetCode*/,
+
9559  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9560  11 /*untilYearTiny*/,
+
9561  3 /*untilMonth*/,
+
9562  27 /*untilDay*/,
+
9563  8 /*untilTimeCode*/,
+
9564  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9565  },
+
9566  // 12:00 - +12 2014 Oct 26 2:00s
+
9567  {
+
9568  nullptr /*zonePolicy*/,
+
9569  "+12" /*format*/,
+
9570  48 /*offsetCode*/,
+
9571  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9572  14 /*untilYearTiny*/,
+
9573  10 /*untilMonth*/,
+
9574  26 /*untilDay*/,
+
9575  8 /*untilTimeCode*/,
+
9576  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9577  },
+
9578  // 10:00 - +10 2016 Apr 24 2:00s
+
9579  {
+
9580  nullptr /*zonePolicy*/,
+
9581  "+10" /*format*/,
+
9582  40 /*offsetCode*/,
+
9583  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9584  16 /*untilYearTiny*/,
+
9585  4 /*untilMonth*/,
+
9586  24 /*untilDay*/,
+
9587  8 /*untilTimeCode*/,
+
9588  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9589  },
+
9590  // 11:00 - +11
+
9591  {
+
9592  nullptr /*zonePolicy*/,
+
9593  "+11" /*format*/,
+
9594  44 /*offsetCode*/,
+
9595  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9596  127 /*untilYearTiny*/,
+
9597  1 /*untilMonth*/,
+
9598  1 /*untilDay*/,
+
9599  0 /*untilTimeCode*/,
+
9600  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9601  },
+
9602 
+
9603 };
+
9604 
+
9605 static const char kZoneNameAsia_Magadan[] ACE_TIME_PROGMEM = "Asia/Magadan";
+
9606 
+
9607 const extended::ZoneInfo kZoneAsia_Magadan ACE_TIME_PROGMEM = {
+
9608  kZoneNameAsia_Magadan /*name*/,
+
9609  0xebacc19b /*zoneId*/,
+
9610  &kZoneContext /*zoneContext*/,
+
9611  5 /*transitionBufSize*/,
+
9612  4 /*numEras*/,
+
9613  kZoneEraAsia_Magadan /*eras*/,
+
9614 };
+
9615 
+
9616 //---------------------------------------------------------------------------
+
9617 // Zone name: Asia/Makassar
+
9618 // Zone Eras: 1
+
9619 // Strings (bytes): 19
+
9620 // Memory (8-bit): 42
+
9621 // Memory (32-bit): 55
+
9622 //---------------------------------------------------------------------------
+
9623 
+
9624 static const extended::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
+
9625  // 8:00 - WITA
+
9626  {
+
9627  nullptr /*zonePolicy*/,
+
9628  "WITA" /*format*/,
+
9629  32 /*offsetCode*/,
+
9630  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9631  127 /*untilYearTiny*/,
+
9632  1 /*untilMonth*/,
+
9633  1 /*untilDay*/,
+
9634  0 /*untilTimeCode*/,
+
9635  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9636  },
+
9637 
+
9638 };
+
9639 
+
9640 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "Asia/Makassar";
+
9641 
+
9642 const extended::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
+
9643  kZoneNameAsia_Makassar /*name*/,
+
9644  0x6aa21c85 /*zoneId*/,
+
9645  &kZoneContext /*zoneContext*/,
+
9646  2 /*transitionBufSize*/,
+
9647  1 /*numEras*/,
+
9648  kZoneEraAsia_Makassar /*eras*/,
+
9649 };
+
9650 
+
9651 //---------------------------------------------------------------------------
+
9652 // Zone name: Asia/Manila
+
9653 // Zone Eras: 1
+
9654 // Strings (bytes): 16
+
9655 // Memory (8-bit): 39
+
9656 // Memory (32-bit): 52
+
9657 //---------------------------------------------------------------------------
+
9658 
+
9659 static const extended::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
+
9660  // 8:00 Phil P%sT
+
9661  {
+
9662  &kPolicyPhil /*zonePolicy*/,
+
9663  "P%T" /*format*/,
+
9664  32 /*offsetCode*/,
+
9665  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9666  127 /*untilYearTiny*/,
+
9667  1 /*untilMonth*/,
+
9668  1 /*untilDay*/,
+
9669  0 /*untilTimeCode*/,
+
9670  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9671  },
+
9672 
+
9673 };
+
9674 
+
9675 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "Asia/Manila";
+
9676 
+
9677 const extended::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
+
9678  kZoneNameAsia_Manila /*name*/,
+
9679  0xc156c944 /*zoneId*/,
+
9680  &kZoneContext /*zoneContext*/,
+
9681  2 /*transitionBufSize*/,
+
9682  1 /*numEras*/,
+
9683  kZoneEraAsia_Manila /*eras*/,
+
9684 };
+
9685 
+
9686 //---------------------------------------------------------------------------
+
9687 // Zone name: Asia/Nicosia
+
9688 // Zone Eras: 1
+
9689 // Strings (bytes): 18
+
9690 // Memory (8-bit): 41
+
9691 // Memory (32-bit): 54
+
9692 //---------------------------------------------------------------------------
+
9693 
+
9694 static const extended::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
+
9695  // 2:00 EUAsia EE%sT
+
9696  {
+
9697  &kPolicyEUAsia /*zonePolicy*/,
+
9698  "EE%T" /*format*/,
+
9699  8 /*offsetCode*/,
+
9700  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9701  127 /*untilYearTiny*/,
+
9702  1 /*untilMonth*/,
+
9703  1 /*untilDay*/,
+
9704  0 /*untilTimeCode*/,
+
9705  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9706  },
+
9707 
+
9708 };
+
9709 
+
9710 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "Asia/Nicosia";
+
9711 
+
9712 const extended::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
+
9713  kZoneNameAsia_Nicosia /*name*/,
+
9714  0x4b0fcf78 /*zoneId*/,
+
9715  &kZoneContext /*zoneContext*/,
+
9716  5 /*transitionBufSize*/,
+
9717  1 /*numEras*/,
+
9718  kZoneEraAsia_Nicosia /*eras*/,
+
9719 };
+
9720 
+
9721 //---------------------------------------------------------------------------
+
9722 // Zone name: Asia/Novokuznetsk
+
9723 // Zone Eras: 3
+
9724 // Strings (bytes): 38
+
9725 // Memory (8-bit): 83
+
9726 // Memory (32-bit): 106
+
9727 //---------------------------------------------------------------------------
+
9728 
+
9729 static const extended::ZoneEra kZoneEraAsia_Novokuznetsk[] ACE_TIME_PROGMEM = {
+
9730  // 7:00 Russia +07/+08 2010 Mar 28 2:00s
+
9731  {
+
9732  &kPolicyRussia /*zonePolicy*/,
+
9733  "+07/+08" /*format*/,
+
9734  28 /*offsetCode*/,
+
9735  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9736  10 /*untilYearTiny*/,
+
9737  3 /*untilMonth*/,
+
9738  28 /*untilDay*/,
+
9739  8 /*untilTimeCode*/,
+
9740  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9741  },
+
9742  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
+
9743  {
+
9744  &kPolicyRussia /*zonePolicy*/,
+
9745  "+06/+07" /*format*/,
+
9746  24 /*offsetCode*/,
+
9747  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9748  11 /*untilYearTiny*/,
+
9749  3 /*untilMonth*/,
+
9750  27 /*untilDay*/,
+
9751  8 /*untilTimeCode*/,
+
9752  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9753  },
+
9754  // 7:00 - +07
+
9755  {
+
9756  nullptr /*zonePolicy*/,
+
9757  "+07" /*format*/,
+
9758  28 /*offsetCode*/,
+
9759  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9760  127 /*untilYearTiny*/,
+
9761  1 /*untilMonth*/,
+
9762  1 /*untilDay*/,
+
9763  0 /*untilTimeCode*/,
+
9764  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9765  },
+
9766 
+
9767 };
+
9768 
+
9769 static const char kZoneNameAsia_Novokuznetsk[] ACE_TIME_PROGMEM = "Asia/Novokuznetsk";
+
9770 
+
9771 const extended::ZoneInfo kZoneAsia_Novokuznetsk ACE_TIME_PROGMEM = {
+
9772  kZoneNameAsia_Novokuznetsk /*name*/,
+
9773  0x69264f93 /*zoneId*/,
+
9774  &kZoneContext /*zoneContext*/,
+
9775  5 /*transitionBufSize*/,
+
9776  3 /*numEras*/,
+
9777  kZoneEraAsia_Novokuznetsk /*eras*/,
+
9778 };
+
9779 
+
9780 //---------------------------------------------------------------------------
+
9781 // Zone name: Asia/Novosibirsk
+
9782 // Zone Eras: 4
+
9783 // Strings (bytes): 37
+
9784 // Memory (8-bit): 93
+
9785 // Memory (32-bit): 121
+
9786 //---------------------------------------------------------------------------
+
9787 
+
9788 static const extended::ZoneEra kZoneEraAsia_Novosibirsk[] ACE_TIME_PROGMEM = {
+
9789  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
+
9790  {
+
9791  &kPolicyRussia /*zonePolicy*/,
+
9792  "+06/+07" /*format*/,
+
9793  24 /*offsetCode*/,
+
9794  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9795  11 /*untilYearTiny*/,
+
9796  3 /*untilMonth*/,
+
9797  27 /*untilDay*/,
+
9798  8 /*untilTimeCode*/,
+
9799  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9800  },
+
9801  // 7:00 - +07 2014 Oct 26 2:00s
+
9802  {
+
9803  nullptr /*zonePolicy*/,
+
9804  "+07" /*format*/,
+
9805  28 /*offsetCode*/,
+
9806  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9807  14 /*untilYearTiny*/,
+
9808  10 /*untilMonth*/,
+
9809  26 /*untilDay*/,
+
9810  8 /*untilTimeCode*/,
+
9811  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9812  },
+
9813  // 6:00 - +06 2016 Jul 24 2:00s
+
9814  {
+
9815  nullptr /*zonePolicy*/,
+
9816  "+06" /*format*/,
+
9817  24 /*offsetCode*/,
+
9818  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9819  16 /*untilYearTiny*/,
+
9820  7 /*untilMonth*/,
+
9821  24 /*untilDay*/,
+
9822  8 /*untilTimeCode*/,
+
9823  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9824  },
+
9825  // 7:00 - +07
+
9826  {
+
9827  nullptr /*zonePolicy*/,
+
9828  "+07" /*format*/,
+
9829  28 /*offsetCode*/,
+
9830  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9831  127 /*untilYearTiny*/,
+
9832  1 /*untilMonth*/,
+
9833  1 /*untilDay*/,
+
9834  0 /*untilTimeCode*/,
+
9835  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9836  },
+
9837 
+
9838 };
+
9839 
+
9840 static const char kZoneNameAsia_Novosibirsk[] ACE_TIME_PROGMEM = "Asia/Novosibirsk";
+
9841 
+
9842 const extended::ZoneInfo kZoneAsia_Novosibirsk ACE_TIME_PROGMEM = {
+
9843  kZoneNameAsia_Novosibirsk /*name*/,
+
9844  0xa2a435cb /*zoneId*/,
+
9845  &kZoneContext /*zoneContext*/,
+
9846  5 /*transitionBufSize*/,
+
9847  4 /*numEras*/,
+
9848  kZoneEraAsia_Novosibirsk /*eras*/,
+
9849 };
+
9850 
+
9851 //---------------------------------------------------------------------------
+
9852 // Zone name: Asia/Omsk
+
9853 // Zone Eras: 3
+
9854 // Strings (bytes): 26
+
9855 // Memory (8-bit): 71
+
9856 // Memory (32-bit): 94
+
9857 //---------------------------------------------------------------------------
+
9858 
+
9859 static const extended::ZoneEra kZoneEraAsia_Omsk[] ACE_TIME_PROGMEM = {
+
9860  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
+
9861  {
+
9862  &kPolicyRussia /*zonePolicy*/,
+
9863  "+06/+07" /*format*/,
+
9864  24 /*offsetCode*/,
+
9865  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9866  11 /*untilYearTiny*/,
+
9867  3 /*untilMonth*/,
+
9868  27 /*untilDay*/,
+
9869  8 /*untilTimeCode*/,
+
9870  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9871  },
+
9872  // 7:00 - +07 2014 Oct 26 2:00s
+
9873  {
+
9874  nullptr /*zonePolicy*/,
+
9875  "+07" /*format*/,
+
9876  28 /*offsetCode*/,
+
9877  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9878  14 /*untilYearTiny*/,
+
9879  10 /*untilMonth*/,
+
9880  26 /*untilDay*/,
+
9881  8 /*untilTimeCode*/,
+
9882  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9883  },
+
9884  // 6:00 - +06
+
9885  {
+
9886  nullptr /*zonePolicy*/,
+
9887  "+06" /*format*/,
+
9888  24 /*offsetCode*/,
+
9889  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9890  127 /*untilYearTiny*/,
+
9891  1 /*untilMonth*/,
+
9892  1 /*untilDay*/,
+
9893  0 /*untilTimeCode*/,
+
9894  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9895  },
+
9896 
+
9897 };
+
9898 
+
9899 static const char kZoneNameAsia_Omsk[] ACE_TIME_PROGMEM = "Asia/Omsk";
+
9900 
+
9901 const extended::ZoneInfo kZoneAsia_Omsk ACE_TIME_PROGMEM = {
+
9902  kZoneNameAsia_Omsk /*name*/,
+
9903  0x1faeddac /*zoneId*/,
+
9904  &kZoneContext /*zoneContext*/,
+
9905  5 /*transitionBufSize*/,
+
9906  3 /*numEras*/,
+
9907  kZoneEraAsia_Omsk /*eras*/,
+
9908 };
+
9909 
+
9910 //---------------------------------------------------------------------------
+
9911 // Zone name: Asia/Oral
+
9912 // Zone Eras: 2
+
9913 // Strings (bytes): 22
+
9914 // Memory (8-bit): 56
+
9915 // Memory (32-bit): 74
+
9916 //---------------------------------------------------------------------------
+
9917 
+
9918 static const extended::ZoneEra kZoneEraAsia_Oral[] ACE_TIME_PROGMEM = {
+
9919  // 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
+
9920  {
+
9921  &kPolicyRussiaAsia /*zonePolicy*/,
+
9922  "+04/+05" /*format*/,
+
9923  16 /*offsetCode*/,
+
9924  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9925  4 /*untilYearTiny*/,
+
9926  10 /*untilMonth*/,
+
9927  31 /*untilDay*/,
+
9928  8 /*untilTimeCode*/,
+
9929  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
9930  },
+
9931  // 5:00 - +05
+
9932  {
+
9933  nullptr /*zonePolicy*/,
+
9934  "+05" /*format*/,
+
9935  20 /*offsetCode*/,
+
9936  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9937  127 /*untilYearTiny*/,
+
9938  1 /*untilMonth*/,
+
9939  1 /*untilDay*/,
+
9940  0 /*untilTimeCode*/,
+
9941  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9942  },
+
9943 
+
9944 };
+
9945 
+
9946 static const char kZoneNameAsia_Oral[] ACE_TIME_PROGMEM = "Asia/Oral";
+
9947 
+
9948 const extended::ZoneInfo kZoneAsia_Oral ACE_TIME_PROGMEM = {
+
9949  kZoneNameAsia_Oral /*name*/,
+
9950  0x1faef0a0 /*zoneId*/,
+
9951  &kZoneContext /*zoneContext*/,
+
9952  5 /*transitionBufSize*/,
+
9953  2 /*numEras*/,
+
9954  kZoneEraAsia_Oral /*eras*/,
+
9955 };
+
9956 
+
9957 //---------------------------------------------------------------------------
+
9958 // Zone name: Asia/Pontianak
+
9959 // Zone Eras: 1
+
9960 // Strings (bytes): 19
+
9961 // Memory (8-bit): 42
+
9962 // Memory (32-bit): 55
+
9963 //---------------------------------------------------------------------------
+
9964 
+
9965 static const extended::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
+
9966  // 7:00 - WIB
+
9967  {
+
9968  nullptr /*zonePolicy*/,
+
9969  "WIB" /*format*/,
+
9970  28 /*offsetCode*/,
+
9971  (0 << 4) + (0 + 4) /*deltaCode*/,
+
9972  127 /*untilYearTiny*/,
+
9973  1 /*untilMonth*/,
+
9974  1 /*untilDay*/,
+
9975  0 /*untilTimeCode*/,
+
9976  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
9977  },
+
9978 
+
9979 };
+
9980 
+
9981 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "Asia/Pontianak";
+
9982 
+
9983 const extended::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
+
9984  kZoneNameAsia_Pontianak /*name*/,
+
9985  0x1a76c057 /*zoneId*/,
+
9986  &kZoneContext /*zoneContext*/,
+
9987  2 /*transitionBufSize*/,
+
9988  1 /*numEras*/,
+
9989  kZoneEraAsia_Pontianak /*eras*/,
+
9990 };
+
9991 
+
9992 //---------------------------------------------------------------------------
+
9993 // Zone name: Asia/Pyongyang
+
9994 // Zone Eras: 3
+
9995 // Strings (bytes): 27
+
9996 // Memory (8-bit): 72
+
9997 // Memory (32-bit): 95
+
9998 //---------------------------------------------------------------------------
+
9999 
+
10000 static const extended::ZoneEra kZoneEraAsia_Pyongyang[] ACE_TIME_PROGMEM = {
+
10001  // 9:00 - KST 2015 Aug 15 00:00
+
10002  {
+
10003  nullptr /*zonePolicy*/,
+
10004  "KST" /*format*/,
+
10005  36 /*offsetCode*/,
+
10006  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10007  15 /*untilYearTiny*/,
+
10008  8 /*untilMonth*/,
+
10009  15 /*untilDay*/,
+
10010  0 /*untilTimeCode*/,
+
10011  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10012  },
+
10013  // 8:30 - KST 2018 May 4 23:30
+
10014  {
+
10015  nullptr /*zonePolicy*/,
+
10016  "KST" /*format*/,
+
10017  34 /*offsetCode*/,
+
10018  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10019  18 /*untilYearTiny*/,
+
10020  5 /*untilMonth*/,
+
10021  4 /*untilDay*/,
+
10022  94 /*untilTimeCode*/,
+
10023  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10024  },
+
10025  // 9:00 - KST
+
10026  {
+
10027  nullptr /*zonePolicy*/,
+
10028  "KST" /*format*/,
+
10029  36 /*offsetCode*/,
+
10030  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10031  127 /*untilYearTiny*/,
+
10032  1 /*untilMonth*/,
+
10033  1 /*untilDay*/,
+
10034  0 /*untilTimeCode*/,
+
10035  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10036  },
+
10037 
+
10038 };
+
10039 
+
10040 static const char kZoneNameAsia_Pyongyang[] ACE_TIME_PROGMEM = "Asia/Pyongyang";
+
10041 
+
10042 const extended::ZoneInfo kZoneAsia_Pyongyang ACE_TIME_PROGMEM = {
+
10043  kZoneNameAsia_Pyongyang /*name*/,
+
10044  0x93ed1c8e /*zoneId*/,
+
10045  &kZoneContext /*zoneContext*/,
+
10046  3 /*transitionBufSize*/,
+
10047  3 /*numEras*/,
+
10048  kZoneEraAsia_Pyongyang /*eras*/,
+
10049 };
+
10050 
+
10051 //---------------------------------------------------------------------------
+
10052 // Zone name: Asia/Qatar
+
10053 // Zone Eras: 1
+
10054 // Strings (bytes): 15
+
10055 // Memory (8-bit): 38
+
10056 // Memory (32-bit): 51
+
10057 //---------------------------------------------------------------------------
+
10058 
+
10059 static const extended::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
+
10060  // 3:00 - +03
+
10061  {
+
10062  nullptr /*zonePolicy*/,
+
10063  "+03" /*format*/,
+
10064  12 /*offsetCode*/,
+
10065  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10066  127 /*untilYearTiny*/,
+
10067  1 /*untilMonth*/,
+
10068  1 /*untilDay*/,
+
10069  0 /*untilTimeCode*/,
+
10070  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10071  },
+
10072 
+
10073 };
+
10074 
+
10075 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "Asia/Qatar";
+
10076 
+
10077 const extended::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
+
10078  kZoneNameAsia_Qatar /*name*/,
+
10079  0x15a8330b /*zoneId*/,
+
10080  &kZoneContext /*zoneContext*/,
+
10081  2 /*transitionBufSize*/,
+
10082  1 /*numEras*/,
+
10083  kZoneEraAsia_Qatar /*eras*/,
+
10084 };
+
10085 
+
10086 //---------------------------------------------------------------------------
+
10087 // Zone name: Asia/Qostanay
+
10088 // Zone Eras: 2
+
10089 // Strings (bytes): 26
+
10090 // Memory (8-bit): 60
+
10091 // Memory (32-bit): 78
+
10092 //---------------------------------------------------------------------------
+
10093 
+
10094 static const extended::ZoneEra kZoneEraAsia_Qostanay[] ACE_TIME_PROGMEM = {
+
10095  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
+
10096  {
+
10097  &kPolicyRussiaAsia /*zonePolicy*/,
+
10098  "+05/+06" /*format*/,
+
10099  20 /*offsetCode*/,
+
10100  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10101  4 /*untilYearTiny*/,
+
10102  10 /*untilMonth*/,
+
10103  31 /*untilDay*/,
+
10104  8 /*untilTimeCode*/,
+
10105  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10106  },
+
10107  // 6:00 - +06
+
10108  {
+
10109  nullptr /*zonePolicy*/,
+
10110  "+06" /*format*/,
+
10111  24 /*offsetCode*/,
+
10112  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10113  127 /*untilYearTiny*/,
+
10114  1 /*untilMonth*/,
+
10115  1 /*untilDay*/,
+
10116  0 /*untilTimeCode*/,
+
10117  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10118  },
+
10119 
+
10120 };
+
10121 
+
10122 static const char kZoneNameAsia_Qostanay[] ACE_TIME_PROGMEM = "Asia/Qostanay";
+
10123 
+
10124 const extended::ZoneInfo kZoneAsia_Qostanay ACE_TIME_PROGMEM = {
+
10125  kZoneNameAsia_Qostanay /*name*/,
+
10126  0x654fe522 /*zoneId*/,
+
10127  &kZoneContext /*zoneContext*/,
+
10128  5 /*transitionBufSize*/,
+
10129  2 /*numEras*/,
+
10130  kZoneEraAsia_Qostanay /*eras*/,
+
10131 };
+
10132 
+
10133 //---------------------------------------------------------------------------
+
10134 // Zone name: Asia/Qyzylorda
+
10135 // Zone Eras: 3
+
10136 // Strings (bytes): 31
+
10137 // Memory (8-bit): 76
+
10138 // Memory (32-bit): 99
+
10139 //---------------------------------------------------------------------------
+
10140 
+
10141 static const extended::ZoneEra kZoneEraAsia_Qyzylorda[] ACE_TIME_PROGMEM = {
+
10142  // 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
+
10143  {
+
10144  &kPolicyRussiaAsia /*zonePolicy*/,
+
10145  "+05/+06" /*format*/,
+
10146  20 /*offsetCode*/,
+
10147  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10148  4 /*untilYearTiny*/,
+
10149  10 /*untilMonth*/,
+
10150  31 /*untilDay*/,
+
10151  8 /*untilTimeCode*/,
+
10152  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10153  },
+
10154  // 6:00 - +06 2018 Dec 21 0:00
+
10155  {
+
10156  nullptr /*zonePolicy*/,
+
10157  "+06" /*format*/,
+
10158  24 /*offsetCode*/,
+
10159  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10160  18 /*untilYearTiny*/,
+
10161  12 /*untilMonth*/,
+
10162  21 /*untilDay*/,
+
10163  0 /*untilTimeCode*/,
+
10164  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10165  },
+
10166  // 5:00 - +05
+
10167  {
+
10168  nullptr /*zonePolicy*/,
+
10169  "+05" /*format*/,
+
10170  20 /*offsetCode*/,
+
10171  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10172  127 /*untilYearTiny*/,
+
10173  1 /*untilMonth*/,
+
10174  1 /*untilDay*/,
+
10175  0 /*untilTimeCode*/,
+
10176  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10177  },
+
10178 
+
10179 };
+
10180 
+
10181 static const char kZoneNameAsia_Qyzylorda[] ACE_TIME_PROGMEM = "Asia/Qyzylorda";
+
10182 
+
10183 const extended::ZoneInfo kZoneAsia_Qyzylorda ACE_TIME_PROGMEM = {
+
10184  kZoneNameAsia_Qyzylorda /*name*/,
+
10185  0x71282e81 /*zoneId*/,
+
10186  &kZoneContext /*zoneContext*/,
+
10187  5 /*transitionBufSize*/,
+
10188  3 /*numEras*/,
+
10189  kZoneEraAsia_Qyzylorda /*eras*/,
+
10190 };
+
10191 
+
10192 //---------------------------------------------------------------------------
+
10193 // Zone name: Asia/Riyadh
+
10194 // Zone Eras: 1
+
10195 // Strings (bytes): 16
+
10196 // Memory (8-bit): 39
+
10197 // Memory (32-bit): 52
+
10198 //---------------------------------------------------------------------------
+
10199 
+
10200 static const extended::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
+
10201  // 3:00 - +03
+
10202  {
+
10203  nullptr /*zonePolicy*/,
+
10204  "+03" /*format*/,
+
10205  12 /*offsetCode*/,
+
10206  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10207  127 /*untilYearTiny*/,
+
10208  1 /*untilMonth*/,
+
10209  1 /*untilDay*/,
+
10210  0 /*untilTimeCode*/,
+
10211  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10212  },
+
10213 
+
10214 };
+
10215 
+
10216 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "Asia/Riyadh";
+
10217 
+
10218 const extended::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
+
10219  kZoneNameAsia_Riyadh /*name*/,
+
10220  0xcd973d93 /*zoneId*/,
+
10221  &kZoneContext /*zoneContext*/,
+
10222  2 /*transitionBufSize*/,
+
10223  1 /*numEras*/,
+
10224  kZoneEraAsia_Riyadh /*eras*/,
+
10225 };
+
10226 
+
10227 //---------------------------------------------------------------------------
+
10228 // Zone name: Asia/Sakhalin
+
10229 // Zone Eras: 4
+
10230 // Strings (bytes): 34
+
10231 // Memory (8-bit): 90
+
10232 // Memory (32-bit): 118
+
10233 //---------------------------------------------------------------------------
+
10234 
+
10235 static const extended::ZoneEra kZoneEraAsia_Sakhalin[] ACE_TIME_PROGMEM = {
+
10236  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
+
10237  {
+
10238  &kPolicyRussia /*zonePolicy*/,
+
10239  "+10/+11" /*format*/,
+
10240  40 /*offsetCode*/,
+
10241  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10242  11 /*untilYearTiny*/,
+
10243  3 /*untilMonth*/,
+
10244  27 /*untilDay*/,
+
10245  8 /*untilTimeCode*/,
+
10246  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10247  },
+
10248  // 11:00 - +11 2014 Oct 26 2:00s
+
10249  {
+
10250  nullptr /*zonePolicy*/,
+
10251  "+11" /*format*/,
+
10252  44 /*offsetCode*/,
+
10253  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10254  14 /*untilYearTiny*/,
+
10255  10 /*untilMonth*/,
+
10256  26 /*untilDay*/,
+
10257  8 /*untilTimeCode*/,
+
10258  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10259  },
+
10260  // 10:00 - +10 2016 Mar 27 2:00s
+
10261  {
+
10262  nullptr /*zonePolicy*/,
+
10263  "+10" /*format*/,
+
10264  40 /*offsetCode*/,
+
10265  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10266  16 /*untilYearTiny*/,
+
10267  3 /*untilMonth*/,
+
10268  27 /*untilDay*/,
+
10269  8 /*untilTimeCode*/,
+
10270  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10271  },
+
10272  // 11:00 - +11
+
10273  {
+
10274  nullptr /*zonePolicy*/,
+
10275  "+11" /*format*/,
+
10276  44 /*offsetCode*/,
+
10277  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10278  127 /*untilYearTiny*/,
+
10279  1 /*untilMonth*/,
+
10280  1 /*untilDay*/,
+
10281  0 /*untilTimeCode*/,
+
10282  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10283  },
+
10284 
+
10285 };
+
10286 
+
10287 static const char kZoneNameAsia_Sakhalin[] ACE_TIME_PROGMEM = "Asia/Sakhalin";
+
10288 
+
10289 const extended::ZoneInfo kZoneAsia_Sakhalin ACE_TIME_PROGMEM = {
+
10290  kZoneNameAsia_Sakhalin /*name*/,
+
10291  0xf4a1c9bd /*zoneId*/,
+
10292  &kZoneContext /*zoneContext*/,
+
10293  5 /*transitionBufSize*/,
+
10294  4 /*numEras*/,
+
10295  kZoneEraAsia_Sakhalin /*eras*/,
+
10296 };
+
10297 
+
10298 //---------------------------------------------------------------------------
+
10299 // Zone name: Asia/Samarkand
+
10300 // Zone Eras: 1
+
10301 // Strings (bytes): 19
+
10302 // Memory (8-bit): 42
+
10303 // Memory (32-bit): 55
+
10304 //---------------------------------------------------------------------------
+
10305 
+
10306 static const extended::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
+
10307  // 5:00 - +05
+
10308  {
+
10309  nullptr /*zonePolicy*/,
+
10310  "+05" /*format*/,
+
10311  20 /*offsetCode*/,
+
10312  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10313  127 /*untilYearTiny*/,
+
10314  1 /*untilMonth*/,
+
10315  1 /*untilDay*/,
+
10316  0 /*untilTimeCode*/,
+
10317  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10318  },
+
10319 
+
10320 };
+
10321 
+
10322 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "Asia/Samarkand";
+
10323 
+
10324 const extended::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
+
10325  kZoneNameAsia_Samarkand /*name*/,
+
10326  0x13ae5104 /*zoneId*/,
+
10327  &kZoneContext /*zoneContext*/,
+
10328  2 /*transitionBufSize*/,
+
10329  1 /*numEras*/,
+
10330  kZoneEraAsia_Samarkand /*eras*/,
+
10331 };
+
10332 
+
10333 //---------------------------------------------------------------------------
+
10334 // Zone name: Asia/Seoul
+
10335 // Zone Eras: 1
+
10336 // Strings (bytes): 15
+
10337 // Memory (8-bit): 38
+
10338 // Memory (32-bit): 51
+
10339 //---------------------------------------------------------------------------
+
10340 
+
10341 static const extended::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
+
10342  // 9:00 ROK K%sT
+
10343  {
+
10344  &kPolicyROK /*zonePolicy*/,
+
10345  "K%T" /*format*/,
+
10346  36 /*offsetCode*/,
+
10347  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10348  127 /*untilYearTiny*/,
+
10349  1 /*untilMonth*/,
+
10350  1 /*untilDay*/,
+
10351  0 /*untilTimeCode*/,
+
10352  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10353  },
+
10354 
+
10355 };
+
10356 
+
10357 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "Asia/Seoul";
+
10358 
+
10359 const extended::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
+
10360  kZoneNameAsia_Seoul /*name*/,
+
10361  0x15ce82da /*zoneId*/,
+
10362  &kZoneContext /*zoneContext*/,
+
10363  2 /*transitionBufSize*/,
+
10364  1 /*numEras*/,
+
10365  kZoneEraAsia_Seoul /*eras*/,
+
10366 };
+
10367 
+
10368 //---------------------------------------------------------------------------
+
10369 // Zone name: Asia/Shanghai
+
10370 // Zone Eras: 1
+
10371 // Strings (bytes): 18
+
10372 // Memory (8-bit): 41
+
10373 // Memory (32-bit): 54
+
10374 //---------------------------------------------------------------------------
+
10375 
+
10376 static const extended::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
+
10377  // 8:00 PRC C%sT
+
10378  {
+
10379  &kPolicyPRC /*zonePolicy*/,
+
10380  "C%T" /*format*/,
+
10381  32 /*offsetCode*/,
+
10382  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10383  127 /*untilYearTiny*/,
+
10384  1 /*untilMonth*/,
+
10385  1 /*untilDay*/,
+
10386  0 /*untilTimeCode*/,
+
10387  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10388  },
+
10389 
+
10390 };
+
10391 
+
10392 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "Asia/Shanghai";
+
10393 
+
10394 const extended::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
+
10395  kZoneNameAsia_Shanghai /*name*/,
+
10396  0xf895a7f5 /*zoneId*/,
+
10397  &kZoneContext /*zoneContext*/,
+
10398  2 /*transitionBufSize*/,
+
10399  1 /*numEras*/,
+
10400  kZoneEraAsia_Shanghai /*eras*/,
+
10401 };
+
10402 
+
10403 //---------------------------------------------------------------------------
+
10404 // Zone name: Asia/Singapore
+
10405 // Zone Eras: 1
+
10406 // Strings (bytes): 19
+
10407 // Memory (8-bit): 42
+
10408 // Memory (32-bit): 55
+
10409 //---------------------------------------------------------------------------
+
10410 
+
10411 static const extended::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
+
10412  // 8:00 - +08
+
10413  {
+
10414  nullptr /*zonePolicy*/,
+
10415  "+08" /*format*/,
+
10416  32 /*offsetCode*/,
+
10417  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10418  127 /*untilYearTiny*/,
+
10419  1 /*untilMonth*/,
+
10420  1 /*untilDay*/,
+
10421  0 /*untilTimeCode*/,
+
10422  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10423  },
+
10424 
+
10425 };
+
10426 
+
10427 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "Asia/Singapore";
+
10428 
+
10429 const extended::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
+
10430  kZoneNameAsia_Singapore /*name*/,
+
10431  0xcf8581fa /*zoneId*/,
+
10432  &kZoneContext /*zoneContext*/,
+
10433  2 /*transitionBufSize*/,
+
10434  1 /*numEras*/,
+
10435  kZoneEraAsia_Singapore /*eras*/,
+
10436 };
+
10437 
+
10438 //---------------------------------------------------------------------------
+
10439 // Zone name: Asia/Srednekolymsk
+
10440 // Zone Eras: 3
+
10441 // Strings (bytes): 35
+
10442 // Memory (8-bit): 80
+
10443 // Memory (32-bit): 103
+
10444 //---------------------------------------------------------------------------
+
10445 
+
10446 static const extended::ZoneEra kZoneEraAsia_Srednekolymsk[] ACE_TIME_PROGMEM = {
+
10447  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
+
10448  {
+
10449  &kPolicyRussia /*zonePolicy*/,
+
10450  "+11/+12" /*format*/,
+
10451  44 /*offsetCode*/,
+
10452  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10453  11 /*untilYearTiny*/,
+
10454  3 /*untilMonth*/,
+
10455  27 /*untilDay*/,
+
10456  8 /*untilTimeCode*/,
+
10457  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10458  },
+
10459  // 12:00 - +12 2014 Oct 26 2:00s
+
10460  {
+
10461  nullptr /*zonePolicy*/,
+
10462  "+12" /*format*/,
+
10463  48 /*offsetCode*/,
+
10464  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10465  14 /*untilYearTiny*/,
+
10466  10 /*untilMonth*/,
+
10467  26 /*untilDay*/,
+
10468  8 /*untilTimeCode*/,
+
10469  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10470  },
+
10471  // 11:00 - +11
+
10472  {
+
10473  nullptr /*zonePolicy*/,
+
10474  "+11" /*format*/,
+
10475  44 /*offsetCode*/,
+
10476  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10477  127 /*untilYearTiny*/,
+
10478  1 /*untilMonth*/,
+
10479  1 /*untilDay*/,
+
10480  0 /*untilTimeCode*/,
+
10481  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10482  },
+
10483 
+
10484 };
+
10485 
+
10486 static const char kZoneNameAsia_Srednekolymsk[] ACE_TIME_PROGMEM = "Asia/Srednekolymsk";
+
10487 
+
10488 const extended::ZoneInfo kZoneAsia_Srednekolymsk ACE_TIME_PROGMEM = {
+
10489  kZoneNameAsia_Srednekolymsk /*name*/,
+
10490  0xbf8e337d /*zoneId*/,
+
10491  &kZoneContext /*zoneContext*/,
+
10492  5 /*transitionBufSize*/,
+
10493  3 /*numEras*/,
+
10494  kZoneEraAsia_Srednekolymsk /*eras*/,
+
10495 };
+
10496 
+
10497 //---------------------------------------------------------------------------
+
10498 // Zone name: Asia/Taipei
+
10499 // Zone Eras: 1
+
10500 // Strings (bytes): 16
+
10501 // Memory (8-bit): 39
+
10502 // Memory (32-bit): 52
+
10503 //---------------------------------------------------------------------------
+
10504 
+
10505 static const extended::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
+
10506  // 8:00 Taiwan C%sT
+
10507  {
+
10508  &kPolicyTaiwan /*zonePolicy*/,
+
10509  "C%T" /*format*/,
+
10510  32 /*offsetCode*/,
+
10511  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10512  127 /*untilYearTiny*/,
+
10513  1 /*untilMonth*/,
+
10514  1 /*untilDay*/,
+
10515  0 /*untilTimeCode*/,
+
10516  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10517  },
+
10518 
+
10519 };
+
10520 
+
10521 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "Asia/Taipei";
+
10522 
+
10523 const extended::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
+
10524  kZoneNameAsia_Taipei /*name*/,
+
10525  0xd1a844ae /*zoneId*/,
+
10526  &kZoneContext /*zoneContext*/,
+
10527  2 /*transitionBufSize*/,
+
10528  1 /*numEras*/,
+
10529  kZoneEraAsia_Taipei /*eras*/,
+
10530 };
+
10531 
+
10532 //---------------------------------------------------------------------------
+
10533 // Zone name: Asia/Tashkent
+
10534 // Zone Eras: 1
+
10535 // Strings (bytes): 18
+
10536 // Memory (8-bit): 41
+
10537 // Memory (32-bit): 54
+
10538 //---------------------------------------------------------------------------
+
10539 
+
10540 static const extended::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
+
10541  // 5:00 - +05
+
10542  {
+
10543  nullptr /*zonePolicy*/,
+
10544  "+05" /*format*/,
+
10545  20 /*offsetCode*/,
+
10546  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10547  127 /*untilYearTiny*/,
+
10548  1 /*untilMonth*/,
+
10549  1 /*untilDay*/,
+
10550  0 /*untilTimeCode*/,
+
10551  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10552  },
+
10553 
+
10554 };
+
10555 
+
10556 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "Asia/Tashkent";
+
10557 
+
10558 const extended::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
+
10559  kZoneNameAsia_Tashkent /*name*/,
+
10560  0xf3924254 /*zoneId*/,
+
10561  &kZoneContext /*zoneContext*/,
+
10562  2 /*transitionBufSize*/,
+
10563  1 /*numEras*/,
+
10564  kZoneEraAsia_Tashkent /*eras*/,
+
10565 };
+
10566 
+
10567 //---------------------------------------------------------------------------
+
10568 // Zone name: Asia/Tbilisi
+
10569 // Zone Eras: 3
+
10570 // Strings (bytes): 33
+
10571 // Memory (8-bit): 78
+
10572 // Memory (32-bit): 101
+
10573 //---------------------------------------------------------------------------
+
10574 
+
10575 static const extended::ZoneEra kZoneEraAsia_Tbilisi[] ACE_TIME_PROGMEM = {
+
10576  // 4:00 E-EurAsia +04/+05 2004 Jun 27
+
10577  {
+
10578  &kPolicyE_EurAsia /*zonePolicy*/,
+
10579  "+04/+05" /*format*/,
+
10580  16 /*offsetCode*/,
+
10581  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10582  4 /*untilYearTiny*/,
+
10583  6 /*untilMonth*/,
+
10584  27 /*untilDay*/,
+
10585  0 /*untilTimeCode*/,
+
10586  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10587  },
+
10588  // 3:00 RussiaAsia +03/+04 2005 Mar lastSun 2:00
+
10589  {
+
10590  &kPolicyRussiaAsia /*zonePolicy*/,
+
10591  "+03/+04" /*format*/,
+
10592  12 /*offsetCode*/,
+
10593  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10594  5 /*untilYearTiny*/,
+
10595  3 /*untilMonth*/,
+
10596  27 /*untilDay*/,
+
10597  8 /*untilTimeCode*/,
+
10598  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10599  },
+
10600  // 4:00 - +04
+
10601  {
+
10602  nullptr /*zonePolicy*/,
+
10603  "+04" /*format*/,
+
10604  16 /*offsetCode*/,
+
10605  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10606  127 /*untilYearTiny*/,
+
10607  1 /*untilMonth*/,
+
10608  1 /*untilDay*/,
+
10609  0 /*untilTimeCode*/,
+
10610  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10611  },
+
10612 
+
10613 };
+
10614 
+
10615 static const char kZoneNameAsia_Tbilisi[] ACE_TIME_PROGMEM = "Asia/Tbilisi";
+
10616 
+
10617 const extended::ZoneInfo kZoneAsia_Tbilisi ACE_TIME_PROGMEM = {
+
10618  kZoneNameAsia_Tbilisi /*name*/,
+
10619  0x0903e442 /*zoneId*/,
+
10620  &kZoneContext /*zoneContext*/,
+
10621  6 /*transitionBufSize*/,
+
10622  3 /*numEras*/,
+
10623  kZoneEraAsia_Tbilisi /*eras*/,
+
10624 };
+
10625 
+
10626 //---------------------------------------------------------------------------
+
10627 // Zone name: Asia/Tehran
+
10628 // Zone Eras: 1
+
10629 // Strings (bytes): 24
+
10630 // Memory (8-bit): 47
+
10631 // Memory (32-bit): 60
+
10632 //---------------------------------------------------------------------------
+
10633 
+
10634 static const extended::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
+
10635  // 3:30 Iran +0330/+0430
+
10636  {
+
10637  &kPolicyIran /*zonePolicy*/,
+
10638  "+0330/+0430" /*format*/,
+
10639  14 /*offsetCode*/,
+
10640  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10641  127 /*untilYearTiny*/,
+
10642  1 /*untilMonth*/,
+
10643  1 /*untilDay*/,
+
10644  0 /*untilTimeCode*/,
+
10645  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10646  },
+
10647 
+
10648 };
+
10649 
+
10650 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "Asia/Tehran";
+
10651 
+
10652 const extended::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
+
10653  kZoneNameAsia_Tehran /*name*/,
+
10654  0xd1f02254 /*zoneId*/,
+
10655  &kZoneContext /*zoneContext*/,
+
10656  5 /*transitionBufSize*/,
+
10657  1 /*numEras*/,
+
10658  kZoneEraAsia_Tehran /*eras*/,
+
10659 };
+
10660 
+
10661 //---------------------------------------------------------------------------
+
10662 // Zone name: Asia/Thimphu
+
10663 // Zone Eras: 1
+
10664 // Strings (bytes): 17
+
10665 // Memory (8-bit): 40
+
10666 // Memory (32-bit): 53
+
10667 //---------------------------------------------------------------------------
+
10668 
+
10669 static const extended::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
+
10670  // 6:00 - +06
+
10671  {
+
10672  nullptr /*zonePolicy*/,
+
10673  "+06" /*format*/,
+
10674  24 /*offsetCode*/,
+
10675  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10676  127 /*untilYearTiny*/,
+
10677  1 /*untilMonth*/,
+
10678  1 /*untilDay*/,
+
10679  0 /*untilTimeCode*/,
+
10680  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10681  },
+
10682 
+
10683 };
+
10684 
+
10685 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "Asia/Thimphu";
+
10686 
+
10687 const extended::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
+
10688  kZoneNameAsia_Thimphu /*name*/,
+
10689  0x170380d1 /*zoneId*/,
+
10690  &kZoneContext /*zoneContext*/,
+
10691  2 /*transitionBufSize*/,
+
10692  1 /*numEras*/,
+
10693  kZoneEraAsia_Thimphu /*eras*/,
+
10694 };
+
10695 
+
10696 //---------------------------------------------------------------------------
+
10697 // Zone name: Asia/Tokyo
+
10698 // Zone Eras: 1
+
10699 // Strings (bytes): 15
+
10700 // Memory (8-bit): 38
+
10701 // Memory (32-bit): 51
+
10702 //---------------------------------------------------------------------------
+
10703 
+
10704 static const extended::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
+
10705  // 9:00 Japan J%sT
+
10706  {
+
10707  &kPolicyJapan /*zonePolicy*/,
+
10708  "J%T" /*format*/,
+
10709  36 /*offsetCode*/,
+
10710  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10711  127 /*untilYearTiny*/,
+
10712  1 /*untilMonth*/,
+
10713  1 /*untilDay*/,
+
10714  0 /*untilTimeCode*/,
+
10715  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10716  },
+
10717 
+
10718 };
+
10719 
+
10720 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "Asia/Tokyo";
+
10721 
+
10722 const extended::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
+
10723  kZoneNameAsia_Tokyo /*name*/,
+
10724  0x15e606a8 /*zoneId*/,
+
10725  &kZoneContext /*zoneContext*/,
+
10726  2 /*transitionBufSize*/,
+
10727  1 /*numEras*/,
+
10728  kZoneEraAsia_Tokyo /*eras*/,
+
10729 };
+
10730 
+
10731 //---------------------------------------------------------------------------
+
10732 // Zone name: Asia/Tomsk
+
10733 // Zone Eras: 5
+
10734 // Strings (bytes): 39
+
10735 // Memory (8-bit): 106
+
10736 // Memory (32-bit): 139
+
10737 //---------------------------------------------------------------------------
+
10738 
+
10739 static const extended::ZoneEra kZoneEraAsia_Tomsk[] ACE_TIME_PROGMEM = {
+
10740  // 7:00 Russia +07/+08 2002 May 1 3:00
+
10741  {
+
10742  &kPolicyRussia /*zonePolicy*/,
+
10743  "+07/+08" /*format*/,
+
10744  28 /*offsetCode*/,
+
10745  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10746  2 /*untilYearTiny*/,
+
10747  5 /*untilMonth*/,
+
10748  1 /*untilDay*/,
+
10749  12 /*untilTimeCode*/,
+
10750  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10751  },
+
10752  // 6:00 Russia +06/+07 2011 Mar 27 2:00s
+
10753  {
+
10754  &kPolicyRussia /*zonePolicy*/,
+
10755  "+06/+07" /*format*/,
+
10756  24 /*offsetCode*/,
+
10757  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10758  11 /*untilYearTiny*/,
+
10759  3 /*untilMonth*/,
+
10760  27 /*untilDay*/,
+
10761  8 /*untilTimeCode*/,
+
10762  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10763  },
+
10764  // 7:00 - +07 2014 Oct 26 2:00s
+
10765  {
+
10766  nullptr /*zonePolicy*/,
+
10767  "+07" /*format*/,
+
10768  28 /*offsetCode*/,
+
10769  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10770  14 /*untilYearTiny*/,
+
10771  10 /*untilMonth*/,
+
10772  26 /*untilDay*/,
+
10773  8 /*untilTimeCode*/,
+
10774  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10775  },
+
10776  // 6:00 - +06 2016 May 29 2:00s
+
10777  {
+
10778  nullptr /*zonePolicy*/,
+
10779  "+06" /*format*/,
+
10780  24 /*offsetCode*/,
+
10781  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10782  16 /*untilYearTiny*/,
+
10783  5 /*untilMonth*/,
+
10784  29 /*untilDay*/,
+
10785  8 /*untilTimeCode*/,
+
10786  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10787  },
+
10788  // 7:00 - +07
+
10789  {
+
10790  nullptr /*zonePolicy*/,
+
10791  "+07" /*format*/,
+
10792  28 /*offsetCode*/,
+
10793  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10794  127 /*untilYearTiny*/,
+
10795  1 /*untilMonth*/,
+
10796  1 /*untilDay*/,
+
10797  0 /*untilTimeCode*/,
+
10798  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10799  },
+
10800 
+
10801 };
+
10802 
+
10803 static const char kZoneNameAsia_Tomsk[] ACE_TIME_PROGMEM = "Asia/Tomsk";
+
10804 
+
10805 const extended::ZoneInfo kZoneAsia_Tomsk ACE_TIME_PROGMEM = {
+
10806  kZoneNameAsia_Tomsk /*name*/,
+
10807  0x15e60e60 /*zoneId*/,
+
10808  &kZoneContext /*zoneContext*/,
+
10809  6 /*transitionBufSize*/,
+
10810  5 /*numEras*/,
+
10811  kZoneEraAsia_Tomsk /*eras*/,
+
10812 };
+
10813 
+
10814 //---------------------------------------------------------------------------
+
10815 // Zone name: Asia/Ulaanbaatar
+
10816 // Zone Eras: 1
+
10817 // Strings (bytes): 25
+
10818 // Memory (8-bit): 48
+
10819 // Memory (32-bit): 61
+
10820 //---------------------------------------------------------------------------
+
10821 
+
10822 static const extended::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
+
10823  // 8:00 Mongol +08/+09
+
10824  {
+
10825  &kPolicyMongol /*zonePolicy*/,
+
10826  "+08/+09" /*format*/,
+
10827  32 /*offsetCode*/,
+
10828  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10829  127 /*untilYearTiny*/,
+
10830  1 /*untilMonth*/,
+
10831  1 /*untilDay*/,
+
10832  0 /*untilTimeCode*/,
+
10833  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10834  },
+
10835 
+
10836 };
+
10837 
+
10838 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "Asia/Ulaanbaatar";
+
10839 
+
10840 const extended::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
+
10841  kZoneNameAsia_Ulaanbaatar /*name*/,
+
10842  0x30f0cc4e /*zoneId*/,
+
10843  &kZoneContext /*zoneContext*/,
+
10844  5 /*transitionBufSize*/,
+
10845  1 /*numEras*/,
+
10846  kZoneEraAsia_Ulaanbaatar /*eras*/,
+
10847 };
+
10848 
+
10849 //---------------------------------------------------------------------------
+
10850 // Zone name: Asia/Urumqi
+
10851 // Zone Eras: 1
+
10852 // Strings (bytes): 16
+
10853 // Memory (8-bit): 39
+
10854 // Memory (32-bit): 52
+
10855 //---------------------------------------------------------------------------
+
10856 
+
10857 static const extended::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
+
10858  // 6:00 - +06
+
10859  {
+
10860  nullptr /*zonePolicy*/,
+
10861  "+06" /*format*/,
+
10862  24 /*offsetCode*/,
+
10863  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10864  127 /*untilYearTiny*/,
+
10865  1 /*untilMonth*/,
+
10866  1 /*untilDay*/,
+
10867  0 /*untilTimeCode*/,
+
10868  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10869  },
+
10870 
+
10871 };
+
10872 
+
10873 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "Asia/Urumqi";
+
10874 
+
10875 const extended::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
+
10876  kZoneNameAsia_Urumqi /*name*/,
+
10877  0xd5379735 /*zoneId*/,
+
10878  &kZoneContext /*zoneContext*/,
+
10879  2 /*transitionBufSize*/,
+
10880  1 /*numEras*/,
+
10881  kZoneEraAsia_Urumqi /*eras*/,
+
10882 };
+
10883 
+
10884 //---------------------------------------------------------------------------
+
10885 // Zone name: Asia/Ust-Nera
+
10886 // Zone Eras: 4
+
10887 // Strings (bytes): 34
+
10888 // Memory (8-bit): 90
+
10889 // Memory (32-bit): 118
+
10890 //---------------------------------------------------------------------------
+
10891 
+
10892 static const extended::ZoneEra kZoneEraAsia_Ust_Nera[] ACE_TIME_PROGMEM = {
+
10893  // 11:00 Russia +11/+12 2011 Mar 27 2:00s
+
10894  {
+
10895  &kPolicyRussia /*zonePolicy*/,
+
10896  "+11/+12" /*format*/,
+
10897  44 /*offsetCode*/,
+
10898  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10899  11 /*untilYearTiny*/,
+
10900  3 /*untilMonth*/,
+
10901  27 /*untilDay*/,
+
10902  8 /*untilTimeCode*/,
+
10903  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10904  },
+
10905  // 12:00 - +12 2011 Sep 13 0:00s
+
10906  {
+
10907  nullptr /*zonePolicy*/,
+
10908  "+12" /*format*/,
+
10909  48 /*offsetCode*/,
+
10910  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10911  11 /*untilYearTiny*/,
+
10912  9 /*untilMonth*/,
+
10913  13 /*untilDay*/,
+
10914  0 /*untilTimeCode*/,
+
10915  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10916  },
+
10917  // 11:00 - +11 2014 Oct 26 2:00s
+
10918  {
+
10919  nullptr /*zonePolicy*/,
+
10920  "+11" /*format*/,
+
10921  44 /*offsetCode*/,
+
10922  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10923  14 /*untilYearTiny*/,
+
10924  10 /*untilMonth*/,
+
10925  26 /*untilDay*/,
+
10926  8 /*untilTimeCode*/,
+
10927  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10928  },
+
10929  // 10:00 - +10
+
10930  {
+
10931  nullptr /*zonePolicy*/,
+
10932  "+10" /*format*/,
+
10933  40 /*offsetCode*/,
+
10934  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10935  127 /*untilYearTiny*/,
+
10936  1 /*untilMonth*/,
+
10937  1 /*untilDay*/,
+
10938  0 /*untilTimeCode*/,
+
10939  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10940  },
+
10941 
+
10942 };
+
10943 
+
10944 static const char kZoneNameAsia_Ust_Nera[] ACE_TIME_PROGMEM = "Asia/Ust-Nera";
+
10945 
+
10946 const extended::ZoneInfo kZoneAsia_Ust_Nera ACE_TIME_PROGMEM = {
+
10947  kZoneNameAsia_Ust_Nera /*name*/,
+
10948  0x4785f921 /*zoneId*/,
+
10949  &kZoneContext /*zoneContext*/,
+
10950  5 /*transitionBufSize*/,
+
10951  4 /*numEras*/,
+
10952  kZoneEraAsia_Ust_Nera /*eras*/,
+
10953 };
+
10954 
+
10955 //---------------------------------------------------------------------------
+
10956 // Zone name: Asia/Vladivostok
+
10957 // Zone Eras: 3
+
10958 // Strings (bytes): 33
+
10959 // Memory (8-bit): 78
+
10960 // Memory (32-bit): 101
+
10961 //---------------------------------------------------------------------------
+
10962 
+
10963 static const extended::ZoneEra kZoneEraAsia_Vladivostok[] ACE_TIME_PROGMEM = {
+
10964  // 10:00 Russia +10/+11 2011 Mar 27 2:00s
+
10965  {
+
10966  &kPolicyRussia /*zonePolicy*/,
+
10967  "+10/+11" /*format*/,
+
10968  40 /*offsetCode*/,
+
10969  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10970  11 /*untilYearTiny*/,
+
10971  3 /*untilMonth*/,
+
10972  27 /*untilDay*/,
+
10973  8 /*untilTimeCode*/,
+
10974  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10975  },
+
10976  // 11:00 - +11 2014 Oct 26 2:00s
+
10977  {
+
10978  nullptr /*zonePolicy*/,
+
10979  "+11" /*format*/,
+
10980  44 /*offsetCode*/,
+
10981  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10982  14 /*untilYearTiny*/,
+
10983  10 /*untilMonth*/,
+
10984  26 /*untilDay*/,
+
10985  8 /*untilTimeCode*/,
+
10986  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
10987  },
+
10988  // 10:00 - +10
+
10989  {
+
10990  nullptr /*zonePolicy*/,
+
10991  "+10" /*format*/,
+
10992  40 /*offsetCode*/,
+
10993  (0 << 4) + (0 + 4) /*deltaCode*/,
+
10994  127 /*untilYearTiny*/,
+
10995  1 /*untilMonth*/,
+
10996  1 /*untilDay*/,
+
10997  0 /*untilTimeCode*/,
+
10998  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
10999  },
+
11000 
+
11001 };
+
11002 
+
11003 static const char kZoneNameAsia_Vladivostok[] ACE_TIME_PROGMEM = "Asia/Vladivostok";
+
11004 
+
11005 const extended::ZoneInfo kZoneAsia_Vladivostok ACE_TIME_PROGMEM = {
+
11006  kZoneNameAsia_Vladivostok /*name*/,
+
11007  0x29de34a8 /*zoneId*/,
+
11008  &kZoneContext /*zoneContext*/,
+
11009  5 /*transitionBufSize*/,
+
11010  3 /*numEras*/,
+
11011  kZoneEraAsia_Vladivostok /*eras*/,
+
11012 };
+
11013 
+
11014 //---------------------------------------------------------------------------
+
11015 // Zone name: Asia/Yakutsk
+
11016 // Zone Eras: 3
+
11017 // Strings (bytes): 29
+
11018 // Memory (8-bit): 74
+
11019 // Memory (32-bit): 97
+
11020 //---------------------------------------------------------------------------
+
11021 
+
11022 static const extended::ZoneEra kZoneEraAsia_Yakutsk[] ACE_TIME_PROGMEM = {
+
11023  // 9:00 Russia +09/+10 2011 Mar 27 2:00s
+
11024  {
+
11025  &kPolicyRussia /*zonePolicy*/,
+
11026  "+09/+10" /*format*/,
+
11027  36 /*offsetCode*/,
+
11028  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11029  11 /*untilYearTiny*/,
+
11030  3 /*untilMonth*/,
+
11031  27 /*untilDay*/,
+
11032  8 /*untilTimeCode*/,
+
11033  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
11034  },
+
11035  // 10:00 - +10 2014 Oct 26 2:00s
+
11036  {
+
11037  nullptr /*zonePolicy*/,
+
11038  "+10" /*format*/,
+
11039  40 /*offsetCode*/,
+
11040  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11041  14 /*untilYearTiny*/,
+
11042  10 /*untilMonth*/,
+
11043  26 /*untilDay*/,
+
11044  8 /*untilTimeCode*/,
+
11045  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
11046  },
+
11047  // 9:00 - +09
+
11048  {
+
11049  nullptr /*zonePolicy*/,
+
11050  "+09" /*format*/,
+
11051  36 /*offsetCode*/,
+
11052  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11053  127 /*untilYearTiny*/,
+
11054  1 /*untilMonth*/,
+
11055  1 /*untilDay*/,
+
11056  0 /*untilTimeCode*/,
+
11057  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11058  },
+
11059 
+
11060 };
+
11061 
+
11062 static const char kZoneNameAsia_Yakutsk[] ACE_TIME_PROGMEM = "Asia/Yakutsk";
+
11063 
+
11064 const extended::ZoneInfo kZoneAsia_Yakutsk ACE_TIME_PROGMEM = {
+
11065  kZoneNameAsia_Yakutsk /*name*/,
+
11066  0x87bb3a9e /*zoneId*/,
+
11067  &kZoneContext /*zoneContext*/,
+
11068  5 /*transitionBufSize*/,
+
11069  3 /*numEras*/,
+
11070  kZoneEraAsia_Yakutsk /*eras*/,
+
11071 };
+
11072 
+
11073 //---------------------------------------------------------------------------
+
11074 // Zone name: Asia/Yangon
+
11075 // Zone Eras: 1
+
11076 // Strings (bytes): 18
+
11077 // Memory (8-bit): 41
+
11078 // Memory (32-bit): 54
+
11079 //---------------------------------------------------------------------------
+
11080 
+
11081 static const extended::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
+
11082  // 6:30 - +0630
+
11083  {
+
11084  nullptr /*zonePolicy*/,
+
11085  "+0630" /*format*/,
+
11086  26 /*offsetCode*/,
+
11087  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11088  127 /*untilYearTiny*/,
+
11089  1 /*untilMonth*/,
+
11090  1 /*untilDay*/,
+
11091  0 /*untilTimeCode*/,
+
11092  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11093  },
+
11094 
+
11095 };
+
11096 
+
11097 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "Asia/Yangon";
+
11098 
+
11099 const extended::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
+
11100  kZoneNameAsia_Yangon /*name*/,
+
11101  0xdd54a8be /*zoneId*/,
+
11102  &kZoneContext /*zoneContext*/,
+
11103  2 /*transitionBufSize*/,
+
11104  1 /*numEras*/,
+
11105  kZoneEraAsia_Yangon /*eras*/,
+
11106 };
+
11107 
+
11108 //---------------------------------------------------------------------------
+
11109 // Zone name: Asia/Yekaterinburg
+
11110 // Zone Eras: 3
+
11111 // Strings (bytes): 35
+
11112 // Memory (8-bit): 80
+
11113 // Memory (32-bit): 103
+
11114 //---------------------------------------------------------------------------
+
11115 
+
11116 static const extended::ZoneEra kZoneEraAsia_Yekaterinburg[] ACE_TIME_PROGMEM = {
+
11117  // 5:00 Russia +05/+06 2011 Mar 27 2:00s
+
11118  {
+
11119  &kPolicyRussia /*zonePolicy*/,
+
11120  "+05/+06" /*format*/,
+
11121  20 /*offsetCode*/,
+
11122  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11123  11 /*untilYearTiny*/,
+
11124  3 /*untilMonth*/,
+
11125  27 /*untilDay*/,
+
11126  8 /*untilTimeCode*/,
+
11127  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
11128  },
+
11129  // 6:00 - +06 2014 Oct 26 2:00s
+
11130  {
+
11131  nullptr /*zonePolicy*/,
+
11132  "+06" /*format*/,
+
11133  24 /*offsetCode*/,
+
11134  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11135  14 /*untilYearTiny*/,
+
11136  10 /*untilMonth*/,
+
11137  26 /*untilDay*/,
+
11138  8 /*untilTimeCode*/,
+
11139  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
11140  },
+
11141  // 5:00 - +05
+
11142  {
+
11143  nullptr /*zonePolicy*/,
+
11144  "+05" /*format*/,
+
11145  20 /*offsetCode*/,
+
11146  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11147  127 /*untilYearTiny*/,
+
11148  1 /*untilMonth*/,
+
11149  1 /*untilDay*/,
+
11150  0 /*untilTimeCode*/,
+
11151  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11152  },
+
11153 
+
11154 };
+
11155 
+
11156 static const char kZoneNameAsia_Yekaterinburg[] ACE_TIME_PROGMEM = "Asia/Yekaterinburg";
+
11157 
+
11158 const extended::ZoneInfo kZoneAsia_Yekaterinburg ACE_TIME_PROGMEM = {
+
11159  kZoneNameAsia_Yekaterinburg /*name*/,
+
11160  0xfb544c6e /*zoneId*/,
+
11161  &kZoneContext /*zoneContext*/,
+
11162  5 /*transitionBufSize*/,
+
11163  3 /*numEras*/,
+
11164  kZoneEraAsia_Yekaterinburg /*eras*/,
+
11165 };
+
11166 
+
11167 //---------------------------------------------------------------------------
+
11168 // Zone name: Asia/Yerevan
+
11169 // Zone Eras: 2
+
11170 // Strings (bytes): 29
+
11171 // Memory (8-bit): 63
+
11172 // Memory (32-bit): 81
+
11173 //---------------------------------------------------------------------------
+
11174 
+
11175 static const extended::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
+
11176  // 4:00 RussiaAsia +04/+05 2011
+
11177  {
+
11178  &kPolicyRussiaAsia /*zonePolicy*/,
+
11179  "+04/+05" /*format*/,
+
11180  16 /*offsetCode*/,
+
11181  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11182  11 /*untilYearTiny*/,
+
11183  1 /*untilMonth*/,
+
11184  1 /*untilDay*/,
+
11185  0 /*untilTimeCode*/,
+
11186  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11187  },
+
11188  // 4:00 Armenia +04/+05
+
11189  {
+
11190  &kPolicyArmenia /*zonePolicy*/,
+
11191  "+04/+05" /*format*/,
+
11192  16 /*offsetCode*/,
+
11193  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11194  127 /*untilYearTiny*/,
+
11195  1 /*untilMonth*/,
+
11196  1 /*untilDay*/,
+
11197  0 /*untilTimeCode*/,
+
11198  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11199  },
+
11200 
+
11201 };
+
11202 
+
11203 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "Asia/Yerevan";
+
11204 
+
11205 const extended::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
+
11206  kZoneNameAsia_Yerevan /*name*/,
+
11207  0x9185c8cc /*zoneId*/,
+
11208  &kZoneContext /*zoneContext*/,
+
11209  6 /*transitionBufSize*/,
+
11210  2 /*numEras*/,
+
11211  kZoneEraAsia_Yerevan /*eras*/,
+
11212 };
+
11213 
+
11214 //---------------------------------------------------------------------------
+
11215 // Zone name: Atlantic/Azores
+
11216 // Zone Eras: 1
+
11217 // Strings (bytes): 24
+
11218 // Memory (8-bit): 47
+
11219 // Memory (32-bit): 60
+
11220 //---------------------------------------------------------------------------
+
11221 
+
11222 static const extended::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
+
11223  // -1:00 EU -01/+00
+
11224  {
+
11225  &kPolicyEU /*zonePolicy*/,
+
11226  "-01/+00" /*format*/,
+
11227  -4 /*offsetCode*/,
+
11228  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11229  127 /*untilYearTiny*/,
+
11230  1 /*untilMonth*/,
+
11231  1 /*untilDay*/,
+
11232  0 /*untilTimeCode*/,
+
11233  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11234  },
+
11235 
+
11236 };
+
11237 
+
11238 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "Atlantic/Azores";
+
11239 
+
11240 const extended::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
+
11241  kZoneNameAtlantic_Azores /*name*/,
+
11242  0xf93ed918 /*zoneId*/,
+
11243  &kZoneContext /*zoneContext*/,
+
11244  5 /*transitionBufSize*/,
+
11245  1 /*numEras*/,
+
11246  kZoneEraAtlantic_Azores /*eras*/,
+
11247 };
+
11248 
+
11249 //---------------------------------------------------------------------------
+
11250 // Zone name: Atlantic/Bermuda
+
11251 // Zone Eras: 1
+
11252 // Strings (bytes): 21
+
11253 // Memory (8-bit): 44
+
11254 // Memory (32-bit): 57
+
11255 //---------------------------------------------------------------------------
+
11256 
+
11257 static const extended::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
+
11258  // -4:00 US A%sT
+
11259  {
+
11260  &kPolicyUS /*zonePolicy*/,
+
11261  "A%T" /*format*/,
+
11262  -16 /*offsetCode*/,
+
11263  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11264  127 /*untilYearTiny*/,
+
11265  1 /*untilMonth*/,
+
11266  1 /*untilDay*/,
+
11267  0 /*untilTimeCode*/,
+
11268  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11269  },
+
11270 
+
11271 };
+
11272 
+
11273 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "Atlantic/Bermuda";
+
11274 
+
11275 const extended::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
+
11276  kZoneNameAtlantic_Bermuda /*name*/,
+
11277  0x3d4bb1c4 /*zoneId*/,
+
11278  &kZoneContext /*zoneContext*/,
+
11279  6 /*transitionBufSize*/,
+
11280  1 /*numEras*/,
+
11281  kZoneEraAtlantic_Bermuda /*eras*/,
+
11282 };
+
11283 
+
11284 //---------------------------------------------------------------------------
+
11285 // Zone name: Atlantic/Canary
+
11286 // Zone Eras: 1
+
11287 // Strings (bytes): 21
+
11288 // Memory (8-bit): 44
+
11289 // Memory (32-bit): 57
+
11290 //---------------------------------------------------------------------------
+
11291 
+
11292 static const extended::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
+
11293  // 0:00 EU WE%sT
+
11294  {
+
11295  &kPolicyEU /*zonePolicy*/,
+
11296  "WE%T" /*format*/,
+
11297  0 /*offsetCode*/,
+
11298  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11299  127 /*untilYearTiny*/,
+
11300  1 /*untilMonth*/,
+
11301  1 /*untilDay*/,
+
11302  0 /*untilTimeCode*/,
+
11303  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11304  },
+
11305 
+
11306 };
+
11307 
+
11308 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "Atlantic/Canary";
+
11309 
+
11310 const extended::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
+
11311  kZoneNameAtlantic_Canary /*name*/,
+
11312  0xfc23f2c2 /*zoneId*/,
+
11313  &kZoneContext /*zoneContext*/,
+
11314  5 /*transitionBufSize*/,
+
11315  1 /*numEras*/,
+
11316  kZoneEraAtlantic_Canary /*eras*/,
+
11317 };
+
11318 
+
11319 //---------------------------------------------------------------------------
+
11320 // Zone name: Atlantic/Cape_Verde
+
11321 // Zone Eras: 1
+
11322 // Strings (bytes): 24
+
11323 // Memory (8-bit): 47
+
11324 // Memory (32-bit): 60
+
11325 //---------------------------------------------------------------------------
+
11326 
+
11327 static const extended::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
+
11328  // -1:00 - -01
+
11329  {
+
11330  nullptr /*zonePolicy*/,
+
11331  "-01" /*format*/,
+
11332  -4 /*offsetCode*/,
+
11333  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11334  127 /*untilYearTiny*/,
+
11335  1 /*untilMonth*/,
+
11336  1 /*untilDay*/,
+
11337  0 /*untilTimeCode*/,
+
11338  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11339  },
+
11340 
+
11341 };
+
11342 
+
11343 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "Atlantic/Cape_Verde";
+
11344 
+
11345 const extended::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
+
11346  kZoneNameAtlantic_Cape_Verde /*name*/,
+
11347  0x5c5e1772 /*zoneId*/,
+
11348  &kZoneContext /*zoneContext*/,
+
11349  2 /*transitionBufSize*/,
+
11350  1 /*numEras*/,
+
11351  kZoneEraAtlantic_Cape_Verde /*eras*/,
+
11352 };
+
11353 
+
11354 //---------------------------------------------------------------------------
+
11355 // Zone name: Atlantic/Faroe
+
11356 // Zone Eras: 1
+
11357 // Strings (bytes): 20
+
11358 // Memory (8-bit): 43
+
11359 // Memory (32-bit): 56
+
11360 //---------------------------------------------------------------------------
+
11361 
+
11362 static const extended::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
+
11363  // 0:00 EU WE%sT
+
11364  {
+
11365  &kPolicyEU /*zonePolicy*/,
+
11366  "WE%T" /*format*/,
+
11367  0 /*offsetCode*/,
+
11368  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11369  127 /*untilYearTiny*/,
+
11370  1 /*untilMonth*/,
+
11371  1 /*untilDay*/,
+
11372  0 /*untilTimeCode*/,
+
11373  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11374  },
+
11375 
+
11376 };
+
11377 
+
11378 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "Atlantic/Faroe";
+
11379 
+
11380 const extended::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
+
11381  kZoneNameAtlantic_Faroe /*name*/,
+
11382  0xe110a971 /*zoneId*/,
+
11383  &kZoneContext /*zoneContext*/,
+
11384  5 /*transitionBufSize*/,
+
11385  1 /*numEras*/,
+
11386  kZoneEraAtlantic_Faroe /*eras*/,
+
11387 };
+
11388 
+
11389 //---------------------------------------------------------------------------
+
11390 // Zone name: Atlantic/Madeira
+
11391 // Zone Eras: 1
+
11392 // Strings (bytes): 22
+
11393 // Memory (8-bit): 45
+
11394 // Memory (32-bit): 58
+
11395 //---------------------------------------------------------------------------
+
11396 
+
11397 static const extended::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
+
11398  // 0:00 EU WE%sT
+
11399  {
+
11400  &kPolicyEU /*zonePolicy*/,
+
11401  "WE%T" /*format*/,
+
11402  0 /*offsetCode*/,
+
11403  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11404  127 /*untilYearTiny*/,
+
11405  1 /*untilMonth*/,
+
11406  1 /*untilDay*/,
+
11407  0 /*untilTimeCode*/,
+
11408  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11409  },
+
11410 
+
11411 };
+
11412 
+
11413 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "Atlantic/Madeira";
+
11414 
+
11415 const extended::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
+
11416  kZoneNameAtlantic_Madeira /*name*/,
+
11417  0x81b5c037 /*zoneId*/,
+
11418  &kZoneContext /*zoneContext*/,
+
11419  5 /*transitionBufSize*/,
+
11420  1 /*numEras*/,
+
11421  kZoneEraAtlantic_Madeira /*eras*/,
+
11422 };
+
11423 
+
11424 //---------------------------------------------------------------------------
+
11425 // Zone name: Atlantic/Reykjavik
+
11426 // Zone Eras: 1
+
11427 // Strings (bytes): 23
+
11428 // Memory (8-bit): 46
+
11429 // Memory (32-bit): 59
+
11430 //---------------------------------------------------------------------------
+
11431 
+
11432 static const extended::ZoneEra kZoneEraAtlantic_Reykjavik[] ACE_TIME_PROGMEM = {
+
11433  // 0:00 - GMT
+
11434  {
+
11435  nullptr /*zonePolicy*/,
+
11436  "GMT" /*format*/,
+
11437  0 /*offsetCode*/,
+
11438  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11439  127 /*untilYearTiny*/,
+
11440  1 /*untilMonth*/,
+
11441  1 /*untilDay*/,
+
11442  0 /*untilTimeCode*/,
+
11443  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11444  },
+
11445 
+
11446 };
+
11447 
+
11448 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "Atlantic/Reykjavik";
+
11449 
+
11450 const extended::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
+
11451  kZoneNameAtlantic_Reykjavik /*name*/,
+
11452  0x1c2b4f74 /*zoneId*/,
+
11453  &kZoneContext /*zoneContext*/,
+
11454  2 /*transitionBufSize*/,
+
11455  1 /*numEras*/,
+
11456  kZoneEraAtlantic_Reykjavik /*eras*/,
+
11457 };
+
11458 
+
11459 //---------------------------------------------------------------------------
+
11460 // Zone name: Atlantic/South_Georgia
+
11461 // Zone Eras: 1
+
11462 // Strings (bytes): 27
+
11463 // Memory (8-bit): 50
+
11464 // Memory (32-bit): 63
+
11465 //---------------------------------------------------------------------------
+
11466 
+
11467 static const extended::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
+
11468  // -2:00 - -02
+
11469  {
+
11470  nullptr /*zonePolicy*/,
+
11471  "-02" /*format*/,
+
11472  -8 /*offsetCode*/,
+
11473  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11474  127 /*untilYearTiny*/,
+
11475  1 /*untilMonth*/,
+
11476  1 /*untilDay*/,
+
11477  0 /*untilTimeCode*/,
+
11478  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11479  },
+
11480 
+
11481 };
+
11482 
+
11483 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "Atlantic/South_Georgia";
+
11484 
+
11485 const extended::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
+
11486  kZoneNameAtlantic_South_Georgia /*name*/,
+
11487  0x33013174 /*zoneId*/,
+
11488  &kZoneContext /*zoneContext*/,
+
11489  2 /*transitionBufSize*/,
+
11490  1 /*numEras*/,
+
11491  kZoneEraAtlantic_South_Georgia /*eras*/,
+
11492 };
+
11493 
+
11494 //---------------------------------------------------------------------------
+
11495 // Zone name: Atlantic/Stanley
+
11496 // Zone Eras: 2
+
11497 // Strings (bytes): 29
+
11498 // Memory (8-bit): 63
+
11499 // Memory (32-bit): 81
+
11500 //---------------------------------------------------------------------------
+
11501 
+
11502 static const extended::ZoneEra kZoneEraAtlantic_Stanley[] ACE_TIME_PROGMEM = {
+
11503  // -4:00 Falk -04/-03 2010 Sep 5 2:00
+
11504  {
+
11505  &kPolicyFalk /*zonePolicy*/,
+
11506  "-04/-03" /*format*/,
+
11507  -16 /*offsetCode*/,
+
11508  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11509  10 /*untilYearTiny*/,
+
11510  9 /*untilMonth*/,
+
11511  5 /*untilDay*/,
+
11512  8 /*untilTimeCode*/,
+
11513  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11514  },
+
11515  // -3:00 - -03
+
11516  {
+
11517  nullptr /*zonePolicy*/,
+
11518  "-03" /*format*/,
+
11519  -12 /*offsetCode*/,
+
11520  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11521  127 /*untilYearTiny*/,
+
11522  1 /*untilMonth*/,
+
11523  1 /*untilDay*/,
+
11524  0 /*untilTimeCode*/,
+
11525  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11526  },
+
11527 
+
11528 };
+
11529 
+
11530 static const char kZoneNameAtlantic_Stanley[] ACE_TIME_PROGMEM = "Atlantic/Stanley";
+
11531 
+
11532 const extended::ZoneInfo kZoneAtlantic_Stanley ACE_TIME_PROGMEM = {
+
11533  kZoneNameAtlantic_Stanley /*name*/,
+
11534  0x7bb3e1c4 /*zoneId*/,
+
11535  &kZoneContext /*zoneContext*/,
+
11536  4 /*transitionBufSize*/,
+
11537  2 /*numEras*/,
+
11538  kZoneEraAtlantic_Stanley /*eras*/,
+
11539 };
+
11540 
+
11541 //---------------------------------------------------------------------------
+
11542 // Zone name: Australia/Adelaide
+
11543 // Zone Eras: 1
+
11544 // Strings (bytes): 24
+
11545 // Memory (8-bit): 47
+
11546 // Memory (32-bit): 60
+
11547 //---------------------------------------------------------------------------
+
11548 
+
11549 static const extended::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
+
11550  // 9:30 AS AC%sT
+
11551  {
+
11552  &kPolicyAS /*zonePolicy*/,
+
11553  "AC%T" /*format*/,
+
11554  38 /*offsetCode*/,
+
11555  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11556  127 /*untilYearTiny*/,
+
11557  1 /*untilMonth*/,
+
11558  1 /*untilDay*/,
+
11559  0 /*untilTimeCode*/,
+
11560  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11561  },
+
11562 
+
11563 };
+
11564 
+
11565 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "Australia/Adelaide";
+
11566 
+
11567 const extended::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
+
11568  kZoneNameAustralia_Adelaide /*name*/,
+
11569  0x2428e8a3 /*zoneId*/,
+
11570  &kZoneContext /*zoneContext*/,
+
11571  5 /*transitionBufSize*/,
+
11572  1 /*numEras*/,
+
11573  kZoneEraAustralia_Adelaide /*eras*/,
+
11574 };
+
11575 
+
11576 //---------------------------------------------------------------------------
+
11577 // Zone name: Australia/Brisbane
+
11578 // Zone Eras: 1
+
11579 // Strings (bytes): 24
+
11580 // Memory (8-bit): 47
+
11581 // Memory (32-bit): 60
+
11582 //---------------------------------------------------------------------------
+
11583 
+
11584 static const extended::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
+
11585  // 10:00 AQ AE%sT
+
11586  {
+
11587  &kPolicyAQ /*zonePolicy*/,
+
11588  "AE%T" /*format*/,
+
11589  40 /*offsetCode*/,
+
11590  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11591  127 /*untilYearTiny*/,
+
11592  1 /*untilMonth*/,
+
11593  1 /*untilDay*/,
+
11594  0 /*untilTimeCode*/,
+
11595  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11596  },
+
11597 
+
11598 };
+
11599 
+
11600 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "Australia/Brisbane";
+
11601 
+
11602 const extended::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
+
11603  kZoneNameAustralia_Brisbane /*name*/,
+
11604  0x4fedc9c0 /*zoneId*/,
+
11605  &kZoneContext /*zoneContext*/,
+
11606  2 /*transitionBufSize*/,
+
11607  1 /*numEras*/,
+
11608  kZoneEraAustralia_Brisbane /*eras*/,
+
11609 };
+
11610 
+
11611 //---------------------------------------------------------------------------
+
11612 // Zone name: Australia/Broken_Hill
+
11613 // Zone Eras: 2
+
11614 // Strings (bytes): 32
+
11615 // Memory (8-bit): 66
+
11616 // Memory (32-bit): 84
+
11617 //---------------------------------------------------------------------------
+
11618 
+
11619 static const extended::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
+
11620  // 9:30 AN AC%sT 2000
+
11621  {
+
11622  &kPolicyAN /*zonePolicy*/,
+
11623  "AC%T" /*format*/,
+
11624  38 /*offsetCode*/,
+
11625  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11626  0 /*untilYearTiny*/,
+
11627  1 /*untilMonth*/,
+
11628  1 /*untilDay*/,
+
11629  0 /*untilTimeCode*/,
+
11630  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11631  },
+
11632  // 9:30 AS AC%sT
+
11633  {
+
11634  &kPolicyAS /*zonePolicy*/,
+
11635  "AC%T" /*format*/,
+
11636  38 /*offsetCode*/,
+
11637  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11638  127 /*untilYearTiny*/,
+
11639  1 /*untilMonth*/,
+
11640  1 /*untilDay*/,
+
11641  0 /*untilTimeCode*/,
+
11642  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11643  },
+
11644 
+
11645 };
+
11646 
+
11647 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "Australia/Broken_Hill";
+
11648 
+
11649 const extended::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
+
11650  kZoneNameAustralia_Broken_Hill /*name*/,
+
11651  0xb06eada3 /*zoneId*/,
+
11652  &kZoneContext /*zoneContext*/,
+
11653  6 /*transitionBufSize*/,
+
11654  2 /*numEras*/,
+
11655  kZoneEraAustralia_Broken_Hill /*eras*/,
+
11656 };
+
11657 
+
11658 //---------------------------------------------------------------------------
+
11659 // Zone name: Australia/Currie
+
11660 // Zone Eras: 1
+
11661 // Strings (bytes): 22
+
11662 // Memory (8-bit): 45
+
11663 // Memory (32-bit): 58
+
11664 //---------------------------------------------------------------------------
+
11665 
+
11666 static const extended::ZoneEra kZoneEraAustralia_Currie[] ACE_TIME_PROGMEM = {
+
11667  // 10:00 AT AE%sT
+
11668  {
+
11669  &kPolicyAT /*zonePolicy*/,
+
11670  "AE%T" /*format*/,
+
11671  40 /*offsetCode*/,
+
11672  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11673  127 /*untilYearTiny*/,
+
11674  1 /*untilMonth*/,
+
11675  1 /*untilDay*/,
+
11676  0 /*untilTimeCode*/,
+
11677  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11678  },
+
11679 
+
11680 };
+
11681 
+
11682 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "Australia/Currie";
+
11683 
+
11684 const extended::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
+
11685  kZoneNameAustralia_Currie /*name*/,
+
11686  0x278b6a24 /*zoneId*/,
+
11687  &kZoneContext /*zoneContext*/,
+
11688  5 /*transitionBufSize*/,
+
11689  1 /*numEras*/,
+
11690  kZoneEraAustralia_Currie /*eras*/,
+
11691 };
+
11692 
+
11693 //---------------------------------------------------------------------------
+
11694 // Zone name: Australia/Darwin
+
11695 // Zone Eras: 1
+
11696 // Strings (bytes): 22
+
11697 // Memory (8-bit): 45
+
11698 // Memory (32-bit): 58
+
11699 //---------------------------------------------------------------------------
+
11700 
+
11701 static const extended::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
+
11702  // 9:30 Aus AC%sT
+
11703  {
+
11704  &kPolicyAus /*zonePolicy*/,
+
11705  "AC%T" /*format*/,
+
11706  38 /*offsetCode*/,
+
11707  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11708  127 /*untilYearTiny*/,
+
11709  1 /*untilMonth*/,
+
11710  1 /*untilDay*/,
+
11711  0 /*untilTimeCode*/,
+
11712  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11713  },
+
11714 
+
11715 };
+
11716 
+
11717 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "Australia/Darwin";
+
11718 
+
11719 const extended::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
+
11720  kZoneNameAustralia_Darwin /*name*/,
+
11721  0x2876bdff /*zoneId*/,
+
11722  &kZoneContext /*zoneContext*/,
+
11723  2 /*transitionBufSize*/,
+
11724  1 /*numEras*/,
+
11725  kZoneEraAustralia_Darwin /*eras*/,
+
11726 };
+
11727 
+
11728 //---------------------------------------------------------------------------
+
11729 // Zone name: Australia/Eucla
+
11730 // Zone Eras: 1
+
11731 // Strings (bytes): 28
+
11732 // Memory (8-bit): 51
+
11733 // Memory (32-bit): 64
+
11734 //---------------------------------------------------------------------------
+
11735 
+
11736 static const extended::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
+
11737  // 8:45 AW +0845/+0945
+
11738  {
+
11739  &kPolicyAW /*zonePolicy*/,
+
11740  "+0845/+0945" /*format*/,
+
11741  35 /*offsetCode*/,
+
11742  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11743  127 /*untilYearTiny*/,
+
11744  1 /*untilMonth*/,
+
11745  1 /*untilDay*/,
+
11746  0 /*untilTimeCode*/,
+
11747  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11748  },
+
11749 
+
11750 };
+
11751 
+
11752 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "Australia/Eucla";
+
11753 
+
11754 const extended::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
+
11755  kZoneNameAustralia_Eucla /*name*/,
+
11756  0x8cf99e44 /*zoneId*/,
+
11757  &kZoneContext /*zoneContext*/,
+
11758  6 /*transitionBufSize*/,
+
11759  1 /*numEras*/,
+
11760  kZoneEraAustralia_Eucla /*eras*/,
+
11761 };
+
11762 
+
11763 //---------------------------------------------------------------------------
+
11764 // Zone name: Australia/Hobart
+
11765 // Zone Eras: 1
+
11766 // Strings (bytes): 22
+
11767 // Memory (8-bit): 45
+
11768 // Memory (32-bit): 58
+
11769 //---------------------------------------------------------------------------
+
11770 
+
11771 static const extended::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
+
11772  // 10:00 AT AE%sT
+
11773  {
+
11774  &kPolicyAT /*zonePolicy*/,
+
11775  "AE%T" /*format*/,
+
11776  40 /*offsetCode*/,
+
11777  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11778  127 /*untilYearTiny*/,
+
11779  1 /*untilMonth*/,
+
11780  1 /*untilDay*/,
+
11781  0 /*untilTimeCode*/,
+
11782  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11783  },
+
11784 
+
11785 };
+
11786 
+
11787 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "Australia/Hobart";
+
11788 
+
11789 const extended::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
+
11790  kZoneNameAustralia_Hobart /*name*/,
+
11791  0x32bf951a /*zoneId*/,
+
11792  &kZoneContext /*zoneContext*/,
+
11793  5 /*transitionBufSize*/,
+
11794  1 /*numEras*/,
+
11795  kZoneEraAustralia_Hobart /*eras*/,
+
11796 };
+
11797 
+
11798 //---------------------------------------------------------------------------
+
11799 // Zone name: Australia/Lindeman
+
11800 // Zone Eras: 1
+
11801 // Strings (bytes): 24
+
11802 // Memory (8-bit): 47
+
11803 // Memory (32-bit): 60
+
11804 //---------------------------------------------------------------------------
+
11805 
+
11806 static const extended::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
+
11807  // 10:00 Holiday AE%sT
+
11808  {
+
11809  &kPolicyHoliday /*zonePolicy*/,
+
11810  "AE%T" /*format*/,
+
11811  40 /*offsetCode*/,
+
11812  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11813  127 /*untilYearTiny*/,
+
11814  1 /*untilMonth*/,
+
11815  1 /*untilDay*/,
+
11816  0 /*untilTimeCode*/,
+
11817  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11818  },
+
11819 
+
11820 };
+
11821 
+
11822 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "Australia/Lindeman";
+
11823 
+
11824 const extended::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
+
11825  kZoneNameAustralia_Lindeman /*name*/,
+
11826  0xe05029e2 /*zoneId*/,
+
11827  &kZoneContext /*zoneContext*/,
+
11828  2 /*transitionBufSize*/,
+
11829  1 /*numEras*/,
+
11830  kZoneEraAustralia_Lindeman /*eras*/,
+
11831 };
+
11832 
+
11833 //---------------------------------------------------------------------------
+
11834 // Zone name: Australia/Lord_Howe
+
11835 // Zone Eras: 1
+
11836 // Strings (bytes): 30
+
11837 // Memory (8-bit): 53
+
11838 // Memory (32-bit): 66
+
11839 //---------------------------------------------------------------------------
+
11840 
+
11841 static const extended::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
+
11842  // 10:30 LH +1030/+11
+
11843  {
+
11844  &kPolicyLH /*zonePolicy*/,
+
11845  "+1030/+11" /*format*/,
+
11846  42 /*offsetCode*/,
+
11847  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11848  127 /*untilYearTiny*/,
+
11849  1 /*untilMonth*/,
+
11850  1 /*untilDay*/,
+
11851  0 /*untilTimeCode*/,
+
11852  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11853  },
+
11854 
+
11855 };
+
11856 
+
11857 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "Australia/Lord_Howe";
+
11858 
+
11859 const extended::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
+
11860  kZoneNameAustralia_Lord_Howe /*name*/,
+
11861  0xa748b67d /*zoneId*/,
+
11862  &kZoneContext /*zoneContext*/,
+
11863  5 /*transitionBufSize*/,
+
11864  1 /*numEras*/,
+
11865  kZoneEraAustralia_Lord_Howe /*eras*/,
+
11866 };
+
11867 
+
11868 //---------------------------------------------------------------------------
+
11869 // Zone name: Australia/Melbourne
+
11870 // Zone Eras: 1
+
11871 // Strings (bytes): 25
+
11872 // Memory (8-bit): 48
+
11873 // Memory (32-bit): 61
+
11874 //---------------------------------------------------------------------------
+
11875 
+
11876 static const extended::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
+
11877  // 10:00 AV AE%sT
+
11878  {
+
11879  &kPolicyAV /*zonePolicy*/,
+
11880  "AE%T" /*format*/,
+
11881  40 /*offsetCode*/,
+
11882  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11883  127 /*untilYearTiny*/,
+
11884  1 /*untilMonth*/,
+
11885  1 /*untilDay*/,
+
11886  0 /*untilTimeCode*/,
+
11887  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11888  },
+
11889 
+
11890 };
+
11891 
+
11892 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "Australia/Melbourne";
+
11893 
+
11894 const extended::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
+
11895  kZoneNameAustralia_Melbourne /*name*/,
+
11896  0x0fe559a3 /*zoneId*/,
+
11897  &kZoneContext /*zoneContext*/,
+
11898  5 /*transitionBufSize*/,
+
11899  1 /*numEras*/,
+
11900  kZoneEraAustralia_Melbourne /*eras*/,
+
11901 };
+
11902 
+
11903 //---------------------------------------------------------------------------
+
11904 // Zone name: Australia/Perth
+
11905 // Zone Eras: 1
+
11906 // Strings (bytes): 21
+
11907 // Memory (8-bit): 44
+
11908 // Memory (32-bit): 57
+
11909 //---------------------------------------------------------------------------
+
11910 
+
11911 static const extended::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
+
11912  // 8:00 AW AW%sT
+
11913  {
+
11914  &kPolicyAW /*zonePolicy*/,
+
11915  "AW%T" /*format*/,
+
11916  32 /*offsetCode*/,
+
11917  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11918  127 /*untilYearTiny*/,
+
11919  1 /*untilMonth*/,
+
11920  1 /*untilDay*/,
+
11921  0 /*untilTimeCode*/,
+
11922  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11923  },
+
11924 
+
11925 };
+
11926 
+
11927 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "Australia/Perth";
+
11928 
+
11929 const extended::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
+
11930  kZoneNameAustralia_Perth /*name*/,
+
11931  0x8db8269d /*zoneId*/,
+
11932  &kZoneContext /*zoneContext*/,
+
11933  6 /*transitionBufSize*/,
+
11934  1 /*numEras*/,
+
11935  kZoneEraAustralia_Perth /*eras*/,
+
11936 };
+
11937 
+
11938 //---------------------------------------------------------------------------
+
11939 // Zone name: Australia/Sydney
+
11940 // Zone Eras: 1
+
11941 // Strings (bytes): 22
+
11942 // Memory (8-bit): 45
+
11943 // Memory (32-bit): 58
+
11944 //---------------------------------------------------------------------------
+
11945 
+
11946 static const extended::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
+
11947  // 10:00 AN AE%sT
+
11948  {
+
11949  &kPolicyAN /*zonePolicy*/,
+
11950  "AE%T" /*format*/,
+
11951  40 /*offsetCode*/,
+
11952  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11953  127 /*untilYearTiny*/,
+
11954  1 /*untilMonth*/,
+
11955  1 /*untilDay*/,
+
11956  0 /*untilTimeCode*/,
+
11957  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11958  },
+
11959 
+
11960 };
+
11961 
+
11962 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "Australia/Sydney";
+
11963 
+
11964 const extended::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
+
11965  kZoneNameAustralia_Sydney /*name*/,
+
11966  0x4d1e9776 /*zoneId*/,
+
11967  &kZoneContext /*zoneContext*/,
+
11968  5 /*transitionBufSize*/,
+
11969  1 /*numEras*/,
+
11970  kZoneEraAustralia_Sydney /*eras*/,
+
11971 };
+
11972 
+
11973 //---------------------------------------------------------------------------
+
11974 // Zone name: CET
+
11975 // Zone Eras: 1
+
11976 // Strings (bytes): 9
+
11977 // Memory (8-bit): 32
+
11978 // Memory (32-bit): 45
+
11979 //---------------------------------------------------------------------------
+
11980 
+
11981 static const extended::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = {
+
11982  // 1:00 C-Eur CE%sT
+
11983  {
+
11984  &kPolicyC_Eur /*zonePolicy*/,
+
11985  "CE%T" /*format*/,
+
11986  4 /*offsetCode*/,
+
11987  (0 << 4) + (0 + 4) /*deltaCode*/,
+
11988  127 /*untilYearTiny*/,
+
11989  1 /*untilMonth*/,
+
11990  1 /*untilDay*/,
+
11991  0 /*untilTimeCode*/,
+
11992  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
11993  },
+
11994 
+
11995 };
+
11996 
+
11997 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
+
11998 
+
11999 const extended::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
+
12000  kZoneNameCET /*name*/,
+
12001  0x0b87d921 /*zoneId*/,
+
12002  &kZoneContext /*zoneContext*/,
+
12003  5 /*transitionBufSize*/,
+
12004  1 /*numEras*/,
+
12005  kZoneEraCET /*eras*/,
+
12006 };
+
12007 
+
12008 //---------------------------------------------------------------------------
+
12009 // Zone name: CST6CDT
+
12010 // Zone Eras: 1
+
12011 // Strings (bytes): 12
+
12012 // Memory (8-bit): 35
+
12013 // Memory (32-bit): 48
+
12014 //---------------------------------------------------------------------------
+
12015 
+
12016 static const extended::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = {
+
12017  // -6:00 US C%sT
+
12018  {
+
12019  &kPolicyUS /*zonePolicy*/,
+
12020  "C%T" /*format*/,
+
12021  -24 /*offsetCode*/,
+
12022  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12023  127 /*untilYearTiny*/,
+
12024  1 /*untilMonth*/,
+
12025  1 /*untilDay*/,
+
12026  0 /*untilTimeCode*/,
+
12027  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12028  },
+
12029 
+
12030 };
+
12031 
+
12032 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
+
12033 
+
12034 const extended::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
+
12035  kZoneNameCST6CDT /*name*/,
+
12036  0xf0e87d00 /*zoneId*/,
+
12037  &kZoneContext /*zoneContext*/,
+
12038  6 /*transitionBufSize*/,
+
12039  1 /*numEras*/,
+
12040  kZoneEraCST6CDT /*eras*/,
+
12041 };
+
12042 
+
12043 //---------------------------------------------------------------------------
+
12044 // Zone name: EET
+
12045 // Zone Eras: 1
+
12046 // Strings (bytes): 9
+
12047 // Memory (8-bit): 32
+
12048 // Memory (32-bit): 45
+
12049 //---------------------------------------------------------------------------
+
12050 
+
12051 static const extended::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = {
+
12052  // 2:00 EU EE%sT
+
12053  {
+
12054  &kPolicyEU /*zonePolicy*/,
+
12055  "EE%T" /*format*/,
+
12056  8 /*offsetCode*/,
+
12057  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12058  127 /*untilYearTiny*/,
+
12059  1 /*untilMonth*/,
+
12060  1 /*untilDay*/,
+
12061  0 /*untilTimeCode*/,
+
12062  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12063  },
+
12064 
+
12065 };
+
12066 
+
12067 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
+
12068 
+
12069 const extended::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
+
12070  kZoneNameEET /*name*/,
+
12071  0x0b87e1a3 /*zoneId*/,
+
12072  &kZoneContext /*zoneContext*/,
+
12073  5 /*transitionBufSize*/,
+
12074  1 /*numEras*/,
+
12075  kZoneEraEET /*eras*/,
+
12076 };
+
12077 
+
12078 //---------------------------------------------------------------------------
+
12079 // Zone name: EST
+
12080 // Zone Eras: 1
+
12081 // Strings (bytes): 8
+
12082 // Memory (8-bit): 31
+
12083 // Memory (32-bit): 44
+
12084 //---------------------------------------------------------------------------
+
12085 
+
12086 static const extended::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = {
+
12087  // -5:00 - EST
+
12088  {
+
12089  nullptr /*zonePolicy*/,
+
12090  "EST" /*format*/,
+
12091  -20 /*offsetCode*/,
+
12092  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12093  127 /*untilYearTiny*/,
+
12094  1 /*untilMonth*/,
+
12095  1 /*untilDay*/,
+
12096  0 /*untilTimeCode*/,
+
12097  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12098  },
+
12099 
+
12100 };
+
12101 
+
12102 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
+
12103 
+
12104 const extended::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
+
12105  kZoneNameEST /*name*/,
+
12106  0x0b87e371 /*zoneId*/,
+
12107  &kZoneContext /*zoneContext*/,
+
12108  2 /*transitionBufSize*/,
+
12109  1 /*numEras*/,
+
12110  kZoneEraEST /*eras*/,
+
12111 };
+
12112 
+
12113 //---------------------------------------------------------------------------
+
12114 // Zone name: EST5EDT
+
12115 // Zone Eras: 1
+
12116 // Strings (bytes): 12
+
12117 // Memory (8-bit): 35
+
12118 // Memory (32-bit): 48
+
12119 //---------------------------------------------------------------------------
+
12120 
+
12121 static const extended::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = {
+
12122  // -5:00 US E%sT
+
12123  {
+
12124  &kPolicyUS /*zonePolicy*/,
+
12125  "E%T" /*format*/,
+
12126  -20 /*offsetCode*/,
+
12127  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12128  127 /*untilYearTiny*/,
+
12129  1 /*untilMonth*/,
+
12130  1 /*untilDay*/,
+
12131  0 /*untilTimeCode*/,
+
12132  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12133  },
+
12134 
+
12135 };
+
12136 
+
12137 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
+
12138 
+
12139 const extended::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
+
12140  kZoneNameEST5EDT /*name*/,
+
12141  0x8adc72a3 /*zoneId*/,
+
12142  &kZoneContext /*zoneContext*/,
+
12143  6 /*transitionBufSize*/,
+
12144  1 /*numEras*/,
+
12145  kZoneEraEST5EDT /*eras*/,
+
12146 };
+
12147 
+
12148 //---------------------------------------------------------------------------
+
12149 // Zone name: Etc/GMT
+
12150 // Zone Eras: 1
+
12151 // Strings (bytes): 12
+
12152 // Memory (8-bit): 35
+
12153 // Memory (32-bit): 48
+
12154 //---------------------------------------------------------------------------
+
12155 
+
12156 static const extended::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
+
12157  // 0 - GMT
+
12158  {
+
12159  nullptr /*zonePolicy*/,
+
12160  "GMT" /*format*/,
+
12161  0 /*offsetCode*/,
+
12162  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12163  127 /*untilYearTiny*/,
+
12164  1 /*untilMonth*/,
+
12165  1 /*untilDay*/,
+
12166  0 /*untilTimeCode*/,
+
12167  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12168  },
+
12169 
+
12170 };
+
12171 
+
12172 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "Etc/GMT";
+
12173 
+
12174 const extended::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
+
12175  kZoneNameEtc_GMT /*name*/,
+
12176  0xd8e2de58 /*zoneId*/,
+
12177  &kZoneContext /*zoneContext*/,
+
12178  2 /*transitionBufSize*/,
+
12179  1 /*numEras*/,
+
12180  kZoneEraEtc_GMT /*eras*/,
+
12181 };
+
12182 
+
12183 //---------------------------------------------------------------------------
+
12184 // Zone name: Etc/GMT+1
+
12185 // Zone Eras: 1
+
12186 // Strings (bytes): 14
+
12187 // Memory (8-bit): 37
+
12188 // Memory (32-bit): 50
+
12189 //---------------------------------------------------------------------------
+
12190 
+
12191 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
+
12192  // -1 - -01
+
12193  {
+
12194  nullptr /*zonePolicy*/,
+
12195  "-01" /*format*/,
+
12196  -4 /*offsetCode*/,
+
12197  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12198  127 /*untilYearTiny*/,
+
12199  1 /*untilMonth*/,
+
12200  1 /*untilDay*/,
+
12201  0 /*untilTimeCode*/,
+
12202  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12203  },
+
12204 
+
12205 };
+
12206 
+
12207 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "Etc/GMT+1";
+
12208 
+
12209 const extended::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
+
12210  kZoneNameEtc_GMT_PLUS_1 /*name*/,
+
12211  0x9d13da14 /*zoneId*/,
+
12212  &kZoneContext /*zoneContext*/,
+
12213  2 /*transitionBufSize*/,
+
12214  1 /*numEras*/,
+
12215  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
+
12216 };
+
12217 
+
12218 //---------------------------------------------------------------------------
+
12219 // Zone name: Etc/GMT+10
+
12220 // Zone Eras: 1
+
12221 // Strings (bytes): 15
+
12222 // Memory (8-bit): 38
+
12223 // Memory (32-bit): 51
+
12224 //---------------------------------------------------------------------------
+
12225 
+
12226 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
+
12227  // -10 - -10
+
12228  {
+
12229  nullptr /*zonePolicy*/,
+
12230  "-10" /*format*/,
+
12231  -40 /*offsetCode*/,
+
12232  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12233  127 /*untilYearTiny*/,
+
12234  1 /*untilMonth*/,
+
12235  1 /*untilDay*/,
+
12236  0 /*untilTimeCode*/,
+
12237  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12238  },
+
12239 
+
12240 };
+
12241 
+
12242 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "Etc/GMT+10";
+
12243 
+
12244 const extended::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
+
12245  kZoneNameEtc_GMT_PLUS_10 /*name*/,
+
12246  0x3f8f1cc4 /*zoneId*/,
+
12247  &kZoneContext /*zoneContext*/,
+
12248  2 /*transitionBufSize*/,
+
12249  1 /*numEras*/,
+
12250  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
+
12251 };
+
12252 
+
12253 //---------------------------------------------------------------------------
+
12254 // Zone name: Etc/GMT+11
+
12255 // Zone Eras: 1
+
12256 // Strings (bytes): 15
+
12257 // Memory (8-bit): 38
+
12258 // Memory (32-bit): 51
+
12259 //---------------------------------------------------------------------------
+
12260 
+
12261 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
+
12262  // -11 - -11
+
12263  {
+
12264  nullptr /*zonePolicy*/,
+
12265  "-11" /*format*/,
+
12266  -44 /*offsetCode*/,
+
12267  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12268  127 /*untilYearTiny*/,
+
12269  1 /*untilMonth*/,
+
12270  1 /*untilDay*/,
+
12271  0 /*untilTimeCode*/,
+
12272  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12273  },
+
12274 
+
12275 };
+
12276 
+
12277 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "Etc/GMT+11";
+
12278 
+
12279 const extended::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
+
12280  kZoneNameEtc_GMT_PLUS_11 /*name*/,
+
12281  0x3f8f1cc5 /*zoneId*/,
+
12282  &kZoneContext /*zoneContext*/,
+
12283  2 /*transitionBufSize*/,
+
12284  1 /*numEras*/,
+
12285  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
+
12286 };
+
12287 
+
12288 //---------------------------------------------------------------------------
+
12289 // Zone name: Etc/GMT+12
+
12290 // Zone Eras: 1
+
12291 // Strings (bytes): 15
+
12292 // Memory (8-bit): 38
+
12293 // Memory (32-bit): 51
+
12294 //---------------------------------------------------------------------------
+
12295 
+
12296 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
+
12297  // -12 - -12
+
12298  {
+
12299  nullptr /*zonePolicy*/,
+
12300  "-12" /*format*/,
+
12301  -48 /*offsetCode*/,
+
12302  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12303  127 /*untilYearTiny*/,
+
12304  1 /*untilMonth*/,
+
12305  1 /*untilDay*/,
+
12306  0 /*untilTimeCode*/,
+
12307  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12308  },
+
12309 
+
12310 };
+
12311 
+
12312 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "Etc/GMT+12";
+
12313 
+
12314 const extended::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
+
12315  kZoneNameEtc_GMT_PLUS_12 /*name*/,
+
12316  0x3f8f1cc6 /*zoneId*/,
+
12317  &kZoneContext /*zoneContext*/,
+
12318  2 /*transitionBufSize*/,
+
12319  1 /*numEras*/,
+
12320  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
+
12321 };
+
12322 
+
12323 //---------------------------------------------------------------------------
+
12324 // Zone name: Etc/GMT+2
+
12325 // Zone Eras: 1
+
12326 // Strings (bytes): 14
+
12327 // Memory (8-bit): 37
+
12328 // Memory (32-bit): 50
+
12329 //---------------------------------------------------------------------------
+
12330 
+
12331 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
+
12332  // -2 - -02
+
12333  {
+
12334  nullptr /*zonePolicy*/,
+
12335  "-02" /*format*/,
+
12336  -8 /*offsetCode*/,
+
12337  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12338  127 /*untilYearTiny*/,
+
12339  1 /*untilMonth*/,
+
12340  1 /*untilDay*/,
+
12341  0 /*untilTimeCode*/,
+
12342  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12343  },
+
12344 
+
12345 };
+
12346 
+
12347 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "Etc/GMT+2";
+
12348 
+
12349 const extended::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
+
12350  kZoneNameEtc_GMT_PLUS_2 /*name*/,
+
12351  0x9d13da15 /*zoneId*/,
+
12352  &kZoneContext /*zoneContext*/,
+
12353  2 /*transitionBufSize*/,
+
12354  1 /*numEras*/,
+
12355  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
+
12356 };
+
12357 
+
12358 //---------------------------------------------------------------------------
+
12359 // Zone name: Etc/GMT+3
+
12360 // Zone Eras: 1
+
12361 // Strings (bytes): 14
+
12362 // Memory (8-bit): 37
+
12363 // Memory (32-bit): 50
+
12364 //---------------------------------------------------------------------------
+
12365 
+
12366 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
+
12367  // -3 - -03
+
12368  {
+
12369  nullptr /*zonePolicy*/,
+
12370  "-03" /*format*/,
+
12371  -12 /*offsetCode*/,
+
12372  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12373  127 /*untilYearTiny*/,
+
12374  1 /*untilMonth*/,
+
12375  1 /*untilDay*/,
+
12376  0 /*untilTimeCode*/,
+
12377  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12378  },
+
12379 
+
12380 };
+
12381 
+
12382 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "Etc/GMT+3";
+
12383 
+
12384 const extended::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
+
12385  kZoneNameEtc_GMT_PLUS_3 /*name*/,
+
12386  0x9d13da16 /*zoneId*/,
+
12387  &kZoneContext /*zoneContext*/,
+
12388  2 /*transitionBufSize*/,
+
12389  1 /*numEras*/,
+
12390  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
+
12391 };
+
12392 
+
12393 //---------------------------------------------------------------------------
+
12394 // Zone name: Etc/GMT+4
+
12395 // Zone Eras: 1
+
12396 // Strings (bytes): 14
+
12397 // Memory (8-bit): 37
+
12398 // Memory (32-bit): 50
+
12399 //---------------------------------------------------------------------------
+
12400 
+
12401 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
+
12402  // -4 - -04
+
12403  {
+
12404  nullptr /*zonePolicy*/,
+
12405  "-04" /*format*/,
+
12406  -16 /*offsetCode*/,
+
12407  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12408  127 /*untilYearTiny*/,
+
12409  1 /*untilMonth*/,
+
12410  1 /*untilDay*/,
+
12411  0 /*untilTimeCode*/,
+
12412  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12413  },
+
12414 
+
12415 };
+
12416 
+
12417 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "Etc/GMT+4";
+
12418 
+
12419 const extended::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
+
12420  kZoneNameEtc_GMT_PLUS_4 /*name*/,
+
12421  0x9d13da17 /*zoneId*/,
+
12422  &kZoneContext /*zoneContext*/,
+
12423  2 /*transitionBufSize*/,
+
12424  1 /*numEras*/,
+
12425  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
+
12426 };
+
12427 
+
12428 //---------------------------------------------------------------------------
+
12429 // Zone name: Etc/GMT+5
+
12430 // Zone Eras: 1
+
12431 // Strings (bytes): 14
+
12432 // Memory (8-bit): 37
+
12433 // Memory (32-bit): 50
+
12434 //---------------------------------------------------------------------------
+
12435 
+
12436 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
+
12437  // -5 - -05
+
12438  {
+
12439  nullptr /*zonePolicy*/,
+
12440  "-05" /*format*/,
+
12441  -20 /*offsetCode*/,
+
12442  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12443  127 /*untilYearTiny*/,
+
12444  1 /*untilMonth*/,
+
12445  1 /*untilDay*/,
+
12446  0 /*untilTimeCode*/,
+
12447  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12448  },
+
12449 
+
12450 };
+
12451 
+
12452 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "Etc/GMT+5";
+
12453 
+
12454 const extended::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
+
12455  kZoneNameEtc_GMT_PLUS_5 /*name*/,
+
12456  0x9d13da18 /*zoneId*/,
+
12457  &kZoneContext /*zoneContext*/,
+
12458  2 /*transitionBufSize*/,
+
12459  1 /*numEras*/,
+
12460  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
+
12461 };
+
12462 
+
12463 //---------------------------------------------------------------------------
+
12464 // Zone name: Etc/GMT+6
+
12465 // Zone Eras: 1
+
12466 // Strings (bytes): 14
+
12467 // Memory (8-bit): 37
+
12468 // Memory (32-bit): 50
+
12469 //---------------------------------------------------------------------------
+
12470 
+
12471 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
+
12472  // -6 - -06
+
12473  {
+
12474  nullptr /*zonePolicy*/,
+
12475  "-06" /*format*/,
+
12476  -24 /*offsetCode*/,
+
12477  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12478  127 /*untilYearTiny*/,
+
12479  1 /*untilMonth*/,
+
12480  1 /*untilDay*/,
+
12481  0 /*untilTimeCode*/,
+
12482  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12483  },
+
12484 
+
12485 };
+
12486 
+
12487 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "Etc/GMT+6";
+
12488 
+
12489 const extended::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
+
12490  kZoneNameEtc_GMT_PLUS_6 /*name*/,
+
12491  0x9d13da19 /*zoneId*/,
+
12492  &kZoneContext /*zoneContext*/,
+
12493  2 /*transitionBufSize*/,
+
12494  1 /*numEras*/,
+
12495  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
+
12496 };
+
12497 
+
12498 //---------------------------------------------------------------------------
+
12499 // Zone name: Etc/GMT+7
+
12500 // Zone Eras: 1
+
12501 // Strings (bytes): 14
+
12502 // Memory (8-bit): 37
+
12503 // Memory (32-bit): 50
+
12504 //---------------------------------------------------------------------------
+
12505 
+
12506 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
+
12507  // -7 - -07
+
12508  {
+
12509  nullptr /*zonePolicy*/,
+
12510  "-07" /*format*/,
+
12511  -28 /*offsetCode*/,
+
12512  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12513  127 /*untilYearTiny*/,
+
12514  1 /*untilMonth*/,
+
12515  1 /*untilDay*/,
+
12516  0 /*untilTimeCode*/,
+
12517  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12518  },
+
12519 
+
12520 };
+
12521 
+
12522 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "Etc/GMT+7";
+
12523 
+
12524 const extended::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
+
12525  kZoneNameEtc_GMT_PLUS_7 /*name*/,
+
12526  0x9d13da1a /*zoneId*/,
+
12527  &kZoneContext /*zoneContext*/,
+
12528  2 /*transitionBufSize*/,
+
12529  1 /*numEras*/,
+
12530  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
+
12531 };
+
12532 
+
12533 //---------------------------------------------------------------------------
+
12534 // Zone name: Etc/GMT+8
+
12535 // Zone Eras: 1
+
12536 // Strings (bytes): 14
+
12537 // Memory (8-bit): 37
+
12538 // Memory (32-bit): 50
+
12539 //---------------------------------------------------------------------------
+
12540 
+
12541 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
+
12542  // -8 - -08
+
12543  {
+
12544  nullptr /*zonePolicy*/,
+
12545  "-08" /*format*/,
+
12546  -32 /*offsetCode*/,
+
12547  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12548  127 /*untilYearTiny*/,
+
12549  1 /*untilMonth*/,
+
12550  1 /*untilDay*/,
+
12551  0 /*untilTimeCode*/,
+
12552  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12553  },
+
12554 
+
12555 };
+
12556 
+
12557 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "Etc/GMT+8";
+
12558 
+
12559 const extended::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
+
12560  kZoneNameEtc_GMT_PLUS_8 /*name*/,
+
12561  0x9d13da1b /*zoneId*/,
+
12562  &kZoneContext /*zoneContext*/,
+
12563  2 /*transitionBufSize*/,
+
12564  1 /*numEras*/,
+
12565  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
+
12566 };
+
12567 
+
12568 //---------------------------------------------------------------------------
+
12569 // Zone name: Etc/GMT+9
+
12570 // Zone Eras: 1
+
12571 // Strings (bytes): 14
+
12572 // Memory (8-bit): 37
+
12573 // Memory (32-bit): 50
+
12574 //---------------------------------------------------------------------------
+
12575 
+
12576 static const extended::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
+
12577  // -9 - -09
+
12578  {
+
12579  nullptr /*zonePolicy*/,
+
12580  "-09" /*format*/,
+
12581  -36 /*offsetCode*/,
+
12582  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12583  127 /*untilYearTiny*/,
+
12584  1 /*untilMonth*/,
+
12585  1 /*untilDay*/,
+
12586  0 /*untilTimeCode*/,
+
12587  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12588  },
+
12589 
+
12590 };
+
12591 
+
12592 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "Etc/GMT+9";
+
12593 
+
12594 const extended::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
+
12595  kZoneNameEtc_GMT_PLUS_9 /*name*/,
+
12596  0x9d13da1c /*zoneId*/,
+
12597  &kZoneContext /*zoneContext*/,
+
12598  2 /*transitionBufSize*/,
+
12599  1 /*numEras*/,
+
12600  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
+
12601 };
+
12602 
+
12603 //---------------------------------------------------------------------------
+
12604 // Zone name: Etc/GMT-1
+
12605 // Zone Eras: 1
+
12606 // Strings (bytes): 14
+
12607 // Memory (8-bit): 37
+
12608 // Memory (32-bit): 50
+
12609 //---------------------------------------------------------------------------
+
12610 
+
12611 static const extended::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
+
12612  // 1 - +01
+
12613  {
+
12614  nullptr /*zonePolicy*/,
+
12615  "+01" /*format*/,
+
12616  4 /*offsetCode*/,
+
12617  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12618  127 /*untilYearTiny*/,
+
12619  1 /*untilMonth*/,
+
12620  1 /*untilDay*/,
+
12621  0 /*untilTimeCode*/,
+
12622  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12623  },
+
12624 
+
12625 };
+
12626 
+
12627 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "Etc/GMT-1";
+
12628 
+
12629 const extended::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
+
12630  kZoneNameEtc_GMT_1 /*name*/,
+
12631  0x9d13da56 /*zoneId*/,
+
12632  &kZoneContext /*zoneContext*/,
+
12633  2 /*transitionBufSize*/,
+
12634  1 /*numEras*/,
+
12635  kZoneEraEtc_GMT_1 /*eras*/,
+
12636 };
+
12637 
+
12638 //---------------------------------------------------------------------------
+
12639 // Zone name: Etc/GMT-10
+
12640 // Zone Eras: 1
+
12641 // Strings (bytes): 15
+
12642 // Memory (8-bit): 38
+
12643 // Memory (32-bit): 51
+
12644 //---------------------------------------------------------------------------
+
12645 
+
12646 static const extended::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
+
12647  // 10 - +10
+
12648  {
+
12649  nullptr /*zonePolicy*/,
+
12650  "+10" /*format*/,
+
12651  40 /*offsetCode*/,
+
12652  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12653  127 /*untilYearTiny*/,
+
12654  1 /*untilMonth*/,
+
12655  1 /*untilDay*/,
+
12656  0 /*untilTimeCode*/,
+
12657  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12658  },
+
12659 
+
12660 };
+
12661 
+
12662 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "Etc/GMT-10";
+
12663 
+
12664 const extended::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
+
12665  kZoneNameEtc_GMT_10 /*name*/,
+
12666  0x3f8f2546 /*zoneId*/,
+
12667  &kZoneContext /*zoneContext*/,
+
12668  2 /*transitionBufSize*/,
+
12669  1 /*numEras*/,
+
12670  kZoneEraEtc_GMT_10 /*eras*/,
+
12671 };
+
12672 
+
12673 //---------------------------------------------------------------------------
+
12674 // Zone name: Etc/GMT-11
+
12675 // Zone Eras: 1
+
12676 // Strings (bytes): 15
+
12677 // Memory (8-bit): 38
+
12678 // Memory (32-bit): 51
+
12679 //---------------------------------------------------------------------------
+
12680 
+
12681 static const extended::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
+
12682  // 11 - +11
+
12683  {
+
12684  nullptr /*zonePolicy*/,
+
12685  "+11" /*format*/,
+
12686  44 /*offsetCode*/,
+
12687  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12688  127 /*untilYearTiny*/,
+
12689  1 /*untilMonth*/,
+
12690  1 /*untilDay*/,
+
12691  0 /*untilTimeCode*/,
+
12692  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12693  },
+
12694 
+
12695 };
+
12696 
+
12697 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "Etc/GMT-11";
+
12698 
+
12699 const extended::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
+
12700  kZoneNameEtc_GMT_11 /*name*/,
+
12701  0x3f8f2547 /*zoneId*/,
+
12702  &kZoneContext /*zoneContext*/,
+
12703  2 /*transitionBufSize*/,
+
12704  1 /*numEras*/,
+
12705  kZoneEraEtc_GMT_11 /*eras*/,
+
12706 };
+
12707 
+
12708 //---------------------------------------------------------------------------
+
12709 // Zone name: Etc/GMT-12
+
12710 // Zone Eras: 1
+
12711 // Strings (bytes): 15
+
12712 // Memory (8-bit): 38
+
12713 // Memory (32-bit): 51
+
12714 //---------------------------------------------------------------------------
+
12715 
+
12716 static const extended::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
+
12717  // 12 - +12
+
12718  {
+
12719  nullptr /*zonePolicy*/,
+
12720  "+12" /*format*/,
+
12721  48 /*offsetCode*/,
+
12722  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12723  127 /*untilYearTiny*/,
+
12724  1 /*untilMonth*/,
+
12725  1 /*untilDay*/,
+
12726  0 /*untilTimeCode*/,
+
12727  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12728  },
+
12729 
+
12730 };
+
12731 
+
12732 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "Etc/GMT-12";
+
12733 
+
12734 const extended::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
+
12735  kZoneNameEtc_GMT_12 /*name*/,
+
12736  0x3f8f2548 /*zoneId*/,
+
12737  &kZoneContext /*zoneContext*/,
+
12738  2 /*transitionBufSize*/,
+
12739  1 /*numEras*/,
+
12740  kZoneEraEtc_GMT_12 /*eras*/,
+
12741 };
+
12742 
+
12743 //---------------------------------------------------------------------------
+
12744 // Zone name: Etc/GMT-13
+
12745 // Zone Eras: 1
+
12746 // Strings (bytes): 15
+
12747 // Memory (8-bit): 38
+
12748 // Memory (32-bit): 51
+
12749 //---------------------------------------------------------------------------
+
12750 
+
12751 static const extended::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
+
12752  // 13 - +13
+
12753  {
+
12754  nullptr /*zonePolicy*/,
+
12755  "+13" /*format*/,
+
12756  52 /*offsetCode*/,
+
12757  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12758  127 /*untilYearTiny*/,
+
12759  1 /*untilMonth*/,
+
12760  1 /*untilDay*/,
+
12761  0 /*untilTimeCode*/,
+
12762  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12763  },
+
12764 
+
12765 };
+
12766 
+
12767 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "Etc/GMT-13";
+
12768 
+
12769 const extended::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
+
12770  kZoneNameEtc_GMT_13 /*name*/,
+
12771  0x3f8f2549 /*zoneId*/,
+
12772  &kZoneContext /*zoneContext*/,
+
12773  2 /*transitionBufSize*/,
+
12774  1 /*numEras*/,
+
12775  kZoneEraEtc_GMT_13 /*eras*/,
+
12776 };
+
12777 
+
12778 //---------------------------------------------------------------------------
+
12779 // Zone name: Etc/GMT-14
+
12780 // Zone Eras: 1
+
12781 // Strings (bytes): 15
+
12782 // Memory (8-bit): 38
+
12783 // Memory (32-bit): 51
+
12784 //---------------------------------------------------------------------------
+
12785 
+
12786 static const extended::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
+
12787  // 14 - +14
+
12788  {
+
12789  nullptr /*zonePolicy*/,
+
12790  "+14" /*format*/,
+
12791  56 /*offsetCode*/,
+
12792  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12793  127 /*untilYearTiny*/,
+
12794  1 /*untilMonth*/,
+
12795  1 /*untilDay*/,
+
12796  0 /*untilTimeCode*/,
+
12797  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12798  },
+
12799 
+
12800 };
+
12801 
+
12802 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "Etc/GMT-14";
+
12803 
+
12804 const extended::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
+
12805  kZoneNameEtc_GMT_14 /*name*/,
+
12806  0x3f8f254a /*zoneId*/,
+
12807  &kZoneContext /*zoneContext*/,
+
12808  2 /*transitionBufSize*/,
+
12809  1 /*numEras*/,
+
12810  kZoneEraEtc_GMT_14 /*eras*/,
+
12811 };
+
12812 
+
12813 //---------------------------------------------------------------------------
+
12814 // Zone name: Etc/GMT-2
+
12815 // Zone Eras: 1
+
12816 // Strings (bytes): 14
+
12817 // Memory (8-bit): 37
+
12818 // Memory (32-bit): 50
+
12819 //---------------------------------------------------------------------------
+
12820 
+
12821 static const extended::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
+
12822  // 2 - +02
+
12823  {
+
12824  nullptr /*zonePolicy*/,
+
12825  "+02" /*format*/,
+
12826  8 /*offsetCode*/,
+
12827  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12828  127 /*untilYearTiny*/,
+
12829  1 /*untilMonth*/,
+
12830  1 /*untilDay*/,
+
12831  0 /*untilTimeCode*/,
+
12832  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12833  },
+
12834 
+
12835 };
+
12836 
+
12837 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "Etc/GMT-2";
+
12838 
+
12839 const extended::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
+
12840  kZoneNameEtc_GMT_2 /*name*/,
+
12841  0x9d13da57 /*zoneId*/,
+
12842  &kZoneContext /*zoneContext*/,
+
12843  2 /*transitionBufSize*/,
+
12844  1 /*numEras*/,
+
12845  kZoneEraEtc_GMT_2 /*eras*/,
+
12846 };
+
12847 
+
12848 //---------------------------------------------------------------------------
+
12849 // Zone name: Etc/GMT-3
+
12850 // Zone Eras: 1
+
12851 // Strings (bytes): 14
+
12852 // Memory (8-bit): 37
+
12853 // Memory (32-bit): 50
+
12854 //---------------------------------------------------------------------------
+
12855 
+
12856 static const extended::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
+
12857  // 3 - +03
+
12858  {
+
12859  nullptr /*zonePolicy*/,
+
12860  "+03" /*format*/,
+
12861  12 /*offsetCode*/,
+
12862  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12863  127 /*untilYearTiny*/,
+
12864  1 /*untilMonth*/,
+
12865  1 /*untilDay*/,
+
12866  0 /*untilTimeCode*/,
+
12867  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12868  },
+
12869 
+
12870 };
+
12871 
+
12872 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "Etc/GMT-3";
+
12873 
+
12874 const extended::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
+
12875  kZoneNameEtc_GMT_3 /*name*/,
+
12876  0x9d13da58 /*zoneId*/,
+
12877  &kZoneContext /*zoneContext*/,
+
12878  2 /*transitionBufSize*/,
+
12879  1 /*numEras*/,
+
12880  kZoneEraEtc_GMT_3 /*eras*/,
+
12881 };
+
12882 
+
12883 //---------------------------------------------------------------------------
+
12884 // Zone name: Etc/GMT-4
+
12885 // Zone Eras: 1
+
12886 // Strings (bytes): 14
+
12887 // Memory (8-bit): 37
+
12888 // Memory (32-bit): 50
+
12889 //---------------------------------------------------------------------------
+
12890 
+
12891 static const extended::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
+
12892  // 4 - +04
+
12893  {
+
12894  nullptr /*zonePolicy*/,
+
12895  "+04" /*format*/,
+
12896  16 /*offsetCode*/,
+
12897  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12898  127 /*untilYearTiny*/,
+
12899  1 /*untilMonth*/,
+
12900  1 /*untilDay*/,
+
12901  0 /*untilTimeCode*/,
+
12902  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12903  },
+
12904 
+
12905 };
+
12906 
+
12907 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "Etc/GMT-4";
+
12908 
+
12909 const extended::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
+
12910  kZoneNameEtc_GMT_4 /*name*/,
+
12911  0x9d13da59 /*zoneId*/,
+
12912  &kZoneContext /*zoneContext*/,
+
12913  2 /*transitionBufSize*/,
+
12914  1 /*numEras*/,
+
12915  kZoneEraEtc_GMT_4 /*eras*/,
+
12916 };
+
12917 
+
12918 //---------------------------------------------------------------------------
+
12919 // Zone name: Etc/GMT-5
+
12920 // Zone Eras: 1
+
12921 // Strings (bytes): 14
+
12922 // Memory (8-bit): 37
+
12923 // Memory (32-bit): 50
+
12924 //---------------------------------------------------------------------------
+
12925 
+
12926 static const extended::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
+
12927  // 5 - +05
+
12928  {
+
12929  nullptr /*zonePolicy*/,
+
12930  "+05" /*format*/,
+
12931  20 /*offsetCode*/,
+
12932  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12933  127 /*untilYearTiny*/,
+
12934  1 /*untilMonth*/,
+
12935  1 /*untilDay*/,
+
12936  0 /*untilTimeCode*/,
+
12937  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12938  },
+
12939 
+
12940 };
+
12941 
+
12942 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "Etc/GMT-5";
+
12943 
+
12944 const extended::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
+
12945  kZoneNameEtc_GMT_5 /*name*/,
+
12946  0x9d13da5a /*zoneId*/,
+
12947  &kZoneContext /*zoneContext*/,
+
12948  2 /*transitionBufSize*/,
+
12949  1 /*numEras*/,
+
12950  kZoneEraEtc_GMT_5 /*eras*/,
+
12951 };
+
12952 
+
12953 //---------------------------------------------------------------------------
+
12954 // Zone name: Etc/GMT-6
+
12955 // Zone Eras: 1
+
12956 // Strings (bytes): 14
+
12957 // Memory (8-bit): 37
+
12958 // Memory (32-bit): 50
+
12959 //---------------------------------------------------------------------------
+
12960 
+
12961 static const extended::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
+
12962  // 6 - +06
+
12963  {
+
12964  nullptr /*zonePolicy*/,
+
12965  "+06" /*format*/,
+
12966  24 /*offsetCode*/,
+
12967  (0 << 4) + (0 + 4) /*deltaCode*/,
+
12968  127 /*untilYearTiny*/,
+
12969  1 /*untilMonth*/,
+
12970  1 /*untilDay*/,
+
12971  0 /*untilTimeCode*/,
+
12972  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
12973  },
+
12974 
+
12975 };
+
12976 
+
12977 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "Etc/GMT-6";
+
12978 
+
12979 const extended::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
+
12980  kZoneNameEtc_GMT_6 /*name*/,
+
12981  0x9d13da5b /*zoneId*/,
+
12982  &kZoneContext /*zoneContext*/,
+
12983  2 /*transitionBufSize*/,
+
12984  1 /*numEras*/,
+
12985  kZoneEraEtc_GMT_6 /*eras*/,
+
12986 };
+
12987 
+
12988 //---------------------------------------------------------------------------
+
12989 // Zone name: Etc/GMT-7
+
12990 // Zone Eras: 1
+
12991 // Strings (bytes): 14
+
12992 // Memory (8-bit): 37
+
12993 // Memory (32-bit): 50
+
12994 //---------------------------------------------------------------------------
+
12995 
+
12996 static const extended::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
+
12997  // 7 - +07
+
12998  {
+
12999  nullptr /*zonePolicy*/,
+
13000  "+07" /*format*/,
+
13001  28 /*offsetCode*/,
+
13002  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13003  127 /*untilYearTiny*/,
+
13004  1 /*untilMonth*/,
+
13005  1 /*untilDay*/,
+
13006  0 /*untilTimeCode*/,
+
13007  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13008  },
+
13009 
+
13010 };
+
13011 
+
13012 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "Etc/GMT-7";
+
13013 
+
13014 const extended::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
+
13015  kZoneNameEtc_GMT_7 /*name*/,
+
13016  0x9d13da5c /*zoneId*/,
+
13017  &kZoneContext /*zoneContext*/,
+
13018  2 /*transitionBufSize*/,
+
13019  1 /*numEras*/,
+
13020  kZoneEraEtc_GMT_7 /*eras*/,
+
13021 };
+
13022 
+
13023 //---------------------------------------------------------------------------
+
13024 // Zone name: Etc/GMT-8
+
13025 // Zone Eras: 1
+
13026 // Strings (bytes): 14
+
13027 // Memory (8-bit): 37
+
13028 // Memory (32-bit): 50
+
13029 //---------------------------------------------------------------------------
+
13030 
+
13031 static const extended::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
+
13032  // 8 - +08
+
13033  {
+
13034  nullptr /*zonePolicy*/,
+
13035  "+08" /*format*/,
+
13036  32 /*offsetCode*/,
+
13037  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13038  127 /*untilYearTiny*/,
+
13039  1 /*untilMonth*/,
+
13040  1 /*untilDay*/,
+
13041  0 /*untilTimeCode*/,
+
13042  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13043  },
+
13044 
+
13045 };
+
13046 
+
13047 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "Etc/GMT-8";
+
13048 
+
13049 const extended::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
+
13050  kZoneNameEtc_GMT_8 /*name*/,
+
13051  0x9d13da5d /*zoneId*/,
+
13052  &kZoneContext /*zoneContext*/,
+
13053  2 /*transitionBufSize*/,
+
13054  1 /*numEras*/,
+
13055  kZoneEraEtc_GMT_8 /*eras*/,
+
13056 };
+
13057 
+
13058 //---------------------------------------------------------------------------
+
13059 // Zone name: Etc/GMT-9
+
13060 // Zone Eras: 1
+
13061 // Strings (bytes): 14
+
13062 // Memory (8-bit): 37
+
13063 // Memory (32-bit): 50
+
13064 //---------------------------------------------------------------------------
+
13065 
+
13066 static const extended::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
+
13067  // 9 - +09
+
13068  {
+
13069  nullptr /*zonePolicy*/,
+
13070  "+09" /*format*/,
+
13071  36 /*offsetCode*/,
+
13072  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13073  127 /*untilYearTiny*/,
+
13074  1 /*untilMonth*/,
+
13075  1 /*untilDay*/,
+
13076  0 /*untilTimeCode*/,
+
13077  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13078  },
+
13079 
+
13080 };
+
13081 
+
13082 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "Etc/GMT-9";
+
13083 
+
13084 const extended::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
+
13085  kZoneNameEtc_GMT_9 /*name*/,
+
13086  0x9d13da5e /*zoneId*/,
+
13087  &kZoneContext /*zoneContext*/,
+
13088  2 /*transitionBufSize*/,
+
13089  1 /*numEras*/,
+
13090  kZoneEraEtc_GMT_9 /*eras*/,
+
13091 };
+
13092 
+
13093 //---------------------------------------------------------------------------
+
13094 // Zone name: Etc/UTC
+
13095 // Zone Eras: 1
+
13096 // Strings (bytes): 12
+
13097 // Memory (8-bit): 35
+
13098 // Memory (32-bit): 48
+
13099 //---------------------------------------------------------------------------
+
13100 
+
13101 static const extended::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
+
13102  // 0 - UTC
+
13103  {
+
13104  nullptr /*zonePolicy*/,
+
13105  "UTC" /*format*/,
+
13106  0 /*offsetCode*/,
+
13107  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13108  127 /*untilYearTiny*/,
+
13109  1 /*untilMonth*/,
+
13110  1 /*untilDay*/,
+
13111  0 /*untilTimeCode*/,
+
13112  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13113  },
+
13114 
+
13115 };
+
13116 
+
13117 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "Etc/UTC";
+
13118 
+
13119 const extended::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
+
13120  kZoneNameEtc_UTC /*name*/,
+
13121  0xd8e31abc /*zoneId*/,
+
13122  &kZoneContext /*zoneContext*/,
+
13123  2 /*transitionBufSize*/,
+
13124  1 /*numEras*/,
+
13125  kZoneEraEtc_UTC /*eras*/,
+
13126 };
+
13127 
+
13128 //---------------------------------------------------------------------------
+
13129 // Zone name: Europe/Amsterdam
+
13130 // Zone Eras: 1
+
13131 // Strings (bytes): 22
+
13132 // Memory (8-bit): 45
+
13133 // Memory (32-bit): 58
+
13134 //---------------------------------------------------------------------------
+
13135 
+
13136 static const extended::ZoneEra kZoneEraEurope_Amsterdam[] ACE_TIME_PROGMEM = {
+
13137  // 1:00 EU CE%sT
+
13138  {
+
13139  &kPolicyEU /*zonePolicy*/,
+
13140  "CE%T" /*format*/,
+
13141  4 /*offsetCode*/,
+
13142  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13143  127 /*untilYearTiny*/,
+
13144  1 /*untilMonth*/,
+
13145  1 /*untilDay*/,
+
13146  0 /*untilTimeCode*/,
+
13147  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13148  },
+
13149 
+
13150 };
+
13151 
+
13152 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "Europe/Amsterdam";
+
13153 
+
13154 const extended::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
+
13155  kZoneNameEurope_Amsterdam /*name*/,
+
13156  0x109395c2 /*zoneId*/,
+
13157  &kZoneContext /*zoneContext*/,
+
13158  5 /*transitionBufSize*/,
+
13159  1 /*numEras*/,
+
13160  kZoneEraEurope_Amsterdam /*eras*/,
+
13161 };
+
13162 
+
13163 //---------------------------------------------------------------------------
+
13164 // Zone name: Europe/Andorra
+
13165 // Zone Eras: 1
+
13166 // Strings (bytes): 20
+
13167 // Memory (8-bit): 43
+
13168 // Memory (32-bit): 56
+
13169 //---------------------------------------------------------------------------
+
13170 
+
13171 static const extended::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
+
13172  // 1:00 EU CE%sT
+
13173  {
+
13174  &kPolicyEU /*zonePolicy*/,
+
13175  "CE%T" /*format*/,
+
13176  4 /*offsetCode*/,
+
13177  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13178  127 /*untilYearTiny*/,
+
13179  1 /*untilMonth*/,
+
13180  1 /*untilDay*/,
+
13181  0 /*untilTimeCode*/,
+
13182  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13183  },
+
13184 
+
13185 };
+
13186 
+
13187 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "Europe/Andorra";
+
13188 
+
13189 const extended::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
+
13190  kZoneNameEurope_Andorra /*name*/,
+
13191  0x97f6764b /*zoneId*/,
+
13192  &kZoneContext /*zoneContext*/,
+
13193  5 /*transitionBufSize*/,
+
13194  1 /*numEras*/,
+
13195  kZoneEraEurope_Andorra /*eras*/,
+
13196 };
+
13197 
+
13198 //---------------------------------------------------------------------------
+
13199 // Zone name: Europe/Astrakhan
+
13200 // Zone Eras: 4
+
13201 // Strings (bytes): 37
+
13202 // Memory (8-bit): 93
+
13203 // Memory (32-bit): 121
+
13204 //---------------------------------------------------------------------------
+
13205 
+
13206 static const extended::ZoneEra kZoneEraEurope_Astrakhan[] ACE_TIME_PROGMEM = {
+
13207  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
+
13208  {
+
13209  &kPolicyRussia /*zonePolicy*/,
+
13210  "+03/+04" /*format*/,
+
13211  12 /*offsetCode*/,
+
13212  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13213  11 /*untilYearTiny*/,
+
13214  3 /*untilMonth*/,
+
13215  27 /*untilDay*/,
+
13216  8 /*untilTimeCode*/,
+
13217  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13218  },
+
13219  // 4:00 - +04 2014 Oct 26 2:00s
+
13220  {
+
13221  nullptr /*zonePolicy*/,
+
13222  "+04" /*format*/,
+
13223  16 /*offsetCode*/,
+
13224  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13225  14 /*untilYearTiny*/,
+
13226  10 /*untilMonth*/,
+
13227  26 /*untilDay*/,
+
13228  8 /*untilTimeCode*/,
+
13229  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13230  },
+
13231  // 3:00 - +03 2016 Mar 27 2:00s
+
13232  {
+
13233  nullptr /*zonePolicy*/,
+
13234  "+03" /*format*/,
+
13235  12 /*offsetCode*/,
+
13236  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13237  16 /*untilYearTiny*/,
+
13238  3 /*untilMonth*/,
+
13239  27 /*untilDay*/,
+
13240  8 /*untilTimeCode*/,
+
13241  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13242  },
+
13243  // 4:00 - +04
+
13244  {
+
13245  nullptr /*zonePolicy*/,
+
13246  "+04" /*format*/,
+
13247  16 /*offsetCode*/,
+
13248  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13249  127 /*untilYearTiny*/,
+
13250  1 /*untilMonth*/,
+
13251  1 /*untilDay*/,
+
13252  0 /*untilTimeCode*/,
+
13253  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13254  },
+
13255 
+
13256 };
+
13257 
+
13258 static const char kZoneNameEurope_Astrakhan[] ACE_TIME_PROGMEM = "Europe/Astrakhan";
+
13259 
+
13260 const extended::ZoneInfo kZoneEurope_Astrakhan ACE_TIME_PROGMEM = {
+
13261  kZoneNameEurope_Astrakhan /*name*/,
+
13262  0xe22256e1 /*zoneId*/,
+
13263  &kZoneContext /*zoneContext*/,
+
13264  5 /*transitionBufSize*/,
+
13265  4 /*numEras*/,
+
13266  kZoneEraEurope_Astrakhan /*eras*/,
+
13267 };
+
13268 
+
13269 //---------------------------------------------------------------------------
+
13270 // Zone name: Europe/Athens
+
13271 // Zone Eras: 1
+
13272 // Strings (bytes): 19
+
13273 // Memory (8-bit): 42
+
13274 // Memory (32-bit): 55
+
13275 //---------------------------------------------------------------------------
+
13276 
+
13277 static const extended::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
+
13278  // 2:00 EU EE%sT
+
13279  {
+
13280  &kPolicyEU /*zonePolicy*/,
+
13281  "EE%T" /*format*/,
+
13282  8 /*offsetCode*/,
+
13283  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13284  127 /*untilYearTiny*/,
+
13285  1 /*untilMonth*/,
+
13286  1 /*untilDay*/,
+
13287  0 /*untilTimeCode*/,
+
13288  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13289  },
+
13290 
+
13291 };
+
13292 
+
13293 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "Europe/Athens";
+
13294 
+
13295 const extended::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
+
13296  kZoneNameEurope_Athens /*name*/,
+
13297  0x4318fa27 /*zoneId*/,
+
13298  &kZoneContext /*zoneContext*/,
+
13299  5 /*transitionBufSize*/,
+
13300  1 /*numEras*/,
+
13301  kZoneEraEurope_Athens /*eras*/,
+
13302 };
+
13303 
+
13304 //---------------------------------------------------------------------------
+
13305 // Zone name: Europe/Belgrade
+
13306 // Zone Eras: 1
+
13307 // Strings (bytes): 21
+
13308 // Memory (8-bit): 44
+
13309 // Memory (32-bit): 57
+
13310 //---------------------------------------------------------------------------
+
13311 
+
13312 static const extended::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
+
13313  // 1:00 EU CE%sT
+
13314  {
+
13315  &kPolicyEU /*zonePolicy*/,
+
13316  "CE%T" /*format*/,
+
13317  4 /*offsetCode*/,
+
13318  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13319  127 /*untilYearTiny*/,
+
13320  1 /*untilMonth*/,
+
13321  1 /*untilDay*/,
+
13322  0 /*untilTimeCode*/,
+
13323  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13324  },
+
13325 
+
13326 };
+
13327 
+
13328 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "Europe/Belgrade";
+
13329 
+
13330 const extended::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
+
13331  kZoneNameEurope_Belgrade /*name*/,
+
13332  0xe0532b3a /*zoneId*/,
+
13333  &kZoneContext /*zoneContext*/,
+
13334  5 /*transitionBufSize*/,
+
13335  1 /*numEras*/,
+
13336  kZoneEraEurope_Belgrade /*eras*/,
+
13337 };
+
13338 
+
13339 //---------------------------------------------------------------------------
+
13340 // Zone name: Europe/Berlin
+
13341 // Zone Eras: 1
+
13342 // Strings (bytes): 19
+
13343 // Memory (8-bit): 42
+
13344 // Memory (32-bit): 55
+
13345 //---------------------------------------------------------------------------
+
13346 
+
13347 static const extended::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
+
13348  // 1:00 EU CE%sT
+
13349  {
+
13350  &kPolicyEU /*zonePolicy*/,
+
13351  "CE%T" /*format*/,
+
13352  4 /*offsetCode*/,
+
13353  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13354  127 /*untilYearTiny*/,
+
13355  1 /*untilMonth*/,
+
13356  1 /*untilDay*/,
+
13357  0 /*untilTimeCode*/,
+
13358  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13359  },
+
13360 
+
13361 };
+
13362 
+
13363 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "Europe/Berlin";
+
13364 
+
13365 const extended::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
+
13366  kZoneNameEurope_Berlin /*name*/,
+
13367  0x44644c20 /*zoneId*/,
+
13368  &kZoneContext /*zoneContext*/,
+
13369  5 /*transitionBufSize*/,
+
13370  1 /*numEras*/,
+
13371  kZoneEraEurope_Berlin /*eras*/,
+
13372 };
+
13373 
+
13374 //---------------------------------------------------------------------------
+
13375 // Zone name: Europe/Brussels
+
13376 // Zone Eras: 1
+
13377 // Strings (bytes): 21
+
13378 // Memory (8-bit): 44
+
13379 // Memory (32-bit): 57
+
13380 //---------------------------------------------------------------------------
+
13381 
+
13382 static const extended::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
+
13383  // 1:00 EU CE%sT
+
13384  {
+
13385  &kPolicyEU /*zonePolicy*/,
+
13386  "CE%T" /*format*/,
+
13387  4 /*offsetCode*/,
+
13388  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13389  127 /*untilYearTiny*/,
+
13390  1 /*untilMonth*/,
+
13391  1 /*untilDay*/,
+
13392  0 /*untilTimeCode*/,
+
13393  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13394  },
+
13395 
+
13396 };
+
13397 
+
13398 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "Europe/Brussels";
+
13399 
+
13400 const extended::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
+
13401  kZoneNameEurope_Brussels /*name*/,
+
13402  0xdee07337 /*zoneId*/,
+
13403  &kZoneContext /*zoneContext*/,
+
13404  5 /*transitionBufSize*/,
+
13405  1 /*numEras*/,
+
13406  kZoneEraEurope_Brussels /*eras*/,
+
13407 };
+
13408 
+
13409 //---------------------------------------------------------------------------
+
13410 // Zone name: Europe/Bucharest
+
13411 // Zone Eras: 1
+
13412 // Strings (bytes): 22
+
13413 // Memory (8-bit): 45
+
13414 // Memory (32-bit): 58
+
13415 //---------------------------------------------------------------------------
+
13416 
+
13417 static const extended::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
+
13418  // 2:00 EU EE%sT
+
13419  {
+
13420  &kPolicyEU /*zonePolicy*/,
+
13421  "EE%T" /*format*/,
+
13422  8 /*offsetCode*/,
+
13423  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13424  127 /*untilYearTiny*/,
+
13425  1 /*untilMonth*/,
+
13426  1 /*untilDay*/,
+
13427  0 /*untilTimeCode*/,
+
13428  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13429  },
+
13430 
+
13431 };
+
13432 
+
13433 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "Europe/Bucharest";
+
13434 
+
13435 const extended::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
+
13436  kZoneNameEurope_Bucharest /*name*/,
+
13437  0xfb349ec5 /*zoneId*/,
+
13438  &kZoneContext /*zoneContext*/,
+
13439  5 /*transitionBufSize*/,
+
13440  1 /*numEras*/,
+
13441  kZoneEraEurope_Bucharest /*eras*/,
+
13442 };
+
13443 
+
13444 //---------------------------------------------------------------------------
+
13445 // Zone name: Europe/Budapest
+
13446 // Zone Eras: 1
+
13447 // Strings (bytes): 21
+
13448 // Memory (8-bit): 44
+
13449 // Memory (32-bit): 57
+
13450 //---------------------------------------------------------------------------
+
13451 
+
13452 static const extended::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
+
13453  // 1:00 EU CE%sT
+
13454  {
+
13455  &kPolicyEU /*zonePolicy*/,
+
13456  "CE%T" /*format*/,
+
13457  4 /*offsetCode*/,
+
13458  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13459  127 /*untilYearTiny*/,
+
13460  1 /*untilMonth*/,
+
13461  1 /*untilDay*/,
+
13462  0 /*untilTimeCode*/,
+
13463  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13464  },
+
13465 
+
13466 };
+
13467 
+
13468 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "Europe/Budapest";
+
13469 
+
13470 const extended::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
+
13471  kZoneNameEurope_Budapest /*name*/,
+
13472  0x9ce0197c /*zoneId*/,
+
13473  &kZoneContext /*zoneContext*/,
+
13474  5 /*transitionBufSize*/,
+
13475  1 /*numEras*/,
+
13476  kZoneEraEurope_Budapest /*eras*/,
+
13477 };
+
13478 
+
13479 //---------------------------------------------------------------------------
+
13480 // Zone name: Europe/Chisinau
+
13481 // Zone Eras: 1
+
13482 // Strings (bytes): 21
+
13483 // Memory (8-bit): 44
+
13484 // Memory (32-bit): 57
+
13485 //---------------------------------------------------------------------------
+
13486 
+
13487 static const extended::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
+
13488  // 2:00 Moldova EE%sT
+
13489  {
+
13490  &kPolicyMoldova /*zonePolicy*/,
+
13491  "EE%T" /*format*/,
+
13492  8 /*offsetCode*/,
+
13493  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13494  127 /*untilYearTiny*/,
+
13495  1 /*untilMonth*/,
+
13496  1 /*untilDay*/,
+
13497  0 /*untilTimeCode*/,
+
13498  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13499  },
+
13500 
+
13501 };
+
13502 
+
13503 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "Europe/Chisinau";
+
13504 
+
13505 const extended::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
+
13506  kZoneNameEurope_Chisinau /*name*/,
+
13507  0xad58aa18 /*zoneId*/,
+
13508  &kZoneContext /*zoneContext*/,
+
13509  5 /*transitionBufSize*/,
+
13510  1 /*numEras*/,
+
13511  kZoneEraEurope_Chisinau /*eras*/,
+
13512 };
+
13513 
+
13514 //---------------------------------------------------------------------------
+
13515 // Zone name: Europe/Copenhagen
+
13516 // Zone Eras: 1
+
13517 // Strings (bytes): 23
+
13518 // Memory (8-bit): 46
+
13519 // Memory (32-bit): 59
+
13520 //---------------------------------------------------------------------------
+
13521 
+
13522 static const extended::ZoneEra kZoneEraEurope_Copenhagen[] ACE_TIME_PROGMEM = {
+
13523  // 1:00 EU CE%sT
+
13524  {
+
13525  &kPolicyEU /*zonePolicy*/,
+
13526  "CE%T" /*format*/,
+
13527  4 /*offsetCode*/,
+
13528  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13529  127 /*untilYearTiny*/,
+
13530  1 /*untilMonth*/,
+
13531  1 /*untilDay*/,
+
13532  0 /*untilTimeCode*/,
+
13533  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13534  },
+
13535 
+
13536 };
+
13537 
+
13538 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "Europe/Copenhagen";
+
13539 
+
13540 const extended::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
+
13541  kZoneNameEurope_Copenhagen /*name*/,
+
13542  0xe0ed30bc /*zoneId*/,
+
13543  &kZoneContext /*zoneContext*/,
+
13544  5 /*transitionBufSize*/,
+
13545  1 /*numEras*/,
+
13546  kZoneEraEurope_Copenhagen /*eras*/,
+
13547 };
+
13548 
+
13549 //---------------------------------------------------------------------------
+
13550 // Zone name: Europe/Dublin
+
13551 // Zone Eras: 1
+
13552 // Strings (bytes): 22
+
13553 // Memory (8-bit): 45
+
13554 // Memory (32-bit): 58
+
13555 //---------------------------------------------------------------------------
+
13556 
+
13557 static const extended::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
+
13558  // 1:00 Eire IST/GMT
+
13559  {
+
13560  &kPolicyEire /*zonePolicy*/,
+
13561  "IST/GMT" /*format*/,
+
13562  4 /*offsetCode*/,
+
13563  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13564  127 /*untilYearTiny*/,
+
13565  1 /*untilMonth*/,
+
13566  1 /*untilDay*/,
+
13567  0 /*untilTimeCode*/,
+
13568  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13569  },
+
13570 
+
13571 };
+
13572 
+
13573 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "Europe/Dublin";
+
13574 
+
13575 const extended::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
+
13576  kZoneNameEurope_Dublin /*name*/,
+
13577  0x4a275f62 /*zoneId*/,
+
13578  &kZoneContext /*zoneContext*/,
+
13579  5 /*transitionBufSize*/,
+
13580  1 /*numEras*/,
+
13581  kZoneEraEurope_Dublin /*eras*/,
+
13582 };
+
13583 
+
13584 //---------------------------------------------------------------------------
+
13585 // Zone name: Europe/Gibraltar
+
13586 // Zone Eras: 1
+
13587 // Strings (bytes): 22
+
13588 // Memory (8-bit): 45
+
13589 // Memory (32-bit): 58
+
13590 //---------------------------------------------------------------------------
+
13591 
+
13592 static const extended::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
+
13593  // 1:00 EU CE%sT
+
13594  {
+
13595  &kPolicyEU /*zonePolicy*/,
+
13596  "CE%T" /*format*/,
+
13597  4 /*offsetCode*/,
+
13598  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13599  127 /*untilYearTiny*/,
+
13600  1 /*untilMonth*/,
+
13601  1 /*untilDay*/,
+
13602  0 /*untilTimeCode*/,
+
13603  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13604  },
+
13605 
+
13606 };
+
13607 
+
13608 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "Europe/Gibraltar";
+
13609 
+
13610 const extended::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
+
13611  kZoneNameEurope_Gibraltar /*name*/,
+
13612  0xf8e325fc /*zoneId*/,
+
13613  &kZoneContext /*zoneContext*/,
+
13614  5 /*transitionBufSize*/,
+
13615  1 /*numEras*/,
+
13616  kZoneEraEurope_Gibraltar /*eras*/,
+
13617 };
+
13618 
+
13619 //---------------------------------------------------------------------------
+
13620 // Zone name: Europe/Helsinki
+
13621 // Zone Eras: 1
+
13622 // Strings (bytes): 21
+
13623 // Memory (8-bit): 44
+
13624 // Memory (32-bit): 57
+
13625 //---------------------------------------------------------------------------
+
13626 
+
13627 static const extended::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
+
13628  // 2:00 EU EE%sT
+
13629  {
+
13630  &kPolicyEU /*zonePolicy*/,
+
13631  "EE%T" /*format*/,
+
13632  8 /*offsetCode*/,
+
13633  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13634  127 /*untilYearTiny*/,
+
13635  1 /*untilMonth*/,
+
13636  1 /*untilDay*/,
+
13637  0 /*untilTimeCode*/,
+
13638  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13639  },
+
13640 
+
13641 };
+
13642 
+
13643 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "Europe/Helsinki";
+
13644 
+
13645 const extended::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
+
13646  kZoneNameEurope_Helsinki /*name*/,
+
13647  0x6ab2975b /*zoneId*/,
+
13648  &kZoneContext /*zoneContext*/,
+
13649  5 /*transitionBufSize*/,
+
13650  1 /*numEras*/,
+
13651  kZoneEraEurope_Helsinki /*eras*/,
+
13652 };
+
13653 
+
13654 //---------------------------------------------------------------------------
+
13655 // Zone name: Europe/Istanbul
+
13656 // Zone Eras: 9
+
13657 // Strings (bytes): 58
+
13658 // Memory (8-bit): 169
+
13659 // Memory (32-bit): 222
+
13660 //---------------------------------------------------------------------------
+
13661 
+
13662 static const extended::ZoneEra kZoneEraEurope_Istanbul[] ACE_TIME_PROGMEM = {
+
13663  // 2:00 Turkey EE%sT 2007
+
13664  {
+
13665  &kPolicyTurkey /*zonePolicy*/,
+
13666  "EE%T" /*format*/,
+
13667  8 /*offsetCode*/,
+
13668  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13669  7 /*untilYearTiny*/,
+
13670  1 /*untilMonth*/,
+
13671  1 /*untilDay*/,
+
13672  0 /*untilTimeCode*/,
+
13673  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13674  },
+
13675  // 2:00 EU EE%sT 2011 Mar 27 1:00u
+
13676  {
+
13677  &kPolicyEU /*zonePolicy*/,
+
13678  "EE%T" /*format*/,
+
13679  8 /*offsetCode*/,
+
13680  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13681  11 /*untilYearTiny*/,
+
13682  3 /*untilMonth*/,
+
13683  27 /*untilDay*/,
+
13684  4 /*untilTimeCode*/,
+
13685  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
13686  },
+
13687  // 2:00 - EET 2011 Mar 28 1:00u
+
13688  {
+
13689  nullptr /*zonePolicy*/,
+
13690  "EET" /*format*/,
+
13691  8 /*offsetCode*/,
+
13692  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13693  11 /*untilYearTiny*/,
+
13694  3 /*untilMonth*/,
+
13695  28 /*untilDay*/,
+
13696  4 /*untilTimeCode*/,
+
13697  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
13698  },
+
13699  // 2:00 EU EE%sT 2014 Mar 30 1:00u
+
13700  {
+
13701  &kPolicyEU /*zonePolicy*/,
+
13702  "EE%T" /*format*/,
+
13703  8 /*offsetCode*/,
+
13704  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13705  14 /*untilYearTiny*/,
+
13706  3 /*untilMonth*/,
+
13707  30 /*untilDay*/,
+
13708  4 /*untilTimeCode*/,
+
13709  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
13710  },
+
13711  // 2:00 - EET 2014 Mar 31 1:00u
+
13712  {
+
13713  nullptr /*zonePolicy*/,
+
13714  "EET" /*format*/,
+
13715  8 /*offsetCode*/,
+
13716  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13717  14 /*untilYearTiny*/,
+
13718  3 /*untilMonth*/,
+
13719  31 /*untilDay*/,
+
13720  4 /*untilTimeCode*/,
+
13721  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
13722  },
+
13723  // 2:00 EU EE%sT 2015 Oct 25 1:00u
+
13724  {
+
13725  &kPolicyEU /*zonePolicy*/,
+
13726  "EE%T" /*format*/,
+
13727  8 /*offsetCode*/,
+
13728  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13729  15 /*untilYearTiny*/,
+
13730  10 /*untilMonth*/,
+
13731  25 /*untilDay*/,
+
13732  4 /*untilTimeCode*/,
+
13733  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
13734  },
+
13735  // 2:00 1:00 EEST 2015 Nov 8 1:00u
+
13736  {
+
13737  nullptr /*zonePolicy*/,
+
13738  "EEST" /*format*/,
+
13739  8 /*offsetCode*/,
+
13740  (0 << 4) + (4 + 4) /*deltaCode*/,
+
13741  15 /*untilYearTiny*/,
+
13742  11 /*untilMonth*/,
+
13743  8 /*untilDay*/,
+
13744  4 /*untilTimeCode*/,
+
13745  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
13746  },
+
13747  // 2:00 EU EE%sT 2016 Sep 7
+
13748  {
+
13749  &kPolicyEU /*zonePolicy*/,
+
13750  "EE%T" /*format*/,
+
13751  8 /*offsetCode*/,
+
13752  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13753  16 /*untilYearTiny*/,
+
13754  9 /*untilMonth*/,
+
13755  7 /*untilDay*/,
+
13756  0 /*untilTimeCode*/,
+
13757  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13758  },
+
13759  // 3:00 - +03
+
13760  {
+
13761  nullptr /*zonePolicy*/,
+
13762  "+03" /*format*/,
+
13763  12 /*offsetCode*/,
+
13764  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13765  127 /*untilYearTiny*/,
+
13766  1 /*untilMonth*/,
+
13767  1 /*untilDay*/,
+
13768  0 /*untilTimeCode*/,
+
13769  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13770  },
+
13771 
+
13772 };
+
13773 
+
13774 static const char kZoneNameEurope_Istanbul[] ACE_TIME_PROGMEM = "Europe/Istanbul";
+
13775 
+
13776 const extended::ZoneInfo kZoneEurope_Istanbul ACE_TIME_PROGMEM = {
+
13777  kZoneNameEurope_Istanbul /*name*/,
+
13778  0x9e09d6e6 /*zoneId*/,
+
13779  &kZoneContext /*zoneContext*/,
+
13780  7 /*transitionBufSize*/,
+
13781  9 /*numEras*/,
+
13782  kZoneEraEurope_Istanbul /*eras*/,
+
13783 };
+
13784 
+
13785 //---------------------------------------------------------------------------
+
13786 // Zone name: Europe/Kaliningrad
+
13787 // Zone Eras: 3
+
13788 // Strings (bytes): 32
+
13789 // Memory (8-bit): 77
+
13790 // Memory (32-bit): 100
+
13791 //---------------------------------------------------------------------------
+
13792 
+
13793 static const extended::ZoneEra kZoneEraEurope_Kaliningrad[] ACE_TIME_PROGMEM = {
+
13794  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
+
13795  {
+
13796  &kPolicyRussia /*zonePolicy*/,
+
13797  "EE%T" /*format*/,
+
13798  8 /*offsetCode*/,
+
13799  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13800  11 /*untilYearTiny*/,
+
13801  3 /*untilMonth*/,
+
13802  27 /*untilDay*/,
+
13803  8 /*untilTimeCode*/,
+
13804  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13805  },
+
13806  // 3:00 - +03 2014 Oct 26 2:00s
+
13807  {
+
13808  nullptr /*zonePolicy*/,
+
13809  "+03" /*format*/,
+
13810  12 /*offsetCode*/,
+
13811  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13812  14 /*untilYearTiny*/,
+
13813  10 /*untilMonth*/,
+
13814  26 /*untilDay*/,
+
13815  8 /*untilTimeCode*/,
+
13816  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13817  },
+
13818  // 2:00 - EET
+
13819  {
+
13820  nullptr /*zonePolicy*/,
+
13821  "EET" /*format*/,
+
13822  8 /*offsetCode*/,
+
13823  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13824  127 /*untilYearTiny*/,
+
13825  1 /*untilMonth*/,
+
13826  1 /*untilDay*/,
+
13827  0 /*untilTimeCode*/,
+
13828  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13829  },
+
13830 
+
13831 };
+
13832 
+
13833 static const char kZoneNameEurope_Kaliningrad[] ACE_TIME_PROGMEM = "Europe/Kaliningrad";
+
13834 
+
13835 const extended::ZoneInfo kZoneEurope_Kaliningrad ACE_TIME_PROGMEM = {
+
13836  kZoneNameEurope_Kaliningrad /*name*/,
+
13837  0xd33b2f28 /*zoneId*/,
+
13838  &kZoneContext /*zoneContext*/,
+
13839  5 /*transitionBufSize*/,
+
13840  3 /*numEras*/,
+
13841  kZoneEraEurope_Kaliningrad /*eras*/,
+
13842 };
+
13843 
+
13844 //---------------------------------------------------------------------------
+
13845 // Zone name: Europe/Kiev
+
13846 // Zone Eras: 1
+
13847 // Strings (bytes): 17
+
13848 // Memory (8-bit): 40
+
13849 // Memory (32-bit): 53
+
13850 //---------------------------------------------------------------------------
+
13851 
+
13852 static const extended::ZoneEra kZoneEraEurope_Kiev[] ACE_TIME_PROGMEM = {
+
13853  // 2:00 EU EE%sT
+
13854  {
+
13855  &kPolicyEU /*zonePolicy*/,
+
13856  "EE%T" /*format*/,
+
13857  8 /*offsetCode*/,
+
13858  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13859  127 /*untilYearTiny*/,
+
13860  1 /*untilMonth*/,
+
13861  1 /*untilDay*/,
+
13862  0 /*untilTimeCode*/,
+
13863  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13864  },
+
13865 
+
13866 };
+
13867 
+
13868 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "Europe/Kiev";
+
13869 
+
13870 const extended::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
+
13871  kZoneNameEurope_Kiev /*name*/,
+
13872  0xa2c19eb3 /*zoneId*/,
+
13873  &kZoneContext /*zoneContext*/,
+
13874  5 /*transitionBufSize*/,
+
13875  1 /*numEras*/,
+
13876  kZoneEraEurope_Kiev /*eras*/,
+
13877 };
+
13878 
+
13879 //---------------------------------------------------------------------------
+
13880 // Zone name: Europe/Kirov
+
13881 // Zone Eras: 3
+
13882 // Strings (bytes): 29
+
13883 // Memory (8-bit): 74
+
13884 // Memory (32-bit): 97
+
13885 //---------------------------------------------------------------------------
+
13886 
+
13887 static const extended::ZoneEra kZoneEraEurope_Kirov[] ACE_TIME_PROGMEM = {
+
13888  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
+
13889  {
+
13890  &kPolicyRussia /*zonePolicy*/,
+
13891  "+03/+04" /*format*/,
+
13892  12 /*offsetCode*/,
+
13893  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13894  11 /*untilYearTiny*/,
+
13895  3 /*untilMonth*/,
+
13896  27 /*untilDay*/,
+
13897  8 /*untilTimeCode*/,
+
13898  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13899  },
+
13900  // 4:00 - +04 2014 Oct 26 2:00s
+
13901  {
+
13902  nullptr /*zonePolicy*/,
+
13903  "+04" /*format*/,
+
13904  16 /*offsetCode*/,
+
13905  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13906  14 /*untilYearTiny*/,
+
13907  10 /*untilMonth*/,
+
13908  26 /*untilDay*/,
+
13909  8 /*untilTimeCode*/,
+
13910  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
13911  },
+
13912  // 3:00 - +03
+
13913  {
+
13914  nullptr /*zonePolicy*/,
+
13915  "+03" /*format*/,
+
13916  12 /*offsetCode*/,
+
13917  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13918  127 /*untilYearTiny*/,
+
13919  1 /*untilMonth*/,
+
13920  1 /*untilDay*/,
+
13921  0 /*untilTimeCode*/,
+
13922  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13923  },
+
13924 
+
13925 };
+
13926 
+
13927 static const char kZoneNameEurope_Kirov[] ACE_TIME_PROGMEM = "Europe/Kirov";
+
13928 
+
13929 const extended::ZoneInfo kZoneEurope_Kirov ACE_TIME_PROGMEM = {
+
13930  kZoneNameEurope_Kirov /*name*/,
+
13931  0xfaf5abef /*zoneId*/,
+
13932  &kZoneContext /*zoneContext*/,
+
13933  5 /*transitionBufSize*/,
+
13934  3 /*numEras*/,
+
13935  kZoneEraEurope_Kirov /*eras*/,
+
13936 };
+
13937 
+
13938 //---------------------------------------------------------------------------
+
13939 // Zone name: Europe/Lisbon
+
13940 // Zone Eras: 1
+
13941 // Strings (bytes): 19
+
13942 // Memory (8-bit): 42
+
13943 // Memory (32-bit): 55
+
13944 //---------------------------------------------------------------------------
+
13945 
+
13946 static const extended::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
+
13947  // 0:00 EU WE%sT
+
13948  {
+
13949  &kPolicyEU /*zonePolicy*/,
+
13950  "WE%T" /*format*/,
+
13951  0 /*offsetCode*/,
+
13952  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13953  127 /*untilYearTiny*/,
+
13954  1 /*untilMonth*/,
+
13955  1 /*untilDay*/,
+
13956  0 /*untilTimeCode*/,
+
13957  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13958  },
+
13959 
+
13960 };
+
13961 
+
13962 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "Europe/Lisbon";
+
13963 
+
13964 const extended::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
+
13965  kZoneNameEurope_Lisbon /*name*/,
+
13966  0x5c00a70b /*zoneId*/,
+
13967  &kZoneContext /*zoneContext*/,
+
13968  5 /*transitionBufSize*/,
+
13969  1 /*numEras*/,
+
13970  kZoneEraEurope_Lisbon /*eras*/,
+
13971 };
+
13972 
+
13973 //---------------------------------------------------------------------------
+
13974 // Zone name: Europe/London
+
13975 // Zone Eras: 1
+
13976 // Strings (bytes): 22
+
13977 // Memory (8-bit): 45
+
13978 // Memory (32-bit): 58
+
13979 //---------------------------------------------------------------------------
+
13980 
+
13981 static const extended::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
+
13982  // 0:00 EU GMT/BST
+
13983  {
+
13984  &kPolicyEU /*zonePolicy*/,
+
13985  "GMT/BST" /*format*/,
+
13986  0 /*offsetCode*/,
+
13987  (0 << 4) + (0 + 4) /*deltaCode*/,
+
13988  127 /*untilYearTiny*/,
+
13989  1 /*untilMonth*/,
+
13990  1 /*untilDay*/,
+
13991  0 /*untilTimeCode*/,
+
13992  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
13993  },
+
13994 
+
13995 };
+
13996 
+
13997 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "Europe/London";
+
13998 
+
13999 const extended::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
+
14000  kZoneNameEurope_London /*name*/,
+
14001  0x5c6a84ae /*zoneId*/,
+
14002  &kZoneContext /*zoneContext*/,
+
14003  5 /*transitionBufSize*/,
+
14004  1 /*numEras*/,
+
14005  kZoneEraEurope_London /*eras*/,
+
14006 };
+
14007 
+
14008 //---------------------------------------------------------------------------
+
14009 // Zone name: Europe/Luxembourg
+
14010 // Zone Eras: 1
+
14011 // Strings (bytes): 23
+
14012 // Memory (8-bit): 46
+
14013 // Memory (32-bit): 59
+
14014 //---------------------------------------------------------------------------
+
14015 
+
14016 static const extended::ZoneEra kZoneEraEurope_Luxembourg[] ACE_TIME_PROGMEM = {
+
14017  // 1:00 EU CE%sT
+
14018  {
+
14019  &kPolicyEU /*zonePolicy*/,
+
14020  "CE%T" /*format*/,
+
14021  4 /*offsetCode*/,
+
14022  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14023  127 /*untilYearTiny*/,
+
14024  1 /*untilMonth*/,
+
14025  1 /*untilDay*/,
+
14026  0 /*untilTimeCode*/,
+
14027  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14028  },
+
14029 
+
14030 };
+
14031 
+
14032 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "Europe/Luxembourg";
+
14033 
+
14034 const extended::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
+
14035  kZoneNameEurope_Luxembourg /*name*/,
+
14036  0x1f8bc6ce /*zoneId*/,
+
14037  &kZoneContext /*zoneContext*/,
+
14038  5 /*transitionBufSize*/,
+
14039  1 /*numEras*/,
+
14040  kZoneEraEurope_Luxembourg /*eras*/,
+
14041 };
+
14042 
+
14043 //---------------------------------------------------------------------------
+
14044 // Zone name: Europe/Madrid
+
14045 // Zone Eras: 1
+
14046 // Strings (bytes): 19
+
14047 // Memory (8-bit): 42
+
14048 // Memory (32-bit): 55
+
14049 //---------------------------------------------------------------------------
+
14050 
+
14051 static const extended::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
+
14052  // 1:00 EU CE%sT
+
14053  {
+
14054  &kPolicyEU /*zonePolicy*/,
+
14055  "CE%T" /*format*/,
+
14056  4 /*offsetCode*/,
+
14057  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14058  127 /*untilYearTiny*/,
+
14059  1 /*untilMonth*/,
+
14060  1 /*untilDay*/,
+
14061  0 /*untilTimeCode*/,
+
14062  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14063  },
+
14064 
+
14065 };
+
14066 
+
14067 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "Europe/Madrid";
+
14068 
+
14069 const extended::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
+
14070  kZoneNameEurope_Madrid /*name*/,
+
14071  0x5dbd1535 /*zoneId*/,
+
14072  &kZoneContext /*zoneContext*/,
+
14073  5 /*transitionBufSize*/,
+
14074  1 /*numEras*/,
+
14075  kZoneEraEurope_Madrid /*eras*/,
+
14076 };
+
14077 
+
14078 //---------------------------------------------------------------------------
+
14079 // Zone name: Europe/Malta
+
14080 // Zone Eras: 1
+
14081 // Strings (bytes): 18
+
14082 // Memory (8-bit): 41
+
14083 // Memory (32-bit): 54
+
14084 //---------------------------------------------------------------------------
+
14085 
+
14086 static const extended::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
+
14087  // 1:00 EU CE%sT
+
14088  {
+
14089  &kPolicyEU /*zonePolicy*/,
+
14090  "CE%T" /*format*/,
+
14091  4 /*offsetCode*/,
+
14092  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14093  127 /*untilYearTiny*/,
+
14094  1 /*untilMonth*/,
+
14095  1 /*untilDay*/,
+
14096  0 /*untilTimeCode*/,
+
14097  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14098  },
+
14099 
+
14100 };
+
14101 
+
14102 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "Europe/Malta";
+
14103 
+
14104 const extended::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
+
14105  kZoneNameEurope_Malta /*name*/,
+
14106  0xfb1560f3 /*zoneId*/,
+
14107  &kZoneContext /*zoneContext*/,
+
14108  5 /*transitionBufSize*/,
+
14109  1 /*numEras*/,
+
14110  kZoneEraEurope_Malta /*eras*/,
+
14111 };
+
14112 
+
14113 //---------------------------------------------------------------------------
+
14114 // Zone name: Europe/Minsk
+
14115 // Zone Eras: 2
+
14116 // Strings (bytes): 22
+
14117 // Memory (8-bit): 56
+
14118 // Memory (32-bit): 74
+
14119 //---------------------------------------------------------------------------
+
14120 
+
14121 static const extended::ZoneEra kZoneEraEurope_Minsk[] ACE_TIME_PROGMEM = {
+
14122  // 2:00 Russia EE%sT 2011 Mar 27 2:00s
+
14123  {
+
14124  &kPolicyRussia /*zonePolicy*/,
+
14125  "EE%T" /*format*/,
+
14126  8 /*offsetCode*/,
+
14127  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14128  11 /*untilYearTiny*/,
+
14129  3 /*untilMonth*/,
+
14130  27 /*untilDay*/,
+
14131  8 /*untilTimeCode*/,
+
14132  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14133  },
+
14134  // 3:00 - +03
+
14135  {
+
14136  nullptr /*zonePolicy*/,
+
14137  "+03" /*format*/,
+
14138  12 /*offsetCode*/,
+
14139  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14140  127 /*untilYearTiny*/,
+
14141  1 /*untilMonth*/,
+
14142  1 /*untilDay*/,
+
14143  0 /*untilTimeCode*/,
+
14144  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14145  },
+
14146 
+
14147 };
+
14148 
+
14149 static const char kZoneNameEurope_Minsk[] ACE_TIME_PROGMEM = "Europe/Minsk";
+
14150 
+
14151 const extended::ZoneInfo kZoneEurope_Minsk ACE_TIME_PROGMEM = {
+
14152  kZoneNameEurope_Minsk /*name*/,
+
14153  0xfb19cc66 /*zoneId*/,
+
14154  &kZoneContext /*zoneContext*/,
+
14155  5 /*transitionBufSize*/,
+
14156  2 /*numEras*/,
+
14157  kZoneEraEurope_Minsk /*eras*/,
+
14158 };
+
14159 
+
14160 //---------------------------------------------------------------------------
+
14161 // Zone name: Europe/Monaco
+
14162 // Zone Eras: 1
+
14163 // Strings (bytes): 19
+
14164 // Memory (8-bit): 42
+
14165 // Memory (32-bit): 55
+
14166 //---------------------------------------------------------------------------
+
14167 
+
14168 static const extended::ZoneEra kZoneEraEurope_Monaco[] ACE_TIME_PROGMEM = {
+
14169  // 1:00 EU CE%sT
+
14170  {
+
14171  &kPolicyEU /*zonePolicy*/,
+
14172  "CE%T" /*format*/,
+
14173  4 /*offsetCode*/,
+
14174  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14175  127 /*untilYearTiny*/,
+
14176  1 /*untilMonth*/,
+
14177  1 /*untilDay*/,
+
14178  0 /*untilTimeCode*/,
+
14179  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14180  },
+
14181 
+
14182 };
+
14183 
+
14184 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "Europe/Monaco";
+
14185 
+
14186 const extended::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
+
14187  kZoneNameEurope_Monaco /*name*/,
+
14188  0x5ebf9f01 /*zoneId*/,
+
14189  &kZoneContext /*zoneContext*/,
+
14190  5 /*transitionBufSize*/,
+
14191  1 /*numEras*/,
+
14192  kZoneEraEurope_Monaco /*eras*/,
+
14193 };
+
14194 
+
14195 //---------------------------------------------------------------------------
+
14196 // Zone name: Europe/Moscow
+
14197 // Zone Eras: 3
+
14198 // Strings (bytes): 30
+
14199 // Memory (8-bit): 75
+
14200 // Memory (32-bit): 98
+
14201 //---------------------------------------------------------------------------
+
14202 
+
14203 static const extended::ZoneEra kZoneEraEurope_Moscow[] ACE_TIME_PROGMEM = {
+
14204  // 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
+
14205  {
+
14206  &kPolicyRussia /*zonePolicy*/,
+
14207  "MSK/MSD" /*format*/,
+
14208  12 /*offsetCode*/,
+
14209  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14210  11 /*untilYearTiny*/,
+
14211  3 /*untilMonth*/,
+
14212  27 /*untilDay*/,
+
14213  8 /*untilTimeCode*/,
+
14214  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14215  },
+
14216  // 4:00 - MSK 2014 Oct 26 2:00s
+
14217  {
+
14218  nullptr /*zonePolicy*/,
+
14219  "MSK" /*format*/,
+
14220  16 /*offsetCode*/,
+
14221  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14222  14 /*untilYearTiny*/,
+
14223  10 /*untilMonth*/,
+
14224  26 /*untilDay*/,
+
14225  8 /*untilTimeCode*/,
+
14226  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14227  },
+
14228  // 3:00 - MSK
+
14229  {
+
14230  nullptr /*zonePolicy*/,
+
14231  "MSK" /*format*/,
+
14232  12 /*offsetCode*/,
+
14233  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14234  127 /*untilYearTiny*/,
+
14235  1 /*untilMonth*/,
+
14236  1 /*untilDay*/,
+
14237  0 /*untilTimeCode*/,
+
14238  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14239  },
+
14240 
+
14241 };
+
14242 
+
14243 static const char kZoneNameEurope_Moscow[] ACE_TIME_PROGMEM = "Europe/Moscow";
+
14244 
+
14245 const extended::ZoneInfo kZoneEurope_Moscow ACE_TIME_PROGMEM = {
+
14246  kZoneNameEurope_Moscow /*name*/,
+
14247  0x5ec266fc /*zoneId*/,
+
14248  &kZoneContext /*zoneContext*/,
+
14249  5 /*transitionBufSize*/,
+
14250  3 /*numEras*/,
+
14251  kZoneEraEurope_Moscow /*eras*/,
+
14252 };
+
14253 
+
14254 //---------------------------------------------------------------------------
+
14255 // Zone name: Europe/Oslo
+
14256 // Zone Eras: 1
+
14257 // Strings (bytes): 17
+
14258 // Memory (8-bit): 40
+
14259 // Memory (32-bit): 53
+
14260 //---------------------------------------------------------------------------
+
14261 
+
14262 static const extended::ZoneEra kZoneEraEurope_Oslo[] ACE_TIME_PROGMEM = {
+
14263  // 1:00 EU CE%sT
+
14264  {
+
14265  &kPolicyEU /*zonePolicy*/,
+
14266  "CE%T" /*format*/,
+
14267  4 /*offsetCode*/,
+
14268  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14269  127 /*untilYearTiny*/,
+
14270  1 /*untilMonth*/,
+
14271  1 /*untilDay*/,
+
14272  0 /*untilTimeCode*/,
+
14273  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14274  },
+
14275 
+
14276 };
+
14277 
+
14278 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "Europe/Oslo";
+
14279 
+
14280 const extended::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
+
14281  kZoneNameEurope_Oslo /*name*/,
+
14282  0xa2c3fba1 /*zoneId*/,
+
14283  &kZoneContext /*zoneContext*/,
+
14284  5 /*transitionBufSize*/,
+
14285  1 /*numEras*/,
+
14286  kZoneEraEurope_Oslo /*eras*/,
+
14287 };
+
14288 
+
14289 //---------------------------------------------------------------------------
+
14290 // Zone name: Europe/Paris
+
14291 // Zone Eras: 1
+
14292 // Strings (bytes): 18
+
14293 // Memory (8-bit): 41
+
14294 // Memory (32-bit): 54
+
14295 //---------------------------------------------------------------------------
+
14296 
+
14297 static const extended::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
+
14298  // 1:00 EU CE%sT
+
14299  {
+
14300  &kPolicyEU /*zonePolicy*/,
+
14301  "CE%T" /*format*/,
+
14302  4 /*offsetCode*/,
+
14303  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14304  127 /*untilYearTiny*/,
+
14305  1 /*untilMonth*/,
+
14306  1 /*untilDay*/,
+
14307  0 /*untilTimeCode*/,
+
14308  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14309  },
+
14310 
+
14311 };
+
14312 
+
14313 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "Europe/Paris";
+
14314 
+
14315 const extended::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
+
14316  kZoneNameEurope_Paris /*name*/,
+
14317  0xfb4bc2a3 /*zoneId*/,
+
14318  &kZoneContext /*zoneContext*/,
+
14319  5 /*transitionBufSize*/,
+
14320  1 /*numEras*/,
+
14321  kZoneEraEurope_Paris /*eras*/,
+
14322 };
+
14323 
+
14324 //---------------------------------------------------------------------------
+
14325 // Zone name: Europe/Prague
+
14326 // Zone Eras: 1
+
14327 // Strings (bytes): 19
+
14328 // Memory (8-bit): 42
+
14329 // Memory (32-bit): 55
+
14330 //---------------------------------------------------------------------------
+
14331 
+
14332 static const extended::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
+
14333  // 1:00 EU CE%sT
+
14334  {
+
14335  &kPolicyEU /*zonePolicy*/,
+
14336  "CE%T" /*format*/,
+
14337  4 /*offsetCode*/,
+
14338  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14339  127 /*untilYearTiny*/,
+
14340  1 /*untilMonth*/,
+
14341  1 /*untilDay*/,
+
14342  0 /*untilTimeCode*/,
+
14343  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14344  },
+
14345 
+
14346 };
+
14347 
+
14348 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "Europe/Prague";
+
14349 
+
14350 const extended::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
+
14351  kZoneNameEurope_Prague /*name*/,
+
14352  0x65ee5d48 /*zoneId*/,
+
14353  &kZoneContext /*zoneContext*/,
+
14354  5 /*transitionBufSize*/,
+
14355  1 /*numEras*/,
+
14356  kZoneEraEurope_Prague /*eras*/,
+
14357 };
+
14358 
+
14359 //---------------------------------------------------------------------------
+
14360 // Zone name: Europe/Riga
+
14361 // Zone Eras: 3
+
14362 // Strings (bytes): 26
+
14363 // Memory (8-bit): 71
+
14364 // Memory (32-bit): 94
+
14365 //---------------------------------------------------------------------------
+
14366 
+
14367 static const extended::ZoneEra kZoneEraEurope_Riga[] ACE_TIME_PROGMEM = {
+
14368  // 2:00 EU EE%sT 2000 Feb 29
+
14369  {
+
14370  &kPolicyEU /*zonePolicy*/,
+
14371  "EE%T" /*format*/,
+
14372  8 /*offsetCode*/,
+
14373  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14374  0 /*untilYearTiny*/,
+
14375  2 /*untilMonth*/,
+
14376  29 /*untilDay*/,
+
14377  0 /*untilTimeCode*/,
+
14378  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14379  },
+
14380  // 2:00 - EET 2001 Jan 2
+
14381  {
+
14382  nullptr /*zonePolicy*/,
+
14383  "EET" /*format*/,
+
14384  8 /*offsetCode*/,
+
14385  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14386  1 /*untilYearTiny*/,
+
14387  1 /*untilMonth*/,
+
14388  2 /*untilDay*/,
+
14389  0 /*untilTimeCode*/,
+
14390  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14391  },
+
14392  // 2:00 EU EE%sT
+
14393  {
+
14394  &kPolicyEU /*zonePolicy*/,
+
14395  "EE%T" /*format*/,
+
14396  8 /*offsetCode*/,
+
14397  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14398  127 /*untilYearTiny*/,
+
14399  1 /*untilMonth*/,
+
14400  1 /*untilDay*/,
+
14401  0 /*untilTimeCode*/,
+
14402  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14403  },
+
14404 
+
14405 };
+
14406 
+
14407 static const char kZoneNameEurope_Riga[] ACE_TIME_PROGMEM = "Europe/Riga";
+
14408 
+
14409 const extended::ZoneInfo kZoneEurope_Riga ACE_TIME_PROGMEM = {
+
14410  kZoneNameEurope_Riga /*name*/,
+
14411  0xa2c57587 /*zoneId*/,
+
14412  &kZoneContext /*zoneContext*/,
+
14413  6 /*transitionBufSize*/,
+
14414  3 /*numEras*/,
+
14415  kZoneEraEurope_Riga /*eras*/,
+
14416 };
+
14417 
+
14418 //---------------------------------------------------------------------------
+
14419 // Zone name: Europe/Rome
+
14420 // Zone Eras: 1
+
14421 // Strings (bytes): 17
+
14422 // Memory (8-bit): 40
+
14423 // Memory (32-bit): 53
+
14424 //---------------------------------------------------------------------------
+
14425 
+
14426 static const extended::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
+
14427  // 1:00 EU CE%sT
+
14428  {
+
14429  &kPolicyEU /*zonePolicy*/,
+
14430  "CE%T" /*format*/,
+
14431  4 /*offsetCode*/,
+
14432  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14433  127 /*untilYearTiny*/,
+
14434  1 /*untilMonth*/,
+
14435  1 /*untilDay*/,
+
14436  0 /*untilTimeCode*/,
+
14437  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14438  },
+
14439 
+
14440 };
+
14441 
+
14442 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "Europe/Rome";
+
14443 
+
14444 const extended::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
+
14445  kZoneNameEurope_Rome /*name*/,
+
14446  0xa2c58fd7 /*zoneId*/,
+
14447  &kZoneContext /*zoneContext*/,
+
14448  5 /*transitionBufSize*/,
+
14449  1 /*numEras*/,
+
14450  kZoneEraEurope_Rome /*eras*/,
+
14451 };
+
14452 
+
14453 //---------------------------------------------------------------------------
+
14454 // Zone name: Europe/Samara
+
14455 // Zone Eras: 3
+
14456 // Strings (bytes): 34
+
14457 // Memory (8-bit): 79
+
14458 // Memory (32-bit): 102
+
14459 //---------------------------------------------------------------------------
+
14460 
+
14461 static const extended::ZoneEra kZoneEraEurope_Samara[] ACE_TIME_PROGMEM = {
+
14462  // 4:00 Russia +04/+05 2010 Mar 28 2:00s
+
14463  {
+
14464  &kPolicyRussia /*zonePolicy*/,
+
14465  "+04/+05" /*format*/,
+
14466  16 /*offsetCode*/,
+
14467  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14468  10 /*untilYearTiny*/,
+
14469  3 /*untilMonth*/,
+
14470  28 /*untilDay*/,
+
14471  8 /*untilTimeCode*/,
+
14472  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14473  },
+
14474  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
+
14475  {
+
14476  &kPolicyRussia /*zonePolicy*/,
+
14477  "+03/+04" /*format*/,
+
14478  12 /*offsetCode*/,
+
14479  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14480  11 /*untilYearTiny*/,
+
14481  3 /*untilMonth*/,
+
14482  27 /*untilDay*/,
+
14483  8 /*untilTimeCode*/,
+
14484  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14485  },
+
14486  // 4:00 - +04
+
14487  {
+
14488  nullptr /*zonePolicy*/,
+
14489  "+04" /*format*/,
+
14490  16 /*offsetCode*/,
+
14491  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14492  127 /*untilYearTiny*/,
+
14493  1 /*untilMonth*/,
+
14494  1 /*untilDay*/,
+
14495  0 /*untilTimeCode*/,
+
14496  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14497  },
+
14498 
+
14499 };
+
14500 
+
14501 static const char kZoneNameEurope_Samara[] ACE_TIME_PROGMEM = "Europe/Samara";
+
14502 
+
14503 const extended::ZoneInfo kZoneEurope_Samara ACE_TIME_PROGMEM = {
+
14504  kZoneNameEurope_Samara /*name*/,
+
14505  0x6bc0b139 /*zoneId*/,
+
14506  &kZoneContext /*zoneContext*/,
+
14507  5 /*transitionBufSize*/,
+
14508  3 /*numEras*/,
+
14509  kZoneEraEurope_Samara /*eras*/,
+
14510 };
+
14511 
+
14512 //---------------------------------------------------------------------------
+
14513 // Zone name: Europe/Saratov
+
14514 // Zone Eras: 4
+
14515 // Strings (bytes): 35
+
14516 // Memory (8-bit): 91
+
14517 // Memory (32-bit): 119
+
14518 //---------------------------------------------------------------------------
+
14519 
+
14520 static const extended::ZoneEra kZoneEraEurope_Saratov[] ACE_TIME_PROGMEM = {
+
14521  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
+
14522  {
+
14523  &kPolicyRussia /*zonePolicy*/,
+
14524  "+03/+04" /*format*/,
+
14525  12 /*offsetCode*/,
+
14526  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14527  11 /*untilYearTiny*/,
+
14528  3 /*untilMonth*/,
+
14529  27 /*untilDay*/,
+
14530  8 /*untilTimeCode*/,
+
14531  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14532  },
+
14533  // 4:00 - +04 2014 Oct 26 2:00s
+
14534  {
+
14535  nullptr /*zonePolicy*/,
+
14536  "+04" /*format*/,
+
14537  16 /*offsetCode*/,
+
14538  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14539  14 /*untilYearTiny*/,
+
14540  10 /*untilMonth*/,
+
14541  26 /*untilDay*/,
+
14542  8 /*untilTimeCode*/,
+
14543  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14544  },
+
14545  // 3:00 - +03 2016 Dec 4 2:00s
+
14546  {
+
14547  nullptr /*zonePolicy*/,
+
14548  "+03" /*format*/,
+
14549  12 /*offsetCode*/,
+
14550  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14551  16 /*untilYearTiny*/,
+
14552  12 /*untilMonth*/,
+
14553  4 /*untilDay*/,
+
14554  8 /*untilTimeCode*/,
+
14555  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14556  },
+
14557  // 4:00 - +04
+
14558  {
+
14559  nullptr /*zonePolicy*/,
+
14560  "+04" /*format*/,
+
14561  16 /*offsetCode*/,
+
14562  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14563  127 /*untilYearTiny*/,
+
14564  1 /*untilMonth*/,
+
14565  1 /*untilDay*/,
+
14566  0 /*untilTimeCode*/,
+
14567  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14568  },
+
14569 
+
14570 };
+
14571 
+
14572 static const char kZoneNameEurope_Saratov[] ACE_TIME_PROGMEM = "Europe/Saratov";
+
14573 
+
14574 const extended::ZoneInfo kZoneEurope_Saratov ACE_TIME_PROGMEM = {
+
14575  kZoneNameEurope_Saratov /*name*/,
+
14576  0xe4315da4 /*zoneId*/,
+
14577  &kZoneContext /*zoneContext*/,
+
14578  5 /*transitionBufSize*/,
+
14579  4 /*numEras*/,
+
14580  kZoneEraEurope_Saratov /*eras*/,
+
14581 };
+
14582 
+
14583 //---------------------------------------------------------------------------
+
14584 // Zone name: Europe/Simferopol
+
14585 // Zone Eras: 3
+
14586 // Strings (bytes): 31
+
14587 // Memory (8-bit): 76
+
14588 // Memory (32-bit): 99
+
14589 //---------------------------------------------------------------------------
+
14590 
+
14591 static const extended::ZoneEra kZoneEraEurope_Simferopol[] ACE_TIME_PROGMEM = {
+
14592  // 2:00 EU EE%sT 2014 Mar 30 2:00
+
14593  {
+
14594  &kPolicyEU /*zonePolicy*/,
+
14595  "EE%T" /*format*/,
+
14596  8 /*offsetCode*/,
+
14597  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14598  14 /*untilYearTiny*/,
+
14599  3 /*untilMonth*/,
+
14600  30 /*untilDay*/,
+
14601  8 /*untilTimeCode*/,
+
14602  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14603  },
+
14604  // 4:00 - MSK 2014 Oct 26 2:00s
+
14605  {
+
14606  nullptr /*zonePolicy*/,
+
14607  "MSK" /*format*/,
+
14608  16 /*offsetCode*/,
+
14609  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14610  14 /*untilYearTiny*/,
+
14611  10 /*untilMonth*/,
+
14612  26 /*untilDay*/,
+
14613  8 /*untilTimeCode*/,
+
14614  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14615  },
+
14616  // 3:00 - MSK
+
14617  {
+
14618  nullptr /*zonePolicy*/,
+
14619  "MSK" /*format*/,
+
14620  12 /*offsetCode*/,
+
14621  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14622  127 /*untilYearTiny*/,
+
14623  1 /*untilMonth*/,
+
14624  1 /*untilDay*/,
+
14625  0 /*untilTimeCode*/,
+
14626  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14627  },
+
14628 
+
14629 };
+
14630 
+
14631 static const char kZoneNameEurope_Simferopol[] ACE_TIME_PROGMEM = "Europe/Simferopol";
+
14632 
+
14633 const extended::ZoneInfo kZoneEurope_Simferopol ACE_TIME_PROGMEM = {
+
14634  kZoneNameEurope_Simferopol /*name*/,
+
14635  0xda9eb724 /*zoneId*/,
+
14636  &kZoneContext /*zoneContext*/,
+
14637  5 /*transitionBufSize*/,
+
14638  3 /*numEras*/,
+
14639  kZoneEraEurope_Simferopol /*eras*/,
+
14640 };
+
14641 
+
14642 //---------------------------------------------------------------------------
+
14643 // Zone name: Europe/Sofia
+
14644 // Zone Eras: 1
+
14645 // Strings (bytes): 18
+
14646 // Memory (8-bit): 41
+
14647 // Memory (32-bit): 54
+
14648 //---------------------------------------------------------------------------
+
14649 
+
14650 static const extended::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
+
14651  // 2:00 EU EE%sT
+
14652  {
+
14653  &kPolicyEU /*zonePolicy*/,
+
14654  "EE%T" /*format*/,
+
14655  8 /*offsetCode*/,
+
14656  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14657  127 /*untilYearTiny*/,
+
14658  1 /*untilMonth*/,
+
14659  1 /*untilDay*/,
+
14660  0 /*untilTimeCode*/,
+
14661  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14662  },
+
14663 
+
14664 };
+
14665 
+
14666 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "Europe/Sofia";
+
14667 
+
14668 const extended::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
+
14669  kZoneNameEurope_Sofia /*name*/,
+
14670  0xfb898656 /*zoneId*/,
+
14671  &kZoneContext /*zoneContext*/,
+
14672  5 /*transitionBufSize*/,
+
14673  1 /*numEras*/,
+
14674  kZoneEraEurope_Sofia /*eras*/,
+
14675 };
+
14676 
+
14677 //---------------------------------------------------------------------------
+
14678 // Zone name: Europe/Stockholm
+
14679 // Zone Eras: 1
+
14680 // Strings (bytes): 22
+
14681 // Memory (8-bit): 45
+
14682 // Memory (32-bit): 58
+
14683 //---------------------------------------------------------------------------
+
14684 
+
14685 static const extended::ZoneEra kZoneEraEurope_Stockholm[] ACE_TIME_PROGMEM = {
+
14686  // 1:00 EU CE%sT
+
14687  {
+
14688  &kPolicyEU /*zonePolicy*/,
+
14689  "CE%T" /*format*/,
+
14690  4 /*offsetCode*/,
+
14691  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14692  127 /*untilYearTiny*/,
+
14693  1 /*untilMonth*/,
+
14694  1 /*untilDay*/,
+
14695  0 /*untilTimeCode*/,
+
14696  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14697  },
+
14698 
+
14699 };
+
14700 
+
14701 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "Europe/Stockholm";
+
14702 
+
14703 const extended::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
+
14704  kZoneNameEurope_Stockholm /*name*/,
+
14705  0x5bf6fbb8 /*zoneId*/,
+
14706  &kZoneContext /*zoneContext*/,
+
14707  5 /*transitionBufSize*/,
+
14708  1 /*numEras*/,
+
14709  kZoneEraEurope_Stockholm /*eras*/,
+
14710 };
+
14711 
+
14712 //---------------------------------------------------------------------------
+
14713 // Zone name: Europe/Tallinn
+
14714 // Zone Eras: 3
+
14715 // Strings (bytes): 29
+
14716 // Memory (8-bit): 74
+
14717 // Memory (32-bit): 97
+
14718 //---------------------------------------------------------------------------
+
14719 
+
14720 static const extended::ZoneEra kZoneEraEurope_Tallinn[] ACE_TIME_PROGMEM = {
+
14721  // 2:00 EU EE%sT 1999 Oct 31 4:00
+
14722  {
+
14723  &kPolicyEU /*zonePolicy*/,
+
14724  "EE%T" /*format*/,
+
14725  8 /*offsetCode*/,
+
14726  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14727  -1 /*untilYearTiny*/,
+
14728  10 /*untilMonth*/,
+
14729  31 /*untilDay*/,
+
14730  16 /*untilTimeCode*/,
+
14731  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14732  },
+
14733  // 2:00 - EET 2002 Feb 21
+
14734  {
+
14735  nullptr /*zonePolicy*/,
+
14736  "EET" /*format*/,
+
14737  8 /*offsetCode*/,
+
14738  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14739  2 /*untilYearTiny*/,
+
14740  2 /*untilMonth*/,
+
14741  21 /*untilDay*/,
+
14742  0 /*untilTimeCode*/,
+
14743  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14744  },
+
14745  // 2:00 EU EE%sT
+
14746  {
+
14747  &kPolicyEU /*zonePolicy*/,
+
14748  "EE%T" /*format*/,
+
14749  8 /*offsetCode*/,
+
14750  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14751  127 /*untilYearTiny*/,
+
14752  1 /*untilMonth*/,
+
14753  1 /*untilDay*/,
+
14754  0 /*untilTimeCode*/,
+
14755  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14756  },
+
14757 
+
14758 };
+
14759 
+
14760 static const char kZoneNameEurope_Tallinn[] ACE_TIME_PROGMEM = "Europe/Tallinn";
+
14761 
+
14762 const extended::ZoneInfo kZoneEurope_Tallinn ACE_TIME_PROGMEM = {
+
14763  kZoneNameEurope_Tallinn /*name*/,
+
14764  0x30c4e096 /*zoneId*/,
+
14765  &kZoneContext /*zoneContext*/,
+
14766  6 /*transitionBufSize*/,
+
14767  3 /*numEras*/,
+
14768  kZoneEraEurope_Tallinn /*eras*/,
+
14769 };
+
14770 
+
14771 //---------------------------------------------------------------------------
+
14772 // Zone name: Europe/Tirane
+
14773 // Zone Eras: 1
+
14774 // Strings (bytes): 19
+
14775 // Memory (8-bit): 42
+
14776 // Memory (32-bit): 55
+
14777 //---------------------------------------------------------------------------
+
14778 
+
14779 static const extended::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
+
14780  // 1:00 EU CE%sT
+
14781  {
+
14782  &kPolicyEU /*zonePolicy*/,
+
14783  "CE%T" /*format*/,
+
14784  4 /*offsetCode*/,
+
14785  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14786  127 /*untilYearTiny*/,
+
14787  1 /*untilMonth*/,
+
14788  1 /*untilDay*/,
+
14789  0 /*untilTimeCode*/,
+
14790  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14791  },
+
14792 
+
14793 };
+
14794 
+
14795 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "Europe/Tirane";
+
14796 
+
14797 const extended::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
+
14798  kZoneNameEurope_Tirane /*name*/,
+
14799  0x6ea95b47 /*zoneId*/,
+
14800  &kZoneContext /*zoneContext*/,
+
14801  5 /*transitionBufSize*/,
+
14802  1 /*numEras*/,
+
14803  kZoneEraEurope_Tirane /*eras*/,
+
14804 };
+
14805 
+
14806 //---------------------------------------------------------------------------
+
14807 // Zone name: Europe/Ulyanovsk
+
14808 // Zone Eras: 4
+
14809 // Strings (bytes): 37
+
14810 // Memory (8-bit): 93
+
14811 // Memory (32-bit): 121
+
14812 //---------------------------------------------------------------------------
+
14813 
+
14814 static const extended::ZoneEra kZoneEraEurope_Ulyanovsk[] ACE_TIME_PROGMEM = {
+
14815  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
+
14816  {
+
14817  &kPolicyRussia /*zonePolicy*/,
+
14818  "+03/+04" /*format*/,
+
14819  12 /*offsetCode*/,
+
14820  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14821  11 /*untilYearTiny*/,
+
14822  3 /*untilMonth*/,
+
14823  27 /*untilDay*/,
+
14824  8 /*untilTimeCode*/,
+
14825  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14826  },
+
14827  // 4:00 - +04 2014 Oct 26 2:00s
+
14828  {
+
14829  nullptr /*zonePolicy*/,
+
14830  "+04" /*format*/,
+
14831  16 /*offsetCode*/,
+
14832  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14833  14 /*untilYearTiny*/,
+
14834  10 /*untilMonth*/,
+
14835  26 /*untilDay*/,
+
14836  8 /*untilTimeCode*/,
+
14837  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14838  },
+
14839  // 3:00 - +03 2016 Mar 27 2:00s
+
14840  {
+
14841  nullptr /*zonePolicy*/,
+
14842  "+03" /*format*/,
+
14843  12 /*offsetCode*/,
+
14844  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14845  16 /*untilYearTiny*/,
+
14846  3 /*untilMonth*/,
+
14847  27 /*untilDay*/,
+
14848  8 /*untilTimeCode*/,
+
14849  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
14850  },
+
14851  // 4:00 - +04
+
14852  {
+
14853  nullptr /*zonePolicy*/,
+
14854  "+04" /*format*/,
+
14855  16 /*offsetCode*/,
+
14856  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14857  127 /*untilYearTiny*/,
+
14858  1 /*untilMonth*/,
+
14859  1 /*untilDay*/,
+
14860  0 /*untilTimeCode*/,
+
14861  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14862  },
+
14863 
+
14864 };
+
14865 
+
14866 static const char kZoneNameEurope_Ulyanovsk[] ACE_TIME_PROGMEM = "Europe/Ulyanovsk";
+
14867 
+
14868 const extended::ZoneInfo kZoneEurope_Ulyanovsk ACE_TIME_PROGMEM = {
+
14869  kZoneNameEurope_Ulyanovsk /*name*/,
+
14870  0xe03783d0 /*zoneId*/,
+
14871  &kZoneContext /*zoneContext*/,
+
14872  5 /*transitionBufSize*/,
+
14873  4 /*numEras*/,
+
14874  kZoneEraEurope_Ulyanovsk /*eras*/,
+
14875 };
+
14876 
+
14877 //---------------------------------------------------------------------------
+
14878 // Zone name: Europe/Uzhgorod
+
14879 // Zone Eras: 1
+
14880 // Strings (bytes): 21
+
14881 // Memory (8-bit): 44
+
14882 // Memory (32-bit): 57
+
14883 //---------------------------------------------------------------------------
+
14884 
+
14885 static const extended::ZoneEra kZoneEraEurope_Uzhgorod[] ACE_TIME_PROGMEM = {
+
14886  // 2:00 EU EE%sT
+
14887  {
+
14888  &kPolicyEU /*zonePolicy*/,
+
14889  "EE%T" /*format*/,
+
14890  8 /*offsetCode*/,
+
14891  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14892  127 /*untilYearTiny*/,
+
14893  1 /*untilMonth*/,
+
14894  1 /*untilDay*/,
+
14895  0 /*untilTimeCode*/,
+
14896  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14897  },
+
14898 
+
14899 };
+
14900 
+
14901 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "Europe/Uzhgorod";
+
14902 
+
14903 const extended::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
+
14904  kZoneNameEurope_Uzhgorod /*name*/,
+
14905  0xb066f5d6 /*zoneId*/,
+
14906  &kZoneContext /*zoneContext*/,
+
14907  5 /*transitionBufSize*/,
+
14908  1 /*numEras*/,
+
14909  kZoneEraEurope_Uzhgorod /*eras*/,
+
14910 };
+
14911 
+
14912 //---------------------------------------------------------------------------
+
14913 // Zone name: Europe/Vienna
+
14914 // Zone Eras: 1
+
14915 // Strings (bytes): 19
+
14916 // Memory (8-bit): 42
+
14917 // Memory (32-bit): 55
+
14918 //---------------------------------------------------------------------------
+
14919 
+
14920 static const extended::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
+
14921  // 1:00 EU CE%sT
+
14922  {
+
14923  &kPolicyEU /*zonePolicy*/,
+
14924  "CE%T" /*format*/,
+
14925  4 /*offsetCode*/,
+
14926  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14927  127 /*untilYearTiny*/,
+
14928  1 /*untilMonth*/,
+
14929  1 /*untilDay*/,
+
14930  0 /*untilTimeCode*/,
+
14931  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14932  },
+
14933 
+
14934 };
+
14935 
+
14936 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "Europe/Vienna";
+
14937 
+
14938 const extended::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
+
14939  kZoneNameEurope_Vienna /*name*/,
+
14940  0x734cc2e5 /*zoneId*/,
+
14941  &kZoneContext /*zoneContext*/,
+
14942  5 /*transitionBufSize*/,
+
14943  1 /*numEras*/,
+
14944  kZoneEraEurope_Vienna /*eras*/,
+
14945 };
+
14946 
+
14947 //---------------------------------------------------------------------------
+
14948 // Zone name: Europe/Vilnius
+
14949 // Zone Eras: 3
+
14950 // Strings (bytes): 29
+
14951 // Memory (8-bit): 74
+
14952 // Memory (32-bit): 97
+
14953 //---------------------------------------------------------------------------
+
14954 
+
14955 static const extended::ZoneEra kZoneEraEurope_Vilnius[] ACE_TIME_PROGMEM = {
+
14956  // 1:00 EU CE%sT 1999 Oct 31 1:00u
+
14957  {
+
14958  &kPolicyEU /*zonePolicy*/,
+
14959  "CE%T" /*format*/,
+
14960  4 /*offsetCode*/,
+
14961  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14962  -1 /*untilYearTiny*/,
+
14963  10 /*untilMonth*/,
+
14964  31 /*untilDay*/,
+
14965  4 /*untilTimeCode*/,
+
14966  extended::ZoneContext::kSuffixU /*untilTimeModifier*/,
+
14967  },
+
14968  // 2:00 - EET 2003 Jan 1
+
14969  {
+
14970  nullptr /*zonePolicy*/,
+
14971  "EET" /*format*/,
+
14972  8 /*offsetCode*/,
+
14973  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14974  3 /*untilYearTiny*/,
+
14975  1 /*untilMonth*/,
+
14976  1 /*untilDay*/,
+
14977  0 /*untilTimeCode*/,
+
14978  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14979  },
+
14980  // 2:00 EU EE%sT
+
14981  {
+
14982  &kPolicyEU /*zonePolicy*/,
+
14983  "EE%T" /*format*/,
+
14984  8 /*offsetCode*/,
+
14985  (0 << 4) + (0 + 4) /*deltaCode*/,
+
14986  127 /*untilYearTiny*/,
+
14987  1 /*untilMonth*/,
+
14988  1 /*untilDay*/,
+
14989  0 /*untilTimeCode*/,
+
14990  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
14991  },
+
14992 
+
14993 };
+
14994 
+
14995 static const char kZoneNameEurope_Vilnius[] ACE_TIME_PROGMEM = "Europe/Vilnius";
+
14996 
+
14997 const extended::ZoneInfo kZoneEurope_Vilnius ACE_TIME_PROGMEM = {
+
14998  kZoneNameEurope_Vilnius /*name*/,
+
14999  0xdd63b8ce /*zoneId*/,
+
15000  &kZoneContext /*zoneContext*/,
+
15001  6 /*transitionBufSize*/,
+
15002  3 /*numEras*/,
+
15003  kZoneEraEurope_Vilnius /*eras*/,
+
15004 };
+
15005 
+
15006 //---------------------------------------------------------------------------
+
15007 // Zone name: Europe/Volgograd
+
15008 // Zone Eras: 4
+
15009 // Strings (bytes): 37
+
15010 // Memory (8-bit): 93
+
15011 // Memory (32-bit): 121
+
15012 //---------------------------------------------------------------------------
+
15013 
+
15014 static const extended::ZoneEra kZoneEraEurope_Volgograd[] ACE_TIME_PROGMEM = {
+
15015  // 3:00 Russia +03/+04 2011 Mar 27 2:00s
+
15016  {
+
15017  &kPolicyRussia /*zonePolicy*/,
+
15018  "+03/+04" /*format*/,
+
15019  12 /*offsetCode*/,
+
15020  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15021  11 /*untilYearTiny*/,
+
15022  3 /*untilMonth*/,
+
15023  27 /*untilDay*/,
+
15024  8 /*untilTimeCode*/,
+
15025  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
15026  },
+
15027  // 4:00 - +04 2014 Oct 26 2:00s
+
15028  {
+
15029  nullptr /*zonePolicy*/,
+
15030  "+04" /*format*/,
+
15031  16 /*offsetCode*/,
+
15032  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15033  14 /*untilYearTiny*/,
+
15034  10 /*untilMonth*/,
+
15035  26 /*untilDay*/,
+
15036  8 /*untilTimeCode*/,
+
15037  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
15038  },
+
15039  // 3:00 - +03 2018 Oct 28 2:00s
+
15040  {
+
15041  nullptr /*zonePolicy*/,
+
15042  "+03" /*format*/,
+
15043  12 /*offsetCode*/,
+
15044  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15045  18 /*untilYearTiny*/,
+
15046  10 /*untilMonth*/,
+
15047  28 /*untilDay*/,
+
15048  8 /*untilTimeCode*/,
+
15049  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
15050  },
+
15051  // 4:00 - +04
+
15052  {
+
15053  nullptr /*zonePolicy*/,
+
15054  "+04" /*format*/,
+
15055  16 /*offsetCode*/,
+
15056  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15057  127 /*untilYearTiny*/,
+
15058  1 /*untilMonth*/,
+
15059  1 /*untilDay*/,
+
15060  0 /*untilTimeCode*/,
+
15061  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15062  },
+
15063 
+
15064 };
+
15065 
+
15066 static const char kZoneNameEurope_Volgograd[] ACE_TIME_PROGMEM = "Europe/Volgograd";
+
15067 
+
15068 const extended::ZoneInfo kZoneEurope_Volgograd ACE_TIME_PROGMEM = {
+
15069  kZoneNameEurope_Volgograd /*name*/,
+
15070  0x3ed0f389 /*zoneId*/,
+
15071  &kZoneContext /*zoneContext*/,
+
15072  5 /*transitionBufSize*/,
+
15073  4 /*numEras*/,
+
15074  kZoneEraEurope_Volgograd /*eras*/,
+
15075 };
+
15076 
+
15077 //---------------------------------------------------------------------------
+
15078 // Zone name: Europe/Warsaw
+
15079 // Zone Eras: 1
+
15080 // Strings (bytes): 19
+
15081 // Memory (8-bit): 42
+
15082 // Memory (32-bit): 55
+
15083 //---------------------------------------------------------------------------
+
15084 
+
15085 static const extended::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
+
15086  // 1:00 EU CE%sT
+
15087  {
+
15088  &kPolicyEU /*zonePolicy*/,
+
15089  "CE%T" /*format*/,
+
15090  4 /*offsetCode*/,
+
15091  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15092  127 /*untilYearTiny*/,
+
15093  1 /*untilMonth*/,
+
15094  1 /*untilDay*/,
+
15095  0 /*untilTimeCode*/,
+
15096  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15097  },
+
15098 
+
15099 };
+
15100 
+
15101 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "Europe/Warsaw";
+
15102 
+
15103 const extended::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
+
15104  kZoneNameEurope_Warsaw /*name*/,
+
15105  0x75185c19 /*zoneId*/,
+
15106  &kZoneContext /*zoneContext*/,
+
15107  5 /*transitionBufSize*/,
+
15108  1 /*numEras*/,
+
15109  kZoneEraEurope_Warsaw /*eras*/,
+
15110 };
+
15111 
+
15112 //---------------------------------------------------------------------------
+
15113 // Zone name: Europe/Zaporozhye
+
15114 // Zone Eras: 1
+
15115 // Strings (bytes): 23
+
15116 // Memory (8-bit): 46
+
15117 // Memory (32-bit): 59
+
15118 //---------------------------------------------------------------------------
+
15119 
+
15120 static const extended::ZoneEra kZoneEraEurope_Zaporozhye[] ACE_TIME_PROGMEM = {
+
15121  // 2:00 EU EE%sT
+
15122  {
+
15123  &kPolicyEU /*zonePolicy*/,
+
15124  "EE%T" /*format*/,
+
15125  8 /*offsetCode*/,
+
15126  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15127  127 /*untilYearTiny*/,
+
15128  1 /*untilMonth*/,
+
15129  1 /*untilDay*/,
+
15130  0 /*untilTimeCode*/,
+
15131  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15132  },
+
15133 
+
15134 };
+
15135 
+
15136 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "Europe/Zaporozhye";
+
15137 
+
15138 const extended::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
+
15139  kZoneNameEurope_Zaporozhye /*name*/,
+
15140  0xeab9767f /*zoneId*/,
+
15141  &kZoneContext /*zoneContext*/,
+
15142  5 /*transitionBufSize*/,
+
15143  1 /*numEras*/,
+
15144  kZoneEraEurope_Zaporozhye /*eras*/,
+
15145 };
+
15146 
+
15147 //---------------------------------------------------------------------------
+
15148 // Zone name: Europe/Zurich
+
15149 // Zone Eras: 1
+
15150 // Strings (bytes): 19
+
15151 // Memory (8-bit): 42
+
15152 // Memory (32-bit): 55
+
15153 //---------------------------------------------------------------------------
+
15154 
+
15155 static const extended::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
+
15156  // 1:00 EU CE%sT
+
15157  {
+
15158  &kPolicyEU /*zonePolicy*/,
+
15159  "CE%T" /*format*/,
+
15160  4 /*offsetCode*/,
+
15161  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15162  127 /*untilYearTiny*/,
+
15163  1 /*untilMonth*/,
+
15164  1 /*untilDay*/,
+
15165  0 /*untilTimeCode*/,
+
15166  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15167  },
+
15168 
+
15169 };
+
15170 
+
15171 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "Europe/Zurich";
+
15172 
+
15173 const extended::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
+
15174  kZoneNameEurope_Zurich /*name*/,
+
15175  0x7d8195b9 /*zoneId*/,
+
15176  &kZoneContext /*zoneContext*/,
+
15177  5 /*transitionBufSize*/,
+
15178  1 /*numEras*/,
+
15179  kZoneEraEurope_Zurich /*eras*/,
+
15180 };
+
15181 
+
15182 //---------------------------------------------------------------------------
+
15183 // Zone name: HST
+
15184 // Zone Eras: 1
+
15185 // Strings (bytes): 8
+
15186 // Memory (8-bit): 31
+
15187 // Memory (32-bit): 44
+
15188 //---------------------------------------------------------------------------
+
15189 
+
15190 static const extended::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = {
+
15191  // -10:00 - HST
+
15192  {
+
15193  nullptr /*zonePolicy*/,
+
15194  "HST" /*format*/,
+
15195  -40 /*offsetCode*/,
+
15196  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15197  127 /*untilYearTiny*/,
+
15198  1 /*untilMonth*/,
+
15199  1 /*untilDay*/,
+
15200  0 /*untilTimeCode*/,
+
15201  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15202  },
+
15203 
+
15204 };
+
15205 
+
15206 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
+
15207 
+
15208 const extended::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
+
15209  kZoneNameHST /*name*/,
+
15210  0x0b87f034 /*zoneId*/,
+
15211  &kZoneContext /*zoneContext*/,
+
15212  2 /*transitionBufSize*/,
+
15213  1 /*numEras*/,
+
15214  kZoneEraHST /*eras*/,
+
15215 };
+
15216 
+
15217 //---------------------------------------------------------------------------
+
15218 // Zone name: Indian/Chagos
+
15219 // Zone Eras: 1
+
15220 // Strings (bytes): 18
+
15221 // Memory (8-bit): 41
+
15222 // Memory (32-bit): 54
+
15223 //---------------------------------------------------------------------------
+
15224 
+
15225 static const extended::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
+
15226  // 6:00 - +06
+
15227  {
+
15228  nullptr /*zonePolicy*/,
+
15229  "+06" /*format*/,
+
15230  24 /*offsetCode*/,
+
15231  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15232  127 /*untilYearTiny*/,
+
15233  1 /*untilMonth*/,
+
15234  1 /*untilDay*/,
+
15235  0 /*untilTimeCode*/,
+
15236  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15237  },
+
15238 
+
15239 };
+
15240 
+
15241 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "Indian/Chagos";
+
15242 
+
15243 const extended::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
+
15244  kZoneNameIndian_Chagos /*name*/,
+
15245  0x456f7c3c /*zoneId*/,
+
15246  &kZoneContext /*zoneContext*/,
+
15247  2 /*transitionBufSize*/,
+
15248  1 /*numEras*/,
+
15249  kZoneEraIndian_Chagos /*eras*/,
+
15250 };
+
15251 
+
15252 //---------------------------------------------------------------------------
+
15253 // Zone name: Indian/Christmas
+
15254 // Zone Eras: 1
+
15255 // Strings (bytes): 21
+
15256 // Memory (8-bit): 44
+
15257 // Memory (32-bit): 57
+
15258 //---------------------------------------------------------------------------
+
15259 
+
15260 static const extended::ZoneEra kZoneEraIndian_Christmas[] ACE_TIME_PROGMEM = {
+
15261  // 7:00 - +07
+
15262  {
+
15263  nullptr /*zonePolicy*/,
+
15264  "+07" /*format*/,
+
15265  28 /*offsetCode*/,
+
15266  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15267  127 /*untilYearTiny*/,
+
15268  1 /*untilMonth*/,
+
15269  1 /*untilDay*/,
+
15270  0 /*untilTimeCode*/,
+
15271  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15272  },
+
15273 
+
15274 };
+
15275 
+
15276 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "Indian/Christmas";
+
15277 
+
15278 const extended::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
+
15279  kZoneNameIndian_Christmas /*name*/,
+
15280  0x68c207d5 /*zoneId*/,
+
15281  &kZoneContext /*zoneContext*/,
+
15282  2 /*transitionBufSize*/,
+
15283  1 /*numEras*/,
+
15284  kZoneEraIndian_Christmas /*eras*/,
+
15285 };
+
15286 
+
15287 //---------------------------------------------------------------------------
+
15288 // Zone name: Indian/Cocos
+
15289 // Zone Eras: 1
+
15290 // Strings (bytes): 19
+
15291 // Memory (8-bit): 42
+
15292 // Memory (32-bit): 55
+
15293 //---------------------------------------------------------------------------
+
15294 
+
15295 static const extended::ZoneEra kZoneEraIndian_Cocos[] ACE_TIME_PROGMEM = {
+
15296  // 6:30 - +0630
+
15297  {
+
15298  nullptr /*zonePolicy*/,
+
15299  "+0630" /*format*/,
+
15300  26 /*offsetCode*/,
+
15301  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15302  127 /*untilYearTiny*/,
+
15303  1 /*untilMonth*/,
+
15304  1 /*untilDay*/,
+
15305  0 /*untilTimeCode*/,
+
15306  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15307  },
+
15308 
+
15309 };
+
15310 
+
15311 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "Indian/Cocos";
+
15312 
+
15313 const extended::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
+
15314  kZoneNameIndian_Cocos /*name*/,
+
15315  0x021e86de /*zoneId*/,
+
15316  &kZoneContext /*zoneContext*/,
+
15317  2 /*transitionBufSize*/,
+
15318  1 /*numEras*/,
+
15319  kZoneEraIndian_Cocos /*eras*/,
+
15320 };
+
15321 
+
15322 //---------------------------------------------------------------------------
+
15323 // Zone name: Indian/Kerguelen
+
15324 // Zone Eras: 1
+
15325 // Strings (bytes): 21
+
15326 // Memory (8-bit): 44
+
15327 // Memory (32-bit): 57
+
15328 //---------------------------------------------------------------------------
+
15329 
+
15330 static const extended::ZoneEra kZoneEraIndian_Kerguelen[] ACE_TIME_PROGMEM = {
+
15331  // 5:00 - +05
+
15332  {
+
15333  nullptr /*zonePolicy*/,
+
15334  "+05" /*format*/,
+
15335  20 /*offsetCode*/,
+
15336  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15337  127 /*untilYearTiny*/,
+
15338  1 /*untilMonth*/,
+
15339  1 /*untilDay*/,
+
15340  0 /*untilTimeCode*/,
+
15341  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15342  },
+
15343 
+
15344 };
+
15345 
+
15346 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "Indian/Kerguelen";
+
15347 
+
15348 const extended::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
+
15349  kZoneNameIndian_Kerguelen /*name*/,
+
15350  0x4351b389 /*zoneId*/,
+
15351  &kZoneContext /*zoneContext*/,
+
15352  2 /*transitionBufSize*/,
+
15353  1 /*numEras*/,
+
15354  kZoneEraIndian_Kerguelen /*eras*/,
+
15355 };
+
15356 
+
15357 //---------------------------------------------------------------------------
+
15358 // Zone name: Indian/Mahe
+
15359 // Zone Eras: 1
+
15360 // Strings (bytes): 16
+
15361 // Memory (8-bit): 39
+
15362 // Memory (32-bit): 52
+
15363 //---------------------------------------------------------------------------
+
15364 
+
15365 static const extended::ZoneEra kZoneEraIndian_Mahe[] ACE_TIME_PROGMEM = {
+
15366  // 4:00 - +04
+
15367  {
+
15368  nullptr /*zonePolicy*/,
+
15369  "+04" /*format*/,
+
15370  16 /*offsetCode*/,
+
15371  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15372  127 /*untilYearTiny*/,
+
15373  1 /*untilMonth*/,
+
15374  1 /*untilDay*/,
+
15375  0 /*untilTimeCode*/,
+
15376  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15377  },
+
15378 
+
15379 };
+
15380 
+
15381 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "Indian/Mahe";
+
15382 
+
15383 const extended::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
+
15384  kZoneNameIndian_Mahe /*name*/,
+
15385  0x45e725e2 /*zoneId*/,
+
15386  &kZoneContext /*zoneContext*/,
+
15387  2 /*transitionBufSize*/,
+
15388  1 /*numEras*/,
+
15389  kZoneEraIndian_Mahe /*eras*/,
+
15390 };
+
15391 
+
15392 //---------------------------------------------------------------------------
+
15393 // Zone name: Indian/Maldives
+
15394 // Zone Eras: 1
+
15395 // Strings (bytes): 20
+
15396 // Memory (8-bit): 43
+
15397 // Memory (32-bit): 56
+
15398 //---------------------------------------------------------------------------
+
15399 
+
15400 static const extended::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
+
15401  // 5:00 - +05
+
15402  {
+
15403  nullptr /*zonePolicy*/,
+
15404  "+05" /*format*/,
+
15405  20 /*offsetCode*/,
+
15406  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15407  127 /*untilYearTiny*/,
+
15408  1 /*untilMonth*/,
+
15409  1 /*untilDay*/,
+
15410  0 /*untilTimeCode*/,
+
15411  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15412  },
+
15413 
+
15414 };
+
15415 
+
15416 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "Indian/Maldives";
+
15417 
+
15418 const extended::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
+
15419  kZoneNameIndian_Maldives /*name*/,
+
15420  0x9869681c /*zoneId*/,
+
15421  &kZoneContext /*zoneContext*/,
+
15422  2 /*transitionBufSize*/,
+
15423  1 /*numEras*/,
+
15424  kZoneEraIndian_Maldives /*eras*/,
+
15425 };
+
15426 
+
15427 //---------------------------------------------------------------------------
+
15428 // Zone name: Indian/Mauritius
+
15429 // Zone Eras: 1
+
15430 // Strings (bytes): 25
+
15431 // Memory (8-bit): 48
+
15432 // Memory (32-bit): 61
+
15433 //---------------------------------------------------------------------------
+
15434 
+
15435 static const extended::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
+
15436  // 4:00 Mauritius +04/+05
+
15437  {
+
15438  &kPolicyMauritius /*zonePolicy*/,
+
15439  "+04/+05" /*format*/,
+
15440  16 /*offsetCode*/,
+
15441  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15442  127 /*untilYearTiny*/,
+
15443  1 /*untilMonth*/,
+
15444  1 /*untilDay*/,
+
15445  0 /*untilTimeCode*/,
+
15446  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15447  },
+
15448 
+
15449 };
+
15450 
+
15451 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "Indian/Mauritius";
+
15452 
+
15453 const extended::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
+
15454  kZoneNameIndian_Mauritius /*name*/,
+
15455  0x7b09c02a /*zoneId*/,
+
15456  &kZoneContext /*zoneContext*/,
+
15457  4 /*transitionBufSize*/,
+
15458  1 /*numEras*/,
+
15459  kZoneEraIndian_Mauritius /*eras*/,
+
15460 };
+
15461 
+
15462 //---------------------------------------------------------------------------
+
15463 // Zone name: Indian/Reunion
+
15464 // Zone Eras: 1
+
15465 // Strings (bytes): 19
+
15466 // Memory (8-bit): 42
+
15467 // Memory (32-bit): 55
+
15468 //---------------------------------------------------------------------------
+
15469 
+
15470 static const extended::ZoneEra kZoneEraIndian_Reunion[] ACE_TIME_PROGMEM = {
+
15471  // 4:00 - +04
+
15472  {
+
15473  nullptr /*zonePolicy*/,
+
15474  "+04" /*format*/,
+
15475  16 /*offsetCode*/,
+
15476  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15477  127 /*untilYearTiny*/,
+
15478  1 /*untilMonth*/,
+
15479  1 /*untilDay*/,
+
15480  0 /*untilTimeCode*/,
+
15481  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15482  },
+
15483 
+
15484 };
+
15485 
+
15486 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "Indian/Reunion";
+
15487 
+
15488 const extended::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
+
15489  kZoneNameIndian_Reunion /*name*/,
+
15490  0x7076c047 /*zoneId*/,
+
15491  &kZoneContext /*zoneContext*/,
+
15492  2 /*transitionBufSize*/,
+
15493  1 /*numEras*/,
+
15494  kZoneEraIndian_Reunion /*eras*/,
+
15495 };
+
15496 
+
15497 //---------------------------------------------------------------------------
+
15498 // Zone name: MET
+
15499 // Zone Eras: 1
+
15500 // Strings (bytes): 9
+
15501 // Memory (8-bit): 32
+
15502 // Memory (32-bit): 45
+
15503 //---------------------------------------------------------------------------
+
15504 
+
15505 static const extended::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = {
+
15506  // 1:00 C-Eur ME%sT
+
15507  {
+
15508  &kPolicyC_Eur /*zonePolicy*/,
+
15509  "ME%T" /*format*/,
+
15510  4 /*offsetCode*/,
+
15511  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15512  127 /*untilYearTiny*/,
+
15513  1 /*untilMonth*/,
+
15514  1 /*untilDay*/,
+
15515  0 /*untilTimeCode*/,
+
15516  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15517  },
+
15518 
+
15519 };
+
15520 
+
15521 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
+
15522 
+
15523 const extended::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
+
15524  kZoneNameMET /*name*/,
+
15525  0x0b8803ab /*zoneId*/,
+
15526  &kZoneContext /*zoneContext*/,
+
15527  5 /*transitionBufSize*/,
+
15528  1 /*numEras*/,
+
15529  kZoneEraMET /*eras*/,
+
15530 };
+
15531 
+
15532 //---------------------------------------------------------------------------
+
15533 // Zone name: MST
+
15534 // Zone Eras: 1
+
15535 // Strings (bytes): 8
+
15536 // Memory (8-bit): 31
+
15537 // Memory (32-bit): 44
+
15538 //---------------------------------------------------------------------------
+
15539 
+
15540 static const extended::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = {
+
15541  // -7:00 - MST
+
15542  {
+
15543  nullptr /*zonePolicy*/,
+
15544  "MST" /*format*/,
+
15545  -28 /*offsetCode*/,
+
15546  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15547  127 /*untilYearTiny*/,
+
15548  1 /*untilMonth*/,
+
15549  1 /*untilDay*/,
+
15550  0 /*untilTimeCode*/,
+
15551  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15552  },
+
15553 
+
15554 };
+
15555 
+
15556 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
+
15557 
+
15558 const extended::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
+
15559  kZoneNameMST /*name*/,
+
15560  0x0b880579 /*zoneId*/,
+
15561  &kZoneContext /*zoneContext*/,
+
15562  2 /*transitionBufSize*/,
+
15563  1 /*numEras*/,
+
15564  kZoneEraMST /*eras*/,
+
15565 };
+
15566 
+
15567 //---------------------------------------------------------------------------
+
15568 // Zone name: MST7MDT
+
15569 // Zone Eras: 1
+
15570 // Strings (bytes): 12
+
15571 // Memory (8-bit): 35
+
15572 // Memory (32-bit): 48
+
15573 //---------------------------------------------------------------------------
+
15574 
+
15575 static const extended::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = {
+
15576  // -7:00 US M%sT
+
15577  {
+
15578  &kPolicyUS /*zonePolicy*/,
+
15579  "M%T" /*format*/,
+
15580  -28 /*offsetCode*/,
+
15581  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15582  127 /*untilYearTiny*/,
+
15583  1 /*untilMonth*/,
+
15584  1 /*untilDay*/,
+
15585  0 /*untilTimeCode*/,
+
15586  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15587  },
+
15588 
+
15589 };
+
15590 
+
15591 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
+
15592 
+
15593 const extended::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
+
15594  kZoneNameMST7MDT /*name*/,
+
15595  0xf2af9375 /*zoneId*/,
+
15596  &kZoneContext /*zoneContext*/,
+
15597  6 /*transitionBufSize*/,
+
15598  1 /*numEras*/,
+
15599  kZoneEraMST7MDT /*eras*/,
+
15600 };
+
15601 
+
15602 //---------------------------------------------------------------------------
+
15603 // Zone name: PST8PDT
+
15604 // Zone Eras: 1
+
15605 // Strings (bytes): 12
+
15606 // Memory (8-bit): 35
+
15607 // Memory (32-bit): 48
+
15608 //---------------------------------------------------------------------------
+
15609 
+
15610 static const extended::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = {
+
15611  // -8:00 US P%sT
+
15612  {
+
15613  &kPolicyUS /*zonePolicy*/,
+
15614  "P%T" /*format*/,
+
15615  -32 /*offsetCode*/,
+
15616  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15617  127 /*untilYearTiny*/,
+
15618  1 /*untilMonth*/,
+
15619  1 /*untilDay*/,
+
15620  0 /*untilTimeCode*/,
+
15621  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15622  },
+
15623 
+
15624 };
+
15625 
+
15626 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
+
15627 
+
15628 const extended::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
+
15629  kZoneNamePST8PDT /*name*/,
+
15630  0xd99ee2dc /*zoneId*/,
+
15631  &kZoneContext /*zoneContext*/,
+
15632  6 /*transitionBufSize*/,
+
15633  1 /*numEras*/,
+
15634  kZoneEraPST8PDT /*eras*/,
+
15635 };
+
15636 
+
15637 //---------------------------------------------------------------------------
+
15638 // Zone name: Pacific/Apia
+
15639 // Zone Eras: 2
+
15640 // Strings (bytes): 29
+
15641 // Memory (8-bit): 63
+
15642 // Memory (32-bit): 81
+
15643 //---------------------------------------------------------------------------
+
15644 
+
15645 static const extended::ZoneEra kZoneEraPacific_Apia[] ACE_TIME_PROGMEM = {
+
15646  // -11:00 WS -11/-10 2011 Dec 29 24:00
+
15647  {
+
15648  &kPolicyWS /*zonePolicy*/,
+
15649  "-11/-10" /*format*/,
+
15650  -44 /*offsetCode*/,
+
15651  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15652  11 /*untilYearTiny*/,
+
15653  12 /*untilMonth*/,
+
15654  29 /*untilDay*/,
+
15655  96 /*untilTimeCode*/,
+
15656  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15657  },
+
15658  // 13:00 WS +13/+14
+
15659  {
+
15660  &kPolicyWS /*zonePolicy*/,
+
15661  "+13/+14" /*format*/,
+
15662  52 /*offsetCode*/,
+
15663  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15664  127 /*untilYearTiny*/,
+
15665  1 /*untilMonth*/,
+
15666  1 /*untilDay*/,
+
15667  0 /*untilTimeCode*/,
+
15668  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15669  },
+
15670 
+
15671 };
+
15672 
+
15673 static const char kZoneNamePacific_Apia[] ACE_TIME_PROGMEM = "Pacific/Apia";
+
15674 
+
15675 const extended::ZoneInfo kZonePacific_Apia ACE_TIME_PROGMEM = {
+
15676  kZoneNamePacific_Apia /*name*/,
+
15677  0x23359b5e /*zoneId*/,
+
15678  &kZoneContext /*zoneContext*/,
+
15679  5 /*transitionBufSize*/,
+
15680  2 /*numEras*/,
+
15681  kZoneEraPacific_Apia /*eras*/,
+
15682 };
+
15683 
+
15684 //---------------------------------------------------------------------------
+
15685 // Zone name: Pacific/Auckland
+
15686 // Zone Eras: 1
+
15687 // Strings (bytes): 22
+
15688 // Memory (8-bit): 45
+
15689 // Memory (32-bit): 58
+
15690 //---------------------------------------------------------------------------
+
15691 
+
15692 static const extended::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
+
15693  // 12:00 NZ NZ%sT
+
15694  {
+
15695  &kPolicyNZ /*zonePolicy*/,
+
15696  "NZ%T" /*format*/,
+
15697  48 /*offsetCode*/,
+
15698  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15699  127 /*untilYearTiny*/,
+
15700  1 /*untilMonth*/,
+
15701  1 /*untilDay*/,
+
15702  0 /*untilTimeCode*/,
+
15703  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15704  },
+
15705 
+
15706 };
+
15707 
+
15708 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "Pacific/Auckland";
+
15709 
+
15710 const extended::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
+
15711  kZoneNamePacific_Auckland /*name*/,
+
15712  0x25062f86 /*zoneId*/,
+
15713  &kZoneContext /*zoneContext*/,
+
15714  5 /*transitionBufSize*/,
+
15715  1 /*numEras*/,
+
15716  kZoneEraPacific_Auckland /*eras*/,
+
15717 };
+
15718 
+
15719 //---------------------------------------------------------------------------
+
15720 // Zone name: Pacific/Bougainville
+
15721 // Zone Eras: 2
+
15722 // Strings (bytes): 29
+
15723 // Memory (8-bit): 63
+
15724 // Memory (32-bit): 81
+
15725 //---------------------------------------------------------------------------
+
15726 
+
15727 static const extended::ZoneEra kZoneEraPacific_Bougainville[] ACE_TIME_PROGMEM = {
+
15728  // 10:00 - +10 2014 Dec 28 2:00
+
15729  {
+
15730  nullptr /*zonePolicy*/,
+
15731  "+10" /*format*/,
+
15732  40 /*offsetCode*/,
+
15733  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15734  14 /*untilYearTiny*/,
+
15735  12 /*untilMonth*/,
+
15736  28 /*untilDay*/,
+
15737  8 /*untilTimeCode*/,
+
15738  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15739  },
+
15740  // 11:00 - +11
+
15741  {
+
15742  nullptr /*zonePolicy*/,
+
15743  "+11" /*format*/,
+
15744  44 /*offsetCode*/,
+
15745  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15746  127 /*untilYearTiny*/,
+
15747  1 /*untilMonth*/,
+
15748  1 /*untilDay*/,
+
15749  0 /*untilTimeCode*/,
+
15750  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15751  },
+
15752 
+
15753 };
+
15754 
+
15755 static const char kZoneNamePacific_Bougainville[] ACE_TIME_PROGMEM = "Pacific/Bougainville";
+
15756 
+
15757 const extended::ZoneInfo kZonePacific_Bougainville ACE_TIME_PROGMEM = {
+
15758  kZoneNamePacific_Bougainville /*name*/,
+
15759  0x5e10f7a4 /*zoneId*/,
+
15760  &kZoneContext /*zoneContext*/,
+
15761  3 /*transitionBufSize*/,
+
15762  2 /*numEras*/,
+
15763  kZoneEraPacific_Bougainville /*eras*/,
+
15764 };
+
15765 
+
15766 //---------------------------------------------------------------------------
+
15767 // Zone name: Pacific/Chatham
+
15768 // Zone Eras: 1
+
15769 // Strings (bytes): 28
+
15770 // Memory (8-bit): 51
+
15771 // Memory (32-bit): 64
+
15772 //---------------------------------------------------------------------------
+
15773 
+
15774 static const extended::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
+
15775  // 12:45 Chatham +1245/+1345
+
15776  {
+
15777  &kPolicyChatham /*zonePolicy*/,
+
15778  "+1245/+1345" /*format*/,
+
15779  51 /*offsetCode*/,
+
15780  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15781  127 /*untilYearTiny*/,
+
15782  1 /*untilMonth*/,
+
15783  1 /*untilDay*/,
+
15784  0 /*untilTimeCode*/,
+
15785  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15786  },
+
15787 
+
15788 };
+
15789 
+
15790 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "Pacific/Chatham";
+
15791 
+
15792 const extended::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
+
15793  kZoneNamePacific_Chatham /*name*/,
+
15794  0x2f0de999 /*zoneId*/,
+
15795  &kZoneContext /*zoneContext*/,
+
15796  5 /*transitionBufSize*/,
+
15797  1 /*numEras*/,
+
15798  kZoneEraPacific_Chatham /*eras*/,
+
15799 };
+
15800 
+
15801 //---------------------------------------------------------------------------
+
15802 // Zone name: Pacific/Chuuk
+
15803 // Zone Eras: 1
+
15804 // Strings (bytes): 18
+
15805 // Memory (8-bit): 41
+
15806 // Memory (32-bit): 54
+
15807 //---------------------------------------------------------------------------
+
15808 
+
15809 static const extended::ZoneEra kZoneEraPacific_Chuuk[] ACE_TIME_PROGMEM = {
+
15810  // 10:00 - +10
+
15811  {
+
15812  nullptr /*zonePolicy*/,
+
15813  "+10" /*format*/,
+
15814  40 /*offsetCode*/,
+
15815  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15816  127 /*untilYearTiny*/,
+
15817  1 /*untilMonth*/,
+
15818  1 /*untilDay*/,
+
15819  0 /*untilTimeCode*/,
+
15820  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15821  },
+
15822 
+
15823 };
+
15824 
+
15825 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "Pacific/Chuuk";
+
15826 
+
15827 const extended::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
+
15828  kZoneNamePacific_Chuuk /*name*/,
+
15829  0x8a090b23 /*zoneId*/,
+
15830  &kZoneContext /*zoneContext*/,
+
15831  2 /*transitionBufSize*/,
+
15832  1 /*numEras*/,
+
15833  kZoneEraPacific_Chuuk /*eras*/,
+
15834 };
+
15835 
+
15836 //---------------------------------------------------------------------------
+
15837 // Zone name: Pacific/Easter
+
15838 // Zone Eras: 1
+
15839 // Strings (bytes): 23
+
15840 // Memory (8-bit): 46
+
15841 // Memory (32-bit): 59
+
15842 //---------------------------------------------------------------------------
+
15843 
+
15844 static const extended::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
+
15845  // -6:00 Chile -06/-05
+
15846  {
+
15847  &kPolicyChile /*zonePolicy*/,
+
15848  "-06/-05" /*format*/,
+
15849  -24 /*offsetCode*/,
+
15850  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15851  127 /*untilYearTiny*/,
+
15852  1 /*untilMonth*/,
+
15853  1 /*untilDay*/,
+
15854  0 /*untilTimeCode*/,
+
15855  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15856  },
+
15857 
+
15858 };
+
15859 
+
15860 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "Pacific/Easter";
+
15861 
+
15862 const extended::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
+
15863  kZoneNamePacific_Easter /*name*/,
+
15864  0xcf54f7e7 /*zoneId*/,
+
15865  &kZoneContext /*zoneContext*/,
+
15866  5 /*transitionBufSize*/,
+
15867  1 /*numEras*/,
+
15868  kZoneEraPacific_Easter /*eras*/,
+
15869 };
+
15870 
+
15871 //---------------------------------------------------------------------------
+
15872 // Zone name: Pacific/Efate
+
15873 // Zone Eras: 1
+
15874 // Strings (bytes): 22
+
15875 // Memory (8-bit): 45
+
15876 // Memory (32-bit): 58
+
15877 //---------------------------------------------------------------------------
+
15878 
+
15879 static const extended::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
+
15880  // 11:00 Vanuatu +11/+12
+
15881  {
+
15882  &kPolicyVanuatu /*zonePolicy*/,
+
15883  "+11/+12" /*format*/,
+
15884  44 /*offsetCode*/,
+
15885  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15886  127 /*untilYearTiny*/,
+
15887  1 /*untilMonth*/,
+
15888  1 /*untilDay*/,
+
15889  0 /*untilTimeCode*/,
+
15890  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15891  },
+
15892 
+
15893 };
+
15894 
+
15895 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "Pacific/Efate";
+
15896 
+
15897 const extended::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
+
15898  kZoneNamePacific_Efate /*name*/,
+
15899  0x8a2bce28 /*zoneId*/,
+
15900  &kZoneContext /*zoneContext*/,
+
15901  2 /*transitionBufSize*/,
+
15902  1 /*numEras*/,
+
15903  kZoneEraPacific_Efate /*eras*/,
+
15904 };
+
15905 
+
15906 //---------------------------------------------------------------------------
+
15907 // Zone name: Pacific/Enderbury
+
15908 // Zone Eras: 1
+
15909 // Strings (bytes): 22
+
15910 // Memory (8-bit): 45
+
15911 // Memory (32-bit): 58
+
15912 //---------------------------------------------------------------------------
+
15913 
+
15914 static const extended::ZoneEra kZoneEraPacific_Enderbury[] ACE_TIME_PROGMEM = {
+
15915  // 13:00 - +13
+
15916  {
+
15917  nullptr /*zonePolicy*/,
+
15918  "+13" /*format*/,
+
15919  52 /*offsetCode*/,
+
15920  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15921  127 /*untilYearTiny*/,
+
15922  1 /*untilMonth*/,
+
15923  1 /*untilDay*/,
+
15924  0 /*untilTimeCode*/,
+
15925  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15926  },
+
15927 
+
15928 };
+
15929 
+
15930 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "Pacific/Enderbury";
+
15931 
+
15932 const extended::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
+
15933  kZoneNamePacific_Enderbury /*name*/,
+
15934  0x61599a93 /*zoneId*/,
+
15935  &kZoneContext /*zoneContext*/,
+
15936  2 /*transitionBufSize*/,
+
15937  1 /*numEras*/,
+
15938  kZoneEraPacific_Enderbury /*eras*/,
+
15939 };
+
15940 
+
15941 //---------------------------------------------------------------------------
+
15942 // Zone name: Pacific/Fakaofo
+
15943 // Zone Eras: 2
+
15944 // Strings (bytes): 24
+
15945 // Memory (8-bit): 58
+
15946 // Memory (32-bit): 76
+
15947 //---------------------------------------------------------------------------
+
15948 
+
15949 static const extended::ZoneEra kZoneEraPacific_Fakaofo[] ACE_TIME_PROGMEM = {
+
15950  // -11:00 - -11 2011 Dec 30
+
15951  {
+
15952  nullptr /*zonePolicy*/,
+
15953  "-11" /*format*/,
+
15954  -44 /*offsetCode*/,
+
15955  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15956  11 /*untilYearTiny*/,
+
15957  12 /*untilMonth*/,
+
15958  30 /*untilDay*/,
+
15959  0 /*untilTimeCode*/,
+
15960  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15961  },
+
15962  // 13:00 - +13
+
15963  {
+
15964  nullptr /*zonePolicy*/,
+
15965  "+13" /*format*/,
+
15966  52 /*offsetCode*/,
+
15967  (0 << 4) + (0 + 4) /*deltaCode*/,
+
15968  127 /*untilYearTiny*/,
+
15969  1 /*untilMonth*/,
+
15970  1 /*untilDay*/,
+
15971  0 /*untilTimeCode*/,
+
15972  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
15973  },
+
15974 
+
15975 };
+
15976 
+
15977 static const char kZoneNamePacific_Fakaofo[] ACE_TIME_PROGMEM = "Pacific/Fakaofo";
+
15978 
+
15979 const extended::ZoneInfo kZonePacific_Fakaofo ACE_TIME_PROGMEM = {
+
15980  kZoneNamePacific_Fakaofo /*name*/,
+
15981  0x06532bba /*zoneId*/,
+
15982  &kZoneContext /*zoneContext*/,
+
15983  3 /*transitionBufSize*/,
+
15984  2 /*numEras*/,
+
15985  kZoneEraPacific_Fakaofo /*eras*/,
+
15986 };
+
15987 
+
15988 //---------------------------------------------------------------------------
+
15989 // Zone name: Pacific/Fiji
+
15990 // Zone Eras: 1
+
15991 // Strings (bytes): 21
+
15992 // Memory (8-bit): 44
+
15993 // Memory (32-bit): 57
+
15994 //---------------------------------------------------------------------------
+
15995 
+
15996 static const extended::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
+
15997  // 12:00 Fiji +12/+13
+
15998  {
+
15999  &kPolicyFiji /*zonePolicy*/,
+
16000  "+12/+13" /*format*/,
+
16001  48 /*offsetCode*/,
+
16002  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16003  127 /*untilYearTiny*/,
+
16004  1 /*untilMonth*/,
+
16005  1 /*untilDay*/,
+
16006  0 /*untilTimeCode*/,
+
16007  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16008  },
+
16009 
+
16010 };
+
16011 
+
16012 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "Pacific/Fiji";
+
16013 
+
16014 const extended::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
+
16015  kZoneNamePacific_Fiji /*name*/,
+
16016  0x23383ba5 /*zoneId*/,
+
16017  &kZoneContext /*zoneContext*/,
+
16018  6 /*transitionBufSize*/,
+
16019  1 /*numEras*/,
+
16020  kZoneEraPacific_Fiji /*eras*/,
+
16021 };
+
16022 
+
16023 //---------------------------------------------------------------------------
+
16024 // Zone name: Pacific/Funafuti
+
16025 // Zone Eras: 1
+
16026 // Strings (bytes): 21
+
16027 // Memory (8-bit): 44
+
16028 // Memory (32-bit): 57
+
16029 //---------------------------------------------------------------------------
+
16030 
+
16031 static const extended::ZoneEra kZoneEraPacific_Funafuti[] ACE_TIME_PROGMEM = {
+
16032  // 12:00 - +12
+
16033  {
+
16034  nullptr /*zonePolicy*/,
+
16035  "+12" /*format*/,
+
16036  48 /*offsetCode*/,
+
16037  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16038  127 /*untilYearTiny*/,
+
16039  1 /*untilMonth*/,
+
16040  1 /*untilDay*/,
+
16041  0 /*untilTimeCode*/,
+
16042  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16043  },
+
16044 
+
16045 };
+
16046 
+
16047 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "Pacific/Funafuti";
+
16048 
+
16049 const extended::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
+
16050  kZoneNamePacific_Funafuti /*name*/,
+
16051  0xdb402d65 /*zoneId*/,
+
16052  &kZoneContext /*zoneContext*/,
+
16053  2 /*transitionBufSize*/,
+
16054  1 /*numEras*/,
+
16055  kZoneEraPacific_Funafuti /*eras*/,
+
16056 };
+
16057 
+
16058 //---------------------------------------------------------------------------
+
16059 // Zone name: Pacific/Galapagos
+
16060 // Zone Eras: 1
+
16061 // Strings (bytes): 26
+
16062 // Memory (8-bit): 49
+
16063 // Memory (32-bit): 62
+
16064 //---------------------------------------------------------------------------
+
16065 
+
16066 static const extended::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
+
16067  // -6:00 Ecuador -06/-05
+
16068  {
+
16069  &kPolicyEcuador /*zonePolicy*/,
+
16070  "-06/-05" /*format*/,
+
16071  -24 /*offsetCode*/,
+
16072  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16073  127 /*untilYearTiny*/,
+
16074  1 /*untilMonth*/,
+
16075  1 /*untilDay*/,
+
16076  0 /*untilTimeCode*/,
+
16077  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16078  },
+
16079 
+
16080 };
+
16081 
+
16082 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "Pacific/Galapagos";
+
16083 
+
16084 const extended::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
+
16085  kZoneNamePacific_Galapagos /*name*/,
+
16086  0xa952f752 /*zoneId*/,
+
16087  &kZoneContext /*zoneContext*/,
+
16088  2 /*transitionBufSize*/,
+
16089  1 /*numEras*/,
+
16090  kZoneEraPacific_Galapagos /*eras*/,
+
16091 };
+
16092 
+
16093 //---------------------------------------------------------------------------
+
16094 // Zone name: Pacific/Gambier
+
16095 // Zone Eras: 1
+
16096 // Strings (bytes): 20
+
16097 // Memory (8-bit): 43
+
16098 // Memory (32-bit): 56
+
16099 //---------------------------------------------------------------------------
+
16100 
+
16101 static const extended::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
+
16102  // -9:00 - -09
+
16103  {
+
16104  nullptr /*zonePolicy*/,
+
16105  "-09" /*format*/,
+
16106  -36 /*offsetCode*/,
+
16107  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16108  127 /*untilYearTiny*/,
+
16109  1 /*untilMonth*/,
+
16110  1 /*untilDay*/,
+
16111  0 /*untilTimeCode*/,
+
16112  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16113  },
+
16114 
+
16115 };
+
16116 
+
16117 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "Pacific/Gambier";
+
16118 
+
16119 const extended::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
+
16120  kZoneNamePacific_Gambier /*name*/,
+
16121  0x53720c3a /*zoneId*/,
+
16122  &kZoneContext /*zoneContext*/,
+
16123  2 /*transitionBufSize*/,
+
16124  1 /*numEras*/,
+
16125  kZoneEraPacific_Gambier /*eras*/,
+
16126 };
+
16127 
+
16128 //---------------------------------------------------------------------------
+
16129 // Zone name: Pacific/Guadalcanal
+
16130 // Zone Eras: 1
+
16131 // Strings (bytes): 24
+
16132 // Memory (8-bit): 47
+
16133 // Memory (32-bit): 60
+
16134 //---------------------------------------------------------------------------
+
16135 
+
16136 static const extended::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
+
16137  // 11:00 - +11
+
16138  {
+
16139  nullptr /*zonePolicy*/,
+
16140  "+11" /*format*/,
+
16141  44 /*offsetCode*/,
+
16142  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16143  127 /*untilYearTiny*/,
+
16144  1 /*untilMonth*/,
+
16145  1 /*untilDay*/,
+
16146  0 /*untilTimeCode*/,
+
16147  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16148  },
+
16149 
+
16150 };
+
16151 
+
16152 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "Pacific/Guadalcanal";
+
16153 
+
16154 const extended::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
+
16155  kZoneNamePacific_Guadalcanal /*name*/,
+
16156  0xf4dd25f0 /*zoneId*/,
+
16157  &kZoneContext /*zoneContext*/,
+
16158  2 /*transitionBufSize*/,
+
16159  1 /*numEras*/,
+
16160  kZoneEraPacific_Guadalcanal /*eras*/,
+
16161 };
+
16162 
+
16163 //---------------------------------------------------------------------------
+
16164 // Zone name: Pacific/Guam
+
16165 // Zone Eras: 2
+
16166 // Strings (bytes): 22
+
16167 // Memory (8-bit): 56
+
16168 // Memory (32-bit): 74
+
16169 //---------------------------------------------------------------------------
+
16170 
+
16171 static const extended::ZoneEra kZoneEraPacific_Guam[] ACE_TIME_PROGMEM = {
+
16172  // 10:00 Guam G%sT 2000 Dec 23
+
16173  {
+
16174  &kPolicyGuam /*zonePolicy*/,
+
16175  "G%T" /*format*/,
+
16176  40 /*offsetCode*/,
+
16177  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16178  0 /*untilYearTiny*/,
+
16179  12 /*untilMonth*/,
+
16180  23 /*untilDay*/,
+
16181  0 /*untilTimeCode*/,
+
16182  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16183  },
+
16184  // 10:00 - ChST
+
16185  {
+
16186  nullptr /*zonePolicy*/,
+
16187  "ChST" /*format*/,
+
16188  40 /*offsetCode*/,
+
16189  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16190  127 /*untilYearTiny*/,
+
16191  1 /*untilMonth*/,
+
16192  1 /*untilDay*/,
+
16193  0 /*untilTimeCode*/,
+
16194  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16195  },
+
16196 
+
16197 };
+
16198 
+
16199 static const char kZoneNamePacific_Guam[] ACE_TIME_PROGMEM = "Pacific/Guam";
+
16200 
+
16201 const extended::ZoneInfo kZonePacific_Guam ACE_TIME_PROGMEM = {
+
16202  kZoneNamePacific_Guam /*name*/,
+
16203  0x2338f9ed /*zoneId*/,
+
16204  &kZoneContext /*zoneContext*/,
+
16205  3 /*transitionBufSize*/,
+
16206  2 /*numEras*/,
+
16207  kZoneEraPacific_Guam /*eras*/,
+
16208 };
+
16209 
+
16210 //---------------------------------------------------------------------------
+
16211 // Zone name: Pacific/Honolulu
+
16212 // Zone Eras: 1
+
16213 // Strings (bytes): 21
+
16214 // Memory (8-bit): 44
+
16215 // Memory (32-bit): 57
+
16216 //---------------------------------------------------------------------------
+
16217 
+
16218 static const extended::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
+
16219  // -10:00 - HST
+
16220  {
+
16221  nullptr /*zonePolicy*/,
+
16222  "HST" /*format*/,
+
16223  -40 /*offsetCode*/,
+
16224  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16225  127 /*untilYearTiny*/,
+
16226  1 /*untilMonth*/,
+
16227  1 /*untilDay*/,
+
16228  0 /*untilTimeCode*/,
+
16229  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16230  },
+
16231 
+
16232 };
+
16233 
+
16234 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "Pacific/Honolulu";
+
16235 
+
16236 const extended::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
+
16237  kZoneNamePacific_Honolulu /*name*/,
+
16238  0xe6e70af9 /*zoneId*/,
+
16239  &kZoneContext /*zoneContext*/,
+
16240  2 /*transitionBufSize*/,
+
16241  1 /*numEras*/,
+
16242  kZoneEraPacific_Honolulu /*eras*/,
+
16243 };
+
16244 
+
16245 //---------------------------------------------------------------------------
+
16246 // Zone name: Pacific/Kiritimati
+
16247 // Zone Eras: 1
+
16248 // Strings (bytes): 23
+
16249 // Memory (8-bit): 46
+
16250 // Memory (32-bit): 59
+
16251 //---------------------------------------------------------------------------
+
16252 
+
16253 static const extended::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
+
16254  // 14:00 - +14
+
16255  {
+
16256  nullptr /*zonePolicy*/,
+
16257  "+14" /*format*/,
+
16258  56 /*offsetCode*/,
+
16259  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16260  127 /*untilYearTiny*/,
+
16261  1 /*untilMonth*/,
+
16262  1 /*untilDay*/,
+
16263  0 /*untilTimeCode*/,
+
16264  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16265  },
+
16266 
+
16267 };
+
16268 
+
16269 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "Pacific/Kiritimati";
+
16270 
+
16271 const extended::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
+
16272  kZoneNamePacific_Kiritimati /*name*/,
+
16273  0x8305073a /*zoneId*/,
+
16274  &kZoneContext /*zoneContext*/,
+
16275  2 /*transitionBufSize*/,
+
16276  1 /*numEras*/,
+
16277  kZoneEraPacific_Kiritimati /*eras*/,
+
16278 };
+
16279 
+
16280 //---------------------------------------------------------------------------
+
16281 // Zone name: Pacific/Kosrae
+
16282 // Zone Eras: 2
+
16283 // Strings (bytes): 23
+
16284 // Memory (8-bit): 57
+
16285 // Memory (32-bit): 75
+
16286 //---------------------------------------------------------------------------
+
16287 
+
16288 static const extended::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
+
16289  // 12:00 - +12 1999
+
16290  {
+
16291  nullptr /*zonePolicy*/,
+
16292  "+12" /*format*/,
+
16293  48 /*offsetCode*/,
+
16294  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16295  -1 /*untilYearTiny*/,
+
16296  1 /*untilMonth*/,
+
16297  1 /*untilDay*/,
+
16298  0 /*untilTimeCode*/,
+
16299  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16300  },
+
16301  // 11:00 - +11
+
16302  {
+
16303  nullptr /*zonePolicy*/,
+
16304  "+11" /*format*/,
+
16305  44 /*offsetCode*/,
+
16306  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16307  127 /*untilYearTiny*/,
+
16308  1 /*untilMonth*/,
+
16309  1 /*untilDay*/,
+
16310  0 /*untilTimeCode*/,
+
16311  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16312  },
+
16313 
+
16314 };
+
16315 
+
16316 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "Pacific/Kosrae";
+
16317 
+
16318 const extended::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
+
16319  kZoneNamePacific_Kosrae /*name*/,
+
16320  0xde5139a8 /*zoneId*/,
+
16321  &kZoneContext /*zoneContext*/,
+
16322  2 /*transitionBufSize*/,
+
16323  2 /*numEras*/,
+
16324  kZoneEraPacific_Kosrae /*eras*/,
+
16325 };
+
16326 
+
16327 //---------------------------------------------------------------------------
+
16328 // Zone name: Pacific/Kwajalein
+
16329 // Zone Eras: 1
+
16330 // Strings (bytes): 22
+
16331 // Memory (8-bit): 45
+
16332 // Memory (32-bit): 58
+
16333 //---------------------------------------------------------------------------
+
16334 
+
16335 static const extended::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
+
16336  // 12:00 - +12
+
16337  {
+
16338  nullptr /*zonePolicy*/,
+
16339  "+12" /*format*/,
+
16340  48 /*offsetCode*/,
+
16341  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16342  127 /*untilYearTiny*/,
+
16343  1 /*untilMonth*/,
+
16344  1 /*untilDay*/,
+
16345  0 /*untilTimeCode*/,
+
16346  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16347  },
+
16348 
+
16349 };
+
16350 
+
16351 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "Pacific/Kwajalein";
+
16352 
+
16353 const extended::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
+
16354  kZoneNamePacific_Kwajalein /*name*/,
+
16355  0x8e216759 /*zoneId*/,
+
16356  &kZoneContext /*zoneContext*/,
+
16357  2 /*transitionBufSize*/,
+
16358  1 /*numEras*/,
+
16359  kZoneEraPacific_Kwajalein /*eras*/,
+
16360 };
+
16361 
+
16362 //---------------------------------------------------------------------------
+
16363 // Zone name: Pacific/Majuro
+
16364 // Zone Eras: 1
+
16365 // Strings (bytes): 19
+
16366 // Memory (8-bit): 42
+
16367 // Memory (32-bit): 55
+
16368 //---------------------------------------------------------------------------
+
16369 
+
16370 static const extended::ZoneEra kZoneEraPacific_Majuro[] ACE_TIME_PROGMEM = {
+
16371  // 12:00 - +12
+
16372  {
+
16373  nullptr /*zonePolicy*/,
+
16374  "+12" /*format*/,
+
16375  48 /*offsetCode*/,
+
16376  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16377  127 /*untilYearTiny*/,
+
16378  1 /*untilMonth*/,
+
16379  1 /*untilDay*/,
+
16380  0 /*untilTimeCode*/,
+
16381  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16382  },
+
16383 
+
16384 };
+
16385 
+
16386 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "Pacific/Majuro";
+
16387 
+
16388 const extended::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
+
16389  kZoneNamePacific_Majuro /*name*/,
+
16390  0xe1f95371 /*zoneId*/,
+
16391  &kZoneContext /*zoneContext*/,
+
16392  2 /*transitionBufSize*/,
+
16393  1 /*numEras*/,
+
16394  kZoneEraPacific_Majuro /*eras*/,
+
16395 };
+
16396 
+
16397 //---------------------------------------------------------------------------
+
16398 // Zone name: Pacific/Marquesas
+
16399 // Zone Eras: 1
+
16400 // Strings (bytes): 24
+
16401 // Memory (8-bit): 47
+
16402 // Memory (32-bit): 60
+
16403 //---------------------------------------------------------------------------
+
16404 
+
16405 static const extended::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
+
16406  // -9:30 - -0930
+
16407  {
+
16408  nullptr /*zonePolicy*/,
+
16409  "-0930" /*format*/,
+
16410  -38 /*offsetCode*/,
+
16411  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16412  127 /*untilYearTiny*/,
+
16413  1 /*untilMonth*/,
+
16414  1 /*untilDay*/,
+
16415  0 /*untilTimeCode*/,
+
16416  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16417  },
+
16418 
+
16419 };
+
16420 
+
16421 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "Pacific/Marquesas";
+
16422 
+
16423 const extended::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
+
16424  kZoneNamePacific_Marquesas /*name*/,
+
16425  0x57ca7135 /*zoneId*/,
+
16426  &kZoneContext /*zoneContext*/,
+
16427  2 /*transitionBufSize*/,
+
16428  1 /*numEras*/,
+
16429  kZoneEraPacific_Marquesas /*eras*/,
+
16430 };
+
16431 
+
16432 //---------------------------------------------------------------------------
+
16433 // Zone name: Pacific/Nauru
+
16434 // Zone Eras: 1
+
16435 // Strings (bytes): 18
+
16436 // Memory (8-bit): 41
+
16437 // Memory (32-bit): 54
+
16438 //---------------------------------------------------------------------------
+
16439 
+
16440 static const extended::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
+
16441  // 12:00 - +12
+
16442  {
+
16443  nullptr /*zonePolicy*/,
+
16444  "+12" /*format*/,
+
16445  48 /*offsetCode*/,
+
16446  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16447  127 /*untilYearTiny*/,
+
16448  1 /*untilMonth*/,
+
16449  1 /*untilDay*/,
+
16450  0 /*untilTimeCode*/,
+
16451  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16452  },
+
16453 
+
16454 };
+
16455 
+
16456 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "Pacific/Nauru";
+
16457 
+
16458 const extended::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
+
16459  kZoneNamePacific_Nauru /*name*/,
+
16460  0x8acc41ae /*zoneId*/,
+
16461  &kZoneContext /*zoneContext*/,
+
16462  2 /*transitionBufSize*/,
+
16463  1 /*numEras*/,
+
16464  kZoneEraPacific_Nauru /*eras*/,
+
16465 };
+
16466 
+
16467 //---------------------------------------------------------------------------
+
16468 // Zone name: Pacific/Niue
+
16469 // Zone Eras: 1
+
16470 // Strings (bytes): 17
+
16471 // Memory (8-bit): 40
+
16472 // Memory (32-bit): 53
+
16473 //---------------------------------------------------------------------------
+
16474 
+
16475 static const extended::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
+
16476  // -11:00 - -11
+
16477  {
+
16478  nullptr /*zonePolicy*/,
+
16479  "-11" /*format*/,
+
16480  -44 /*offsetCode*/,
+
16481  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16482  127 /*untilYearTiny*/,
+
16483  1 /*untilMonth*/,
+
16484  1 /*untilDay*/,
+
16485  0 /*untilTimeCode*/,
+
16486  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16487  },
+
16488 
+
16489 };
+
16490 
+
16491 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "Pacific/Niue";
+
16492 
+
16493 const extended::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
+
16494  kZoneNamePacific_Niue /*name*/,
+
16495  0x233ca014 /*zoneId*/,
+
16496  &kZoneContext /*zoneContext*/,
+
16497  2 /*transitionBufSize*/,
+
16498  1 /*numEras*/,
+
16499  kZoneEraPacific_Niue /*eras*/,
+
16500 };
+
16501 
+
16502 //---------------------------------------------------------------------------
+
16503 // Zone name: Pacific/Norfolk
+
16504 // Zone Eras: 3
+
16505 // Strings (bytes): 34
+
16506 // Memory (8-bit): 79
+
16507 // Memory (32-bit): 102
+
16508 //---------------------------------------------------------------------------
+
16509 
+
16510 static const extended::ZoneEra kZoneEraPacific_Norfolk[] ACE_TIME_PROGMEM = {
+
16511  // 11:30 - +1130 2015 Oct 4 02:00s
+
16512  {
+
16513  nullptr /*zonePolicy*/,
+
16514  "+1130" /*format*/,
+
16515  46 /*offsetCode*/,
+
16516  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16517  15 /*untilYearTiny*/,
+
16518  10 /*untilMonth*/,
+
16519  4 /*untilDay*/,
+
16520  8 /*untilTimeCode*/,
+
16521  extended::ZoneContext::kSuffixS /*untilTimeModifier*/,
+
16522  },
+
16523  // 11:00 - +11 2019 Jul
+
16524  {
+
16525  nullptr /*zonePolicy*/,
+
16526  "+11" /*format*/,
+
16527  44 /*offsetCode*/,
+
16528  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16529  19 /*untilYearTiny*/,
+
16530  7 /*untilMonth*/,
+
16531  1 /*untilDay*/,
+
16532  0 /*untilTimeCode*/,
+
16533  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16534  },
+
16535  // 11:00 AN +11/+12
+
16536  {
+
16537  &kPolicyAN /*zonePolicy*/,
+
16538  "+11/+12" /*format*/,
+
16539  44 /*offsetCode*/,
+
16540  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16541  127 /*untilYearTiny*/,
+
16542  1 /*untilMonth*/,
+
16543  1 /*untilDay*/,
+
16544  0 /*untilTimeCode*/,
+
16545  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16546  },
+
16547 
+
16548 };
+
16549 
+
16550 static const char kZoneNamePacific_Norfolk[] ACE_TIME_PROGMEM = "Pacific/Norfolk";
+
16551 
+
16552 const extended::ZoneInfo kZonePacific_Norfolk ACE_TIME_PROGMEM = {
+
16553  kZoneNamePacific_Norfolk /*name*/,
+
16554  0x8f4eb4be /*zoneId*/,
+
16555  &kZoneContext /*zoneContext*/,
+
16556  4 /*transitionBufSize*/,
+
16557  3 /*numEras*/,
+
16558  kZoneEraPacific_Norfolk /*eras*/,
+
16559 };
+
16560 
+
16561 //---------------------------------------------------------------------------
+
16562 // Zone name: Pacific/Noumea
+
16563 // Zone Eras: 1
+
16564 // Strings (bytes): 23
+
16565 // Memory (8-bit): 46
+
16566 // Memory (32-bit): 59
+
16567 //---------------------------------------------------------------------------
+
16568 
+
16569 static const extended::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
+
16570  // 11:00 NC +11/+12
+
16571  {
+
16572  &kPolicyNC /*zonePolicy*/,
+
16573  "+11/+12" /*format*/,
+
16574  44 /*offsetCode*/,
+
16575  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16576  127 /*untilYearTiny*/,
+
16577  1 /*untilMonth*/,
+
16578  1 /*untilDay*/,
+
16579  0 /*untilTimeCode*/,
+
16580  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16581  },
+
16582 
+
16583 };
+
16584 
+
16585 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "Pacific/Noumea";
+
16586 
+
16587 const extended::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
+
16588  kZoneNamePacific_Noumea /*name*/,
+
16589  0xe551b788 /*zoneId*/,
+
16590  &kZoneContext /*zoneContext*/,
+
16591  2 /*transitionBufSize*/,
+
16592  1 /*numEras*/,
+
16593  kZoneEraPacific_Noumea /*eras*/,
+
16594 };
+
16595 
+
16596 //---------------------------------------------------------------------------
+
16597 // Zone name: Pacific/Pago_Pago
+
16598 // Zone Eras: 1
+
16599 // Strings (bytes): 22
+
16600 // Memory (8-bit): 45
+
16601 // Memory (32-bit): 58
+
16602 //---------------------------------------------------------------------------
+
16603 
+
16604 static const extended::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
+
16605  // -11:00 - SST
+
16606  {
+
16607  nullptr /*zonePolicy*/,
+
16608  "SST" /*format*/,
+
16609  -44 /*offsetCode*/,
+
16610  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16611  127 /*untilYearTiny*/,
+
16612  1 /*untilMonth*/,
+
16613  1 /*untilDay*/,
+
16614  0 /*untilTimeCode*/,
+
16615  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16616  },
+
16617 
+
16618 };
+
16619 
+
16620 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "Pacific/Pago_Pago";
+
16621 
+
16622 const extended::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
+
16623  kZoneNamePacific_Pago_Pago /*name*/,
+
16624  0x603aebd0 /*zoneId*/,
+
16625  &kZoneContext /*zoneContext*/,
+
16626  2 /*transitionBufSize*/,
+
16627  1 /*numEras*/,
+
16628  kZoneEraPacific_Pago_Pago /*eras*/,
+
16629 };
+
16630 
+
16631 //---------------------------------------------------------------------------
+
16632 // Zone name: Pacific/Palau
+
16633 // Zone Eras: 1
+
16634 // Strings (bytes): 18
+
16635 // Memory (8-bit): 41
+
16636 // Memory (32-bit): 54
+
16637 //---------------------------------------------------------------------------
+
16638 
+
16639 static const extended::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
+
16640  // 9:00 - +09
+
16641  {
+
16642  nullptr /*zonePolicy*/,
+
16643  "+09" /*format*/,
+
16644  36 /*offsetCode*/,
+
16645  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16646  127 /*untilYearTiny*/,
+
16647  1 /*untilMonth*/,
+
16648  1 /*untilDay*/,
+
16649  0 /*untilTimeCode*/,
+
16650  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16651  },
+
16652 
+
16653 };
+
16654 
+
16655 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "Pacific/Palau";
+
16656 
+
16657 const extended::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
+
16658  kZoneNamePacific_Palau /*name*/,
+
16659  0x8af04a36 /*zoneId*/,
+
16660  &kZoneContext /*zoneContext*/,
+
16661  2 /*transitionBufSize*/,
+
16662  1 /*numEras*/,
+
16663  kZoneEraPacific_Palau /*eras*/,
+
16664 };
+
16665 
+
16666 //---------------------------------------------------------------------------
+
16667 // Zone name: Pacific/Pitcairn
+
16668 // Zone Eras: 1
+
16669 // Strings (bytes): 21
+
16670 // Memory (8-bit): 44
+
16671 // Memory (32-bit): 57
+
16672 //---------------------------------------------------------------------------
+
16673 
+
16674 static const extended::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
+
16675  // -8:00 - -08
+
16676  {
+
16677  nullptr /*zonePolicy*/,
+
16678  "-08" /*format*/,
+
16679  -32 /*offsetCode*/,
+
16680  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16681  127 /*untilYearTiny*/,
+
16682  1 /*untilMonth*/,
+
16683  1 /*untilDay*/,
+
16684  0 /*untilTimeCode*/,
+
16685  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16686  },
+
16687 
+
16688 };
+
16689 
+
16690 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "Pacific/Pitcairn";
+
16691 
+
16692 const extended::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
+
16693  kZoneNamePacific_Pitcairn /*name*/,
+
16694  0x8837d8bd /*zoneId*/,
+
16695  &kZoneContext /*zoneContext*/,
+
16696  2 /*transitionBufSize*/,
+
16697  1 /*numEras*/,
+
16698  kZoneEraPacific_Pitcairn /*eras*/,
+
16699 };
+
16700 
+
16701 //---------------------------------------------------------------------------
+
16702 // Zone name: Pacific/Pohnpei
+
16703 // Zone Eras: 1
+
16704 // Strings (bytes): 20
+
16705 // Memory (8-bit): 43
+
16706 // Memory (32-bit): 56
+
16707 //---------------------------------------------------------------------------
+
16708 
+
16709 static const extended::ZoneEra kZoneEraPacific_Pohnpei[] ACE_TIME_PROGMEM = {
+
16710  // 11:00 - +11
+
16711  {
+
16712  nullptr /*zonePolicy*/,
+
16713  "+11" /*format*/,
+
16714  44 /*offsetCode*/,
+
16715  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16716  127 /*untilYearTiny*/,
+
16717  1 /*untilMonth*/,
+
16718  1 /*untilDay*/,
+
16719  0 /*untilTimeCode*/,
+
16720  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16721  },
+
16722 
+
16723 };
+
16724 
+
16725 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "Pacific/Pohnpei";
+
16726 
+
16727 const extended::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
+
16728  kZoneNamePacific_Pohnpei /*name*/,
+
16729  0x28929f96 /*zoneId*/,
+
16730  &kZoneContext /*zoneContext*/,
+
16731  2 /*transitionBufSize*/,
+
16732  1 /*numEras*/,
+
16733  kZoneEraPacific_Pohnpei /*eras*/,
+
16734 };
+
16735 
+
16736 //---------------------------------------------------------------------------
+
16737 // Zone name: Pacific/Port_Moresby
+
16738 // Zone Eras: 1
+
16739 // Strings (bytes): 25
+
16740 // Memory (8-bit): 48
+
16741 // Memory (32-bit): 61
+
16742 //---------------------------------------------------------------------------
+
16743 
+
16744 static const extended::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
+
16745  // 10:00 - +10
+
16746  {
+
16747  nullptr /*zonePolicy*/,
+
16748  "+10" /*format*/,
+
16749  40 /*offsetCode*/,
+
16750  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16751  127 /*untilYearTiny*/,
+
16752  1 /*untilMonth*/,
+
16753  1 /*untilDay*/,
+
16754  0 /*untilTimeCode*/,
+
16755  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16756  },
+
16757 
+
16758 };
+
16759 
+
16760 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "Pacific/Port_Moresby";
+
16761 
+
16762 const extended::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
+
16763  kZoneNamePacific_Port_Moresby /*name*/,
+
16764  0xa7ba7f68 /*zoneId*/,
+
16765  &kZoneContext /*zoneContext*/,
+
16766  2 /*transitionBufSize*/,
+
16767  1 /*numEras*/,
+
16768  kZoneEraPacific_Port_Moresby /*eras*/,
+
16769 };
+
16770 
+
16771 //---------------------------------------------------------------------------
+
16772 // Zone name: Pacific/Rarotonga
+
16773 // Zone Eras: 1
+
16774 // Strings (bytes): 28
+
16775 // Memory (8-bit): 51
+
16776 // Memory (32-bit): 64
+
16777 //---------------------------------------------------------------------------
+
16778 
+
16779 static const extended::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
+
16780  // -10:00 Cook -10/-0930
+
16781  {
+
16782  &kPolicyCook /*zonePolicy*/,
+
16783  "-10/-0930" /*format*/,
+
16784  -40 /*offsetCode*/,
+
16785  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16786  127 /*untilYearTiny*/,
+
16787  1 /*untilMonth*/,
+
16788  1 /*untilDay*/,
+
16789  0 /*untilTimeCode*/,
+
16790  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16791  },
+
16792 
+
16793 };
+
16794 
+
16795 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "Pacific/Rarotonga";
+
16796 
+
16797 const extended::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
+
16798  kZoneNamePacific_Rarotonga /*name*/,
+
16799  0x9981a3b0 /*zoneId*/,
+
16800  &kZoneContext /*zoneContext*/,
+
16801  2 /*transitionBufSize*/,
+
16802  1 /*numEras*/,
+
16803  kZoneEraPacific_Rarotonga /*eras*/,
+
16804 };
+
16805 
+
16806 //---------------------------------------------------------------------------
+
16807 // Zone name: Pacific/Tahiti
+
16808 // Zone Eras: 1
+
16809 // Strings (bytes): 19
+
16810 // Memory (8-bit): 42
+
16811 // Memory (32-bit): 55
+
16812 //---------------------------------------------------------------------------
+
16813 
+
16814 static const extended::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
+
16815  // -10:00 - -10
+
16816  {
+
16817  nullptr /*zonePolicy*/,
+
16818  "-10" /*format*/,
+
16819  -40 /*offsetCode*/,
+
16820  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16821  127 /*untilYearTiny*/,
+
16822  1 /*untilMonth*/,
+
16823  1 /*untilDay*/,
+
16824  0 /*untilTimeCode*/,
+
16825  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16826  },
+
16827 
+
16828 };
+
16829 
+
16830 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "Pacific/Tahiti";
+
16831 
+
16832 const extended::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
+
16833  kZoneNamePacific_Tahiti /*name*/,
+
16834  0xf24c2446 /*zoneId*/,
+
16835  &kZoneContext /*zoneContext*/,
+
16836  2 /*transitionBufSize*/,
+
16837  1 /*numEras*/,
+
16838  kZoneEraPacific_Tahiti /*eras*/,
+
16839 };
+
16840 
+
16841 //---------------------------------------------------------------------------
+
16842 // Zone name: Pacific/Tarawa
+
16843 // Zone Eras: 1
+
16844 // Strings (bytes): 19
+
16845 // Memory (8-bit): 42
+
16846 // Memory (32-bit): 55
+
16847 //---------------------------------------------------------------------------
+
16848 
+
16849 static const extended::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
+
16850  // 12:00 - +12
+
16851  {
+
16852  nullptr /*zonePolicy*/,
+
16853  "+12" /*format*/,
+
16854  48 /*offsetCode*/,
+
16855  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16856  127 /*untilYearTiny*/,
+
16857  1 /*untilMonth*/,
+
16858  1 /*untilDay*/,
+
16859  0 /*untilTimeCode*/,
+
16860  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16861  },
+
16862 
+
16863 };
+
16864 
+
16865 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "Pacific/Tarawa";
+
16866 
+
16867 const extended::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
+
16868  kZoneNamePacific_Tarawa /*name*/,
+
16869  0xf2517e63 /*zoneId*/,
+
16870  &kZoneContext /*zoneContext*/,
+
16871  2 /*transitionBufSize*/,
+
16872  1 /*numEras*/,
+
16873  kZoneEraPacific_Tarawa /*eras*/,
+
16874 };
+
16875 
+
16876 //---------------------------------------------------------------------------
+
16877 // Zone name: Pacific/Tongatapu
+
16878 // Zone Eras: 2
+
16879 // Strings (bytes): 30
+
16880 // Memory (8-bit): 64
+
16881 // Memory (32-bit): 82
+
16882 //---------------------------------------------------------------------------
+
16883 
+
16884 static const extended::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
+
16885  // 13:00 - +13 1999
+
16886  {
+
16887  nullptr /*zonePolicy*/,
+
16888  "+13" /*format*/,
+
16889  52 /*offsetCode*/,
+
16890  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16891  -1 /*untilYearTiny*/,
+
16892  1 /*untilMonth*/,
+
16893  1 /*untilDay*/,
+
16894  0 /*untilTimeCode*/,
+
16895  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16896  },
+
16897  // 13:00 Tonga +13/+14
+
16898  {
+
16899  &kPolicyTonga /*zonePolicy*/,
+
16900  "+13/+14" /*format*/,
+
16901  52 /*offsetCode*/,
+
16902  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16903  127 /*untilYearTiny*/,
+
16904  1 /*untilMonth*/,
+
16905  1 /*untilDay*/,
+
16906  0 /*untilTimeCode*/,
+
16907  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16908  },
+
16909 
+
16910 };
+
16911 
+
16912 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "Pacific/Tongatapu";
+
16913 
+
16914 const extended::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
+
16915  kZoneNamePacific_Tongatapu /*name*/,
+
16916  0x262ca836 /*zoneId*/,
+
16917  &kZoneContext /*zoneContext*/,
+
16918  6 /*transitionBufSize*/,
+
16919  2 /*numEras*/,
+
16920  kZoneEraPacific_Tongatapu /*eras*/,
+
16921 };
+
16922 
+
16923 //---------------------------------------------------------------------------
+
16924 // Zone name: Pacific/Wake
+
16925 // Zone Eras: 1
+
16926 // Strings (bytes): 17
+
16927 // Memory (8-bit): 40
+
16928 // Memory (32-bit): 53
+
16929 //---------------------------------------------------------------------------
+
16930 
+
16931 static const extended::ZoneEra kZoneEraPacific_Wake[] ACE_TIME_PROGMEM = {
+
16932  // 12:00 - +12
+
16933  {
+
16934  nullptr /*zonePolicy*/,
+
16935  "+12" /*format*/,
+
16936  48 /*offsetCode*/,
+
16937  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16938  127 /*untilYearTiny*/,
+
16939  1 /*untilMonth*/,
+
16940  1 /*untilDay*/,
+
16941  0 /*untilTimeCode*/,
+
16942  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16943  },
+
16944 
+
16945 };
+
16946 
+
16947 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "Pacific/Wake";
+
16948 
+
16949 const extended::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
+
16950  kZoneNamePacific_Wake /*name*/,
+
16951  0x23416c2b /*zoneId*/,
+
16952  &kZoneContext /*zoneContext*/,
+
16953  2 /*transitionBufSize*/,
+
16954  1 /*numEras*/,
+
16955  kZoneEraPacific_Wake /*eras*/,
+
16956 };
+
16957 
+
16958 //---------------------------------------------------------------------------
+
16959 // Zone name: Pacific/Wallis
+
16960 // Zone Eras: 1
+
16961 // Strings (bytes): 19
+
16962 // Memory (8-bit): 42
+
16963 // Memory (32-bit): 55
+
16964 //---------------------------------------------------------------------------
+
16965 
+
16966 static const extended::ZoneEra kZoneEraPacific_Wallis[] ACE_TIME_PROGMEM = {
+
16967  // 12:00 - +12
+
16968  {
+
16969  nullptr /*zonePolicy*/,
+
16970  "+12" /*format*/,
+
16971  48 /*offsetCode*/,
+
16972  (0 << 4) + (0 + 4) /*deltaCode*/,
+
16973  127 /*untilYearTiny*/,
+
16974  1 /*untilMonth*/,
+
16975  1 /*untilDay*/,
+
16976  0 /*untilTimeCode*/,
+
16977  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
16978  },
+
16979 
+
16980 };
+
16981 
+
16982 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "Pacific/Wallis";
+
16983 
+
16984 const extended::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
+
16985  kZoneNamePacific_Wallis /*name*/,
+
16986  0xf94ddb0f /*zoneId*/,
+
16987  &kZoneContext /*zoneContext*/,
+
16988  2 /*transitionBufSize*/,
+
16989  1 /*numEras*/,
+
16990  kZoneEraPacific_Wallis /*eras*/,
+
16991 };
+
16992 
+
16993 //---------------------------------------------------------------------------
+
16994 // Zone name: WET
+
16995 // Zone Eras: 1
+
16996 // Strings (bytes): 9
+
16997 // Memory (8-bit): 32
+
16998 // Memory (32-bit): 45
+
16999 //---------------------------------------------------------------------------
+
17000 
+
17001 static const extended::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = {
+
17002  // 0:00 EU WE%sT
+
17003  {
+
17004  &kPolicyEU /*zonePolicy*/,
+
17005  "WE%T" /*format*/,
+
17006  0 /*offsetCode*/,
+
17007  (0 << 4) + (0 + 4) /*deltaCode*/,
+
17008  127 /*untilYearTiny*/,
+
17009  1 /*untilMonth*/,
+
17010  1 /*untilDay*/,
+
17011  0 /*untilTimeCode*/,
+
17012  extended::ZoneContext::kSuffixW /*untilTimeModifier*/,
+
17013  },
+
17014 
+
17015 };
+
17016 
+
17017 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
+
17018 
+
17019 const extended::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
+
17020  kZoneNameWET /*name*/,
+
17021  0x0b882e35 /*zoneId*/,
+
17022  &kZoneContext /*zoneContext*/,
+
17023  5 /*transitionBufSize*/,
+
17024  1 /*numEras*/,
+
17025  kZoneEraWET /*eras*/,
+
17026 };
+
17027 
+
17028 
+
17029 
+
17030 //---------------------------------------------------------------------------
+
17031 // Links: 206
+
17032 //---------------------------------------------------------------------------
+
17033 
+
17034 const extended::ZoneInfo& kZoneAfrica_Addis_Ababa = kZoneAfrica_Nairobi;
+
17035 const extended::ZoneInfo& kZoneAfrica_Asmara = kZoneAfrica_Nairobi;
+
17036 const extended::ZoneInfo& kZoneAfrica_Asmera = kZoneAfrica_Nairobi;
+
17037 const extended::ZoneInfo& kZoneAfrica_Bamako = kZoneAfrica_Abidjan;
+
17038 const extended::ZoneInfo& kZoneAfrica_Bangui = kZoneAfrica_Lagos;
+
17039 const extended::ZoneInfo& kZoneAfrica_Banjul = kZoneAfrica_Abidjan;
+
17040 const extended::ZoneInfo& kZoneAfrica_Blantyre = kZoneAfrica_Maputo;
+
17041 const extended::ZoneInfo& kZoneAfrica_Brazzaville = kZoneAfrica_Lagos;
+
17042 const extended::ZoneInfo& kZoneAfrica_Bujumbura = kZoneAfrica_Maputo;
+
17043 const extended::ZoneInfo& kZoneAfrica_Conakry = kZoneAfrica_Abidjan;
+
17044 const extended::ZoneInfo& kZoneAfrica_Dakar = kZoneAfrica_Abidjan;
+
17045 const extended::ZoneInfo& kZoneAfrica_Dar_es_Salaam = kZoneAfrica_Nairobi;
+
17046 const extended::ZoneInfo& kZoneAfrica_Djibouti = kZoneAfrica_Nairobi;
+
17047 const extended::ZoneInfo& kZoneAfrica_Douala = kZoneAfrica_Lagos;
+
17048 const extended::ZoneInfo& kZoneAfrica_Freetown = kZoneAfrica_Abidjan;
+
17049 const extended::ZoneInfo& kZoneAfrica_Gaborone = kZoneAfrica_Maputo;
+
17050 const extended::ZoneInfo& kZoneAfrica_Harare = kZoneAfrica_Maputo;
+
17051 const extended::ZoneInfo& kZoneAfrica_Kampala = kZoneAfrica_Nairobi;
+
17052 const extended::ZoneInfo& kZoneAfrica_Kigali = kZoneAfrica_Maputo;
+
17053 const extended::ZoneInfo& kZoneAfrica_Kinshasa = kZoneAfrica_Lagos;
+
17054 const extended::ZoneInfo& kZoneAfrica_Libreville = kZoneAfrica_Lagos;
+
17055 const extended::ZoneInfo& kZoneAfrica_Lome = kZoneAfrica_Abidjan;
+
17056 const extended::ZoneInfo& kZoneAfrica_Luanda = kZoneAfrica_Lagos;
+
17057 const extended::ZoneInfo& kZoneAfrica_Lubumbashi = kZoneAfrica_Maputo;
+
17058 const extended::ZoneInfo& kZoneAfrica_Lusaka = kZoneAfrica_Maputo;
+
17059 const extended::ZoneInfo& kZoneAfrica_Malabo = kZoneAfrica_Lagos;
+
17060 const extended::ZoneInfo& kZoneAfrica_Maseru = kZoneAfrica_Johannesburg;
+
17061 const extended::ZoneInfo& kZoneAfrica_Mbabane = kZoneAfrica_Johannesburg;
+
17062 const extended::ZoneInfo& kZoneAfrica_Mogadishu = kZoneAfrica_Nairobi;
+
17063 const extended::ZoneInfo& kZoneAfrica_Niamey = kZoneAfrica_Lagos;
+
17064 const extended::ZoneInfo& kZoneAfrica_Nouakchott = kZoneAfrica_Abidjan;
+
17065 const extended::ZoneInfo& kZoneAfrica_Ouagadougou = kZoneAfrica_Abidjan;
+
17066 const extended::ZoneInfo& kZoneAfrica_Porto_Novo = kZoneAfrica_Lagos;
+
17067 const extended::ZoneInfo& kZoneAfrica_Timbuktu = kZoneAfrica_Abidjan;
+
17068 const extended::ZoneInfo& kZoneAmerica_Anguilla = kZoneAmerica_Port_of_Spain;
+
17069 const extended::ZoneInfo& kZoneAmerica_Antigua = kZoneAmerica_Port_of_Spain;
+
17070 const extended::ZoneInfo& kZoneAmerica_Argentina_ComodRivadavia = kZoneAmerica_Argentina_Catamarca;
+
17071 const extended::ZoneInfo& kZoneAmerica_Aruba = kZoneAmerica_Curacao;
+
17072 const extended::ZoneInfo& kZoneAmerica_Atka = kZoneAmerica_Adak;
+
17073 const extended::ZoneInfo& kZoneAmerica_Buenos_Aires = kZoneAmerica_Argentina_Buenos_Aires;
+
17074 const extended::ZoneInfo& kZoneAmerica_Catamarca = kZoneAmerica_Argentina_Catamarca;
+
17075 const extended::ZoneInfo& kZoneAmerica_Cayman = kZoneAmerica_Panama;
+
17076 const extended::ZoneInfo& kZoneAmerica_Coral_Harbour = kZoneAmerica_Atikokan;
+
17077 const extended::ZoneInfo& kZoneAmerica_Cordoba = kZoneAmerica_Argentina_Cordoba;
+
17078 const extended::ZoneInfo& kZoneAmerica_Dominica = kZoneAmerica_Port_of_Spain;
+
17079 const extended::ZoneInfo& kZoneAmerica_Ensenada = kZoneAmerica_Tijuana;
+
17080 const extended::ZoneInfo& kZoneAmerica_Fort_Wayne = kZoneAmerica_Indiana_Indianapolis;
+
17081 const extended::ZoneInfo& kZoneAmerica_Godthab = kZoneAmerica_Nuuk;
+
17082 const extended::ZoneInfo& kZoneAmerica_Grenada = kZoneAmerica_Port_of_Spain;
+
17083 const extended::ZoneInfo& kZoneAmerica_Guadeloupe = kZoneAmerica_Port_of_Spain;
+
17084 const extended::ZoneInfo& kZoneAmerica_Indianapolis = kZoneAmerica_Indiana_Indianapolis;
+
17085 const extended::ZoneInfo& kZoneAmerica_Jujuy = kZoneAmerica_Argentina_Jujuy;
+
17086 const extended::ZoneInfo& kZoneAmerica_Knox_IN = kZoneAmerica_Indiana_Knox;
+
17087 const extended::ZoneInfo& kZoneAmerica_Kralendijk = kZoneAmerica_Curacao;
+
17088 const extended::ZoneInfo& kZoneAmerica_Louisville = kZoneAmerica_Kentucky_Louisville;
+
17089 const extended::ZoneInfo& kZoneAmerica_Lower_Princes = kZoneAmerica_Curacao;
+
17090 const extended::ZoneInfo& kZoneAmerica_Marigot = kZoneAmerica_Port_of_Spain;
+
17091 const extended::ZoneInfo& kZoneAmerica_Mendoza = kZoneAmerica_Argentina_Mendoza;
+
17092 const extended::ZoneInfo& kZoneAmerica_Montreal = kZoneAmerica_Toronto;
+
17093 const extended::ZoneInfo& kZoneAmerica_Montserrat = kZoneAmerica_Port_of_Spain;
+
17094 const extended::ZoneInfo& kZoneAmerica_Porto_Acre = kZoneAmerica_Rio_Branco;
+
17095 const extended::ZoneInfo& kZoneAmerica_Rosario = kZoneAmerica_Argentina_Cordoba;
+
17096 const extended::ZoneInfo& kZoneAmerica_Santa_Isabel = kZoneAmerica_Tijuana;
+
17097 const extended::ZoneInfo& kZoneAmerica_Shiprock = kZoneAmerica_Denver;
+
17098 const extended::ZoneInfo& kZoneAmerica_St_Barthelemy = kZoneAmerica_Port_of_Spain;
+
17099 const extended::ZoneInfo& kZoneAmerica_St_Kitts = kZoneAmerica_Port_of_Spain;
+
17100 const extended::ZoneInfo& kZoneAmerica_St_Lucia = kZoneAmerica_Port_of_Spain;
+
17101 const extended::ZoneInfo& kZoneAmerica_St_Thomas = kZoneAmerica_Port_of_Spain;
+
17102 const extended::ZoneInfo& kZoneAmerica_St_Vincent = kZoneAmerica_Port_of_Spain;
+
17103 const extended::ZoneInfo& kZoneAmerica_Tortola = kZoneAmerica_Port_of_Spain;
+
17104 const extended::ZoneInfo& kZoneAmerica_Virgin = kZoneAmerica_Port_of_Spain;
+
17105 const extended::ZoneInfo& kZoneAntarctica_McMurdo = kZonePacific_Auckland;
+
17106 const extended::ZoneInfo& kZoneAntarctica_South_Pole = kZonePacific_Auckland;
+
17107 const extended::ZoneInfo& kZoneArctic_Longyearbyen = kZoneEurope_Oslo;
+
17108 const extended::ZoneInfo& kZoneAsia_Aden = kZoneAsia_Riyadh;
+
17109 const extended::ZoneInfo& kZoneAsia_Ashkhabad = kZoneAsia_Ashgabat;
+
17110 const extended::ZoneInfo& kZoneAsia_Bahrain = kZoneAsia_Qatar;
+
17111 const extended::ZoneInfo& kZoneAsia_Calcutta = kZoneAsia_Kolkata;
+
17112 const extended::ZoneInfo& kZoneAsia_Chongqing = kZoneAsia_Shanghai;
+
17113 const extended::ZoneInfo& kZoneAsia_Chungking = kZoneAsia_Shanghai;
+
17114 const extended::ZoneInfo& kZoneAsia_Dacca = kZoneAsia_Dhaka;
+
17115 const extended::ZoneInfo& kZoneAsia_Harbin = kZoneAsia_Shanghai;
+
17116 const extended::ZoneInfo& kZoneAsia_Istanbul = kZoneEurope_Istanbul;
+
17117 const extended::ZoneInfo& kZoneAsia_Kashgar = kZoneAsia_Urumqi;
+
17118 const extended::ZoneInfo& kZoneAsia_Katmandu = kZoneAsia_Kathmandu;
+
17119 const extended::ZoneInfo& kZoneAsia_Kuwait = kZoneAsia_Riyadh;
+
17120 const extended::ZoneInfo& kZoneAsia_Macao = kZoneAsia_Macau;
+
17121 const extended::ZoneInfo& kZoneAsia_Muscat = kZoneAsia_Dubai;
+
17122 const extended::ZoneInfo& kZoneAsia_Phnom_Penh = kZoneAsia_Bangkok;
+
17123 const extended::ZoneInfo& kZoneAsia_Rangoon = kZoneAsia_Yangon;
+
17124 const extended::ZoneInfo& kZoneAsia_Saigon = kZoneAsia_Ho_Chi_Minh;
+
17125 const extended::ZoneInfo& kZoneAsia_Tel_Aviv = kZoneAsia_Jerusalem;
+
17126 const extended::ZoneInfo& kZoneAsia_Thimbu = kZoneAsia_Thimphu;
+
17127 const extended::ZoneInfo& kZoneAsia_Ujung_Pandang = kZoneAsia_Makassar;
+
17128 const extended::ZoneInfo& kZoneAsia_Ulan_Bator = kZoneAsia_Ulaanbaatar;
+
17129 const extended::ZoneInfo& kZoneAsia_Vientiane = kZoneAsia_Bangkok;
+
17130 const extended::ZoneInfo& kZoneAtlantic_Faeroe = kZoneAtlantic_Faroe;
+
17131 const extended::ZoneInfo& kZoneAtlantic_Jan_Mayen = kZoneEurope_Oslo;
+
17132 const extended::ZoneInfo& kZoneAtlantic_St_Helena = kZoneAfrica_Abidjan;
+
17133 const extended::ZoneInfo& kZoneAustralia_ACT = kZoneAustralia_Sydney;
+
17134 const extended::ZoneInfo& kZoneAustralia_Canberra = kZoneAustralia_Sydney;
+
17135 const extended::ZoneInfo& kZoneAustralia_LHI = kZoneAustralia_Lord_Howe;
+
17136 const extended::ZoneInfo& kZoneAustralia_NSW = kZoneAustralia_Sydney;
+
17137 const extended::ZoneInfo& kZoneAustralia_North = kZoneAustralia_Darwin;
+
17138 const extended::ZoneInfo& kZoneAustralia_Queensland = kZoneAustralia_Brisbane;
+
17139 const extended::ZoneInfo& kZoneAustralia_South = kZoneAustralia_Adelaide;
+
17140 const extended::ZoneInfo& kZoneAustralia_Tasmania = kZoneAustralia_Hobart;
+
17141 const extended::ZoneInfo& kZoneAustralia_Victoria = kZoneAustralia_Melbourne;
+
17142 const extended::ZoneInfo& kZoneAustralia_West = kZoneAustralia_Perth;
+
17143 const extended::ZoneInfo& kZoneAustralia_Yancowinna = kZoneAustralia_Broken_Hill;
+
17144 const extended::ZoneInfo& kZoneBrazil_Acre = kZoneAmerica_Rio_Branco;
+
17145 const extended::ZoneInfo& kZoneBrazil_DeNoronha = kZoneAmerica_Noronha;
+
17146 const extended::ZoneInfo& kZoneBrazil_East = kZoneAmerica_Sao_Paulo;
+
17147 const extended::ZoneInfo& kZoneBrazil_West = kZoneAmerica_Manaus;
+
17148 const extended::ZoneInfo& kZoneCanada_Atlantic = kZoneAmerica_Halifax;
+
17149 const extended::ZoneInfo& kZoneCanada_Central = kZoneAmerica_Winnipeg;
+
17150 const extended::ZoneInfo& kZoneCanada_Eastern = kZoneAmerica_Toronto;
+
17151 const extended::ZoneInfo& kZoneCanada_Mountain = kZoneAmerica_Edmonton;
+
17152 const extended::ZoneInfo& kZoneCanada_Newfoundland = kZoneAmerica_St_Johns;
+
17153 const extended::ZoneInfo& kZoneCanada_Pacific = kZoneAmerica_Vancouver;
+
17154 const extended::ZoneInfo& kZoneCanada_Saskatchewan = kZoneAmerica_Regina;
+
17155 const extended::ZoneInfo& kZoneCanada_Yukon = kZoneAmerica_Whitehorse;
+
17156 const extended::ZoneInfo& kZoneChile_Continental = kZoneAmerica_Santiago;
+
17157 const extended::ZoneInfo& kZoneChile_EasterIsland = kZonePacific_Easter;
+
17158 const extended::ZoneInfo& kZoneCuba = kZoneAmerica_Havana;
+
17159 const extended::ZoneInfo& kZoneEgypt = kZoneAfrica_Cairo;
+
17160 const extended::ZoneInfo& kZoneEire = kZoneEurope_Dublin;
+
17161 const extended::ZoneInfo& kZoneEtc_GMT_PLUS_0 = kZoneEtc_GMT;
+
17162 const extended::ZoneInfo& kZoneEtc_GMT_0 = kZoneEtc_GMT;
+
17163 const extended::ZoneInfo& kZoneEtc_GMT0 = kZoneEtc_GMT;
+
17164 const extended::ZoneInfo& kZoneEtc_Greenwich = kZoneEtc_GMT;
+
17165 const extended::ZoneInfo& kZoneEtc_UCT = kZoneEtc_UTC;
+
17166 const extended::ZoneInfo& kZoneEtc_Universal = kZoneEtc_UTC;
+
17167 const extended::ZoneInfo& kZoneEtc_Zulu = kZoneEtc_UTC;
+
17168 const extended::ZoneInfo& kZoneEurope_Belfast = kZoneEurope_London;
+
17169 const extended::ZoneInfo& kZoneEurope_Bratislava = kZoneEurope_Prague;
+
17170 const extended::ZoneInfo& kZoneEurope_Busingen = kZoneEurope_Zurich;
+
17171 const extended::ZoneInfo& kZoneEurope_Guernsey = kZoneEurope_London;
+
17172 const extended::ZoneInfo& kZoneEurope_Isle_of_Man = kZoneEurope_London;
+
17173 const extended::ZoneInfo& kZoneEurope_Jersey = kZoneEurope_London;
+
17174 const extended::ZoneInfo& kZoneEurope_Ljubljana = kZoneEurope_Belgrade;
+
17175 const extended::ZoneInfo& kZoneEurope_Mariehamn = kZoneEurope_Helsinki;
+
17176 const extended::ZoneInfo& kZoneEurope_Nicosia = kZoneAsia_Nicosia;
+
17177 const extended::ZoneInfo& kZoneEurope_Podgorica = kZoneEurope_Belgrade;
+
17178 const extended::ZoneInfo& kZoneEurope_San_Marino = kZoneEurope_Rome;
+
17179 const extended::ZoneInfo& kZoneEurope_Sarajevo = kZoneEurope_Belgrade;
+
17180 const extended::ZoneInfo& kZoneEurope_Skopje = kZoneEurope_Belgrade;
+
17181 const extended::ZoneInfo& kZoneEurope_Tiraspol = kZoneEurope_Chisinau;
+
17182 const extended::ZoneInfo& kZoneEurope_Vaduz = kZoneEurope_Zurich;
+
17183 const extended::ZoneInfo& kZoneEurope_Vatican = kZoneEurope_Rome;
+
17184 const extended::ZoneInfo& kZoneEurope_Zagreb = kZoneEurope_Belgrade;
+
17185 const extended::ZoneInfo& kZoneGB = kZoneEurope_London;
+
17186 const extended::ZoneInfo& kZoneGB_Eire = kZoneEurope_London;
+
17187 const extended::ZoneInfo& kZoneGMT = kZoneEtc_GMT;
+
17188 const extended::ZoneInfo& kZoneGMT_PLUS_0 = kZoneEtc_GMT;
+
17189 const extended::ZoneInfo& kZoneGMT_0 = kZoneEtc_GMT;
+
17190 const extended::ZoneInfo& kZoneGMT0 = kZoneEtc_GMT;
+
17191 const extended::ZoneInfo& kZoneGreenwich = kZoneEtc_GMT;
+
17192 const extended::ZoneInfo& kZoneHongkong = kZoneAsia_Hong_Kong;
+
17193 const extended::ZoneInfo& kZoneIceland = kZoneAtlantic_Reykjavik;
+
17194 const extended::ZoneInfo& kZoneIndian_Antananarivo = kZoneAfrica_Nairobi;
+
17195 const extended::ZoneInfo& kZoneIndian_Comoro = kZoneAfrica_Nairobi;
+
17196 const extended::ZoneInfo& kZoneIndian_Mayotte = kZoneAfrica_Nairobi;
+
17197 const extended::ZoneInfo& kZoneIran = kZoneAsia_Tehran;
+
17198 const extended::ZoneInfo& kZoneIsrael = kZoneAsia_Jerusalem;
+
17199 const extended::ZoneInfo& kZoneJamaica = kZoneAmerica_Jamaica;
+
17200 const extended::ZoneInfo& kZoneJapan = kZoneAsia_Tokyo;
+
17201 const extended::ZoneInfo& kZoneKwajalein = kZonePacific_Kwajalein;
+
17202 const extended::ZoneInfo& kZoneLibya = kZoneAfrica_Tripoli;
+
17203 const extended::ZoneInfo& kZoneMexico_BajaNorte = kZoneAmerica_Tijuana;
+
17204 const extended::ZoneInfo& kZoneMexico_BajaSur = kZoneAmerica_Mazatlan;
+
17205 const extended::ZoneInfo& kZoneMexico_General = kZoneAmerica_Mexico_City;
+
17206 const extended::ZoneInfo& kZoneNZ = kZonePacific_Auckland;
+
17207 const extended::ZoneInfo& kZoneNZ_CHAT = kZonePacific_Chatham;
+
17208 const extended::ZoneInfo& kZoneNavajo = kZoneAmerica_Denver;
+
17209 const extended::ZoneInfo& kZonePRC = kZoneAsia_Shanghai;
+
17210 const extended::ZoneInfo& kZonePacific_Johnston = kZonePacific_Honolulu;
+
17211 const extended::ZoneInfo& kZonePacific_Midway = kZonePacific_Pago_Pago;
+
17212 const extended::ZoneInfo& kZonePacific_Ponape = kZonePacific_Pohnpei;
+
17213 const extended::ZoneInfo& kZonePacific_Saipan = kZonePacific_Guam;
+
17214 const extended::ZoneInfo& kZonePacific_Samoa = kZonePacific_Pago_Pago;
+
17215 const extended::ZoneInfo& kZonePacific_Truk = kZonePacific_Chuuk;
+
17216 const extended::ZoneInfo& kZonePacific_Yap = kZonePacific_Chuuk;
+
17217 const extended::ZoneInfo& kZonePoland = kZoneEurope_Warsaw;
+
17218 const extended::ZoneInfo& kZonePortugal = kZoneEurope_Lisbon;
+
17219 const extended::ZoneInfo& kZoneROC = kZoneAsia_Taipei;
+
17220 const extended::ZoneInfo& kZoneROK = kZoneAsia_Seoul;
+
17221 const extended::ZoneInfo& kZoneSingapore = kZoneAsia_Singapore;
+
17222 const extended::ZoneInfo& kZoneTurkey = kZoneEurope_Istanbul;
+
17223 const extended::ZoneInfo& kZoneUCT = kZoneEtc_UTC;
+
17224 const extended::ZoneInfo& kZoneUS_Alaska = kZoneAmerica_Anchorage;
+
17225 const extended::ZoneInfo& kZoneUS_Aleutian = kZoneAmerica_Adak;
+
17226 const extended::ZoneInfo& kZoneUS_Arizona = kZoneAmerica_Phoenix;
+
17227 const extended::ZoneInfo& kZoneUS_Central = kZoneAmerica_Chicago;
+
17228 const extended::ZoneInfo& kZoneUS_East_Indiana = kZoneAmerica_Indiana_Indianapolis;
+
17229 const extended::ZoneInfo& kZoneUS_Eastern = kZoneAmerica_New_York;
+
17230 const extended::ZoneInfo& kZoneUS_Hawaii = kZonePacific_Honolulu;
+
17231 const extended::ZoneInfo& kZoneUS_Indiana_Starke = kZoneAmerica_Indiana_Knox;
+
17232 const extended::ZoneInfo& kZoneUS_Michigan = kZoneAmerica_Detroit;
+
17233 const extended::ZoneInfo& kZoneUS_Mountain = kZoneAmerica_Denver;
+
17234 const extended::ZoneInfo& kZoneUS_Pacific = kZoneAmerica_Los_Angeles;
+
17235 const extended::ZoneInfo& kZoneUS_Samoa = kZonePacific_Pago_Pago;
+
17236 const extended::ZoneInfo& kZoneUTC = kZoneEtc_UTC;
+
17237 const extended::ZoneInfo& kZoneUniversal = kZoneEtc_UTC;
+
17238 const extended::ZoneInfo& kZoneW_SU = kZoneEurope_Moscow;
+
17239 const extended::ZoneInfo& kZoneZulu = kZoneEtc_UTC;
+
17240 
+
17241 }
+
17242 }
+ diff --git a/docs/html/_2zone__infos_8h_source.html b/docs/html/_2zone__infos_8h_source.html index 6ace003d5..e087077dc 100644 --- a/docs/html/_2zone__infos_8h_source.html +++ b/docs/html/_2zone__infos_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx/zone_infos.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx/zone_infos.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
zone_infos.h
-
1 // This file was generated by the following script:
2 //
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
4 //
5 // using the TZ Database files
6 //
7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
8 //
9 // from https://github.com/eggert/tz/releases/tag/2020a
10 //
11 // DO NOT EDIT
12 
13 #ifndef ACE_TIME_ZONEDBX_ZONE_INFOS_H
14 #define ACE_TIME_ZONEDBX_ZONE_INFOS_H
15 
16 #include <ace_time/internal/ZoneInfo.h>
17 
18 namespace ace_time {
19 namespace zonedbx {
20 
21 //---------------------------------------------------------------------------
22 // ZoneContext (should not be in PROGMEM)
23 //---------------------------------------------------------------------------
24 
25 // Version of the TZ Database which generated these files.
26 extern const char kTzDatabaseVersion[];
27 
28 // Metadata about the zonedb files.
29 extern const extended::ZoneContext kZoneContext;
30 
31 //---------------------------------------------------------------------------
32 // Supported zones: 387
33 //---------------------------------------------------------------------------
34 
35 extern const extended::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan
36 extern const extended::ZoneInfo kZoneAfrica_Accra; // Africa/Accra
37 extern const extended::ZoneInfo kZoneAfrica_Algiers; // Africa/Algiers
38 extern const extended::ZoneInfo kZoneAfrica_Bissau; // Africa/Bissau
39 extern const extended::ZoneInfo kZoneAfrica_Cairo; // Africa/Cairo
40 extern const extended::ZoneInfo kZoneAfrica_Casablanca; // Africa/Casablanca
41 extern const extended::ZoneInfo kZoneAfrica_Ceuta; // Africa/Ceuta
42 extern const extended::ZoneInfo kZoneAfrica_El_Aaiun; // Africa/El_Aaiun
43 extern const extended::ZoneInfo kZoneAfrica_Johannesburg; // Africa/Johannesburg
44 extern const extended::ZoneInfo kZoneAfrica_Juba; // Africa/Juba
45 extern const extended::ZoneInfo kZoneAfrica_Khartoum; // Africa/Khartoum
46 extern const extended::ZoneInfo kZoneAfrica_Lagos; // Africa/Lagos
47 extern const extended::ZoneInfo kZoneAfrica_Maputo; // Africa/Maputo
48 extern const extended::ZoneInfo kZoneAfrica_Monrovia; // Africa/Monrovia
49 extern const extended::ZoneInfo kZoneAfrica_Nairobi; // Africa/Nairobi
50 extern const extended::ZoneInfo kZoneAfrica_Ndjamena; // Africa/Ndjamena
51 extern const extended::ZoneInfo kZoneAfrica_Sao_Tome; // Africa/Sao_Tome
52 extern const extended::ZoneInfo kZoneAfrica_Tripoli; // Africa/Tripoli
53 extern const extended::ZoneInfo kZoneAfrica_Tunis; // Africa/Tunis
54 extern const extended::ZoneInfo kZoneAfrica_Windhoek; // Africa/Windhoek
55 extern const extended::ZoneInfo kZoneAmerica_Adak; // America/Adak
56 extern const extended::ZoneInfo kZoneAmerica_Anchorage; // America/Anchorage
57 extern const extended::ZoneInfo kZoneAmerica_Araguaina; // America/Araguaina
58 extern const extended::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires; // America/Argentina/Buenos_Aires
59 extern const extended::ZoneInfo kZoneAmerica_Argentina_Catamarca; // America/Argentina/Catamarca
60 extern const extended::ZoneInfo kZoneAmerica_Argentina_Cordoba; // America/Argentina/Cordoba
61 extern const extended::ZoneInfo kZoneAmerica_Argentina_Jujuy; // America/Argentina/Jujuy
62 extern const extended::ZoneInfo kZoneAmerica_Argentina_La_Rioja; // America/Argentina/La_Rioja
63 extern const extended::ZoneInfo kZoneAmerica_Argentina_Mendoza; // America/Argentina/Mendoza
64 extern const extended::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos; // America/Argentina/Rio_Gallegos
65 extern const extended::ZoneInfo kZoneAmerica_Argentina_Salta; // America/Argentina/Salta
66 extern const extended::ZoneInfo kZoneAmerica_Argentina_San_Juan; // America/Argentina/San_Juan
67 extern const extended::ZoneInfo kZoneAmerica_Argentina_San_Luis; // America/Argentina/San_Luis
68 extern const extended::ZoneInfo kZoneAmerica_Argentina_Tucuman; // America/Argentina/Tucuman
69 extern const extended::ZoneInfo kZoneAmerica_Argentina_Ushuaia; // America/Argentina/Ushuaia
70 extern const extended::ZoneInfo kZoneAmerica_Asuncion; // America/Asuncion
71 extern const extended::ZoneInfo kZoneAmerica_Atikokan; // America/Atikokan
72 extern const extended::ZoneInfo kZoneAmerica_Bahia; // America/Bahia
73 extern const extended::ZoneInfo kZoneAmerica_Bahia_Banderas; // America/Bahia_Banderas
74 extern const extended::ZoneInfo kZoneAmerica_Barbados; // America/Barbados
75 extern const extended::ZoneInfo kZoneAmerica_Belem; // America/Belem
76 extern const extended::ZoneInfo kZoneAmerica_Belize; // America/Belize
77 extern const extended::ZoneInfo kZoneAmerica_Blanc_Sablon; // America/Blanc-Sablon
78 extern const extended::ZoneInfo kZoneAmerica_Boa_Vista; // America/Boa_Vista
79 extern const extended::ZoneInfo kZoneAmerica_Bogota; // America/Bogota
80 extern const extended::ZoneInfo kZoneAmerica_Boise; // America/Boise
81 extern const extended::ZoneInfo kZoneAmerica_Cambridge_Bay; // America/Cambridge_Bay
82 extern const extended::ZoneInfo kZoneAmerica_Campo_Grande; // America/Campo_Grande
83 extern const extended::ZoneInfo kZoneAmerica_Cancun; // America/Cancun
84 extern const extended::ZoneInfo kZoneAmerica_Caracas; // America/Caracas
85 extern const extended::ZoneInfo kZoneAmerica_Cayenne; // America/Cayenne
86 extern const extended::ZoneInfo kZoneAmerica_Chicago; // America/Chicago
87 extern const extended::ZoneInfo kZoneAmerica_Chihuahua; // America/Chihuahua
88 extern const extended::ZoneInfo kZoneAmerica_Costa_Rica; // America/Costa_Rica
89 extern const extended::ZoneInfo kZoneAmerica_Creston; // America/Creston
90 extern const extended::ZoneInfo kZoneAmerica_Cuiaba; // America/Cuiaba
91 extern const extended::ZoneInfo kZoneAmerica_Curacao; // America/Curacao
92 extern const extended::ZoneInfo kZoneAmerica_Danmarkshavn; // America/Danmarkshavn
93 extern const extended::ZoneInfo kZoneAmerica_Dawson; // America/Dawson
94 extern const extended::ZoneInfo kZoneAmerica_Dawson_Creek; // America/Dawson_Creek
95 extern const extended::ZoneInfo kZoneAmerica_Denver; // America/Denver
96 extern const extended::ZoneInfo kZoneAmerica_Detroit; // America/Detroit
97 extern const extended::ZoneInfo kZoneAmerica_Edmonton; // America/Edmonton
98 extern const extended::ZoneInfo kZoneAmerica_Eirunepe; // America/Eirunepe
99 extern const extended::ZoneInfo kZoneAmerica_El_Salvador; // America/El_Salvador
100 extern const extended::ZoneInfo kZoneAmerica_Fort_Nelson; // America/Fort_Nelson
101 extern const extended::ZoneInfo kZoneAmerica_Fortaleza; // America/Fortaleza
102 extern const extended::ZoneInfo kZoneAmerica_Glace_Bay; // America/Glace_Bay
103 extern const extended::ZoneInfo kZoneAmerica_Goose_Bay; // America/Goose_Bay
104 extern const extended::ZoneInfo kZoneAmerica_Grand_Turk; // America/Grand_Turk
105 extern const extended::ZoneInfo kZoneAmerica_Guatemala; // America/Guatemala
106 extern const extended::ZoneInfo kZoneAmerica_Guayaquil; // America/Guayaquil
107 extern const extended::ZoneInfo kZoneAmerica_Guyana; // America/Guyana
108 extern const extended::ZoneInfo kZoneAmerica_Halifax; // America/Halifax
109 extern const extended::ZoneInfo kZoneAmerica_Havana; // America/Havana
110 extern const extended::ZoneInfo kZoneAmerica_Hermosillo; // America/Hermosillo
111 extern const extended::ZoneInfo kZoneAmerica_Indiana_Indianapolis; // America/Indiana/Indianapolis
112 extern const extended::ZoneInfo kZoneAmerica_Indiana_Knox; // America/Indiana/Knox
113 extern const extended::ZoneInfo kZoneAmerica_Indiana_Marengo; // America/Indiana/Marengo
114 extern const extended::ZoneInfo kZoneAmerica_Indiana_Petersburg; // America/Indiana/Petersburg
115 extern const extended::ZoneInfo kZoneAmerica_Indiana_Tell_City; // America/Indiana/Tell_City
116 extern const extended::ZoneInfo kZoneAmerica_Indiana_Vevay; // America/Indiana/Vevay
117 extern const extended::ZoneInfo kZoneAmerica_Indiana_Vincennes; // America/Indiana/Vincennes
118 extern const extended::ZoneInfo kZoneAmerica_Indiana_Winamac; // America/Indiana/Winamac
119 extern const extended::ZoneInfo kZoneAmerica_Inuvik; // America/Inuvik
120 extern const extended::ZoneInfo kZoneAmerica_Iqaluit; // America/Iqaluit
121 extern const extended::ZoneInfo kZoneAmerica_Jamaica; // America/Jamaica
122 extern const extended::ZoneInfo kZoneAmerica_Juneau; // America/Juneau
123 extern const extended::ZoneInfo kZoneAmerica_Kentucky_Louisville; // America/Kentucky/Louisville
124 extern const extended::ZoneInfo kZoneAmerica_Kentucky_Monticello; // America/Kentucky/Monticello
125 extern const extended::ZoneInfo kZoneAmerica_La_Paz; // America/La_Paz
126 extern const extended::ZoneInfo kZoneAmerica_Lima; // America/Lima
127 extern const extended::ZoneInfo kZoneAmerica_Los_Angeles; // America/Los_Angeles
128 extern const extended::ZoneInfo kZoneAmerica_Maceio; // America/Maceio
129 extern const extended::ZoneInfo kZoneAmerica_Managua; // America/Managua
130 extern const extended::ZoneInfo kZoneAmerica_Manaus; // America/Manaus
131 extern const extended::ZoneInfo kZoneAmerica_Martinique; // America/Martinique
132 extern const extended::ZoneInfo kZoneAmerica_Matamoros; // America/Matamoros
133 extern const extended::ZoneInfo kZoneAmerica_Mazatlan; // America/Mazatlan
134 extern const extended::ZoneInfo kZoneAmerica_Menominee; // America/Menominee
135 extern const extended::ZoneInfo kZoneAmerica_Merida; // America/Merida
136 extern const extended::ZoneInfo kZoneAmerica_Metlakatla; // America/Metlakatla
137 extern const extended::ZoneInfo kZoneAmerica_Mexico_City; // America/Mexico_City
138 extern const extended::ZoneInfo kZoneAmerica_Miquelon; // America/Miquelon
139 extern const extended::ZoneInfo kZoneAmerica_Moncton; // America/Moncton
140 extern const extended::ZoneInfo kZoneAmerica_Monterrey; // America/Monterrey
141 extern const extended::ZoneInfo kZoneAmerica_Montevideo; // America/Montevideo
142 extern const extended::ZoneInfo kZoneAmerica_Nassau; // America/Nassau
143 extern const extended::ZoneInfo kZoneAmerica_New_York; // America/New_York
144 extern const extended::ZoneInfo kZoneAmerica_Nipigon; // America/Nipigon
145 extern const extended::ZoneInfo kZoneAmerica_Nome; // America/Nome
146 extern const extended::ZoneInfo kZoneAmerica_Noronha; // America/Noronha
147 extern const extended::ZoneInfo kZoneAmerica_North_Dakota_Beulah; // America/North_Dakota/Beulah
148 extern const extended::ZoneInfo kZoneAmerica_North_Dakota_Center; // America/North_Dakota/Center
149 extern const extended::ZoneInfo kZoneAmerica_North_Dakota_New_Salem; // America/North_Dakota/New_Salem
150 extern const extended::ZoneInfo kZoneAmerica_Nuuk; // America/Nuuk
151 extern const extended::ZoneInfo kZoneAmerica_Ojinaga; // America/Ojinaga
152 extern const extended::ZoneInfo kZoneAmerica_Panama; // America/Panama
153 extern const extended::ZoneInfo kZoneAmerica_Pangnirtung; // America/Pangnirtung
154 extern const extended::ZoneInfo kZoneAmerica_Paramaribo; // America/Paramaribo
155 extern const extended::ZoneInfo kZoneAmerica_Phoenix; // America/Phoenix
156 extern const extended::ZoneInfo kZoneAmerica_Port_au_Prince; // America/Port-au-Prince
157 extern const extended::ZoneInfo kZoneAmerica_Port_of_Spain; // America/Port_of_Spain
158 extern const extended::ZoneInfo kZoneAmerica_Porto_Velho; // America/Porto_Velho
159 extern const extended::ZoneInfo kZoneAmerica_Puerto_Rico; // America/Puerto_Rico
160 extern const extended::ZoneInfo kZoneAmerica_Punta_Arenas; // America/Punta_Arenas
161 extern const extended::ZoneInfo kZoneAmerica_Rainy_River; // America/Rainy_River
162 extern const extended::ZoneInfo kZoneAmerica_Rankin_Inlet; // America/Rankin_Inlet
163 extern const extended::ZoneInfo kZoneAmerica_Recife; // America/Recife
164 extern const extended::ZoneInfo kZoneAmerica_Regina; // America/Regina
165 extern const extended::ZoneInfo kZoneAmerica_Resolute; // America/Resolute
166 extern const extended::ZoneInfo kZoneAmerica_Rio_Branco; // America/Rio_Branco
167 extern const extended::ZoneInfo kZoneAmerica_Santarem; // America/Santarem
168 extern const extended::ZoneInfo kZoneAmerica_Santiago; // America/Santiago
169 extern const extended::ZoneInfo kZoneAmerica_Santo_Domingo; // America/Santo_Domingo
170 extern const extended::ZoneInfo kZoneAmerica_Sao_Paulo; // America/Sao_Paulo
171 extern const extended::ZoneInfo kZoneAmerica_Scoresbysund; // America/Scoresbysund
172 extern const extended::ZoneInfo kZoneAmerica_Sitka; // America/Sitka
173 extern const extended::ZoneInfo kZoneAmerica_St_Johns; // America/St_Johns
174 extern const extended::ZoneInfo kZoneAmerica_Swift_Current; // America/Swift_Current
175 extern const extended::ZoneInfo kZoneAmerica_Tegucigalpa; // America/Tegucigalpa
176 extern const extended::ZoneInfo kZoneAmerica_Thule; // America/Thule
177 extern const extended::ZoneInfo kZoneAmerica_Thunder_Bay; // America/Thunder_Bay
178 extern const extended::ZoneInfo kZoneAmerica_Tijuana; // America/Tijuana
179 extern const extended::ZoneInfo kZoneAmerica_Toronto; // America/Toronto
180 extern const extended::ZoneInfo kZoneAmerica_Vancouver; // America/Vancouver
181 extern const extended::ZoneInfo kZoneAmerica_Whitehorse; // America/Whitehorse
182 extern const extended::ZoneInfo kZoneAmerica_Winnipeg; // America/Winnipeg
183 extern const extended::ZoneInfo kZoneAmerica_Yakutat; // America/Yakutat
184 extern const extended::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife
185 extern const extended::ZoneInfo kZoneAntarctica_Casey; // Antarctica/Casey
186 extern const extended::ZoneInfo kZoneAntarctica_Davis; // Antarctica/Davis
187 extern const extended::ZoneInfo kZoneAntarctica_DumontDUrville; // Antarctica/DumontDUrville
188 extern const extended::ZoneInfo kZoneAntarctica_Macquarie; // Antarctica/Macquarie
189 extern const extended::ZoneInfo kZoneAntarctica_Mawson; // Antarctica/Mawson
190 extern const extended::ZoneInfo kZoneAntarctica_Palmer; // Antarctica/Palmer
191 extern const extended::ZoneInfo kZoneAntarctica_Rothera; // Antarctica/Rothera
192 extern const extended::ZoneInfo kZoneAntarctica_Syowa; // Antarctica/Syowa
193 extern const extended::ZoneInfo kZoneAntarctica_Troll; // Antarctica/Troll
194 extern const extended::ZoneInfo kZoneAntarctica_Vostok; // Antarctica/Vostok
195 extern const extended::ZoneInfo kZoneAsia_Almaty; // Asia/Almaty
196 extern const extended::ZoneInfo kZoneAsia_Amman; // Asia/Amman
197 extern const extended::ZoneInfo kZoneAsia_Anadyr; // Asia/Anadyr
198 extern const extended::ZoneInfo kZoneAsia_Aqtau; // Asia/Aqtau
199 extern const extended::ZoneInfo kZoneAsia_Aqtobe; // Asia/Aqtobe
200 extern const extended::ZoneInfo kZoneAsia_Ashgabat; // Asia/Ashgabat
201 extern const extended::ZoneInfo kZoneAsia_Atyrau; // Asia/Atyrau
202 extern const extended::ZoneInfo kZoneAsia_Baghdad; // Asia/Baghdad
203 extern const extended::ZoneInfo kZoneAsia_Baku; // Asia/Baku
204 extern const extended::ZoneInfo kZoneAsia_Bangkok; // Asia/Bangkok
205 extern const extended::ZoneInfo kZoneAsia_Barnaul; // Asia/Barnaul
206 extern const extended::ZoneInfo kZoneAsia_Beirut; // Asia/Beirut
207 extern const extended::ZoneInfo kZoneAsia_Bishkek; // Asia/Bishkek
208 extern const extended::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei
209 extern const extended::ZoneInfo kZoneAsia_Chita; // Asia/Chita
210 extern const extended::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan
211 extern const extended::ZoneInfo kZoneAsia_Colombo; // Asia/Colombo
212 extern const extended::ZoneInfo kZoneAsia_Damascus; // Asia/Damascus
213 extern const extended::ZoneInfo kZoneAsia_Dhaka; // Asia/Dhaka
214 extern const extended::ZoneInfo kZoneAsia_Dili; // Asia/Dili
215 extern const extended::ZoneInfo kZoneAsia_Dubai; // Asia/Dubai
216 extern const extended::ZoneInfo kZoneAsia_Dushanbe; // Asia/Dushanbe
217 extern const extended::ZoneInfo kZoneAsia_Famagusta; // Asia/Famagusta
218 extern const extended::ZoneInfo kZoneAsia_Gaza; // Asia/Gaza
219 extern const extended::ZoneInfo kZoneAsia_Hebron; // Asia/Hebron
220 extern const extended::ZoneInfo kZoneAsia_Ho_Chi_Minh; // Asia/Ho_Chi_Minh
221 extern const extended::ZoneInfo kZoneAsia_Hong_Kong; // Asia/Hong_Kong
222 extern const extended::ZoneInfo kZoneAsia_Hovd; // Asia/Hovd
223 extern const extended::ZoneInfo kZoneAsia_Irkutsk; // Asia/Irkutsk
224 extern const extended::ZoneInfo kZoneAsia_Jakarta; // Asia/Jakarta
225 extern const extended::ZoneInfo kZoneAsia_Jayapura; // Asia/Jayapura
226 extern const extended::ZoneInfo kZoneAsia_Jerusalem; // Asia/Jerusalem
227 extern const extended::ZoneInfo kZoneAsia_Kabul; // Asia/Kabul
228 extern const extended::ZoneInfo kZoneAsia_Kamchatka; // Asia/Kamchatka
229 extern const extended::ZoneInfo kZoneAsia_Karachi; // Asia/Karachi
230 extern const extended::ZoneInfo kZoneAsia_Kathmandu; // Asia/Kathmandu
231 extern const extended::ZoneInfo kZoneAsia_Khandyga; // Asia/Khandyga
232 extern const extended::ZoneInfo kZoneAsia_Kolkata; // Asia/Kolkata
233 extern const extended::ZoneInfo kZoneAsia_Krasnoyarsk; // Asia/Krasnoyarsk
234 extern const extended::ZoneInfo kZoneAsia_Kuala_Lumpur; // Asia/Kuala_Lumpur
235 extern const extended::ZoneInfo kZoneAsia_Kuching; // Asia/Kuching
236 extern const extended::ZoneInfo kZoneAsia_Macau; // Asia/Macau
237 extern const extended::ZoneInfo kZoneAsia_Magadan; // Asia/Magadan
238 extern const extended::ZoneInfo kZoneAsia_Makassar; // Asia/Makassar
239 extern const extended::ZoneInfo kZoneAsia_Manila; // Asia/Manila
240 extern const extended::ZoneInfo kZoneAsia_Nicosia; // Asia/Nicosia
241 extern const extended::ZoneInfo kZoneAsia_Novokuznetsk; // Asia/Novokuznetsk
242 extern const extended::ZoneInfo kZoneAsia_Novosibirsk; // Asia/Novosibirsk
243 extern const extended::ZoneInfo kZoneAsia_Omsk; // Asia/Omsk
244 extern const extended::ZoneInfo kZoneAsia_Oral; // Asia/Oral
245 extern const extended::ZoneInfo kZoneAsia_Pontianak; // Asia/Pontianak
246 extern const extended::ZoneInfo kZoneAsia_Pyongyang; // Asia/Pyongyang
247 extern const extended::ZoneInfo kZoneAsia_Qatar; // Asia/Qatar
248 extern const extended::ZoneInfo kZoneAsia_Qostanay; // Asia/Qostanay
249 extern const extended::ZoneInfo kZoneAsia_Qyzylorda; // Asia/Qyzylorda
250 extern const extended::ZoneInfo kZoneAsia_Riyadh; // Asia/Riyadh
251 extern const extended::ZoneInfo kZoneAsia_Sakhalin; // Asia/Sakhalin
252 extern const extended::ZoneInfo kZoneAsia_Samarkand; // Asia/Samarkand
253 extern const extended::ZoneInfo kZoneAsia_Seoul; // Asia/Seoul
254 extern const extended::ZoneInfo kZoneAsia_Shanghai; // Asia/Shanghai
255 extern const extended::ZoneInfo kZoneAsia_Singapore; // Asia/Singapore
256 extern const extended::ZoneInfo kZoneAsia_Srednekolymsk; // Asia/Srednekolymsk
257 extern const extended::ZoneInfo kZoneAsia_Taipei; // Asia/Taipei
258 extern const extended::ZoneInfo kZoneAsia_Tashkent; // Asia/Tashkent
259 extern const extended::ZoneInfo kZoneAsia_Tbilisi; // Asia/Tbilisi
260 extern const extended::ZoneInfo kZoneAsia_Tehran; // Asia/Tehran
261 extern const extended::ZoneInfo kZoneAsia_Thimphu; // Asia/Thimphu
262 extern const extended::ZoneInfo kZoneAsia_Tokyo; // Asia/Tokyo
263 extern const extended::ZoneInfo kZoneAsia_Tomsk; // Asia/Tomsk
264 extern const extended::ZoneInfo kZoneAsia_Ulaanbaatar; // Asia/Ulaanbaatar
265 extern const extended::ZoneInfo kZoneAsia_Urumqi; // Asia/Urumqi
266 extern const extended::ZoneInfo kZoneAsia_Ust_Nera; // Asia/Ust-Nera
267 extern const extended::ZoneInfo kZoneAsia_Vladivostok; // Asia/Vladivostok
268 extern const extended::ZoneInfo kZoneAsia_Yakutsk; // Asia/Yakutsk
269 extern const extended::ZoneInfo kZoneAsia_Yangon; // Asia/Yangon
270 extern const extended::ZoneInfo kZoneAsia_Yekaterinburg; // Asia/Yekaterinburg
271 extern const extended::ZoneInfo kZoneAsia_Yerevan; // Asia/Yerevan
272 extern const extended::ZoneInfo kZoneAtlantic_Azores; // Atlantic/Azores
273 extern const extended::ZoneInfo kZoneAtlantic_Bermuda; // Atlantic/Bermuda
274 extern const extended::ZoneInfo kZoneAtlantic_Canary; // Atlantic/Canary
275 extern const extended::ZoneInfo kZoneAtlantic_Cape_Verde; // Atlantic/Cape_Verde
276 extern const extended::ZoneInfo kZoneAtlantic_Faroe; // Atlantic/Faroe
277 extern const extended::ZoneInfo kZoneAtlantic_Madeira; // Atlantic/Madeira
278 extern const extended::ZoneInfo kZoneAtlantic_Reykjavik; // Atlantic/Reykjavik
279 extern const extended::ZoneInfo kZoneAtlantic_South_Georgia; // Atlantic/South_Georgia
280 extern const extended::ZoneInfo kZoneAtlantic_Stanley; // Atlantic/Stanley
281 extern const extended::ZoneInfo kZoneAustralia_Adelaide; // Australia/Adelaide
282 extern const extended::ZoneInfo kZoneAustralia_Brisbane; // Australia/Brisbane
283 extern const extended::ZoneInfo kZoneAustralia_Broken_Hill; // Australia/Broken_Hill
284 extern const extended::ZoneInfo kZoneAustralia_Currie; // Australia/Currie
285 extern const extended::ZoneInfo kZoneAustralia_Darwin; // Australia/Darwin
286 extern const extended::ZoneInfo kZoneAustralia_Eucla; // Australia/Eucla
287 extern const extended::ZoneInfo kZoneAustralia_Hobart; // Australia/Hobart
288 extern const extended::ZoneInfo kZoneAustralia_Lindeman; // Australia/Lindeman
289 extern const extended::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe
290 extern const extended::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne
291 extern const extended::ZoneInfo kZoneAustralia_Perth; // Australia/Perth
292 extern const extended::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney
293 extern const extended::ZoneInfo kZoneCET; // CET
294 extern const extended::ZoneInfo kZoneCST6CDT; // CST6CDT
295 extern const extended::ZoneInfo kZoneEET; // EET
296 extern const extended::ZoneInfo kZoneEST; // EST
297 extern const extended::ZoneInfo kZoneEST5EDT; // EST5EDT
298 extern const extended::ZoneInfo kZoneEtc_GMT; // Etc/GMT
299 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1
300 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10
301 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_11; // Etc/GMT+11
302 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_12; // Etc/GMT+12
303 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_2; // Etc/GMT+2
304 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_3; // Etc/GMT+3
305 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_4; // Etc/GMT+4
306 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_5; // Etc/GMT+5
307 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_6; // Etc/GMT+6
308 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_7; // Etc/GMT+7
309 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_8; // Etc/GMT+8
310 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_9; // Etc/GMT+9
311 extern const extended::ZoneInfo kZoneEtc_GMT_1; // Etc/GMT-1
312 extern const extended::ZoneInfo kZoneEtc_GMT_10; // Etc/GMT-10
313 extern const extended::ZoneInfo kZoneEtc_GMT_11; // Etc/GMT-11
314 extern const extended::ZoneInfo kZoneEtc_GMT_12; // Etc/GMT-12
315 extern const extended::ZoneInfo kZoneEtc_GMT_13; // Etc/GMT-13
316 extern const extended::ZoneInfo kZoneEtc_GMT_14; // Etc/GMT-14
317 extern const extended::ZoneInfo kZoneEtc_GMT_2; // Etc/GMT-2
318 extern const extended::ZoneInfo kZoneEtc_GMT_3; // Etc/GMT-3
319 extern const extended::ZoneInfo kZoneEtc_GMT_4; // Etc/GMT-4
320 extern const extended::ZoneInfo kZoneEtc_GMT_5; // Etc/GMT-5
321 extern const extended::ZoneInfo kZoneEtc_GMT_6; // Etc/GMT-6
322 extern const extended::ZoneInfo kZoneEtc_GMT_7; // Etc/GMT-7
323 extern const extended::ZoneInfo kZoneEtc_GMT_8; // Etc/GMT-8
324 extern const extended::ZoneInfo kZoneEtc_GMT_9; // Etc/GMT-9
325 extern const extended::ZoneInfo kZoneEtc_UTC; // Etc/UTC
326 extern const extended::ZoneInfo kZoneEurope_Amsterdam; // Europe/Amsterdam
327 extern const extended::ZoneInfo kZoneEurope_Andorra; // Europe/Andorra
328 extern const extended::ZoneInfo kZoneEurope_Astrakhan; // Europe/Astrakhan
329 extern const extended::ZoneInfo kZoneEurope_Athens; // Europe/Athens
330 extern const extended::ZoneInfo kZoneEurope_Belgrade; // Europe/Belgrade
331 extern const extended::ZoneInfo kZoneEurope_Berlin; // Europe/Berlin
332 extern const extended::ZoneInfo kZoneEurope_Brussels; // Europe/Brussels
333 extern const extended::ZoneInfo kZoneEurope_Bucharest; // Europe/Bucharest
334 extern const extended::ZoneInfo kZoneEurope_Budapest; // Europe/Budapest
335 extern const extended::ZoneInfo kZoneEurope_Chisinau; // Europe/Chisinau
336 extern const extended::ZoneInfo kZoneEurope_Copenhagen; // Europe/Copenhagen
337 extern const extended::ZoneInfo kZoneEurope_Dublin; // Europe/Dublin
338 extern const extended::ZoneInfo kZoneEurope_Gibraltar; // Europe/Gibraltar
339 extern const extended::ZoneInfo kZoneEurope_Helsinki; // Europe/Helsinki
340 extern const extended::ZoneInfo kZoneEurope_Istanbul; // Europe/Istanbul
341 extern const extended::ZoneInfo kZoneEurope_Kaliningrad; // Europe/Kaliningrad
342 extern const extended::ZoneInfo kZoneEurope_Kiev; // Europe/Kiev
343 extern const extended::ZoneInfo kZoneEurope_Kirov; // Europe/Kirov
344 extern const extended::ZoneInfo kZoneEurope_Lisbon; // Europe/Lisbon
345 extern const extended::ZoneInfo kZoneEurope_London; // Europe/London
346 extern const extended::ZoneInfo kZoneEurope_Luxembourg; // Europe/Luxembourg
347 extern const extended::ZoneInfo kZoneEurope_Madrid; // Europe/Madrid
348 extern const extended::ZoneInfo kZoneEurope_Malta; // Europe/Malta
349 extern const extended::ZoneInfo kZoneEurope_Minsk; // Europe/Minsk
350 extern const extended::ZoneInfo kZoneEurope_Monaco; // Europe/Monaco
351 extern const extended::ZoneInfo kZoneEurope_Moscow; // Europe/Moscow
352 extern const extended::ZoneInfo kZoneEurope_Oslo; // Europe/Oslo
353 extern const extended::ZoneInfo kZoneEurope_Paris; // Europe/Paris
354 extern const extended::ZoneInfo kZoneEurope_Prague; // Europe/Prague
355 extern const extended::ZoneInfo kZoneEurope_Riga; // Europe/Riga
356 extern const extended::ZoneInfo kZoneEurope_Rome; // Europe/Rome
357 extern const extended::ZoneInfo kZoneEurope_Samara; // Europe/Samara
358 extern const extended::ZoneInfo kZoneEurope_Saratov; // Europe/Saratov
359 extern const extended::ZoneInfo kZoneEurope_Simferopol; // Europe/Simferopol
360 extern const extended::ZoneInfo kZoneEurope_Sofia; // Europe/Sofia
361 extern const extended::ZoneInfo kZoneEurope_Stockholm; // Europe/Stockholm
362 extern const extended::ZoneInfo kZoneEurope_Tallinn; // Europe/Tallinn
363 extern const extended::ZoneInfo kZoneEurope_Tirane; // Europe/Tirane
364 extern const extended::ZoneInfo kZoneEurope_Ulyanovsk; // Europe/Ulyanovsk
365 extern const extended::ZoneInfo kZoneEurope_Uzhgorod; // Europe/Uzhgorod
366 extern const extended::ZoneInfo kZoneEurope_Vienna; // Europe/Vienna
367 extern const extended::ZoneInfo kZoneEurope_Vilnius; // Europe/Vilnius
368 extern const extended::ZoneInfo kZoneEurope_Volgograd; // Europe/Volgograd
369 extern const extended::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw
370 extern const extended::ZoneInfo kZoneEurope_Zaporozhye; // Europe/Zaporozhye
371 extern const extended::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich
372 extern const extended::ZoneInfo kZoneHST; // HST
373 extern const extended::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos
374 extern const extended::ZoneInfo kZoneIndian_Christmas; // Indian/Christmas
375 extern const extended::ZoneInfo kZoneIndian_Cocos; // Indian/Cocos
376 extern const extended::ZoneInfo kZoneIndian_Kerguelen; // Indian/Kerguelen
377 extern const extended::ZoneInfo kZoneIndian_Mahe; // Indian/Mahe
378 extern const extended::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives
379 extern const extended::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius
380 extern const extended::ZoneInfo kZoneIndian_Reunion; // Indian/Reunion
381 extern const extended::ZoneInfo kZoneMET; // MET
382 extern const extended::ZoneInfo kZoneMST; // MST
383 extern const extended::ZoneInfo kZoneMST7MDT; // MST7MDT
384 extern const extended::ZoneInfo kZonePST8PDT; // PST8PDT
385 extern const extended::ZoneInfo kZonePacific_Apia; // Pacific/Apia
386 extern const extended::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland
387 extern const extended::ZoneInfo kZonePacific_Bougainville; // Pacific/Bougainville
388 extern const extended::ZoneInfo kZonePacific_Chatham; // Pacific/Chatham
389 extern const extended::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk
390 extern const extended::ZoneInfo kZonePacific_Easter; // Pacific/Easter
391 extern const extended::ZoneInfo kZonePacific_Efate; // Pacific/Efate
392 extern const extended::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury
393 extern const extended::ZoneInfo kZonePacific_Fakaofo; // Pacific/Fakaofo
394 extern const extended::ZoneInfo kZonePacific_Fiji; // Pacific/Fiji
395 extern const extended::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti
396 extern const extended::ZoneInfo kZonePacific_Galapagos; // Pacific/Galapagos
397 extern const extended::ZoneInfo kZonePacific_Gambier; // Pacific/Gambier
398 extern const extended::ZoneInfo kZonePacific_Guadalcanal; // Pacific/Guadalcanal
399 extern const extended::ZoneInfo kZonePacific_Guam; // Pacific/Guam
400 extern const extended::ZoneInfo kZonePacific_Honolulu; // Pacific/Honolulu
401 extern const extended::ZoneInfo kZonePacific_Kiritimati; // Pacific/Kiritimati
402 extern const extended::ZoneInfo kZonePacific_Kosrae; // Pacific/Kosrae
403 extern const extended::ZoneInfo kZonePacific_Kwajalein; // Pacific/Kwajalein
404 extern const extended::ZoneInfo kZonePacific_Majuro; // Pacific/Majuro
405 extern const extended::ZoneInfo kZonePacific_Marquesas; // Pacific/Marquesas
406 extern const extended::ZoneInfo kZonePacific_Nauru; // Pacific/Nauru
407 extern const extended::ZoneInfo kZonePacific_Niue; // Pacific/Niue
408 extern const extended::ZoneInfo kZonePacific_Norfolk; // Pacific/Norfolk
409 extern const extended::ZoneInfo kZonePacific_Noumea; // Pacific/Noumea
410 extern const extended::ZoneInfo kZonePacific_Pago_Pago; // Pacific/Pago_Pago
411 extern const extended::ZoneInfo kZonePacific_Palau; // Pacific/Palau
412 extern const extended::ZoneInfo kZonePacific_Pitcairn; // Pacific/Pitcairn
413 extern const extended::ZoneInfo kZonePacific_Pohnpei; // Pacific/Pohnpei
414 extern const extended::ZoneInfo kZonePacific_Port_Moresby; // Pacific/Port_Moresby
415 extern const extended::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga
416 extern const extended::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti
417 extern const extended::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa
418 extern const extended::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu
419 extern const extended::ZoneInfo kZonePacific_Wake; // Pacific/Wake
420 extern const extended::ZoneInfo kZonePacific_Wallis; // Pacific/Wallis
421 extern const extended::ZoneInfo kZoneWET; // WET
422 
423 
424 //---------------------------------------------------------------------------
425 // Supported links: 206
426 //---------------------------------------------------------------------------
427 
428 extern const extended::ZoneInfo& kZoneAfrica_Addis_Ababa; // Africa/Addis_Ababa -> Africa/Nairobi
429 extern const extended::ZoneInfo& kZoneAfrica_Asmara; // Africa/Asmara -> Africa/Nairobi
430 extern const extended::ZoneInfo& kZoneAfrica_Asmera; // Africa/Asmera -> Africa/Nairobi
431 extern const extended::ZoneInfo& kZoneAfrica_Bamako; // Africa/Bamako -> Africa/Abidjan
432 extern const extended::ZoneInfo& kZoneAfrica_Bangui; // Africa/Bangui -> Africa/Lagos
433 extern const extended::ZoneInfo& kZoneAfrica_Banjul; // Africa/Banjul -> Africa/Abidjan
434 extern const extended::ZoneInfo& kZoneAfrica_Blantyre; // Africa/Blantyre -> Africa/Maputo
435 extern const extended::ZoneInfo& kZoneAfrica_Brazzaville; // Africa/Brazzaville -> Africa/Lagos
436 extern const extended::ZoneInfo& kZoneAfrica_Bujumbura; // Africa/Bujumbura -> Africa/Maputo
437 extern const extended::ZoneInfo& kZoneAfrica_Conakry; // Africa/Conakry -> Africa/Abidjan
438 extern const extended::ZoneInfo& kZoneAfrica_Dakar; // Africa/Dakar -> Africa/Abidjan
439 extern const extended::ZoneInfo& kZoneAfrica_Dar_es_Salaam; // Africa/Dar_es_Salaam -> Africa/Nairobi
440 extern const extended::ZoneInfo& kZoneAfrica_Djibouti; // Africa/Djibouti -> Africa/Nairobi
441 extern const extended::ZoneInfo& kZoneAfrica_Douala; // Africa/Douala -> Africa/Lagos
442 extern const extended::ZoneInfo& kZoneAfrica_Freetown; // Africa/Freetown -> Africa/Abidjan
443 extern const extended::ZoneInfo& kZoneAfrica_Gaborone; // Africa/Gaborone -> Africa/Maputo
444 extern const extended::ZoneInfo& kZoneAfrica_Harare; // Africa/Harare -> Africa/Maputo
445 extern const extended::ZoneInfo& kZoneAfrica_Kampala; // Africa/Kampala -> Africa/Nairobi
446 extern const extended::ZoneInfo& kZoneAfrica_Kigali; // Africa/Kigali -> Africa/Maputo
447 extern const extended::ZoneInfo& kZoneAfrica_Kinshasa; // Africa/Kinshasa -> Africa/Lagos
448 extern const extended::ZoneInfo& kZoneAfrica_Libreville; // Africa/Libreville -> Africa/Lagos
449 extern const extended::ZoneInfo& kZoneAfrica_Lome; // Africa/Lome -> Africa/Abidjan
450 extern const extended::ZoneInfo& kZoneAfrica_Luanda; // Africa/Luanda -> Africa/Lagos
451 extern const extended::ZoneInfo& kZoneAfrica_Lubumbashi; // Africa/Lubumbashi -> Africa/Maputo
452 extern const extended::ZoneInfo& kZoneAfrica_Lusaka; // Africa/Lusaka -> Africa/Maputo
453 extern const extended::ZoneInfo& kZoneAfrica_Malabo; // Africa/Malabo -> Africa/Lagos
454 extern const extended::ZoneInfo& kZoneAfrica_Maseru; // Africa/Maseru -> Africa/Johannesburg
455 extern const extended::ZoneInfo& kZoneAfrica_Mbabane; // Africa/Mbabane -> Africa/Johannesburg
456 extern const extended::ZoneInfo& kZoneAfrica_Mogadishu; // Africa/Mogadishu -> Africa/Nairobi
457 extern const extended::ZoneInfo& kZoneAfrica_Niamey; // Africa/Niamey -> Africa/Lagos
458 extern const extended::ZoneInfo& kZoneAfrica_Nouakchott; // Africa/Nouakchott -> Africa/Abidjan
459 extern const extended::ZoneInfo& kZoneAfrica_Ouagadougou; // Africa/Ouagadougou -> Africa/Abidjan
460 extern const extended::ZoneInfo& kZoneAfrica_Porto_Novo; // Africa/Porto-Novo -> Africa/Lagos
461 extern const extended::ZoneInfo& kZoneAfrica_Timbuktu; // Africa/Timbuktu -> Africa/Abidjan
462 extern const extended::ZoneInfo& kZoneAmerica_Anguilla; // America/Anguilla -> America/Port_of_Spain
463 extern const extended::ZoneInfo& kZoneAmerica_Antigua; // America/Antigua -> America/Port_of_Spain
464 extern const extended::ZoneInfo& kZoneAmerica_Argentina_ComodRivadavia; // America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
465 extern const extended::ZoneInfo& kZoneAmerica_Aruba; // America/Aruba -> America/Curacao
466 extern const extended::ZoneInfo& kZoneAmerica_Atka; // America/Atka -> America/Adak
467 extern const extended::ZoneInfo& kZoneAmerica_Buenos_Aires; // America/Buenos_Aires -> America/Argentina/Buenos_Aires
468 extern const extended::ZoneInfo& kZoneAmerica_Catamarca; // America/Catamarca -> America/Argentina/Catamarca
469 extern const extended::ZoneInfo& kZoneAmerica_Cayman; // America/Cayman -> America/Panama
470 extern const extended::ZoneInfo& kZoneAmerica_Coral_Harbour; // America/Coral_Harbour -> America/Atikokan
471 extern const extended::ZoneInfo& kZoneAmerica_Cordoba; // America/Cordoba -> America/Argentina/Cordoba
472 extern const extended::ZoneInfo& kZoneAmerica_Dominica; // America/Dominica -> America/Port_of_Spain
473 extern const extended::ZoneInfo& kZoneAmerica_Ensenada; // America/Ensenada -> America/Tijuana
474 extern const extended::ZoneInfo& kZoneAmerica_Fort_Wayne; // America/Fort_Wayne -> America/Indiana/Indianapolis
475 extern const extended::ZoneInfo& kZoneAmerica_Godthab; // America/Godthab -> America/Nuuk
476 extern const extended::ZoneInfo& kZoneAmerica_Grenada; // America/Grenada -> America/Port_of_Spain
477 extern const extended::ZoneInfo& kZoneAmerica_Guadeloupe; // America/Guadeloupe -> America/Port_of_Spain
478 extern const extended::ZoneInfo& kZoneAmerica_Indianapolis; // America/Indianapolis -> America/Indiana/Indianapolis
479 extern const extended::ZoneInfo& kZoneAmerica_Jujuy; // America/Jujuy -> America/Argentina/Jujuy
480 extern const extended::ZoneInfo& kZoneAmerica_Knox_IN; // America/Knox_IN -> America/Indiana/Knox
481 extern const extended::ZoneInfo& kZoneAmerica_Kralendijk; // America/Kralendijk -> America/Curacao
482 extern const extended::ZoneInfo& kZoneAmerica_Louisville; // America/Louisville -> America/Kentucky/Louisville
483 extern const extended::ZoneInfo& kZoneAmerica_Lower_Princes; // America/Lower_Princes -> America/Curacao
484 extern const extended::ZoneInfo& kZoneAmerica_Marigot; // America/Marigot -> America/Port_of_Spain
485 extern const extended::ZoneInfo& kZoneAmerica_Mendoza; // America/Mendoza -> America/Argentina/Mendoza
486 extern const extended::ZoneInfo& kZoneAmerica_Montreal; // America/Montreal -> America/Toronto
487 extern const extended::ZoneInfo& kZoneAmerica_Montserrat; // America/Montserrat -> America/Port_of_Spain
488 extern const extended::ZoneInfo& kZoneAmerica_Porto_Acre; // America/Porto_Acre -> America/Rio_Branco
489 extern const extended::ZoneInfo& kZoneAmerica_Rosario; // America/Rosario -> America/Argentina/Cordoba
490 extern const extended::ZoneInfo& kZoneAmerica_Santa_Isabel; // America/Santa_Isabel -> America/Tijuana
491 extern const extended::ZoneInfo& kZoneAmerica_Shiprock; // America/Shiprock -> America/Denver
492 extern const extended::ZoneInfo& kZoneAmerica_St_Barthelemy; // America/St_Barthelemy -> America/Port_of_Spain
493 extern const extended::ZoneInfo& kZoneAmerica_St_Kitts; // America/St_Kitts -> America/Port_of_Spain
494 extern const extended::ZoneInfo& kZoneAmerica_St_Lucia; // America/St_Lucia -> America/Port_of_Spain
495 extern const extended::ZoneInfo& kZoneAmerica_St_Thomas; // America/St_Thomas -> America/Port_of_Spain
496 extern const extended::ZoneInfo& kZoneAmerica_St_Vincent; // America/St_Vincent -> America/Port_of_Spain
497 extern const extended::ZoneInfo& kZoneAmerica_Tortola; // America/Tortola -> America/Port_of_Spain
498 extern const extended::ZoneInfo& kZoneAmerica_Virgin; // America/Virgin -> America/Port_of_Spain
499 extern const extended::ZoneInfo& kZoneAntarctica_McMurdo; // Antarctica/McMurdo -> Pacific/Auckland
500 extern const extended::ZoneInfo& kZoneAntarctica_South_Pole; // Antarctica/South_Pole -> Pacific/Auckland
501 extern const extended::ZoneInfo& kZoneArctic_Longyearbyen; // Arctic/Longyearbyen -> Europe/Oslo
502 extern const extended::ZoneInfo& kZoneAsia_Aden; // Asia/Aden -> Asia/Riyadh
503 extern const extended::ZoneInfo& kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/Ashgabat
504 extern const extended::ZoneInfo& kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar
505 extern const extended::ZoneInfo& kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata
506 extern const extended::ZoneInfo& kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai
507 extern const extended::ZoneInfo& kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai
508 extern const extended::ZoneInfo& kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka
509 extern const extended::ZoneInfo& kZoneAsia_Harbin; // Asia/Harbin -> Asia/Shanghai
510 extern const extended::ZoneInfo& kZoneAsia_Istanbul; // Asia/Istanbul -> Europe/Istanbul
511 extern const extended::ZoneInfo& kZoneAsia_Kashgar; // Asia/Kashgar -> Asia/Urumqi
512 extern const extended::ZoneInfo& kZoneAsia_Katmandu; // Asia/Katmandu -> Asia/Kathmandu
513 extern const extended::ZoneInfo& kZoneAsia_Kuwait; // Asia/Kuwait -> Asia/Riyadh
514 extern const extended::ZoneInfo& kZoneAsia_Macao; // Asia/Macao -> Asia/Macau
515 extern const extended::ZoneInfo& kZoneAsia_Muscat; // Asia/Muscat -> Asia/Dubai
516 extern const extended::ZoneInfo& kZoneAsia_Phnom_Penh; // Asia/Phnom_Penh -> Asia/Bangkok
517 extern const extended::ZoneInfo& kZoneAsia_Rangoon; // Asia/Rangoon -> Asia/Yangon
518 extern const extended::ZoneInfo& kZoneAsia_Saigon; // Asia/Saigon -> Asia/Ho_Chi_Minh
519 extern const extended::ZoneInfo& kZoneAsia_Tel_Aviv; // Asia/Tel_Aviv -> Asia/Jerusalem
520 extern const extended::ZoneInfo& kZoneAsia_Thimbu; // Asia/Thimbu -> Asia/Thimphu
521 extern const extended::ZoneInfo& kZoneAsia_Ujung_Pandang; // Asia/Ujung_Pandang -> Asia/Makassar
522 extern const extended::ZoneInfo& kZoneAsia_Ulan_Bator; // Asia/Ulan_Bator -> Asia/Ulaanbaatar
523 extern const extended::ZoneInfo& kZoneAsia_Vientiane; // Asia/Vientiane -> Asia/Bangkok
524 extern const extended::ZoneInfo& kZoneAtlantic_Faeroe; // Atlantic/Faeroe -> Atlantic/Faroe
525 extern const extended::ZoneInfo& kZoneAtlantic_Jan_Mayen; // Atlantic/Jan_Mayen -> Europe/Oslo
526 extern const extended::ZoneInfo& kZoneAtlantic_St_Helena; // Atlantic/St_Helena -> Africa/Abidjan
527 extern const extended::ZoneInfo& kZoneAustralia_ACT; // Australia/ACT -> Australia/Sydney
528 extern const extended::ZoneInfo& kZoneAustralia_Canberra; // Australia/Canberra -> Australia/Sydney
529 extern const extended::ZoneInfo& kZoneAustralia_LHI; // Australia/LHI -> Australia/Lord_Howe
530 extern const extended::ZoneInfo& kZoneAustralia_NSW; // Australia/NSW -> Australia/Sydney
531 extern const extended::ZoneInfo& kZoneAustralia_North; // Australia/North -> Australia/Darwin
532 extern const extended::ZoneInfo& kZoneAustralia_Queensland; // Australia/Queensland -> Australia/Brisbane
533 extern const extended::ZoneInfo& kZoneAustralia_South; // Australia/South -> Australia/Adelaide
534 extern const extended::ZoneInfo& kZoneAustralia_Tasmania; // Australia/Tasmania -> Australia/Hobart
535 extern const extended::ZoneInfo& kZoneAustralia_Victoria; // Australia/Victoria -> Australia/Melbourne
536 extern const extended::ZoneInfo& kZoneAustralia_West; // Australia/West -> Australia/Perth
537 extern const extended::ZoneInfo& kZoneAustralia_Yancowinna; // Australia/Yancowinna -> Australia/Broken_Hill
538 extern const extended::ZoneInfo& kZoneBrazil_Acre; // Brazil/Acre -> America/Rio_Branco
539 extern const extended::ZoneInfo& kZoneBrazil_DeNoronha; // Brazil/DeNoronha -> America/Noronha
540 extern const extended::ZoneInfo& kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo
541 extern const extended::ZoneInfo& kZoneBrazil_West; // Brazil/West -> America/Manaus
542 extern const extended::ZoneInfo& kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax
543 extern const extended::ZoneInfo& kZoneCanada_Central; // Canada/Central -> America/Winnipeg
544 extern const extended::ZoneInfo& kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto
545 extern const extended::ZoneInfo& kZoneCanada_Mountain; // Canada/Mountain -> America/Edmonton
546 extern const extended::ZoneInfo& kZoneCanada_Newfoundland; // Canada/Newfoundland -> America/St_Johns
547 extern const extended::ZoneInfo& kZoneCanada_Pacific; // Canada/Pacific -> America/Vancouver
548 extern const extended::ZoneInfo& kZoneCanada_Saskatchewan; // Canada/Saskatchewan -> America/Regina
549 extern const extended::ZoneInfo& kZoneCanada_Yukon; // Canada/Yukon -> America/Whitehorse
550 extern const extended::ZoneInfo& kZoneChile_Continental; // Chile/Continental -> America/Santiago
551 extern const extended::ZoneInfo& kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter
552 extern const extended::ZoneInfo& kZoneCuba; // Cuba -> America/Havana
553 extern const extended::ZoneInfo& kZoneEgypt; // Egypt -> Africa/Cairo
554 extern const extended::ZoneInfo& kZoneEire; // Eire -> Europe/Dublin
555 extern const extended::ZoneInfo& kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT
556 extern const extended::ZoneInfo& kZoneEtc_GMT_0; // Etc/GMT-0 -> Etc/GMT
557 extern const extended::ZoneInfo& kZoneEtc_GMT0; // Etc/GMT0 -> Etc/GMT
558 extern const extended::ZoneInfo& kZoneEtc_Greenwich; // Etc/Greenwich -> Etc/GMT
559 extern const extended::ZoneInfo& kZoneEtc_UCT; // Etc/UCT -> Etc/UTC
560 extern const extended::ZoneInfo& kZoneEtc_Universal; // Etc/Universal -> Etc/UTC
561 extern const extended::ZoneInfo& kZoneEtc_Zulu; // Etc/Zulu -> Etc/UTC
562 extern const extended::ZoneInfo& kZoneEurope_Belfast; // Europe/Belfast -> Europe/London
563 extern const extended::ZoneInfo& kZoneEurope_Bratislava; // Europe/Bratislava -> Europe/Prague
564 extern const extended::ZoneInfo& kZoneEurope_Busingen; // Europe/Busingen -> Europe/Zurich
565 extern const extended::ZoneInfo& kZoneEurope_Guernsey; // Europe/Guernsey -> Europe/London
566 extern const extended::ZoneInfo& kZoneEurope_Isle_of_Man; // Europe/Isle_of_Man -> Europe/London
567 extern const extended::ZoneInfo& kZoneEurope_Jersey; // Europe/Jersey -> Europe/London
568 extern const extended::ZoneInfo& kZoneEurope_Ljubljana; // Europe/Ljubljana -> Europe/Belgrade
569 extern const extended::ZoneInfo& kZoneEurope_Mariehamn; // Europe/Mariehamn -> Europe/Helsinki
570 extern const extended::ZoneInfo& kZoneEurope_Nicosia; // Europe/Nicosia -> Asia/Nicosia
571 extern const extended::ZoneInfo& kZoneEurope_Podgorica; // Europe/Podgorica -> Europe/Belgrade
572 extern const extended::ZoneInfo& kZoneEurope_San_Marino; // Europe/San_Marino -> Europe/Rome
573 extern const extended::ZoneInfo& kZoneEurope_Sarajevo; // Europe/Sarajevo -> Europe/Belgrade
574 extern const extended::ZoneInfo& kZoneEurope_Skopje; // Europe/Skopje -> Europe/Belgrade
575 extern const extended::ZoneInfo& kZoneEurope_Tiraspol; // Europe/Tiraspol -> Europe/Chisinau
576 extern const extended::ZoneInfo& kZoneEurope_Vaduz; // Europe/Vaduz -> Europe/Zurich
577 extern const extended::ZoneInfo& kZoneEurope_Vatican; // Europe/Vatican -> Europe/Rome
578 extern const extended::ZoneInfo& kZoneEurope_Zagreb; // Europe/Zagreb -> Europe/Belgrade
579 extern const extended::ZoneInfo& kZoneGB; // GB -> Europe/London
580 extern const extended::ZoneInfo& kZoneGB_Eire; // GB-Eire -> Europe/London
581 extern const extended::ZoneInfo& kZoneGMT; // GMT -> Etc/GMT
582 extern const extended::ZoneInfo& kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT
583 extern const extended::ZoneInfo& kZoneGMT_0; // GMT-0 -> Etc/GMT
584 extern const extended::ZoneInfo& kZoneGMT0; // GMT0 -> Etc/GMT
585 extern const extended::ZoneInfo& kZoneGreenwich; // Greenwich -> Etc/GMT
586 extern const extended::ZoneInfo& kZoneHongkong; // Hongkong -> Asia/Hong_Kong
587 extern const extended::ZoneInfo& kZoneIceland; // Iceland -> Atlantic/Reykjavik
588 extern const extended::ZoneInfo& kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi
589 extern const extended::ZoneInfo& kZoneIndian_Comoro; // Indian/Comoro -> Africa/Nairobi
590 extern const extended::ZoneInfo& kZoneIndian_Mayotte; // Indian/Mayotte -> Africa/Nairobi
591 extern const extended::ZoneInfo& kZoneIran; // Iran -> Asia/Tehran
592 extern const extended::ZoneInfo& kZoneIsrael; // Israel -> Asia/Jerusalem
593 extern const extended::ZoneInfo& kZoneJamaica; // Jamaica -> America/Jamaica
594 extern const extended::ZoneInfo& kZoneJapan; // Japan -> Asia/Tokyo
595 extern const extended::ZoneInfo& kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein
596 extern const extended::ZoneInfo& kZoneLibya; // Libya -> Africa/Tripoli
597 extern const extended::ZoneInfo& kZoneMexico_BajaNorte; // Mexico/BajaNorte -> America/Tijuana
598 extern const extended::ZoneInfo& kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan
599 extern const extended::ZoneInfo& kZoneMexico_General; // Mexico/General -> America/Mexico_City
600 extern const extended::ZoneInfo& kZoneNZ; // NZ -> Pacific/Auckland
601 extern const extended::ZoneInfo& kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham
602 extern const extended::ZoneInfo& kZoneNavajo; // Navajo -> America/Denver
603 extern const extended::ZoneInfo& kZonePRC; // PRC -> Asia/Shanghai
604 extern const extended::ZoneInfo& kZonePacific_Johnston; // Pacific/Johnston -> Pacific/Honolulu
605 extern const extended::ZoneInfo& kZonePacific_Midway; // Pacific/Midway -> Pacific/Pago_Pago
606 extern const extended::ZoneInfo& kZonePacific_Ponape; // Pacific/Ponape -> Pacific/Pohnpei
607 extern const extended::ZoneInfo& kZonePacific_Saipan; // Pacific/Saipan -> Pacific/Guam
608 extern const extended::ZoneInfo& kZonePacific_Samoa; // Pacific/Samoa -> Pacific/Pago_Pago
609 extern const extended::ZoneInfo& kZonePacific_Truk; // Pacific/Truk -> Pacific/Chuuk
610 extern const extended::ZoneInfo& kZonePacific_Yap; // Pacific/Yap -> Pacific/Chuuk
611 extern const extended::ZoneInfo& kZonePoland; // Poland -> Europe/Warsaw
612 extern const extended::ZoneInfo& kZonePortugal; // Portugal -> Europe/Lisbon
613 extern const extended::ZoneInfo& kZoneROC; // ROC -> Asia/Taipei
614 extern const extended::ZoneInfo& kZoneROK; // ROK -> Asia/Seoul
615 extern const extended::ZoneInfo& kZoneSingapore; // Singapore -> Asia/Singapore
616 extern const extended::ZoneInfo& kZoneTurkey; // Turkey -> Europe/Istanbul
617 extern const extended::ZoneInfo& kZoneUCT; // UCT -> Etc/UTC
618 extern const extended::ZoneInfo& kZoneUS_Alaska; // US/Alaska -> America/Anchorage
619 extern const extended::ZoneInfo& kZoneUS_Aleutian; // US/Aleutian -> America/Adak
620 extern const extended::ZoneInfo& kZoneUS_Arizona; // US/Arizona -> America/Phoenix
621 extern const extended::ZoneInfo& kZoneUS_Central; // US/Central -> America/Chicago
622 extern const extended::ZoneInfo& kZoneUS_East_Indiana; // US/East-Indiana -> America/Indiana/Indianapolis
623 extern const extended::ZoneInfo& kZoneUS_Eastern; // US/Eastern -> America/New_York
624 extern const extended::ZoneInfo& kZoneUS_Hawaii; // US/Hawaii -> Pacific/Honolulu
625 extern const extended::ZoneInfo& kZoneUS_Indiana_Starke; // US/Indiana-Starke -> America/Indiana/Knox
626 extern const extended::ZoneInfo& kZoneUS_Michigan; // US/Michigan -> America/Detroit
627 extern const extended::ZoneInfo& kZoneUS_Mountain; // US/Mountain -> America/Denver
628 extern const extended::ZoneInfo& kZoneUS_Pacific; // US/Pacific -> America/Los_Angeles
629 extern const extended::ZoneInfo& kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago
630 extern const extended::ZoneInfo& kZoneUTC; // UTC -> Etc/UTC
631 extern const extended::ZoneInfo& kZoneUniversal; // Universal -> Etc/UTC
632 extern const extended::ZoneInfo& kZoneW_SU; // W-SU -> Europe/Moscow
633 extern const extended::ZoneInfo& kZoneZulu; // Zulu -> Etc/UTC
634 
635 
636 //---------------------------------------------------------------------------
637 // Unsupported zones: 0
638 //---------------------------------------------------------------------------
639 
640 
641 
642 //---------------------------------------------------------------------------
643 // Notable zones: 1
644 //---------------------------------------------------------------------------
645 
646 // Africa/Johannesburg (RULES not fixed but FORMAT is missing '%' or '/')
647 
648 
649 //---------------------------------------------------------------------------
650 // Unsupported links: 0
651 //---------------------------------------------------------------------------
652 
653 
654 
655 //---------------------------------------------------------------------------
656 // Notable links: 0
657 //---------------------------------------------------------------------------
658 
659 
660 
661 }
662 }
663 
664 #endif
+
1 // This file was generated by the following script:
+
2 //
+
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
+
4 //
+
5 // using the TZ Database files
+
6 //
+
7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
+
8 //
+
9 // from https://github.com/eggert/tz/releases/tag/2020c
+
10 //
+
11 // DO NOT EDIT
+
12 
+
13 #ifndef ACE_TIME_ZONEDBX_ZONE_INFOS_H
+
14 #define ACE_TIME_ZONEDBX_ZONE_INFOS_H
+
15 
+
16 #include <ace_time/internal/ZoneInfo.h>
+
17 
+
18 namespace ace_time {
+
19 namespace zonedbx {
+
20 
+
21 //---------------------------------------------------------------------------
+
22 // ZoneContext (should not be in PROGMEM)
+
23 //---------------------------------------------------------------------------
+
24 
+
25 // Version of the TZ Database which generated these files.
+
26 extern const char kTzDatabaseVersion[];
+
27 
+
28 // Metadata about the zonedb files.
+
29 extern const extended::ZoneContext kZoneContext;
+
30 
+
31 //---------------------------------------------------------------------------
+
32 // Supported zones: 387
+
33 //---------------------------------------------------------------------------
+
34 
+
35 extern const extended::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan
+
36 extern const extended::ZoneInfo kZoneAfrica_Accra; // Africa/Accra
+
37 extern const extended::ZoneInfo kZoneAfrica_Algiers; // Africa/Algiers
+
38 extern const extended::ZoneInfo kZoneAfrica_Bissau; // Africa/Bissau
+
39 extern const extended::ZoneInfo kZoneAfrica_Cairo; // Africa/Cairo
+
40 extern const extended::ZoneInfo kZoneAfrica_Casablanca; // Africa/Casablanca
+
41 extern const extended::ZoneInfo kZoneAfrica_Ceuta; // Africa/Ceuta
+
42 extern const extended::ZoneInfo kZoneAfrica_El_Aaiun; // Africa/El_Aaiun
+
43 extern const extended::ZoneInfo kZoneAfrica_Johannesburg; // Africa/Johannesburg
+
44 extern const extended::ZoneInfo kZoneAfrica_Juba; // Africa/Juba
+
45 extern const extended::ZoneInfo kZoneAfrica_Khartoum; // Africa/Khartoum
+
46 extern const extended::ZoneInfo kZoneAfrica_Lagos; // Africa/Lagos
+
47 extern const extended::ZoneInfo kZoneAfrica_Maputo; // Africa/Maputo
+
48 extern const extended::ZoneInfo kZoneAfrica_Monrovia; // Africa/Monrovia
+
49 extern const extended::ZoneInfo kZoneAfrica_Nairobi; // Africa/Nairobi
+
50 extern const extended::ZoneInfo kZoneAfrica_Ndjamena; // Africa/Ndjamena
+
51 extern const extended::ZoneInfo kZoneAfrica_Sao_Tome; // Africa/Sao_Tome
+
52 extern const extended::ZoneInfo kZoneAfrica_Tripoli; // Africa/Tripoli
+
53 extern const extended::ZoneInfo kZoneAfrica_Tunis; // Africa/Tunis
+
54 extern const extended::ZoneInfo kZoneAfrica_Windhoek; // Africa/Windhoek
+
55 extern const extended::ZoneInfo kZoneAmerica_Adak; // America/Adak
+
56 extern const extended::ZoneInfo kZoneAmerica_Anchorage; // America/Anchorage
+
57 extern const extended::ZoneInfo kZoneAmerica_Araguaina; // America/Araguaina
+
58 extern const extended::ZoneInfo kZoneAmerica_Argentina_Buenos_Aires; // America/Argentina/Buenos_Aires
+
59 extern const extended::ZoneInfo kZoneAmerica_Argentina_Catamarca; // America/Argentina/Catamarca
+
60 extern const extended::ZoneInfo kZoneAmerica_Argentina_Cordoba; // America/Argentina/Cordoba
+
61 extern const extended::ZoneInfo kZoneAmerica_Argentina_Jujuy; // America/Argentina/Jujuy
+
62 extern const extended::ZoneInfo kZoneAmerica_Argentina_La_Rioja; // America/Argentina/La_Rioja
+
63 extern const extended::ZoneInfo kZoneAmerica_Argentina_Mendoza; // America/Argentina/Mendoza
+
64 extern const extended::ZoneInfo kZoneAmerica_Argentina_Rio_Gallegos; // America/Argentina/Rio_Gallegos
+
65 extern const extended::ZoneInfo kZoneAmerica_Argentina_Salta; // America/Argentina/Salta
+
66 extern const extended::ZoneInfo kZoneAmerica_Argentina_San_Juan; // America/Argentina/San_Juan
+
67 extern const extended::ZoneInfo kZoneAmerica_Argentina_San_Luis; // America/Argentina/San_Luis
+
68 extern const extended::ZoneInfo kZoneAmerica_Argentina_Tucuman; // America/Argentina/Tucuman
+
69 extern const extended::ZoneInfo kZoneAmerica_Argentina_Ushuaia; // America/Argentina/Ushuaia
+
70 extern const extended::ZoneInfo kZoneAmerica_Asuncion; // America/Asuncion
+
71 extern const extended::ZoneInfo kZoneAmerica_Atikokan; // America/Atikokan
+
72 extern const extended::ZoneInfo kZoneAmerica_Bahia; // America/Bahia
+
73 extern const extended::ZoneInfo kZoneAmerica_Bahia_Banderas; // America/Bahia_Banderas
+
74 extern const extended::ZoneInfo kZoneAmerica_Barbados; // America/Barbados
+
75 extern const extended::ZoneInfo kZoneAmerica_Belem; // America/Belem
+
76 extern const extended::ZoneInfo kZoneAmerica_Belize; // America/Belize
+
77 extern const extended::ZoneInfo kZoneAmerica_Blanc_Sablon; // America/Blanc-Sablon
+
78 extern const extended::ZoneInfo kZoneAmerica_Boa_Vista; // America/Boa_Vista
+
79 extern const extended::ZoneInfo kZoneAmerica_Bogota; // America/Bogota
+
80 extern const extended::ZoneInfo kZoneAmerica_Boise; // America/Boise
+
81 extern const extended::ZoneInfo kZoneAmerica_Cambridge_Bay; // America/Cambridge_Bay
+
82 extern const extended::ZoneInfo kZoneAmerica_Campo_Grande; // America/Campo_Grande
+
83 extern const extended::ZoneInfo kZoneAmerica_Cancun; // America/Cancun
+
84 extern const extended::ZoneInfo kZoneAmerica_Caracas; // America/Caracas
+
85 extern const extended::ZoneInfo kZoneAmerica_Cayenne; // America/Cayenne
+
86 extern const extended::ZoneInfo kZoneAmerica_Chicago; // America/Chicago
+
87 extern const extended::ZoneInfo kZoneAmerica_Chihuahua; // America/Chihuahua
+
88 extern const extended::ZoneInfo kZoneAmerica_Costa_Rica; // America/Costa_Rica
+
89 extern const extended::ZoneInfo kZoneAmerica_Creston; // America/Creston
+
90 extern const extended::ZoneInfo kZoneAmerica_Cuiaba; // America/Cuiaba
+
91 extern const extended::ZoneInfo kZoneAmerica_Curacao; // America/Curacao
+
92 extern const extended::ZoneInfo kZoneAmerica_Danmarkshavn; // America/Danmarkshavn
+
93 extern const extended::ZoneInfo kZoneAmerica_Dawson; // America/Dawson
+
94 extern const extended::ZoneInfo kZoneAmerica_Dawson_Creek; // America/Dawson_Creek
+
95 extern const extended::ZoneInfo kZoneAmerica_Denver; // America/Denver
+
96 extern const extended::ZoneInfo kZoneAmerica_Detroit; // America/Detroit
+
97 extern const extended::ZoneInfo kZoneAmerica_Edmonton; // America/Edmonton
+
98 extern const extended::ZoneInfo kZoneAmerica_Eirunepe; // America/Eirunepe
+
99 extern const extended::ZoneInfo kZoneAmerica_El_Salvador; // America/El_Salvador
+
100 extern const extended::ZoneInfo kZoneAmerica_Fort_Nelson; // America/Fort_Nelson
+
101 extern const extended::ZoneInfo kZoneAmerica_Fortaleza; // America/Fortaleza
+
102 extern const extended::ZoneInfo kZoneAmerica_Glace_Bay; // America/Glace_Bay
+
103 extern const extended::ZoneInfo kZoneAmerica_Goose_Bay; // America/Goose_Bay
+
104 extern const extended::ZoneInfo kZoneAmerica_Grand_Turk; // America/Grand_Turk
+
105 extern const extended::ZoneInfo kZoneAmerica_Guatemala; // America/Guatemala
+
106 extern const extended::ZoneInfo kZoneAmerica_Guayaquil; // America/Guayaquil
+
107 extern const extended::ZoneInfo kZoneAmerica_Guyana; // America/Guyana
+
108 extern const extended::ZoneInfo kZoneAmerica_Halifax; // America/Halifax
+
109 extern const extended::ZoneInfo kZoneAmerica_Havana; // America/Havana
+
110 extern const extended::ZoneInfo kZoneAmerica_Hermosillo; // America/Hermosillo
+
111 extern const extended::ZoneInfo kZoneAmerica_Indiana_Indianapolis; // America/Indiana/Indianapolis
+
112 extern const extended::ZoneInfo kZoneAmerica_Indiana_Knox; // America/Indiana/Knox
+
113 extern const extended::ZoneInfo kZoneAmerica_Indiana_Marengo; // America/Indiana/Marengo
+
114 extern const extended::ZoneInfo kZoneAmerica_Indiana_Petersburg; // America/Indiana/Petersburg
+
115 extern const extended::ZoneInfo kZoneAmerica_Indiana_Tell_City; // America/Indiana/Tell_City
+
116 extern const extended::ZoneInfo kZoneAmerica_Indiana_Vevay; // America/Indiana/Vevay
+
117 extern const extended::ZoneInfo kZoneAmerica_Indiana_Vincennes; // America/Indiana/Vincennes
+
118 extern const extended::ZoneInfo kZoneAmerica_Indiana_Winamac; // America/Indiana/Winamac
+
119 extern const extended::ZoneInfo kZoneAmerica_Inuvik; // America/Inuvik
+
120 extern const extended::ZoneInfo kZoneAmerica_Iqaluit; // America/Iqaluit
+
121 extern const extended::ZoneInfo kZoneAmerica_Jamaica; // America/Jamaica
+
122 extern const extended::ZoneInfo kZoneAmerica_Juneau; // America/Juneau
+
123 extern const extended::ZoneInfo kZoneAmerica_Kentucky_Louisville; // America/Kentucky/Louisville
+
124 extern const extended::ZoneInfo kZoneAmerica_Kentucky_Monticello; // America/Kentucky/Monticello
+
125 extern const extended::ZoneInfo kZoneAmerica_La_Paz; // America/La_Paz
+
126 extern const extended::ZoneInfo kZoneAmerica_Lima; // America/Lima
+
127 extern const extended::ZoneInfo kZoneAmerica_Los_Angeles; // America/Los_Angeles
+
128 extern const extended::ZoneInfo kZoneAmerica_Maceio; // America/Maceio
+
129 extern const extended::ZoneInfo kZoneAmerica_Managua; // America/Managua
+
130 extern const extended::ZoneInfo kZoneAmerica_Manaus; // America/Manaus
+
131 extern const extended::ZoneInfo kZoneAmerica_Martinique; // America/Martinique
+
132 extern const extended::ZoneInfo kZoneAmerica_Matamoros; // America/Matamoros
+
133 extern const extended::ZoneInfo kZoneAmerica_Mazatlan; // America/Mazatlan
+
134 extern const extended::ZoneInfo kZoneAmerica_Menominee; // America/Menominee
+
135 extern const extended::ZoneInfo kZoneAmerica_Merida; // America/Merida
+
136 extern const extended::ZoneInfo kZoneAmerica_Metlakatla; // America/Metlakatla
+
137 extern const extended::ZoneInfo kZoneAmerica_Mexico_City; // America/Mexico_City
+
138 extern const extended::ZoneInfo kZoneAmerica_Miquelon; // America/Miquelon
+
139 extern const extended::ZoneInfo kZoneAmerica_Moncton; // America/Moncton
+
140 extern const extended::ZoneInfo kZoneAmerica_Monterrey; // America/Monterrey
+
141 extern const extended::ZoneInfo kZoneAmerica_Montevideo; // America/Montevideo
+
142 extern const extended::ZoneInfo kZoneAmerica_Nassau; // America/Nassau
+
143 extern const extended::ZoneInfo kZoneAmerica_New_York; // America/New_York
+
144 extern const extended::ZoneInfo kZoneAmerica_Nipigon; // America/Nipigon
+
145 extern const extended::ZoneInfo kZoneAmerica_Nome; // America/Nome
+
146 extern const extended::ZoneInfo kZoneAmerica_Noronha; // America/Noronha
+
147 extern const extended::ZoneInfo kZoneAmerica_North_Dakota_Beulah; // America/North_Dakota/Beulah
+
148 extern const extended::ZoneInfo kZoneAmerica_North_Dakota_Center; // America/North_Dakota/Center
+
149 extern const extended::ZoneInfo kZoneAmerica_North_Dakota_New_Salem; // America/North_Dakota/New_Salem
+
150 extern const extended::ZoneInfo kZoneAmerica_Nuuk; // America/Nuuk
+
151 extern const extended::ZoneInfo kZoneAmerica_Ojinaga; // America/Ojinaga
+
152 extern const extended::ZoneInfo kZoneAmerica_Panama; // America/Panama
+
153 extern const extended::ZoneInfo kZoneAmerica_Pangnirtung; // America/Pangnirtung
+
154 extern const extended::ZoneInfo kZoneAmerica_Paramaribo; // America/Paramaribo
+
155 extern const extended::ZoneInfo kZoneAmerica_Phoenix; // America/Phoenix
+
156 extern const extended::ZoneInfo kZoneAmerica_Port_au_Prince; // America/Port-au-Prince
+
157 extern const extended::ZoneInfo kZoneAmerica_Port_of_Spain; // America/Port_of_Spain
+
158 extern const extended::ZoneInfo kZoneAmerica_Porto_Velho; // America/Porto_Velho
+
159 extern const extended::ZoneInfo kZoneAmerica_Puerto_Rico; // America/Puerto_Rico
+
160 extern const extended::ZoneInfo kZoneAmerica_Punta_Arenas; // America/Punta_Arenas
+
161 extern const extended::ZoneInfo kZoneAmerica_Rainy_River; // America/Rainy_River
+
162 extern const extended::ZoneInfo kZoneAmerica_Rankin_Inlet; // America/Rankin_Inlet
+
163 extern const extended::ZoneInfo kZoneAmerica_Recife; // America/Recife
+
164 extern const extended::ZoneInfo kZoneAmerica_Regina; // America/Regina
+
165 extern const extended::ZoneInfo kZoneAmerica_Resolute; // America/Resolute
+
166 extern const extended::ZoneInfo kZoneAmerica_Rio_Branco; // America/Rio_Branco
+
167 extern const extended::ZoneInfo kZoneAmerica_Santarem; // America/Santarem
+
168 extern const extended::ZoneInfo kZoneAmerica_Santiago; // America/Santiago
+
169 extern const extended::ZoneInfo kZoneAmerica_Santo_Domingo; // America/Santo_Domingo
+
170 extern const extended::ZoneInfo kZoneAmerica_Sao_Paulo; // America/Sao_Paulo
+
171 extern const extended::ZoneInfo kZoneAmerica_Scoresbysund; // America/Scoresbysund
+
172 extern const extended::ZoneInfo kZoneAmerica_Sitka; // America/Sitka
+
173 extern const extended::ZoneInfo kZoneAmerica_St_Johns; // America/St_Johns
+
174 extern const extended::ZoneInfo kZoneAmerica_Swift_Current; // America/Swift_Current
+
175 extern const extended::ZoneInfo kZoneAmerica_Tegucigalpa; // America/Tegucigalpa
+
176 extern const extended::ZoneInfo kZoneAmerica_Thule; // America/Thule
+
177 extern const extended::ZoneInfo kZoneAmerica_Thunder_Bay; // America/Thunder_Bay
+
178 extern const extended::ZoneInfo kZoneAmerica_Tijuana; // America/Tijuana
+
179 extern const extended::ZoneInfo kZoneAmerica_Toronto; // America/Toronto
+
180 extern const extended::ZoneInfo kZoneAmerica_Vancouver; // America/Vancouver
+
181 extern const extended::ZoneInfo kZoneAmerica_Whitehorse; // America/Whitehorse
+
182 extern const extended::ZoneInfo kZoneAmerica_Winnipeg; // America/Winnipeg
+
183 extern const extended::ZoneInfo kZoneAmerica_Yakutat; // America/Yakutat
+
184 extern const extended::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife
+
185 extern const extended::ZoneInfo kZoneAntarctica_Casey; // Antarctica/Casey
+
186 extern const extended::ZoneInfo kZoneAntarctica_Davis; // Antarctica/Davis
+
187 extern const extended::ZoneInfo kZoneAntarctica_DumontDUrville; // Antarctica/DumontDUrville
+
188 extern const extended::ZoneInfo kZoneAntarctica_Macquarie; // Antarctica/Macquarie
+
189 extern const extended::ZoneInfo kZoneAntarctica_Mawson; // Antarctica/Mawson
+
190 extern const extended::ZoneInfo kZoneAntarctica_Palmer; // Antarctica/Palmer
+
191 extern const extended::ZoneInfo kZoneAntarctica_Rothera; // Antarctica/Rothera
+
192 extern const extended::ZoneInfo kZoneAntarctica_Syowa; // Antarctica/Syowa
+
193 extern const extended::ZoneInfo kZoneAntarctica_Troll; // Antarctica/Troll
+
194 extern const extended::ZoneInfo kZoneAntarctica_Vostok; // Antarctica/Vostok
+
195 extern const extended::ZoneInfo kZoneAsia_Almaty; // Asia/Almaty
+
196 extern const extended::ZoneInfo kZoneAsia_Amman; // Asia/Amman
+
197 extern const extended::ZoneInfo kZoneAsia_Anadyr; // Asia/Anadyr
+
198 extern const extended::ZoneInfo kZoneAsia_Aqtau; // Asia/Aqtau
+
199 extern const extended::ZoneInfo kZoneAsia_Aqtobe; // Asia/Aqtobe
+
200 extern const extended::ZoneInfo kZoneAsia_Ashgabat; // Asia/Ashgabat
+
201 extern const extended::ZoneInfo kZoneAsia_Atyrau; // Asia/Atyrau
+
202 extern const extended::ZoneInfo kZoneAsia_Baghdad; // Asia/Baghdad
+
203 extern const extended::ZoneInfo kZoneAsia_Baku; // Asia/Baku
+
204 extern const extended::ZoneInfo kZoneAsia_Bangkok; // Asia/Bangkok
+
205 extern const extended::ZoneInfo kZoneAsia_Barnaul; // Asia/Barnaul
+
206 extern const extended::ZoneInfo kZoneAsia_Beirut; // Asia/Beirut
+
207 extern const extended::ZoneInfo kZoneAsia_Bishkek; // Asia/Bishkek
+
208 extern const extended::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei
+
209 extern const extended::ZoneInfo kZoneAsia_Chita; // Asia/Chita
+
210 extern const extended::ZoneInfo kZoneAsia_Choibalsan; // Asia/Choibalsan
+
211 extern const extended::ZoneInfo kZoneAsia_Colombo; // Asia/Colombo
+
212 extern const extended::ZoneInfo kZoneAsia_Damascus; // Asia/Damascus
+
213 extern const extended::ZoneInfo kZoneAsia_Dhaka; // Asia/Dhaka
+
214 extern const extended::ZoneInfo kZoneAsia_Dili; // Asia/Dili
+
215 extern const extended::ZoneInfo kZoneAsia_Dubai; // Asia/Dubai
+
216 extern const extended::ZoneInfo kZoneAsia_Dushanbe; // Asia/Dushanbe
+
217 extern const extended::ZoneInfo kZoneAsia_Famagusta; // Asia/Famagusta
+
218 extern const extended::ZoneInfo kZoneAsia_Gaza; // Asia/Gaza
+
219 extern const extended::ZoneInfo kZoneAsia_Hebron; // Asia/Hebron
+
220 extern const extended::ZoneInfo kZoneAsia_Ho_Chi_Minh; // Asia/Ho_Chi_Minh
+
221 extern const extended::ZoneInfo kZoneAsia_Hong_Kong; // Asia/Hong_Kong
+
222 extern const extended::ZoneInfo kZoneAsia_Hovd; // Asia/Hovd
+
223 extern const extended::ZoneInfo kZoneAsia_Irkutsk; // Asia/Irkutsk
+
224 extern const extended::ZoneInfo kZoneAsia_Jakarta; // Asia/Jakarta
+
225 extern const extended::ZoneInfo kZoneAsia_Jayapura; // Asia/Jayapura
+
226 extern const extended::ZoneInfo kZoneAsia_Jerusalem; // Asia/Jerusalem
+
227 extern const extended::ZoneInfo kZoneAsia_Kabul; // Asia/Kabul
+
228 extern const extended::ZoneInfo kZoneAsia_Kamchatka; // Asia/Kamchatka
+
229 extern const extended::ZoneInfo kZoneAsia_Karachi; // Asia/Karachi
+
230 extern const extended::ZoneInfo kZoneAsia_Kathmandu; // Asia/Kathmandu
+
231 extern const extended::ZoneInfo kZoneAsia_Khandyga; // Asia/Khandyga
+
232 extern const extended::ZoneInfo kZoneAsia_Kolkata; // Asia/Kolkata
+
233 extern const extended::ZoneInfo kZoneAsia_Krasnoyarsk; // Asia/Krasnoyarsk
+
234 extern const extended::ZoneInfo kZoneAsia_Kuala_Lumpur; // Asia/Kuala_Lumpur
+
235 extern const extended::ZoneInfo kZoneAsia_Kuching; // Asia/Kuching
+
236 extern const extended::ZoneInfo kZoneAsia_Macau; // Asia/Macau
+
237 extern const extended::ZoneInfo kZoneAsia_Magadan; // Asia/Magadan
+
238 extern const extended::ZoneInfo kZoneAsia_Makassar; // Asia/Makassar
+
239 extern const extended::ZoneInfo kZoneAsia_Manila; // Asia/Manila
+
240 extern const extended::ZoneInfo kZoneAsia_Nicosia; // Asia/Nicosia
+
241 extern const extended::ZoneInfo kZoneAsia_Novokuznetsk; // Asia/Novokuznetsk
+
242 extern const extended::ZoneInfo kZoneAsia_Novosibirsk; // Asia/Novosibirsk
+
243 extern const extended::ZoneInfo kZoneAsia_Omsk; // Asia/Omsk
+
244 extern const extended::ZoneInfo kZoneAsia_Oral; // Asia/Oral
+
245 extern const extended::ZoneInfo kZoneAsia_Pontianak; // Asia/Pontianak
+
246 extern const extended::ZoneInfo kZoneAsia_Pyongyang; // Asia/Pyongyang
+
247 extern const extended::ZoneInfo kZoneAsia_Qatar; // Asia/Qatar
+
248 extern const extended::ZoneInfo kZoneAsia_Qostanay; // Asia/Qostanay
+
249 extern const extended::ZoneInfo kZoneAsia_Qyzylorda; // Asia/Qyzylorda
+
250 extern const extended::ZoneInfo kZoneAsia_Riyadh; // Asia/Riyadh
+
251 extern const extended::ZoneInfo kZoneAsia_Sakhalin; // Asia/Sakhalin
+
252 extern const extended::ZoneInfo kZoneAsia_Samarkand; // Asia/Samarkand
+
253 extern const extended::ZoneInfo kZoneAsia_Seoul; // Asia/Seoul
+
254 extern const extended::ZoneInfo kZoneAsia_Shanghai; // Asia/Shanghai
+
255 extern const extended::ZoneInfo kZoneAsia_Singapore; // Asia/Singapore
+
256 extern const extended::ZoneInfo kZoneAsia_Srednekolymsk; // Asia/Srednekolymsk
+
257 extern const extended::ZoneInfo kZoneAsia_Taipei; // Asia/Taipei
+
258 extern const extended::ZoneInfo kZoneAsia_Tashkent; // Asia/Tashkent
+
259 extern const extended::ZoneInfo kZoneAsia_Tbilisi; // Asia/Tbilisi
+
260 extern const extended::ZoneInfo kZoneAsia_Tehran; // Asia/Tehran
+
261 extern const extended::ZoneInfo kZoneAsia_Thimphu; // Asia/Thimphu
+
262 extern const extended::ZoneInfo kZoneAsia_Tokyo; // Asia/Tokyo
+
263 extern const extended::ZoneInfo kZoneAsia_Tomsk; // Asia/Tomsk
+
264 extern const extended::ZoneInfo kZoneAsia_Ulaanbaatar; // Asia/Ulaanbaatar
+
265 extern const extended::ZoneInfo kZoneAsia_Urumqi; // Asia/Urumqi
+
266 extern const extended::ZoneInfo kZoneAsia_Ust_Nera; // Asia/Ust-Nera
+
267 extern const extended::ZoneInfo kZoneAsia_Vladivostok; // Asia/Vladivostok
+
268 extern const extended::ZoneInfo kZoneAsia_Yakutsk; // Asia/Yakutsk
+
269 extern const extended::ZoneInfo kZoneAsia_Yangon; // Asia/Yangon
+
270 extern const extended::ZoneInfo kZoneAsia_Yekaterinburg; // Asia/Yekaterinburg
+
271 extern const extended::ZoneInfo kZoneAsia_Yerevan; // Asia/Yerevan
+
272 extern const extended::ZoneInfo kZoneAtlantic_Azores; // Atlantic/Azores
+
273 extern const extended::ZoneInfo kZoneAtlantic_Bermuda; // Atlantic/Bermuda
+
274 extern const extended::ZoneInfo kZoneAtlantic_Canary; // Atlantic/Canary
+
275 extern const extended::ZoneInfo kZoneAtlantic_Cape_Verde; // Atlantic/Cape_Verde
+
276 extern const extended::ZoneInfo kZoneAtlantic_Faroe; // Atlantic/Faroe
+
277 extern const extended::ZoneInfo kZoneAtlantic_Madeira; // Atlantic/Madeira
+
278 extern const extended::ZoneInfo kZoneAtlantic_Reykjavik; // Atlantic/Reykjavik
+
279 extern const extended::ZoneInfo kZoneAtlantic_South_Georgia; // Atlantic/South_Georgia
+
280 extern const extended::ZoneInfo kZoneAtlantic_Stanley; // Atlantic/Stanley
+
281 extern const extended::ZoneInfo kZoneAustralia_Adelaide; // Australia/Adelaide
+
282 extern const extended::ZoneInfo kZoneAustralia_Brisbane; // Australia/Brisbane
+
283 extern const extended::ZoneInfo kZoneAustralia_Broken_Hill; // Australia/Broken_Hill
+
284 extern const extended::ZoneInfo kZoneAustralia_Currie; // Australia/Currie
+
285 extern const extended::ZoneInfo kZoneAustralia_Darwin; // Australia/Darwin
+
286 extern const extended::ZoneInfo kZoneAustralia_Eucla; // Australia/Eucla
+
287 extern const extended::ZoneInfo kZoneAustralia_Hobart; // Australia/Hobart
+
288 extern const extended::ZoneInfo kZoneAustralia_Lindeman; // Australia/Lindeman
+
289 extern const extended::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe
+
290 extern const extended::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne
+
291 extern const extended::ZoneInfo kZoneAustralia_Perth; // Australia/Perth
+
292 extern const extended::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney
+
293 extern const extended::ZoneInfo kZoneCET; // CET
+
294 extern const extended::ZoneInfo kZoneCST6CDT; // CST6CDT
+
295 extern const extended::ZoneInfo kZoneEET; // EET
+
296 extern const extended::ZoneInfo kZoneEST; // EST
+
297 extern const extended::ZoneInfo kZoneEST5EDT; // EST5EDT
+
298 extern const extended::ZoneInfo kZoneEtc_GMT; // Etc/GMT
+
299 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1
+
300 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10
+
301 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_11; // Etc/GMT+11
+
302 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_12; // Etc/GMT+12
+
303 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_2; // Etc/GMT+2
+
304 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_3; // Etc/GMT+3
+
305 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_4; // Etc/GMT+4
+
306 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_5; // Etc/GMT+5
+
307 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_6; // Etc/GMT+6
+
308 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_7; // Etc/GMT+7
+
309 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_8; // Etc/GMT+8
+
310 extern const extended::ZoneInfo kZoneEtc_GMT_PLUS_9; // Etc/GMT+9
+
311 extern const extended::ZoneInfo kZoneEtc_GMT_1; // Etc/GMT-1
+
312 extern const extended::ZoneInfo kZoneEtc_GMT_10; // Etc/GMT-10
+
313 extern const extended::ZoneInfo kZoneEtc_GMT_11; // Etc/GMT-11
+
314 extern const extended::ZoneInfo kZoneEtc_GMT_12; // Etc/GMT-12
+
315 extern const extended::ZoneInfo kZoneEtc_GMT_13; // Etc/GMT-13
+
316 extern const extended::ZoneInfo kZoneEtc_GMT_14; // Etc/GMT-14
+
317 extern const extended::ZoneInfo kZoneEtc_GMT_2; // Etc/GMT-2
+
318 extern const extended::ZoneInfo kZoneEtc_GMT_3; // Etc/GMT-3
+
319 extern const extended::ZoneInfo kZoneEtc_GMT_4; // Etc/GMT-4
+
320 extern const extended::ZoneInfo kZoneEtc_GMT_5; // Etc/GMT-5
+
321 extern const extended::ZoneInfo kZoneEtc_GMT_6; // Etc/GMT-6
+
322 extern const extended::ZoneInfo kZoneEtc_GMT_7; // Etc/GMT-7
+
323 extern const extended::ZoneInfo kZoneEtc_GMT_8; // Etc/GMT-8
+
324 extern const extended::ZoneInfo kZoneEtc_GMT_9; // Etc/GMT-9
+
325 extern const extended::ZoneInfo kZoneEtc_UTC; // Etc/UTC
+
326 extern const extended::ZoneInfo kZoneEurope_Amsterdam; // Europe/Amsterdam
+
327 extern const extended::ZoneInfo kZoneEurope_Andorra; // Europe/Andorra
+
328 extern const extended::ZoneInfo kZoneEurope_Astrakhan; // Europe/Astrakhan
+
329 extern const extended::ZoneInfo kZoneEurope_Athens; // Europe/Athens
+
330 extern const extended::ZoneInfo kZoneEurope_Belgrade; // Europe/Belgrade
+
331 extern const extended::ZoneInfo kZoneEurope_Berlin; // Europe/Berlin
+
332 extern const extended::ZoneInfo kZoneEurope_Brussels; // Europe/Brussels
+
333 extern const extended::ZoneInfo kZoneEurope_Bucharest; // Europe/Bucharest
+
334 extern const extended::ZoneInfo kZoneEurope_Budapest; // Europe/Budapest
+
335 extern const extended::ZoneInfo kZoneEurope_Chisinau; // Europe/Chisinau
+
336 extern const extended::ZoneInfo kZoneEurope_Copenhagen; // Europe/Copenhagen
+
337 extern const extended::ZoneInfo kZoneEurope_Dublin; // Europe/Dublin
+
338 extern const extended::ZoneInfo kZoneEurope_Gibraltar; // Europe/Gibraltar
+
339 extern const extended::ZoneInfo kZoneEurope_Helsinki; // Europe/Helsinki
+
340 extern const extended::ZoneInfo kZoneEurope_Istanbul; // Europe/Istanbul
+
341 extern const extended::ZoneInfo kZoneEurope_Kaliningrad; // Europe/Kaliningrad
+
342 extern const extended::ZoneInfo kZoneEurope_Kiev; // Europe/Kiev
+
343 extern const extended::ZoneInfo kZoneEurope_Kirov; // Europe/Kirov
+
344 extern const extended::ZoneInfo kZoneEurope_Lisbon; // Europe/Lisbon
+
345 extern const extended::ZoneInfo kZoneEurope_London; // Europe/London
+
346 extern const extended::ZoneInfo kZoneEurope_Luxembourg; // Europe/Luxembourg
+
347 extern const extended::ZoneInfo kZoneEurope_Madrid; // Europe/Madrid
+
348 extern const extended::ZoneInfo kZoneEurope_Malta; // Europe/Malta
+
349 extern const extended::ZoneInfo kZoneEurope_Minsk; // Europe/Minsk
+
350 extern const extended::ZoneInfo kZoneEurope_Monaco; // Europe/Monaco
+
351 extern const extended::ZoneInfo kZoneEurope_Moscow; // Europe/Moscow
+
352 extern const extended::ZoneInfo kZoneEurope_Oslo; // Europe/Oslo
+
353 extern const extended::ZoneInfo kZoneEurope_Paris; // Europe/Paris
+
354 extern const extended::ZoneInfo kZoneEurope_Prague; // Europe/Prague
+
355 extern const extended::ZoneInfo kZoneEurope_Riga; // Europe/Riga
+
356 extern const extended::ZoneInfo kZoneEurope_Rome; // Europe/Rome
+
357 extern const extended::ZoneInfo kZoneEurope_Samara; // Europe/Samara
+
358 extern const extended::ZoneInfo kZoneEurope_Saratov; // Europe/Saratov
+
359 extern const extended::ZoneInfo kZoneEurope_Simferopol; // Europe/Simferopol
+
360 extern const extended::ZoneInfo kZoneEurope_Sofia; // Europe/Sofia
+
361 extern const extended::ZoneInfo kZoneEurope_Stockholm; // Europe/Stockholm
+
362 extern const extended::ZoneInfo kZoneEurope_Tallinn; // Europe/Tallinn
+
363 extern const extended::ZoneInfo kZoneEurope_Tirane; // Europe/Tirane
+
364 extern const extended::ZoneInfo kZoneEurope_Ulyanovsk; // Europe/Ulyanovsk
+
365 extern const extended::ZoneInfo kZoneEurope_Uzhgorod; // Europe/Uzhgorod
+
366 extern const extended::ZoneInfo kZoneEurope_Vienna; // Europe/Vienna
+
367 extern const extended::ZoneInfo kZoneEurope_Vilnius; // Europe/Vilnius
+
368 extern const extended::ZoneInfo kZoneEurope_Volgograd; // Europe/Volgograd
+
369 extern const extended::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw
+
370 extern const extended::ZoneInfo kZoneEurope_Zaporozhye; // Europe/Zaporozhye
+
371 extern const extended::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich
+
372 extern const extended::ZoneInfo kZoneHST; // HST
+
373 extern const extended::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos
+
374 extern const extended::ZoneInfo kZoneIndian_Christmas; // Indian/Christmas
+
375 extern const extended::ZoneInfo kZoneIndian_Cocos; // Indian/Cocos
+
376 extern const extended::ZoneInfo kZoneIndian_Kerguelen; // Indian/Kerguelen
+
377 extern const extended::ZoneInfo kZoneIndian_Mahe; // Indian/Mahe
+
378 extern const extended::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives
+
379 extern const extended::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius
+
380 extern const extended::ZoneInfo kZoneIndian_Reunion; // Indian/Reunion
+
381 extern const extended::ZoneInfo kZoneMET; // MET
+
382 extern const extended::ZoneInfo kZoneMST; // MST
+
383 extern const extended::ZoneInfo kZoneMST7MDT; // MST7MDT
+
384 extern const extended::ZoneInfo kZonePST8PDT; // PST8PDT
+
385 extern const extended::ZoneInfo kZonePacific_Apia; // Pacific/Apia
+
386 extern const extended::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland
+
387 extern const extended::ZoneInfo kZonePacific_Bougainville; // Pacific/Bougainville
+
388 extern const extended::ZoneInfo kZonePacific_Chatham; // Pacific/Chatham
+
389 extern const extended::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk
+
390 extern const extended::ZoneInfo kZonePacific_Easter; // Pacific/Easter
+
391 extern const extended::ZoneInfo kZonePacific_Efate; // Pacific/Efate
+
392 extern const extended::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury
+
393 extern const extended::ZoneInfo kZonePacific_Fakaofo; // Pacific/Fakaofo
+
394 extern const extended::ZoneInfo kZonePacific_Fiji; // Pacific/Fiji
+
395 extern const extended::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti
+
396 extern const extended::ZoneInfo kZonePacific_Galapagos; // Pacific/Galapagos
+
397 extern const extended::ZoneInfo kZonePacific_Gambier; // Pacific/Gambier
+
398 extern const extended::ZoneInfo kZonePacific_Guadalcanal; // Pacific/Guadalcanal
+
399 extern const extended::ZoneInfo kZonePacific_Guam; // Pacific/Guam
+
400 extern const extended::ZoneInfo kZonePacific_Honolulu; // Pacific/Honolulu
+
401 extern const extended::ZoneInfo kZonePacific_Kiritimati; // Pacific/Kiritimati
+
402 extern const extended::ZoneInfo kZonePacific_Kosrae; // Pacific/Kosrae
+
403 extern const extended::ZoneInfo kZonePacific_Kwajalein; // Pacific/Kwajalein
+
404 extern const extended::ZoneInfo kZonePacific_Majuro; // Pacific/Majuro
+
405 extern const extended::ZoneInfo kZonePacific_Marquesas; // Pacific/Marquesas
+
406 extern const extended::ZoneInfo kZonePacific_Nauru; // Pacific/Nauru
+
407 extern const extended::ZoneInfo kZonePacific_Niue; // Pacific/Niue
+
408 extern const extended::ZoneInfo kZonePacific_Norfolk; // Pacific/Norfolk
+
409 extern const extended::ZoneInfo kZonePacific_Noumea; // Pacific/Noumea
+
410 extern const extended::ZoneInfo kZonePacific_Pago_Pago; // Pacific/Pago_Pago
+
411 extern const extended::ZoneInfo kZonePacific_Palau; // Pacific/Palau
+
412 extern const extended::ZoneInfo kZonePacific_Pitcairn; // Pacific/Pitcairn
+
413 extern const extended::ZoneInfo kZonePacific_Pohnpei; // Pacific/Pohnpei
+
414 extern const extended::ZoneInfo kZonePacific_Port_Moresby; // Pacific/Port_Moresby
+
415 extern const extended::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga
+
416 extern const extended::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti
+
417 extern const extended::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa
+
418 extern const extended::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu
+
419 extern const extended::ZoneInfo kZonePacific_Wake; // Pacific/Wake
+
420 extern const extended::ZoneInfo kZonePacific_Wallis; // Pacific/Wallis
+
421 extern const extended::ZoneInfo kZoneWET; // WET
+
422 
+
423 
+
424 //---------------------------------------------------------------------------
+
425 // Supported links: 206
+
426 //---------------------------------------------------------------------------
+
427 
+
428 extern const extended::ZoneInfo& kZoneAfrica_Addis_Ababa; // Africa/Addis_Ababa -> Africa/Nairobi
+
429 extern const extended::ZoneInfo& kZoneAfrica_Asmara; // Africa/Asmara -> Africa/Nairobi
+
430 extern const extended::ZoneInfo& kZoneAfrica_Asmera; // Africa/Asmera -> Africa/Nairobi
+
431 extern const extended::ZoneInfo& kZoneAfrica_Bamako; // Africa/Bamako -> Africa/Abidjan
+
432 extern const extended::ZoneInfo& kZoneAfrica_Bangui; // Africa/Bangui -> Africa/Lagos
+
433 extern const extended::ZoneInfo& kZoneAfrica_Banjul; // Africa/Banjul -> Africa/Abidjan
+
434 extern const extended::ZoneInfo& kZoneAfrica_Blantyre; // Africa/Blantyre -> Africa/Maputo
+
435 extern const extended::ZoneInfo& kZoneAfrica_Brazzaville; // Africa/Brazzaville -> Africa/Lagos
+
436 extern const extended::ZoneInfo& kZoneAfrica_Bujumbura; // Africa/Bujumbura -> Africa/Maputo
+
437 extern const extended::ZoneInfo& kZoneAfrica_Conakry; // Africa/Conakry -> Africa/Abidjan
+
438 extern const extended::ZoneInfo& kZoneAfrica_Dakar; // Africa/Dakar -> Africa/Abidjan
+
439 extern const extended::ZoneInfo& kZoneAfrica_Dar_es_Salaam; // Africa/Dar_es_Salaam -> Africa/Nairobi
+
440 extern const extended::ZoneInfo& kZoneAfrica_Djibouti; // Africa/Djibouti -> Africa/Nairobi
+
441 extern const extended::ZoneInfo& kZoneAfrica_Douala; // Africa/Douala -> Africa/Lagos
+
442 extern const extended::ZoneInfo& kZoneAfrica_Freetown; // Africa/Freetown -> Africa/Abidjan
+
443 extern const extended::ZoneInfo& kZoneAfrica_Gaborone; // Africa/Gaborone -> Africa/Maputo
+
444 extern const extended::ZoneInfo& kZoneAfrica_Harare; // Africa/Harare -> Africa/Maputo
+
445 extern const extended::ZoneInfo& kZoneAfrica_Kampala; // Africa/Kampala -> Africa/Nairobi
+
446 extern const extended::ZoneInfo& kZoneAfrica_Kigali; // Africa/Kigali -> Africa/Maputo
+
447 extern const extended::ZoneInfo& kZoneAfrica_Kinshasa; // Africa/Kinshasa -> Africa/Lagos
+
448 extern const extended::ZoneInfo& kZoneAfrica_Libreville; // Africa/Libreville -> Africa/Lagos
+
449 extern const extended::ZoneInfo& kZoneAfrica_Lome; // Africa/Lome -> Africa/Abidjan
+
450 extern const extended::ZoneInfo& kZoneAfrica_Luanda; // Africa/Luanda -> Africa/Lagos
+
451 extern const extended::ZoneInfo& kZoneAfrica_Lubumbashi; // Africa/Lubumbashi -> Africa/Maputo
+
452 extern const extended::ZoneInfo& kZoneAfrica_Lusaka; // Africa/Lusaka -> Africa/Maputo
+
453 extern const extended::ZoneInfo& kZoneAfrica_Malabo; // Africa/Malabo -> Africa/Lagos
+
454 extern const extended::ZoneInfo& kZoneAfrica_Maseru; // Africa/Maseru -> Africa/Johannesburg
+
455 extern const extended::ZoneInfo& kZoneAfrica_Mbabane; // Africa/Mbabane -> Africa/Johannesburg
+
456 extern const extended::ZoneInfo& kZoneAfrica_Mogadishu; // Africa/Mogadishu -> Africa/Nairobi
+
457 extern const extended::ZoneInfo& kZoneAfrica_Niamey; // Africa/Niamey -> Africa/Lagos
+
458 extern const extended::ZoneInfo& kZoneAfrica_Nouakchott; // Africa/Nouakchott -> Africa/Abidjan
+
459 extern const extended::ZoneInfo& kZoneAfrica_Ouagadougou; // Africa/Ouagadougou -> Africa/Abidjan
+
460 extern const extended::ZoneInfo& kZoneAfrica_Porto_Novo; // Africa/Porto-Novo -> Africa/Lagos
+
461 extern const extended::ZoneInfo& kZoneAfrica_Timbuktu; // Africa/Timbuktu -> Africa/Abidjan
+
462 extern const extended::ZoneInfo& kZoneAmerica_Anguilla; // America/Anguilla -> America/Port_of_Spain
+
463 extern const extended::ZoneInfo& kZoneAmerica_Antigua; // America/Antigua -> America/Port_of_Spain
+
464 extern const extended::ZoneInfo& kZoneAmerica_Argentina_ComodRivadavia; // America/Argentina/ComodRivadavia -> America/Argentina/Catamarca
+
465 extern const extended::ZoneInfo& kZoneAmerica_Aruba; // America/Aruba -> America/Curacao
+
466 extern const extended::ZoneInfo& kZoneAmerica_Atka; // America/Atka -> America/Adak
+
467 extern const extended::ZoneInfo& kZoneAmerica_Buenos_Aires; // America/Buenos_Aires -> America/Argentina/Buenos_Aires
+
468 extern const extended::ZoneInfo& kZoneAmerica_Catamarca; // America/Catamarca -> America/Argentina/Catamarca
+
469 extern const extended::ZoneInfo& kZoneAmerica_Cayman; // America/Cayman -> America/Panama
+
470 extern const extended::ZoneInfo& kZoneAmerica_Coral_Harbour; // America/Coral_Harbour -> America/Atikokan
+
471 extern const extended::ZoneInfo& kZoneAmerica_Cordoba; // America/Cordoba -> America/Argentina/Cordoba
+
472 extern const extended::ZoneInfo& kZoneAmerica_Dominica; // America/Dominica -> America/Port_of_Spain
+
473 extern const extended::ZoneInfo& kZoneAmerica_Ensenada; // America/Ensenada -> America/Tijuana
+
474 extern const extended::ZoneInfo& kZoneAmerica_Fort_Wayne; // America/Fort_Wayne -> America/Indiana/Indianapolis
+
475 extern const extended::ZoneInfo& kZoneAmerica_Godthab; // America/Godthab -> America/Nuuk
+
476 extern const extended::ZoneInfo& kZoneAmerica_Grenada; // America/Grenada -> America/Port_of_Spain
+
477 extern const extended::ZoneInfo& kZoneAmerica_Guadeloupe; // America/Guadeloupe -> America/Port_of_Spain
+
478 extern const extended::ZoneInfo& kZoneAmerica_Indianapolis; // America/Indianapolis -> America/Indiana/Indianapolis
+
479 extern const extended::ZoneInfo& kZoneAmerica_Jujuy; // America/Jujuy -> America/Argentina/Jujuy
+
480 extern const extended::ZoneInfo& kZoneAmerica_Knox_IN; // America/Knox_IN -> America/Indiana/Knox
+
481 extern const extended::ZoneInfo& kZoneAmerica_Kralendijk; // America/Kralendijk -> America/Curacao
+
482 extern const extended::ZoneInfo& kZoneAmerica_Louisville; // America/Louisville -> America/Kentucky/Louisville
+
483 extern const extended::ZoneInfo& kZoneAmerica_Lower_Princes; // America/Lower_Princes -> America/Curacao
+
484 extern const extended::ZoneInfo& kZoneAmerica_Marigot; // America/Marigot -> America/Port_of_Spain
+
485 extern const extended::ZoneInfo& kZoneAmerica_Mendoza; // America/Mendoza -> America/Argentina/Mendoza
+
486 extern const extended::ZoneInfo& kZoneAmerica_Montreal; // America/Montreal -> America/Toronto
+
487 extern const extended::ZoneInfo& kZoneAmerica_Montserrat; // America/Montserrat -> America/Port_of_Spain
+
488 extern const extended::ZoneInfo& kZoneAmerica_Porto_Acre; // America/Porto_Acre -> America/Rio_Branco
+
489 extern const extended::ZoneInfo& kZoneAmerica_Rosario; // America/Rosario -> America/Argentina/Cordoba
+
490 extern const extended::ZoneInfo& kZoneAmerica_Santa_Isabel; // America/Santa_Isabel -> America/Tijuana
+
491 extern const extended::ZoneInfo& kZoneAmerica_Shiprock; // America/Shiprock -> America/Denver
+
492 extern const extended::ZoneInfo& kZoneAmerica_St_Barthelemy; // America/St_Barthelemy -> America/Port_of_Spain
+
493 extern const extended::ZoneInfo& kZoneAmerica_St_Kitts; // America/St_Kitts -> America/Port_of_Spain
+
494 extern const extended::ZoneInfo& kZoneAmerica_St_Lucia; // America/St_Lucia -> America/Port_of_Spain
+
495 extern const extended::ZoneInfo& kZoneAmerica_St_Thomas; // America/St_Thomas -> America/Port_of_Spain
+
496 extern const extended::ZoneInfo& kZoneAmerica_St_Vincent; // America/St_Vincent -> America/Port_of_Spain
+
497 extern const extended::ZoneInfo& kZoneAmerica_Tortola; // America/Tortola -> America/Port_of_Spain
+
498 extern const extended::ZoneInfo& kZoneAmerica_Virgin; // America/Virgin -> America/Port_of_Spain
+
499 extern const extended::ZoneInfo& kZoneAntarctica_McMurdo; // Antarctica/McMurdo -> Pacific/Auckland
+
500 extern const extended::ZoneInfo& kZoneAntarctica_South_Pole; // Antarctica/South_Pole -> Pacific/Auckland
+
501 extern const extended::ZoneInfo& kZoneArctic_Longyearbyen; // Arctic/Longyearbyen -> Europe/Oslo
+
502 extern const extended::ZoneInfo& kZoneAsia_Aden; // Asia/Aden -> Asia/Riyadh
+
503 extern const extended::ZoneInfo& kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/Ashgabat
+
504 extern const extended::ZoneInfo& kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar
+
505 extern const extended::ZoneInfo& kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata
+
506 extern const extended::ZoneInfo& kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai
+
507 extern const extended::ZoneInfo& kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai
+
508 extern const extended::ZoneInfo& kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka
+
509 extern const extended::ZoneInfo& kZoneAsia_Harbin; // Asia/Harbin -> Asia/Shanghai
+
510 extern const extended::ZoneInfo& kZoneAsia_Istanbul; // Asia/Istanbul -> Europe/Istanbul
+
511 extern const extended::ZoneInfo& kZoneAsia_Kashgar; // Asia/Kashgar -> Asia/Urumqi
+
512 extern const extended::ZoneInfo& kZoneAsia_Katmandu; // Asia/Katmandu -> Asia/Kathmandu
+
513 extern const extended::ZoneInfo& kZoneAsia_Kuwait; // Asia/Kuwait -> Asia/Riyadh
+
514 extern const extended::ZoneInfo& kZoneAsia_Macao; // Asia/Macao -> Asia/Macau
+
515 extern const extended::ZoneInfo& kZoneAsia_Muscat; // Asia/Muscat -> Asia/Dubai
+
516 extern const extended::ZoneInfo& kZoneAsia_Phnom_Penh; // Asia/Phnom_Penh -> Asia/Bangkok
+
517 extern const extended::ZoneInfo& kZoneAsia_Rangoon; // Asia/Rangoon -> Asia/Yangon
+
518 extern const extended::ZoneInfo& kZoneAsia_Saigon; // Asia/Saigon -> Asia/Ho_Chi_Minh
+
519 extern const extended::ZoneInfo& kZoneAsia_Tel_Aviv; // Asia/Tel_Aviv -> Asia/Jerusalem
+
520 extern const extended::ZoneInfo& kZoneAsia_Thimbu; // Asia/Thimbu -> Asia/Thimphu
+
521 extern const extended::ZoneInfo& kZoneAsia_Ujung_Pandang; // Asia/Ujung_Pandang -> Asia/Makassar
+
522 extern const extended::ZoneInfo& kZoneAsia_Ulan_Bator; // Asia/Ulan_Bator -> Asia/Ulaanbaatar
+
523 extern const extended::ZoneInfo& kZoneAsia_Vientiane; // Asia/Vientiane -> Asia/Bangkok
+
524 extern const extended::ZoneInfo& kZoneAtlantic_Faeroe; // Atlantic/Faeroe -> Atlantic/Faroe
+
525 extern const extended::ZoneInfo& kZoneAtlantic_Jan_Mayen; // Atlantic/Jan_Mayen -> Europe/Oslo
+
526 extern const extended::ZoneInfo& kZoneAtlantic_St_Helena; // Atlantic/St_Helena -> Africa/Abidjan
+
527 extern const extended::ZoneInfo& kZoneAustralia_ACT; // Australia/ACT -> Australia/Sydney
+
528 extern const extended::ZoneInfo& kZoneAustralia_Canberra; // Australia/Canberra -> Australia/Sydney
+
529 extern const extended::ZoneInfo& kZoneAustralia_LHI; // Australia/LHI -> Australia/Lord_Howe
+
530 extern const extended::ZoneInfo& kZoneAustralia_NSW; // Australia/NSW -> Australia/Sydney
+
531 extern const extended::ZoneInfo& kZoneAustralia_North; // Australia/North -> Australia/Darwin
+
532 extern const extended::ZoneInfo& kZoneAustralia_Queensland; // Australia/Queensland -> Australia/Brisbane
+
533 extern const extended::ZoneInfo& kZoneAustralia_South; // Australia/South -> Australia/Adelaide
+
534 extern const extended::ZoneInfo& kZoneAustralia_Tasmania; // Australia/Tasmania -> Australia/Hobart
+
535 extern const extended::ZoneInfo& kZoneAustralia_Victoria; // Australia/Victoria -> Australia/Melbourne
+
536 extern const extended::ZoneInfo& kZoneAustralia_West; // Australia/West -> Australia/Perth
+
537 extern const extended::ZoneInfo& kZoneAustralia_Yancowinna; // Australia/Yancowinna -> Australia/Broken_Hill
+
538 extern const extended::ZoneInfo& kZoneBrazil_Acre; // Brazil/Acre -> America/Rio_Branco
+
539 extern const extended::ZoneInfo& kZoneBrazil_DeNoronha; // Brazil/DeNoronha -> America/Noronha
+
540 extern const extended::ZoneInfo& kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo
+
541 extern const extended::ZoneInfo& kZoneBrazil_West; // Brazil/West -> America/Manaus
+
542 extern const extended::ZoneInfo& kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax
+
543 extern const extended::ZoneInfo& kZoneCanada_Central; // Canada/Central -> America/Winnipeg
+
544 extern const extended::ZoneInfo& kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto
+
545 extern const extended::ZoneInfo& kZoneCanada_Mountain; // Canada/Mountain -> America/Edmonton
+
546 extern const extended::ZoneInfo& kZoneCanada_Newfoundland; // Canada/Newfoundland -> America/St_Johns
+
547 extern const extended::ZoneInfo& kZoneCanada_Pacific; // Canada/Pacific -> America/Vancouver
+
548 extern const extended::ZoneInfo& kZoneCanada_Saskatchewan; // Canada/Saskatchewan -> America/Regina
+
549 extern const extended::ZoneInfo& kZoneCanada_Yukon; // Canada/Yukon -> America/Whitehorse
+
550 extern const extended::ZoneInfo& kZoneChile_Continental; // Chile/Continental -> America/Santiago
+
551 extern const extended::ZoneInfo& kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter
+
552 extern const extended::ZoneInfo& kZoneCuba; // Cuba -> America/Havana
+
553 extern const extended::ZoneInfo& kZoneEgypt; // Egypt -> Africa/Cairo
+
554 extern const extended::ZoneInfo& kZoneEire; // Eire -> Europe/Dublin
+
555 extern const extended::ZoneInfo& kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT
+
556 extern const extended::ZoneInfo& kZoneEtc_GMT_0; // Etc/GMT-0 -> Etc/GMT
+
557 extern const extended::ZoneInfo& kZoneEtc_GMT0; // Etc/GMT0 -> Etc/GMT
+
558 extern const extended::ZoneInfo& kZoneEtc_Greenwich; // Etc/Greenwich -> Etc/GMT
+
559 extern const extended::ZoneInfo& kZoneEtc_UCT; // Etc/UCT -> Etc/UTC
+
560 extern const extended::ZoneInfo& kZoneEtc_Universal; // Etc/Universal -> Etc/UTC
+
561 extern const extended::ZoneInfo& kZoneEtc_Zulu; // Etc/Zulu -> Etc/UTC
+
562 extern const extended::ZoneInfo& kZoneEurope_Belfast; // Europe/Belfast -> Europe/London
+
563 extern const extended::ZoneInfo& kZoneEurope_Bratislava; // Europe/Bratislava -> Europe/Prague
+
564 extern const extended::ZoneInfo& kZoneEurope_Busingen; // Europe/Busingen -> Europe/Zurich
+
565 extern const extended::ZoneInfo& kZoneEurope_Guernsey; // Europe/Guernsey -> Europe/London
+
566 extern const extended::ZoneInfo& kZoneEurope_Isle_of_Man; // Europe/Isle_of_Man -> Europe/London
+
567 extern const extended::ZoneInfo& kZoneEurope_Jersey; // Europe/Jersey -> Europe/London
+
568 extern const extended::ZoneInfo& kZoneEurope_Ljubljana; // Europe/Ljubljana -> Europe/Belgrade
+
569 extern const extended::ZoneInfo& kZoneEurope_Mariehamn; // Europe/Mariehamn -> Europe/Helsinki
+
570 extern const extended::ZoneInfo& kZoneEurope_Nicosia; // Europe/Nicosia -> Asia/Nicosia
+
571 extern const extended::ZoneInfo& kZoneEurope_Podgorica; // Europe/Podgorica -> Europe/Belgrade
+
572 extern const extended::ZoneInfo& kZoneEurope_San_Marino; // Europe/San_Marino -> Europe/Rome
+
573 extern const extended::ZoneInfo& kZoneEurope_Sarajevo; // Europe/Sarajevo -> Europe/Belgrade
+
574 extern const extended::ZoneInfo& kZoneEurope_Skopje; // Europe/Skopje -> Europe/Belgrade
+
575 extern const extended::ZoneInfo& kZoneEurope_Tiraspol; // Europe/Tiraspol -> Europe/Chisinau
+
576 extern const extended::ZoneInfo& kZoneEurope_Vaduz; // Europe/Vaduz -> Europe/Zurich
+
577 extern const extended::ZoneInfo& kZoneEurope_Vatican; // Europe/Vatican -> Europe/Rome
+
578 extern const extended::ZoneInfo& kZoneEurope_Zagreb; // Europe/Zagreb -> Europe/Belgrade
+
579 extern const extended::ZoneInfo& kZoneGB; // GB -> Europe/London
+
580 extern const extended::ZoneInfo& kZoneGB_Eire; // GB-Eire -> Europe/London
+
581 extern const extended::ZoneInfo& kZoneGMT; // GMT -> Etc/GMT
+
582 extern const extended::ZoneInfo& kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT
+
583 extern const extended::ZoneInfo& kZoneGMT_0; // GMT-0 -> Etc/GMT
+
584 extern const extended::ZoneInfo& kZoneGMT0; // GMT0 -> Etc/GMT
+
585 extern const extended::ZoneInfo& kZoneGreenwich; // Greenwich -> Etc/GMT
+
586 extern const extended::ZoneInfo& kZoneHongkong; // Hongkong -> Asia/Hong_Kong
+
587 extern const extended::ZoneInfo& kZoneIceland; // Iceland -> Atlantic/Reykjavik
+
588 extern const extended::ZoneInfo& kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi
+
589 extern const extended::ZoneInfo& kZoneIndian_Comoro; // Indian/Comoro -> Africa/Nairobi
+
590 extern const extended::ZoneInfo& kZoneIndian_Mayotte; // Indian/Mayotte -> Africa/Nairobi
+
591 extern const extended::ZoneInfo& kZoneIran; // Iran -> Asia/Tehran
+
592 extern const extended::ZoneInfo& kZoneIsrael; // Israel -> Asia/Jerusalem
+
593 extern const extended::ZoneInfo& kZoneJamaica; // Jamaica -> America/Jamaica
+
594 extern const extended::ZoneInfo& kZoneJapan; // Japan -> Asia/Tokyo
+
595 extern const extended::ZoneInfo& kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein
+
596 extern const extended::ZoneInfo& kZoneLibya; // Libya -> Africa/Tripoli
+
597 extern const extended::ZoneInfo& kZoneMexico_BajaNorte; // Mexico/BajaNorte -> America/Tijuana
+
598 extern const extended::ZoneInfo& kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan
+
599 extern const extended::ZoneInfo& kZoneMexico_General; // Mexico/General -> America/Mexico_City
+
600 extern const extended::ZoneInfo& kZoneNZ; // NZ -> Pacific/Auckland
+
601 extern const extended::ZoneInfo& kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham
+
602 extern const extended::ZoneInfo& kZoneNavajo; // Navajo -> America/Denver
+
603 extern const extended::ZoneInfo& kZonePRC; // PRC -> Asia/Shanghai
+
604 extern const extended::ZoneInfo& kZonePacific_Johnston; // Pacific/Johnston -> Pacific/Honolulu
+
605 extern const extended::ZoneInfo& kZonePacific_Midway; // Pacific/Midway -> Pacific/Pago_Pago
+
606 extern const extended::ZoneInfo& kZonePacific_Ponape; // Pacific/Ponape -> Pacific/Pohnpei
+
607 extern const extended::ZoneInfo& kZonePacific_Saipan; // Pacific/Saipan -> Pacific/Guam
+
608 extern const extended::ZoneInfo& kZonePacific_Samoa; // Pacific/Samoa -> Pacific/Pago_Pago
+
609 extern const extended::ZoneInfo& kZonePacific_Truk; // Pacific/Truk -> Pacific/Chuuk
+
610 extern const extended::ZoneInfo& kZonePacific_Yap; // Pacific/Yap -> Pacific/Chuuk
+
611 extern const extended::ZoneInfo& kZonePoland; // Poland -> Europe/Warsaw
+
612 extern const extended::ZoneInfo& kZonePortugal; // Portugal -> Europe/Lisbon
+
613 extern const extended::ZoneInfo& kZoneROC; // ROC -> Asia/Taipei
+
614 extern const extended::ZoneInfo& kZoneROK; // ROK -> Asia/Seoul
+
615 extern const extended::ZoneInfo& kZoneSingapore; // Singapore -> Asia/Singapore
+
616 extern const extended::ZoneInfo& kZoneTurkey; // Turkey -> Europe/Istanbul
+
617 extern const extended::ZoneInfo& kZoneUCT; // UCT -> Etc/UTC
+
618 extern const extended::ZoneInfo& kZoneUS_Alaska; // US/Alaska -> America/Anchorage
+
619 extern const extended::ZoneInfo& kZoneUS_Aleutian; // US/Aleutian -> America/Adak
+
620 extern const extended::ZoneInfo& kZoneUS_Arizona; // US/Arizona -> America/Phoenix
+
621 extern const extended::ZoneInfo& kZoneUS_Central; // US/Central -> America/Chicago
+
622 extern const extended::ZoneInfo& kZoneUS_East_Indiana; // US/East-Indiana -> America/Indiana/Indianapolis
+
623 extern const extended::ZoneInfo& kZoneUS_Eastern; // US/Eastern -> America/New_York
+
624 extern const extended::ZoneInfo& kZoneUS_Hawaii; // US/Hawaii -> Pacific/Honolulu
+
625 extern const extended::ZoneInfo& kZoneUS_Indiana_Starke; // US/Indiana-Starke -> America/Indiana/Knox
+
626 extern const extended::ZoneInfo& kZoneUS_Michigan; // US/Michigan -> America/Detroit
+
627 extern const extended::ZoneInfo& kZoneUS_Mountain; // US/Mountain -> America/Denver
+
628 extern const extended::ZoneInfo& kZoneUS_Pacific; // US/Pacific -> America/Los_Angeles
+
629 extern const extended::ZoneInfo& kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago
+
630 extern const extended::ZoneInfo& kZoneUTC; // UTC -> Etc/UTC
+
631 extern const extended::ZoneInfo& kZoneUniversal; // Universal -> Etc/UTC
+
632 extern const extended::ZoneInfo& kZoneW_SU; // W-SU -> Europe/Moscow
+
633 extern const extended::ZoneInfo& kZoneZulu; // Zulu -> Etc/UTC
+
634 
+
635 
+
636 //---------------------------------------------------------------------------
+
637 // Unsupported zones: 0
+
638 //---------------------------------------------------------------------------
+
639 
+
640 
+
641 
+
642 //---------------------------------------------------------------------------
+
643 // Notable zones: 1
+
644 //---------------------------------------------------------------------------
+
645 
+
646 // Africa/Johannesburg (RULES not fixed but FORMAT is missing '%' or '/')
+
647 
+
648 
+
649 //---------------------------------------------------------------------------
+
650 // Unsupported links: 0
+
651 //---------------------------------------------------------------------------
+
652 
+
653 
+
654 
+
655 //---------------------------------------------------------------------------
+
656 // Notable links: 0
+
657 //---------------------------------------------------------------------------
+
658 
+
659 
+
660 
+
661 }
+
662 }
+
663 
+
664 #endif
diff --git a/docs/html/_2zone__policies_8cpp_source.html b/docs/html/_2zone__policies_8cpp_source.html index 0a4245d43..ddae9347a 100644 --- a/docs/html/_2zone__policies_8cpp_source.html +++ b/docs/html/_2zone__policies_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx/zone_policies.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx/zone_policies.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
zone_policies.cpp
-
1 // This file was generated by the following script:
2 //
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
4 //
5 // using the TZ Database files from
6 // https://github.com/eggert/tz/releases/tag/2020a
7 //
8 // Policies: 84
9 // Rules: 545
10 // Memory (8-bit): 5444
11 // Memory (32-bit): 7627
12 //
13 // DO NOT EDIT
14 
15 #include <ace_time/common/compat.h>
16 #include "zone_policies.h"
17 
18 namespace ace_time {
19 namespace zonedbx {
20 
21 //---------------------------------------------------------------------------
22 // Policy name: AN
23 // Rules: 9
24 // Memory (8-bit): 87
25 // Memory (32-bit): 120
26 //---------------------------------------------------------------------------
27 
28 static const extended::ZoneRule kZoneRulesAN[] ACE_TIME_PROGMEM = {
29  // Rule AN 1987 1999 - Oct lastSun 2:00s 1:00 D
30  {
31  -13 /*fromYearTiny*/,
32  -1 /*toYearTiny*/,
33  10 /*inMonth*/,
34  7 /*onDayOfWeek*/,
35  0 /*onDayOfMonth*/,
36  8 /*atTimeCode*/,
37  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
38  (4 + 4) /*deltaCode*/,
39  'D' /*letter*/,
40  },
41  // Rule AN 1990 1995 - Mar Sun>=1 2:00s 0 S
42  {
43  -10 /*fromYearTiny*/,
44  -5 /*toYearTiny*/,
45  3 /*inMonth*/,
46  7 /*onDayOfWeek*/,
47  1 /*onDayOfMonth*/,
48  8 /*atTimeCode*/,
49  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
50  (0 + 4) /*deltaCode*/,
51  'S' /*letter*/,
52  },
53  // Rule AN 1996 2005 - Mar lastSun 2:00s 0 S
54  {
55  -4 /*fromYearTiny*/,
56  5 /*toYearTiny*/,
57  3 /*inMonth*/,
58  7 /*onDayOfWeek*/,
59  0 /*onDayOfMonth*/,
60  8 /*atTimeCode*/,
61  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
62  (0 + 4) /*deltaCode*/,
63  'S' /*letter*/,
64  },
65  // Rule AN 2000 only - Aug lastSun 2:00s 1:00 D
66  {
67  0 /*fromYearTiny*/,
68  0 /*toYearTiny*/,
69  8 /*inMonth*/,
70  7 /*onDayOfWeek*/,
71  0 /*onDayOfMonth*/,
72  8 /*atTimeCode*/,
73  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
74  (4 + 4) /*deltaCode*/,
75  'D' /*letter*/,
76  },
77  // Rule AN 2001 2007 - Oct lastSun 2:00s 1:00 D
78  {
79  1 /*fromYearTiny*/,
80  7 /*toYearTiny*/,
81  10 /*inMonth*/,
82  7 /*onDayOfWeek*/,
83  0 /*onDayOfMonth*/,
84  8 /*atTimeCode*/,
85  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
86  (4 + 4) /*deltaCode*/,
87  'D' /*letter*/,
88  },
89  // Rule AN 2006 only - Apr Sun>=1 2:00s 0 S
90  {
91  6 /*fromYearTiny*/,
92  6 /*toYearTiny*/,
93  4 /*inMonth*/,
94  7 /*onDayOfWeek*/,
95  1 /*onDayOfMonth*/,
96  8 /*atTimeCode*/,
97  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
98  (0 + 4) /*deltaCode*/,
99  'S' /*letter*/,
100  },
101  // Rule AN 2007 only - Mar lastSun 2:00s 0 S
102  {
103  7 /*fromYearTiny*/,
104  7 /*toYearTiny*/,
105  3 /*inMonth*/,
106  7 /*onDayOfWeek*/,
107  0 /*onDayOfMonth*/,
108  8 /*atTimeCode*/,
109  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
110  (0 + 4) /*deltaCode*/,
111  'S' /*letter*/,
112  },
113  // Rule AN 2008 max - Apr Sun>=1 2:00s 0 S
114  {
115  8 /*fromYearTiny*/,
116  126 /*toYearTiny*/,
117  4 /*inMonth*/,
118  7 /*onDayOfWeek*/,
119  1 /*onDayOfMonth*/,
120  8 /*atTimeCode*/,
121  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
122  (0 + 4) /*deltaCode*/,
123  'S' /*letter*/,
124  },
125  // Rule AN 2008 max - Oct Sun>=1 2:00s 1:00 D
126  {
127  8 /*fromYearTiny*/,
128  126 /*toYearTiny*/,
129  10 /*inMonth*/,
130  7 /*onDayOfWeek*/,
131  1 /*onDayOfMonth*/,
132  8 /*atTimeCode*/,
133  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
134  (4 + 4) /*deltaCode*/,
135  'D' /*letter*/,
136  },
137 
138 };
139 
140 
141 
142 const extended::ZonePolicy kPolicyAN ACE_TIME_PROGMEM = {
143  kZoneRulesAN /*rules*/,
144  nullptr /* letters */,
145  9 /*numRules*/,
146  0 /* numLetters */,
147 };
148 
149 //---------------------------------------------------------------------------
150 // Policy name: AQ
151 // Rules: 1
152 // Memory (8-bit): 15
153 // Memory (32-bit): 24
154 //---------------------------------------------------------------------------
155 
156 static const extended::ZoneRule kZoneRulesAQ[] ACE_TIME_PROGMEM = {
157  // Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 S
158  {
159  -10 /*fromYearTiny*/,
160  -8 /*toYearTiny*/,
161  3 /*inMonth*/,
162  7 /*onDayOfWeek*/,
163  1 /*onDayOfMonth*/,
164  8 /*atTimeCode*/,
165  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
166  (0 + 4) /*deltaCode*/,
167  'S' /*letter*/,
168  },
169 
170 };
171 
172 
173 
174 const extended::ZonePolicy kPolicyAQ ACE_TIME_PROGMEM = {
175  kZoneRulesAQ /*rules*/,
176  nullptr /* letters */,
177  1 /*numRules*/,
178  0 /* numLetters */,
179 };
180 
181 //---------------------------------------------------------------------------
182 // Policy name: AS
183 // Rules: 7
184 // Memory (8-bit): 69
185 // Memory (32-bit): 96
186 //---------------------------------------------------------------------------
187 
188 static const extended::ZoneRule kZoneRulesAS[] ACE_TIME_PROGMEM = {
189  // Rule AS 1987 2007 - Oct lastSun 2:00s 1:00 D
190  {
191  -13 /*fromYearTiny*/,
192  7 /*toYearTiny*/,
193  10 /*inMonth*/,
194  7 /*onDayOfWeek*/,
195  0 /*onDayOfMonth*/,
196  8 /*atTimeCode*/,
197  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
198  (4 + 4) /*deltaCode*/,
199  'D' /*letter*/,
200  },
201  // Rule AS 1994 only - Mar 20 2:00s 0 S
202  {
203  -6 /*fromYearTiny*/,
204  -6 /*toYearTiny*/,
205  3 /*inMonth*/,
206  0 /*onDayOfWeek*/,
207  20 /*onDayOfMonth*/,
208  8 /*atTimeCode*/,
209  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
210  (0 + 4) /*deltaCode*/,
211  'S' /*letter*/,
212  },
213  // Rule AS 1995 2005 - Mar lastSun 2:00s 0 S
214  {
215  -5 /*fromYearTiny*/,
216  5 /*toYearTiny*/,
217  3 /*inMonth*/,
218  7 /*onDayOfWeek*/,
219  0 /*onDayOfMonth*/,
220  8 /*atTimeCode*/,
221  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
222  (0 + 4) /*deltaCode*/,
223  'S' /*letter*/,
224  },
225  // Rule AS 2006 only - Apr 2 2:00s 0 S
226  {
227  6 /*fromYearTiny*/,
228  6 /*toYearTiny*/,
229  4 /*inMonth*/,
230  0 /*onDayOfWeek*/,
231  2 /*onDayOfMonth*/,
232  8 /*atTimeCode*/,
233  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
234  (0 + 4) /*deltaCode*/,
235  'S' /*letter*/,
236  },
237  // Rule AS 2007 only - Mar lastSun 2:00s 0 S
238  {
239  7 /*fromYearTiny*/,
240  7 /*toYearTiny*/,
241  3 /*inMonth*/,
242  7 /*onDayOfWeek*/,
243  0 /*onDayOfMonth*/,
244  8 /*atTimeCode*/,
245  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
246  (0 + 4) /*deltaCode*/,
247  'S' /*letter*/,
248  },
249  // Rule AS 2008 max - Apr Sun>=1 2:00s 0 S
250  {
251  8 /*fromYearTiny*/,
252  126 /*toYearTiny*/,
253  4 /*inMonth*/,
254  7 /*onDayOfWeek*/,
255  1 /*onDayOfMonth*/,
256  8 /*atTimeCode*/,
257  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
258  (0 + 4) /*deltaCode*/,
259  'S' /*letter*/,
260  },
261  // Rule AS 2008 max - Oct Sun>=1 2:00s 1:00 D
262  {
263  8 /*fromYearTiny*/,
264  126 /*toYearTiny*/,
265  10 /*inMonth*/,
266  7 /*onDayOfWeek*/,
267  1 /*onDayOfMonth*/,
268  8 /*atTimeCode*/,
269  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
270  (4 + 4) /*deltaCode*/,
271  'D' /*letter*/,
272  },
273 
274 };
275 
276 
277 
278 const extended::ZonePolicy kPolicyAS ACE_TIME_PROGMEM = {
279  kZoneRulesAS /*rules*/,
280  nullptr /* letters */,
281  7 /*numRules*/,
282  0 /* numLetters */,
283 };
284 
285 //---------------------------------------------------------------------------
286 // Policy name: AT
287 // Rules: 8
288 // Memory (8-bit): 78
289 // Memory (32-bit): 108
290 //---------------------------------------------------------------------------
291 
292 static const extended::ZoneRule kZoneRulesAT[] ACE_TIME_PROGMEM = {
293  // Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 D
294  {
295  -12 /*fromYearTiny*/,
296  -10 /*toYearTiny*/,
297  10 /*inMonth*/,
298  7 /*onDayOfWeek*/,
299  0 /*onDayOfMonth*/,
300  8 /*atTimeCode*/,
301  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
302  (4 + 4) /*deltaCode*/,
303  'D' /*letter*/,
304  },
305  // Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 D
306  {
307  -9 /*fromYearTiny*/,
308  -1 /*toYearTiny*/,
309  10 /*inMonth*/,
310  7 /*onDayOfWeek*/,
311  1 /*onDayOfMonth*/,
312  8 /*atTimeCode*/,
313  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
314  (4 + 4) /*deltaCode*/,
315  'D' /*letter*/,
316  },
317  // Rule AT 1991 2005 - Mar lastSun 2:00s 0 S
318  {
319  -9 /*fromYearTiny*/,
320  5 /*toYearTiny*/,
321  3 /*inMonth*/,
322  7 /*onDayOfWeek*/,
323  0 /*onDayOfMonth*/,
324  8 /*atTimeCode*/,
325  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
326  (0 + 4) /*deltaCode*/,
327  'S' /*letter*/,
328  },
329  // Rule AT 2000 only - Aug lastSun 2:00s 1:00 D
330  {
331  0 /*fromYearTiny*/,
332  0 /*toYearTiny*/,
333  8 /*inMonth*/,
334  7 /*onDayOfWeek*/,
335  0 /*onDayOfMonth*/,
336  8 /*atTimeCode*/,
337  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
338  (4 + 4) /*deltaCode*/,
339  'D' /*letter*/,
340  },
341  // Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 D
342  {
343  1 /*fromYearTiny*/,
344  126 /*toYearTiny*/,
345  10 /*inMonth*/,
346  7 /*onDayOfWeek*/,
347  1 /*onDayOfMonth*/,
348  8 /*atTimeCode*/,
349  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
350  (4 + 4) /*deltaCode*/,
351  'D' /*letter*/,
352  },
353  // Rule AT 2006 only - Apr Sun>=1 2:00s 0 S
354  {
355  6 /*fromYearTiny*/,
356  6 /*toYearTiny*/,
357  4 /*inMonth*/,
358  7 /*onDayOfWeek*/,
359  1 /*onDayOfMonth*/,
360  8 /*atTimeCode*/,
361  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
362  (0 + 4) /*deltaCode*/,
363  'S' /*letter*/,
364  },
365  // Rule AT 2007 only - Mar lastSun 2:00s 0 S
366  {
367  7 /*fromYearTiny*/,
368  7 /*toYearTiny*/,
369  3 /*inMonth*/,
370  7 /*onDayOfWeek*/,
371  0 /*onDayOfMonth*/,
372  8 /*atTimeCode*/,
373  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
374  (0 + 4) /*deltaCode*/,
375  'S' /*letter*/,
376  },
377  // Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
378  {
379  8 /*fromYearTiny*/,
380  126 /*toYearTiny*/,
381  4 /*inMonth*/,
382  7 /*onDayOfWeek*/,
383  1 /*onDayOfMonth*/,
384  8 /*atTimeCode*/,
385  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
386  (0 + 4) /*deltaCode*/,
387  'S' /*letter*/,
388  },
389 
390 };
391 
392 
393 
394 const extended::ZonePolicy kPolicyAT ACE_TIME_PROGMEM = {
395  kZoneRulesAT /*rules*/,
396  nullptr /* letters */,
397  8 /*numRules*/,
398  0 /* numLetters */,
399 };
400 
401 //---------------------------------------------------------------------------
402 // Policy name: AV
403 // Rules: 9
404 // Memory (8-bit): 87
405 // Memory (32-bit): 120
406 //---------------------------------------------------------------------------
407 
408 static const extended::ZoneRule kZoneRulesAV[] ACE_TIME_PROGMEM = {
409  // Rule AV 1988 1999 - Oct lastSun 2:00s 1:00 D
410  {
411  -12 /*fromYearTiny*/,
412  -1 /*toYearTiny*/,
413  10 /*inMonth*/,
414  7 /*onDayOfWeek*/,
415  0 /*onDayOfMonth*/,
416  8 /*atTimeCode*/,
417  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
418  (4 + 4) /*deltaCode*/,
419  'D' /*letter*/,
420  },
421  // Rule AV 1991 1994 - Mar Sun>=1 2:00s 0 S
422  {
423  -9 /*fromYearTiny*/,
424  -6 /*toYearTiny*/,
425  3 /*inMonth*/,
426  7 /*onDayOfWeek*/,
427  1 /*onDayOfMonth*/,
428  8 /*atTimeCode*/,
429  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
430  (0 + 4) /*deltaCode*/,
431  'S' /*letter*/,
432  },
433  // Rule AV 1995 2005 - Mar lastSun 2:00s 0 S
434  {
435  -5 /*fromYearTiny*/,
436  5 /*toYearTiny*/,
437  3 /*inMonth*/,
438  7 /*onDayOfWeek*/,
439  0 /*onDayOfMonth*/,
440  8 /*atTimeCode*/,
441  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
442  (0 + 4) /*deltaCode*/,
443  'S' /*letter*/,
444  },
445  // Rule AV 2000 only - Aug lastSun 2:00s 1:00 D
446  {
447  0 /*fromYearTiny*/,
448  0 /*toYearTiny*/,
449  8 /*inMonth*/,
450  7 /*onDayOfWeek*/,
451  0 /*onDayOfMonth*/,
452  8 /*atTimeCode*/,
453  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
454  (4 + 4) /*deltaCode*/,
455  'D' /*letter*/,
456  },
457  // Rule AV 2001 2007 - Oct lastSun 2:00s 1:00 D
458  {
459  1 /*fromYearTiny*/,
460  7 /*toYearTiny*/,
461  10 /*inMonth*/,
462  7 /*onDayOfWeek*/,
463  0 /*onDayOfMonth*/,
464  8 /*atTimeCode*/,
465  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
466  (4 + 4) /*deltaCode*/,
467  'D' /*letter*/,
468  },
469  // Rule AV 2006 only - Apr Sun>=1 2:00s 0 S
470  {
471  6 /*fromYearTiny*/,
472  6 /*toYearTiny*/,
473  4 /*inMonth*/,
474  7 /*onDayOfWeek*/,
475  1 /*onDayOfMonth*/,
476  8 /*atTimeCode*/,
477  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
478  (0 + 4) /*deltaCode*/,
479  'S' /*letter*/,
480  },
481  // Rule AV 2007 only - Mar lastSun 2:00s 0 S
482  {
483  7 /*fromYearTiny*/,
484  7 /*toYearTiny*/,
485  3 /*inMonth*/,
486  7 /*onDayOfWeek*/,
487  0 /*onDayOfMonth*/,
488  8 /*atTimeCode*/,
489  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
490  (0 + 4) /*deltaCode*/,
491  'S' /*letter*/,
492  },
493  // Rule AV 2008 max - Apr Sun>=1 2:00s 0 S
494  {
495  8 /*fromYearTiny*/,
496  126 /*toYearTiny*/,
497  4 /*inMonth*/,
498  7 /*onDayOfWeek*/,
499  1 /*onDayOfMonth*/,
500  8 /*atTimeCode*/,
501  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
502  (0 + 4) /*deltaCode*/,
503  'S' /*letter*/,
504  },
505  // Rule AV 2008 max - Oct Sun>=1 2:00s 1:00 D
506  {
507  8 /*fromYearTiny*/,
508  126 /*toYearTiny*/,
509  10 /*inMonth*/,
510  7 /*onDayOfWeek*/,
511  1 /*onDayOfMonth*/,
512  8 /*atTimeCode*/,
513  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
514  (4 + 4) /*deltaCode*/,
515  'D' /*letter*/,
516  },
517 
518 };
519 
520 
521 
522 const extended::ZonePolicy kPolicyAV ACE_TIME_PROGMEM = {
523  kZoneRulesAV /*rules*/,
524  nullptr /* letters */,
525  9 /*numRules*/,
526  0 /* numLetters */,
527 };
528 
529 //---------------------------------------------------------------------------
530 // Policy name: AW
531 // Rules: 4
532 // Memory (8-bit): 42
533 // Memory (32-bit): 60
534 //---------------------------------------------------------------------------
535 
536 static const extended::ZoneRule kZoneRulesAW[] ACE_TIME_PROGMEM = {
537  // Rule AW 1992 only - Mar Sun>=1 2:00s 0 S
538  {
539  -8 /*fromYearTiny*/,
540  -8 /*toYearTiny*/,
541  3 /*inMonth*/,
542  7 /*onDayOfWeek*/,
543  1 /*onDayOfMonth*/,
544  8 /*atTimeCode*/,
545  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
546  (0 + 4) /*deltaCode*/,
547  'S' /*letter*/,
548  },
549  // Rule AW 2006 only - Dec 3 2:00s 1:00 D
550  {
551  6 /*fromYearTiny*/,
552  6 /*toYearTiny*/,
553  12 /*inMonth*/,
554  0 /*onDayOfWeek*/,
555  3 /*onDayOfMonth*/,
556  8 /*atTimeCode*/,
557  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
558  (4 + 4) /*deltaCode*/,
559  'D' /*letter*/,
560  },
561  // Rule AW 2007 2009 - Mar lastSun 2:00s 0 S
562  {
563  7 /*fromYearTiny*/,
564  9 /*toYearTiny*/,
565  3 /*inMonth*/,
566  7 /*onDayOfWeek*/,
567  0 /*onDayOfMonth*/,
568  8 /*atTimeCode*/,
569  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
570  (0 + 4) /*deltaCode*/,
571  'S' /*letter*/,
572  },
573  // Rule AW 2007 2008 - Oct lastSun 2:00s 1:00 D
574  {
575  7 /*fromYearTiny*/,
576  8 /*toYearTiny*/,
577  10 /*inMonth*/,
578  7 /*onDayOfWeek*/,
579  0 /*onDayOfMonth*/,
580  8 /*atTimeCode*/,
581  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
582  (4 + 4) /*deltaCode*/,
583  'D' /*letter*/,
584  },
585 
586 };
587 
588 
589 
590 const extended::ZonePolicy kPolicyAW ACE_TIME_PROGMEM = {
591  kZoneRulesAW /*rules*/,
592  nullptr /* letters */,
593  4 /*numRules*/,
594  0 /* numLetters */,
595 };
596 
597 //---------------------------------------------------------------------------
598 // Policy name: Arg
599 // Rules: 6
600 // Memory (8-bit): 60
601 // Memory (32-bit): 84
602 //---------------------------------------------------------------------------
603 
604 static const extended::ZoneRule kZoneRulesArg[] ACE_TIME_PROGMEM = {
605  // Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
606  {
607  -11 /*fromYearTiny*/,
608  -7 /*toYearTiny*/,
609  3 /*inMonth*/,
610  7 /*onDayOfWeek*/,
611  1 /*onDayOfMonth*/,
612  0 /*atTimeCode*/,
613  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
614  (0 + 4) /*deltaCode*/,
615  '-' /*letter*/,
616  },
617  // Rule Arg 1999 only - Oct Sun>=1 0:00 1:00 -
618  {
619  -1 /*fromYearTiny*/,
620  -1 /*toYearTiny*/,
621  10 /*inMonth*/,
622  7 /*onDayOfWeek*/,
623  1 /*onDayOfMonth*/,
624  0 /*atTimeCode*/,
625  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
626  (4 + 4) /*deltaCode*/,
627  '-' /*letter*/,
628  },
629  // Rule Arg 2000 only - Mar 3 0:00 0 -
630  {
631  0 /*fromYearTiny*/,
632  0 /*toYearTiny*/,
633  3 /*inMonth*/,
634  0 /*onDayOfWeek*/,
635  3 /*onDayOfMonth*/,
636  0 /*atTimeCode*/,
637  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
638  (0 + 4) /*deltaCode*/,
639  '-' /*letter*/,
640  },
641  // Rule Arg 2007 only - Dec 30 0:00 1:00 -
642  {
643  7 /*fromYearTiny*/,
644  7 /*toYearTiny*/,
645  12 /*inMonth*/,
646  0 /*onDayOfWeek*/,
647  30 /*onDayOfMonth*/,
648  0 /*atTimeCode*/,
649  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
650  (4 + 4) /*deltaCode*/,
651  '-' /*letter*/,
652  },
653  // Rule Arg 2008 2009 - Mar Sun>=15 0:00 0 -
654  {
655  8 /*fromYearTiny*/,
656  9 /*toYearTiny*/,
657  3 /*inMonth*/,
658  7 /*onDayOfWeek*/,
659  15 /*onDayOfMonth*/,
660  0 /*atTimeCode*/,
661  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
662  (0 + 4) /*deltaCode*/,
663  '-' /*letter*/,
664  },
665  // Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 -
666  {
667  8 /*fromYearTiny*/,
668  8 /*toYearTiny*/,
669  10 /*inMonth*/,
670  7 /*onDayOfWeek*/,
671  15 /*onDayOfMonth*/,
672  0 /*atTimeCode*/,
673  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
674  (4 + 4) /*deltaCode*/,
675  '-' /*letter*/,
676  },
677 
678 };
679 
680 
681 
682 const extended::ZonePolicy kPolicyArg ACE_TIME_PROGMEM = {
683  kZoneRulesArg /*rules*/,
684  nullptr /* letters */,
685  6 /*numRules*/,
686  0 /* numLetters */,
687 };
688 
689 //---------------------------------------------------------------------------
690 // Policy name: Armenia
691 // Rules: 3
692 // Memory (8-bit): 33
693 // Memory (32-bit): 48
694 //---------------------------------------------------------------------------
695 
696 static const extended::ZoneRule kZoneRulesArmenia[] ACE_TIME_PROGMEM = {
697  // Anchor: Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
698  {
699  -127 /*fromYearTiny*/,
700  -127 /*toYearTiny*/,
701  1 /*inMonth*/,
702  0 /*onDayOfWeek*/,
703  1 /*onDayOfMonth*/,
704  0 /*atTimeCode*/,
705  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
706  (0 + 4) /*deltaCode*/,
707  '-' /*letter*/,
708  },
709  // Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 -
710  {
711  11 /*fromYearTiny*/,
712  11 /*toYearTiny*/,
713  3 /*inMonth*/,
714  7 /*onDayOfWeek*/,
715  0 /*onDayOfMonth*/,
716  8 /*atTimeCode*/,
717  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
718  (4 + 4) /*deltaCode*/,
719  '-' /*letter*/,
720  },
721  // Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
722  {
723  11 /*fromYearTiny*/,
724  11 /*toYearTiny*/,
725  10 /*inMonth*/,
726  7 /*onDayOfWeek*/,
727  0 /*onDayOfMonth*/,
728  8 /*atTimeCode*/,
729  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
730  (0 + 4) /*deltaCode*/,
731  '-' /*letter*/,
732  },
733 
734 };
735 
736 
737 
738 const extended::ZonePolicy kPolicyArmenia ACE_TIME_PROGMEM = {
739  kZoneRulesArmenia /*rules*/,
740  nullptr /* letters */,
741  3 /*numRules*/,
742  0 /* numLetters */,
743 };
744 
745 //---------------------------------------------------------------------------
746 // Policy name: Aus
747 // Rules: 1
748 // Memory (8-bit): 15
749 // Memory (32-bit): 24
750 //---------------------------------------------------------------------------
751 
752 static const extended::ZoneRule kZoneRulesAus[] ACE_TIME_PROGMEM = {
753  // Rule Aus 1943 1944 - Mar lastSun 2:00 0 S
754  {
755  -57 /*fromYearTiny*/,
756  -56 /*toYearTiny*/,
757  3 /*inMonth*/,
758  7 /*onDayOfWeek*/,
759  0 /*onDayOfMonth*/,
760  8 /*atTimeCode*/,
761  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
762  (0 + 4) /*deltaCode*/,
763  'S' /*letter*/,
764  },
765 
766 };
767 
768 
769 
770 const extended::ZonePolicy kPolicyAus ACE_TIME_PROGMEM = {
771  kZoneRulesAus /*rules*/,
772  nullptr /* letters */,
773  1 /*numRules*/,
774  0 /* numLetters */,
775 };
776 
777 //---------------------------------------------------------------------------
778 // Policy name: Azer
779 // Rules: 2
780 // Memory (8-bit): 24
781 // Memory (32-bit): 36
782 //---------------------------------------------------------------------------
783 
784 static const extended::ZoneRule kZoneRulesAzer[] ACE_TIME_PROGMEM = {
785  // Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 -
786  {
787  -3 /*fromYearTiny*/,
788  15 /*toYearTiny*/,
789  3 /*inMonth*/,
790  7 /*onDayOfWeek*/,
791  0 /*onDayOfMonth*/,
792  16 /*atTimeCode*/,
793  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
794  (4 + 4) /*deltaCode*/,
795  '-' /*letter*/,
796  },
797  // Rule Azer 1997 2015 - Oct lastSun 5:00 0 -
798  {
799  -3 /*fromYearTiny*/,
800  15 /*toYearTiny*/,
801  10 /*inMonth*/,
802  7 /*onDayOfWeek*/,
803  0 /*onDayOfMonth*/,
804  20 /*atTimeCode*/,
805  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
806  (0 + 4) /*deltaCode*/,
807  '-' /*letter*/,
808  },
809 
810 };
811 
812 
813 
814 const extended::ZonePolicy kPolicyAzer ACE_TIME_PROGMEM = {
815  kZoneRulesAzer /*rules*/,
816  nullptr /* letters */,
817  2 /*numRules*/,
818  0 /* numLetters */,
819 };
820 
821 //---------------------------------------------------------------------------
822 // Policy name: Barb
823 // Rules: 1
824 // Memory (8-bit): 15
825 // Memory (32-bit): 24
826 //---------------------------------------------------------------------------
827 
828 static const extended::ZoneRule kZoneRulesBarb[] ACE_TIME_PROGMEM = {
829  // Rule Barb 1980 only - Sep 25 2:00 0 S
830  {
831  -20 /*fromYearTiny*/,
832  -20 /*toYearTiny*/,
833  9 /*inMonth*/,
834  0 /*onDayOfWeek*/,
835  25 /*onDayOfMonth*/,
836  8 /*atTimeCode*/,
837  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
838  (0 + 4) /*deltaCode*/,
839  'S' /*letter*/,
840  },
841 
842 };
843 
844 
845 
846 const extended::ZonePolicy kPolicyBarb ACE_TIME_PROGMEM = {
847  kZoneRulesBarb /*rules*/,
848  nullptr /* letters */,
849  1 /*numRules*/,
850  0 /* numLetters */,
851 };
852 
853 //---------------------------------------------------------------------------
854 // Policy name: Belize
855 // Rules: 1
856 // Memory (8-bit): 21
857 // Memory (32-bit): 32
858 //---------------------------------------------------------------------------
859 
860 static const extended::ZoneRule kZoneRulesBelize[] ACE_TIME_PROGMEM = {
861  // Rule Belize 1983 only - Feb 12 0:00 0 CST
862  {
863  -17 /*fromYearTiny*/,
864  -17 /*toYearTiny*/,
865  2 /*inMonth*/,
866  0 /*onDayOfWeek*/,
867  12 /*onDayOfMonth*/,
868  0 /*atTimeCode*/,
869  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
870  (0 + 4) /*deltaCode*/,
871  0 /*letter; "CST"*/,
872  },
873 
874 };
875 
876 static const char* const kLettersBelize[] ACE_TIME_PROGMEM = {
877  /*0*/ "CST",
878 
879 };
880 
881 
882 const extended::ZonePolicy kPolicyBelize ACE_TIME_PROGMEM = {
883  kZoneRulesBelize /*rules*/,
884  kLettersBelize /* letters */,
885  1 /*numRules*/,
886  1 /* numLetters */,
887 };
888 
889 //---------------------------------------------------------------------------
890 // Policy name: Brazil
891 // Rules: 20
892 // Memory (8-bit): 186
893 // Memory (32-bit): 252
894 //---------------------------------------------------------------------------
895 
896 static const extended::ZoneRule kZoneRulesBrazil[] ACE_TIME_PROGMEM = {
897  // Rule Brazil 1998 only - Oct 11 0:00 1:00 -
898  {
899  -2 /*fromYearTiny*/,
900  -2 /*toYearTiny*/,
901  10 /*inMonth*/,
902  0 /*onDayOfWeek*/,
903  11 /*onDayOfMonth*/,
904  0 /*atTimeCode*/,
905  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
906  (4 + 4) /*deltaCode*/,
907  '-' /*letter*/,
908  },
909  // Rule Brazil 1999 only - Feb 21 0:00 0 -
910  {
911  -1 /*fromYearTiny*/,
912  -1 /*toYearTiny*/,
913  2 /*inMonth*/,
914  0 /*onDayOfWeek*/,
915  21 /*onDayOfMonth*/,
916  0 /*atTimeCode*/,
917  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
918  (0 + 4) /*deltaCode*/,
919  '-' /*letter*/,
920  },
921  // Rule Brazil 1999 only - Oct 3 0:00 1:00 -
922  {
923  -1 /*fromYearTiny*/,
924  -1 /*toYearTiny*/,
925  10 /*inMonth*/,
926  0 /*onDayOfWeek*/,
927  3 /*onDayOfMonth*/,
928  0 /*atTimeCode*/,
929  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
930  (4 + 4) /*deltaCode*/,
931  '-' /*letter*/,
932  },
933  // Rule Brazil 2000 only - Feb 27 0:00 0 -
934  {
935  0 /*fromYearTiny*/,
936  0 /*toYearTiny*/,
937  2 /*inMonth*/,
938  0 /*onDayOfWeek*/,
939  27 /*onDayOfMonth*/,
940  0 /*atTimeCode*/,
941  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
942  (0 + 4) /*deltaCode*/,
943  '-' /*letter*/,
944  },
945  // Rule Brazil 2000 2001 - Oct Sun>=8 0:00 1:00 -
946  {
947  0 /*fromYearTiny*/,
948  1 /*toYearTiny*/,
949  10 /*inMonth*/,
950  7 /*onDayOfWeek*/,
951  8 /*onDayOfMonth*/,
952  0 /*atTimeCode*/,
953  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
954  (4 + 4) /*deltaCode*/,
955  '-' /*letter*/,
956  },
957  // Rule Brazil 2001 2006 - Feb Sun>=15 0:00 0 -
958  {
959  1 /*fromYearTiny*/,
960  6 /*toYearTiny*/,
961  2 /*inMonth*/,
962  7 /*onDayOfWeek*/,
963  15 /*onDayOfMonth*/,
964  0 /*atTimeCode*/,
965  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
966  (0 + 4) /*deltaCode*/,
967  '-' /*letter*/,
968  },
969  // Rule Brazil 2002 only - Nov 3 0:00 1:00 -
970  {
971  2 /*fromYearTiny*/,
972  2 /*toYearTiny*/,
973  11 /*inMonth*/,
974  0 /*onDayOfWeek*/,
975  3 /*onDayOfMonth*/,
976  0 /*atTimeCode*/,
977  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
978  (4 + 4) /*deltaCode*/,
979  '-' /*letter*/,
980  },
981  // Rule Brazil 2003 only - Oct 19 0:00 1:00 -
982  {
983  3 /*fromYearTiny*/,
984  3 /*toYearTiny*/,
985  10 /*inMonth*/,
986  0 /*onDayOfWeek*/,
987  19 /*onDayOfMonth*/,
988  0 /*atTimeCode*/,
989  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
990  (4 + 4) /*deltaCode*/,
991  '-' /*letter*/,
992  },
993  // Rule Brazil 2004 only - Nov 2 0:00 1:00 -
994  {
995  4 /*fromYearTiny*/,
996  4 /*toYearTiny*/,
997  11 /*inMonth*/,
998  0 /*onDayOfWeek*/,
999  2 /*onDayOfMonth*/,
1000  0 /*atTimeCode*/,
1001  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1002  (4 + 4) /*deltaCode*/,
1003  '-' /*letter*/,
1004  },
1005  // Rule Brazil 2005 only - Oct 16 0:00 1:00 -
1006  {
1007  5 /*fromYearTiny*/,
1008  5 /*toYearTiny*/,
1009  10 /*inMonth*/,
1010  0 /*onDayOfWeek*/,
1011  16 /*onDayOfMonth*/,
1012  0 /*atTimeCode*/,
1013  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1014  (4 + 4) /*deltaCode*/,
1015  '-' /*letter*/,
1016  },
1017  // Rule Brazil 2006 only - Nov 5 0:00 1:00 -
1018  {
1019  6 /*fromYearTiny*/,
1020  6 /*toYearTiny*/,
1021  11 /*inMonth*/,
1022  0 /*onDayOfWeek*/,
1023  5 /*onDayOfMonth*/,
1024  0 /*atTimeCode*/,
1025  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1026  (4 + 4) /*deltaCode*/,
1027  '-' /*letter*/,
1028  },
1029  // Rule Brazil 2007 only - Feb 25 0:00 0 -
1030  {
1031  7 /*fromYearTiny*/,
1032  7 /*toYearTiny*/,
1033  2 /*inMonth*/,
1034  0 /*onDayOfWeek*/,
1035  25 /*onDayOfMonth*/,
1036  0 /*atTimeCode*/,
1037  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1038  (0 + 4) /*deltaCode*/,
1039  '-' /*letter*/,
1040  },
1041  // Rule Brazil 2007 only - Oct Sun>=8 0:00 1:00 -
1042  {
1043  7 /*fromYearTiny*/,
1044  7 /*toYearTiny*/,
1045  10 /*inMonth*/,
1046  7 /*onDayOfWeek*/,
1047  8 /*onDayOfMonth*/,
1048  0 /*atTimeCode*/,
1049  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1050  (4 + 4) /*deltaCode*/,
1051  '-' /*letter*/,
1052  },
1053  // Rule Brazil 2008 2017 - Oct Sun>=15 0:00 1:00 -
1054  {
1055  8 /*fromYearTiny*/,
1056  17 /*toYearTiny*/,
1057  10 /*inMonth*/,
1058  7 /*onDayOfWeek*/,
1059  15 /*onDayOfMonth*/,
1060  0 /*atTimeCode*/,
1061  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1062  (4 + 4) /*deltaCode*/,
1063  '-' /*letter*/,
1064  },
1065  // Rule Brazil 2008 2011 - Feb Sun>=15 0:00 0 -
1066  {
1067  8 /*fromYearTiny*/,
1068  11 /*toYearTiny*/,
1069  2 /*inMonth*/,
1070  7 /*onDayOfWeek*/,
1071  15 /*onDayOfMonth*/,
1072  0 /*atTimeCode*/,
1073  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1074  (0 + 4) /*deltaCode*/,
1075  '-' /*letter*/,
1076  },
1077  // Rule Brazil 2012 only - Feb Sun>=22 0:00 0 -
1078  {
1079  12 /*fromYearTiny*/,
1080  12 /*toYearTiny*/,
1081  2 /*inMonth*/,
1082  7 /*onDayOfWeek*/,
1083  22 /*onDayOfMonth*/,
1084  0 /*atTimeCode*/,
1085  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1086  (0 + 4) /*deltaCode*/,
1087  '-' /*letter*/,
1088  },
1089  // Rule Brazil 2013 2014 - Feb Sun>=15 0:00 0 -
1090  {
1091  13 /*fromYearTiny*/,
1092  14 /*toYearTiny*/,
1093  2 /*inMonth*/,
1094  7 /*onDayOfWeek*/,
1095  15 /*onDayOfMonth*/,
1096  0 /*atTimeCode*/,
1097  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1098  (0 + 4) /*deltaCode*/,
1099  '-' /*letter*/,
1100  },
1101  // Rule Brazil 2015 only - Feb Sun>=22 0:00 0 -
1102  {
1103  15 /*fromYearTiny*/,
1104  15 /*toYearTiny*/,
1105  2 /*inMonth*/,
1106  7 /*onDayOfWeek*/,
1107  22 /*onDayOfMonth*/,
1108  0 /*atTimeCode*/,
1109  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1110  (0 + 4) /*deltaCode*/,
1111  '-' /*letter*/,
1112  },
1113  // Rule Brazil 2016 2019 - Feb Sun>=15 0:00 0 -
1114  {
1115  16 /*fromYearTiny*/,
1116  19 /*toYearTiny*/,
1117  2 /*inMonth*/,
1118  7 /*onDayOfWeek*/,
1119  15 /*onDayOfMonth*/,
1120  0 /*atTimeCode*/,
1121  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1122  (0 + 4) /*deltaCode*/,
1123  '-' /*letter*/,
1124  },
1125  // Rule Brazil 2018 only - Nov Sun>=1 0:00 1:00 -
1126  {
1127  18 /*fromYearTiny*/,
1128  18 /*toYearTiny*/,
1129  11 /*inMonth*/,
1130  7 /*onDayOfWeek*/,
1131  1 /*onDayOfMonth*/,
1132  0 /*atTimeCode*/,
1133  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1134  (4 + 4) /*deltaCode*/,
1135  '-' /*letter*/,
1136  },
1137 
1138 };
1139 
1140 
1141 
1142 const extended::ZonePolicy kPolicyBrazil ACE_TIME_PROGMEM = {
1143  kZoneRulesBrazil /*rules*/,
1144  nullptr /* letters */,
1145  20 /*numRules*/,
1146  0 /* numLetters */,
1147 };
1148 
1149 //---------------------------------------------------------------------------
1150 // Policy name: C_Eur
1151 // Rules: 3
1152 // Memory (8-bit): 33
1153 // Memory (32-bit): 48
1154 //---------------------------------------------------------------------------
1155 
1156 static const extended::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = {
1157  // Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 -
1158  {
1159  -21 /*fromYearTiny*/,
1160  -5 /*toYearTiny*/,
1161  9 /*inMonth*/,
1162  7 /*onDayOfWeek*/,
1163  0 /*onDayOfMonth*/,
1164  8 /*atTimeCode*/,
1165  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1166  (0 + 4) /*deltaCode*/,
1167  '-' /*letter*/,
1168  },
1169  // Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S
1170  {
1171  -19 /*fromYearTiny*/,
1172  126 /*toYearTiny*/,
1173  3 /*inMonth*/,
1174  7 /*onDayOfWeek*/,
1175  0 /*onDayOfMonth*/,
1176  8 /*atTimeCode*/,
1177  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1178  (4 + 4) /*deltaCode*/,
1179  'S' /*letter*/,
1180  },
1181  // Rule C-Eur 1996 max - Oct lastSun 2:00s 0 -
1182  {
1183  -4 /*fromYearTiny*/,
1184  126 /*toYearTiny*/,
1185  10 /*inMonth*/,
1186  7 /*onDayOfWeek*/,
1187  0 /*onDayOfMonth*/,
1188  8 /*atTimeCode*/,
1189  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1190  (0 + 4) /*deltaCode*/,
1191  '-' /*letter*/,
1192  },
1193 
1194 };
1195 
1196 
1197 
1198 const extended::ZonePolicy kPolicyC_Eur ACE_TIME_PROGMEM = {
1199  kZoneRulesC_Eur /*rules*/,
1200  nullptr /* letters */,
1201  3 /*numRules*/,
1202  0 /* numLetters */,
1203 };
1204 
1205 //---------------------------------------------------------------------------
1206 // Policy name: CO
1207 // Rules: 1
1208 // Memory (8-bit): 15
1209 // Memory (32-bit): 24
1210 //---------------------------------------------------------------------------
1211 
1212 static const extended::ZoneRule kZoneRulesCO[] ACE_TIME_PROGMEM = {
1213  // Rule CO 1993 only - Apr 4 0:00 0 -
1214  {
1215  -7 /*fromYearTiny*/,
1216  -7 /*toYearTiny*/,
1217  4 /*inMonth*/,
1218  0 /*onDayOfWeek*/,
1219  4 /*onDayOfMonth*/,
1220  0 /*atTimeCode*/,
1221  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1222  (0 + 4) /*deltaCode*/,
1223  '-' /*letter*/,
1224  },
1225 
1226 };
1227 
1228 
1229 
1230 const extended::ZonePolicy kPolicyCO ACE_TIME_PROGMEM = {
1231  kZoneRulesCO /*rules*/,
1232  nullptr /* letters */,
1233  1 /*numRules*/,
1234  0 /* numLetters */,
1235 };
1236 
1237 //---------------------------------------------------------------------------
1238 // Policy name: CR
1239 // Rules: 1
1240 // Memory (8-bit): 15
1241 // Memory (32-bit): 24
1242 //---------------------------------------------------------------------------
1243 
1244 static const extended::ZoneRule kZoneRulesCR[] ACE_TIME_PROGMEM = {
1245  // Rule CR 1992 only - Mar 15 0:00 0 S
1246  {
1247  -8 /*fromYearTiny*/,
1248  -8 /*toYearTiny*/,
1249  3 /*inMonth*/,
1250  0 /*onDayOfWeek*/,
1251  15 /*onDayOfMonth*/,
1252  0 /*atTimeCode*/,
1253  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1254  (0 + 4) /*deltaCode*/,
1255  'S' /*letter*/,
1256  },
1257 
1258 };
1259 
1260 
1261 
1262 const extended::ZonePolicy kPolicyCR ACE_TIME_PROGMEM = {
1263  kZoneRulesCR /*rules*/,
1264  nullptr /* letters */,
1265  1 /*numRules*/,
1266  0 /* numLetters */,
1267 };
1268 
1269 //---------------------------------------------------------------------------
1270 // Policy name: Canada
1271 // Rules: 5
1272 // Memory (8-bit): 51
1273 // Memory (32-bit): 72
1274 //---------------------------------------------------------------------------
1275 
1276 static const extended::ZoneRule kZoneRulesCanada[] ACE_TIME_PROGMEM = {
1277  // Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
1278  {
1279  -26 /*fromYearTiny*/,
1280  -14 /*toYearTiny*/,
1281  4 /*inMonth*/,
1282  7 /*onDayOfWeek*/,
1283  0 /*onDayOfMonth*/,
1284  8 /*atTimeCode*/,
1285  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1286  (4 + 4) /*deltaCode*/,
1287  'D' /*letter*/,
1288  },
1289  // Rule Canada 1974 2006 - Oct lastSun 2:00 0 S
1290  {
1291  -26 /*fromYearTiny*/,
1292  6 /*toYearTiny*/,
1293  10 /*inMonth*/,
1294  7 /*onDayOfWeek*/,
1295  0 /*onDayOfMonth*/,
1296  8 /*atTimeCode*/,
1297  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1298  (0 + 4) /*deltaCode*/,
1299  'S' /*letter*/,
1300  },
1301  // Rule Canada 1987 2006 - Apr Sun>=1 2:00 1:00 D
1302  {
1303  -13 /*fromYearTiny*/,
1304  6 /*toYearTiny*/,
1305  4 /*inMonth*/,
1306  7 /*onDayOfWeek*/,
1307  1 /*onDayOfMonth*/,
1308  8 /*atTimeCode*/,
1309  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1310  (4 + 4) /*deltaCode*/,
1311  'D' /*letter*/,
1312  },
1313  // Rule Canada 2007 max - Mar Sun>=8 2:00 1:00 D
1314  {
1315  7 /*fromYearTiny*/,
1316  126 /*toYearTiny*/,
1317  3 /*inMonth*/,
1318  7 /*onDayOfWeek*/,
1319  8 /*onDayOfMonth*/,
1320  8 /*atTimeCode*/,
1321  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1322  (4 + 4) /*deltaCode*/,
1323  'D' /*letter*/,
1324  },
1325  // Rule Canada 2007 max - Nov Sun>=1 2:00 0 S
1326  {
1327  7 /*fromYearTiny*/,
1328  126 /*toYearTiny*/,
1329  11 /*inMonth*/,
1330  7 /*onDayOfWeek*/,
1331  1 /*onDayOfMonth*/,
1332  8 /*atTimeCode*/,
1333  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1334  (0 + 4) /*deltaCode*/,
1335  'S' /*letter*/,
1336  },
1337 
1338 };
1339 
1340 
1341 
1342 const extended::ZonePolicy kPolicyCanada ACE_TIME_PROGMEM = {
1343  kZoneRulesCanada /*rules*/,
1344  nullptr /* letters */,
1345  5 /*numRules*/,
1346  0 /* numLetters */,
1347 };
1348 
1349 //---------------------------------------------------------------------------
1350 // Policy name: Chatham
1351 // Rules: 5
1352 // Memory (8-bit): 51
1353 // Memory (32-bit): 72
1354 //---------------------------------------------------------------------------
1355 
1356 static const extended::ZoneRule kZoneRulesChatham[] ACE_TIME_PROGMEM = {
1357  // Rule Chatham 1989 only - Oct Sun>=8 2:45s 1:00 -
1358  {
1359  -11 /*fromYearTiny*/,
1360  -11 /*toYearTiny*/,
1361  10 /*inMonth*/,
1362  7 /*onDayOfWeek*/,
1363  8 /*onDayOfMonth*/,
1364  11 /*atTimeCode*/,
1365  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1366  (4 + 4) /*deltaCode*/,
1367  '-' /*letter*/,
1368  },
1369  // Rule Chatham 1990 2006 - Oct Sun>=1 2:45s 1:00 -
1370  {
1371  -10 /*fromYearTiny*/,
1372  6 /*toYearTiny*/,
1373  10 /*inMonth*/,
1374  7 /*onDayOfWeek*/,
1375  1 /*onDayOfMonth*/,
1376  11 /*atTimeCode*/,
1377  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1378  (4 + 4) /*deltaCode*/,
1379  '-' /*letter*/,
1380  },
1381  // Rule Chatham 1990 2007 - Mar Sun>=15 2:45s 0 -
1382  {
1383  -10 /*fromYearTiny*/,
1384  7 /*toYearTiny*/,
1385  3 /*inMonth*/,
1386  7 /*onDayOfWeek*/,
1387  15 /*onDayOfMonth*/,
1388  11 /*atTimeCode*/,
1389  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1390  (0 + 4) /*deltaCode*/,
1391  '-' /*letter*/,
1392  },
1393  // Rule Chatham 2007 max - Sep lastSun 2:45s 1:00 -
1394  {
1395  7 /*fromYearTiny*/,
1396  126 /*toYearTiny*/,
1397  9 /*inMonth*/,
1398  7 /*onDayOfWeek*/,
1399  0 /*onDayOfMonth*/,
1400  11 /*atTimeCode*/,
1401  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1402  (4 + 4) /*deltaCode*/,
1403  '-' /*letter*/,
1404  },
1405  // Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
1406  {
1407  8 /*fromYearTiny*/,
1408  126 /*toYearTiny*/,
1409  4 /*inMonth*/,
1410  7 /*onDayOfWeek*/,
1411  1 /*onDayOfMonth*/,
1412  11 /*atTimeCode*/,
1413  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1414  (0 + 4) /*deltaCode*/,
1415  '-' /*letter*/,
1416  },
1417 
1418 };
1419 
1420 
1421 
1422 const extended::ZonePolicy kPolicyChatham ACE_TIME_PROGMEM = {
1423  kZoneRulesChatham /*rules*/,
1424  nullptr /* letters */,
1425  5 /*numRules*/,
1426  0 /* numLetters */,
1427 };
1428 
1429 //---------------------------------------------------------------------------
1430 // Policy name: Chile
1431 // Rules: 15
1432 // Memory (8-bit): 141
1433 // Memory (32-bit): 192
1434 //---------------------------------------------------------------------------
1435 
1436 static const extended::ZoneRule kZoneRulesChile[] ACE_TIME_PROGMEM = {
1437  // Rule Chile 1998 only - Sep 27 4:00u 1:00 -
1438  {
1439  -2 /*fromYearTiny*/,
1440  -2 /*toYearTiny*/,
1441  9 /*inMonth*/,
1442  0 /*onDayOfWeek*/,
1443  27 /*onDayOfMonth*/,
1444  16 /*atTimeCode*/,
1445  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1446  (4 + 4) /*deltaCode*/,
1447  '-' /*letter*/,
1448  },
1449  // Rule Chile 1999 only - Apr 4 3:00u 0 -
1450  {
1451  -1 /*fromYearTiny*/,
1452  -1 /*toYearTiny*/,
1453  4 /*inMonth*/,
1454  0 /*onDayOfWeek*/,
1455  4 /*onDayOfMonth*/,
1456  12 /*atTimeCode*/,
1457  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1458  (0 + 4) /*deltaCode*/,
1459  '-' /*letter*/,
1460  },
1461  // Rule Chile 1999 2010 - Oct Sun>=9 4:00u 1:00 -
1462  {
1463  -1 /*fromYearTiny*/,
1464  10 /*toYearTiny*/,
1465  10 /*inMonth*/,
1466  7 /*onDayOfWeek*/,
1467  9 /*onDayOfMonth*/,
1468  16 /*atTimeCode*/,
1469  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1470  (4 + 4) /*deltaCode*/,
1471  '-' /*letter*/,
1472  },
1473  // Rule Chile 2000 2007 - Mar Sun>=9 3:00u 0 -
1474  {
1475  0 /*fromYearTiny*/,
1476  7 /*toYearTiny*/,
1477  3 /*inMonth*/,
1478  7 /*onDayOfWeek*/,
1479  9 /*onDayOfMonth*/,
1480  12 /*atTimeCode*/,
1481  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1482  (0 + 4) /*deltaCode*/,
1483  '-' /*letter*/,
1484  },
1485  // Rule Chile 2008 only - Mar 30 3:00u 0 -
1486  {
1487  8 /*fromYearTiny*/,
1488  8 /*toYearTiny*/,
1489  3 /*inMonth*/,
1490  0 /*onDayOfWeek*/,
1491  30 /*onDayOfMonth*/,
1492  12 /*atTimeCode*/,
1493  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1494  (0 + 4) /*deltaCode*/,
1495  '-' /*letter*/,
1496  },
1497  // Rule Chile 2009 only - Mar Sun>=9 3:00u 0 -
1498  {
1499  9 /*fromYearTiny*/,
1500  9 /*toYearTiny*/,
1501  3 /*inMonth*/,
1502  7 /*onDayOfWeek*/,
1503  9 /*onDayOfMonth*/,
1504  12 /*atTimeCode*/,
1505  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1506  (0 + 4) /*deltaCode*/,
1507  '-' /*letter*/,
1508  },
1509  // Rule Chile 2010 only - Apr Sun>=1 3:00u 0 -
1510  {
1511  10 /*fromYearTiny*/,
1512  10 /*toYearTiny*/,
1513  4 /*inMonth*/,
1514  7 /*onDayOfWeek*/,
1515  1 /*onDayOfMonth*/,
1516  12 /*atTimeCode*/,
1517  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1518  (0 + 4) /*deltaCode*/,
1519  '-' /*letter*/,
1520  },
1521  // Rule Chile 2011 only - May Sun>=2 3:00u 0 -
1522  {
1523  11 /*fromYearTiny*/,
1524  11 /*toYearTiny*/,
1525  5 /*inMonth*/,
1526  7 /*onDayOfWeek*/,
1527  2 /*onDayOfMonth*/,
1528  12 /*atTimeCode*/,
1529  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1530  (0 + 4) /*deltaCode*/,
1531  '-' /*letter*/,
1532  },
1533  // Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 -
1534  {
1535  11 /*fromYearTiny*/,
1536  11 /*toYearTiny*/,
1537  8 /*inMonth*/,
1538  7 /*onDayOfWeek*/,
1539  16 /*onDayOfMonth*/,
1540  16 /*atTimeCode*/,
1541  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1542  (4 + 4) /*deltaCode*/,
1543  '-' /*letter*/,
1544  },
1545  // Rule Chile 2012 2014 - Apr Sun>=23 3:00u 0 -
1546  {
1547  12 /*fromYearTiny*/,
1548  14 /*toYearTiny*/,
1549  4 /*inMonth*/,
1550  7 /*onDayOfWeek*/,
1551  23 /*onDayOfMonth*/,
1552  12 /*atTimeCode*/,
1553  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1554  (0 + 4) /*deltaCode*/,
1555  '-' /*letter*/,
1556  },
1557  // Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 -
1558  {
1559  12 /*fromYearTiny*/,
1560  14 /*toYearTiny*/,
1561  9 /*inMonth*/,
1562  7 /*onDayOfWeek*/,
1563  2 /*onDayOfMonth*/,
1564  16 /*atTimeCode*/,
1565  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1566  (4 + 4) /*deltaCode*/,
1567  '-' /*letter*/,
1568  },
1569  // Rule Chile 2016 2018 - May Sun>=9 3:00u 0 -
1570  {
1571  16 /*fromYearTiny*/,
1572  18 /*toYearTiny*/,
1573  5 /*inMonth*/,
1574  7 /*onDayOfWeek*/,
1575  9 /*onDayOfMonth*/,
1576  12 /*atTimeCode*/,
1577  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1578  (0 + 4) /*deltaCode*/,
1579  '-' /*letter*/,
1580  },
1581  // Rule Chile 2016 2018 - Aug Sun>=9 4:00u 1:00 -
1582  {
1583  16 /*fromYearTiny*/,
1584  18 /*toYearTiny*/,
1585  8 /*inMonth*/,
1586  7 /*onDayOfWeek*/,
1587  9 /*onDayOfMonth*/,
1588  16 /*atTimeCode*/,
1589  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1590  (4 + 4) /*deltaCode*/,
1591  '-' /*letter*/,
1592  },
1593  // Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
1594  {
1595  19 /*fromYearTiny*/,
1596  126 /*toYearTiny*/,
1597  4 /*inMonth*/,
1598  7 /*onDayOfWeek*/,
1599  2 /*onDayOfMonth*/,
1600  12 /*atTimeCode*/,
1601  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1602  (0 + 4) /*deltaCode*/,
1603  '-' /*letter*/,
1604  },
1605  // Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
1606  {
1607  19 /*fromYearTiny*/,
1608  126 /*toYearTiny*/,
1609  9 /*inMonth*/,
1610  7 /*onDayOfWeek*/,
1611  2 /*onDayOfMonth*/,
1612  16 /*atTimeCode*/,
1613  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1614  (4 + 4) /*deltaCode*/,
1615  '-' /*letter*/,
1616  },
1617 
1618 };
1619 
1620 
1621 
1622 const extended::ZonePolicy kPolicyChile ACE_TIME_PROGMEM = {
1623  kZoneRulesChile /*rules*/,
1624  nullptr /* letters */,
1625  15 /*numRules*/,
1626  0 /* numLetters */,
1627 };
1628 
1629 //---------------------------------------------------------------------------
1630 // Policy name: Cook
1631 // Rules: 1
1632 // Memory (8-bit): 15
1633 // Memory (32-bit): 24
1634 //---------------------------------------------------------------------------
1635 
1636 static const extended::ZoneRule kZoneRulesCook[] ACE_TIME_PROGMEM = {
1637  // Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
1638  {
1639  -21 /*fromYearTiny*/,
1640  -9 /*toYearTiny*/,
1641  3 /*inMonth*/,
1642  7 /*onDayOfWeek*/,
1643  1 /*onDayOfMonth*/,
1644  0 /*atTimeCode*/,
1645  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1646  (0 + 4) /*deltaCode*/,
1647  '-' /*letter*/,
1648  },
1649 
1650 };
1651 
1652 
1653 
1654 const extended::ZonePolicy kPolicyCook ACE_TIME_PROGMEM = {
1655  kZoneRulesCook /*rules*/,
1656  nullptr /* letters */,
1657  1 /*numRules*/,
1658  0 /* numLetters */,
1659 };
1660 
1661 //---------------------------------------------------------------------------
1662 // Policy name: Cuba
1663 // Rules: 14
1664 // Memory (8-bit): 132
1665 // Memory (32-bit): 180
1666 //---------------------------------------------------------------------------
1667 
1668 static const extended::ZoneRule kZoneRulesCuba[] ACE_TIME_PROGMEM = {
1669  // Rule Cuba 1997 only - Oct 12 0:00s 0 S
1670  {
1671  -3 /*fromYearTiny*/,
1672  -3 /*toYearTiny*/,
1673  10 /*inMonth*/,
1674  0 /*onDayOfWeek*/,
1675  12 /*onDayOfMonth*/,
1676  0 /*atTimeCode*/,
1677  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1678  (0 + 4) /*deltaCode*/,
1679  'S' /*letter*/,
1680  },
1681  // Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D
1682  {
1683  -2 /*fromYearTiny*/,
1684  -1 /*toYearTiny*/,
1685  3 /*inMonth*/,
1686  7 /*onDayOfWeek*/,
1687  0 /*onDayOfMonth*/,
1688  0 /*atTimeCode*/,
1689  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1690  (4 + 4) /*deltaCode*/,
1691  'D' /*letter*/,
1692  },
1693  // Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S
1694  {
1695  -2 /*fromYearTiny*/,
1696  3 /*toYearTiny*/,
1697  10 /*inMonth*/,
1698  7 /*onDayOfWeek*/,
1699  0 /*onDayOfMonth*/,
1700  0 /*atTimeCode*/,
1701  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1702  (0 + 4) /*deltaCode*/,
1703  'S' /*letter*/,
1704  },
1705  // Rule Cuba 2000 2003 - Apr Sun>=1 0:00s 1:00 D
1706  {
1707  0 /*fromYearTiny*/,
1708  3 /*toYearTiny*/,
1709  4 /*inMonth*/,
1710  7 /*onDayOfWeek*/,
1711  1 /*onDayOfMonth*/,
1712  0 /*atTimeCode*/,
1713  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1714  (4 + 4) /*deltaCode*/,
1715  'D' /*letter*/,
1716  },
1717  // Rule Cuba 2004 only - Mar lastSun 0:00s 1:00 D
1718  {
1719  4 /*fromYearTiny*/,
1720  4 /*toYearTiny*/,
1721  3 /*inMonth*/,
1722  7 /*onDayOfWeek*/,
1723  0 /*onDayOfMonth*/,
1724  0 /*atTimeCode*/,
1725  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1726  (4 + 4) /*deltaCode*/,
1727  'D' /*letter*/,
1728  },
1729  // Rule Cuba 2006 2010 - Oct lastSun 0:00s 0 S
1730  {
1731  6 /*fromYearTiny*/,
1732  10 /*toYearTiny*/,
1733  10 /*inMonth*/,
1734  7 /*onDayOfWeek*/,
1735  0 /*onDayOfMonth*/,
1736  0 /*atTimeCode*/,
1737  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1738  (0 + 4) /*deltaCode*/,
1739  'S' /*letter*/,
1740  },
1741  // Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D
1742  {
1743  7 /*fromYearTiny*/,
1744  7 /*toYearTiny*/,
1745  3 /*inMonth*/,
1746  7 /*onDayOfWeek*/,
1747  8 /*onDayOfMonth*/,
1748  0 /*atTimeCode*/,
1749  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1750  (4 + 4) /*deltaCode*/,
1751  'D' /*letter*/,
1752  },
1753  // Rule Cuba 2008 only - Mar Sun>=15 0:00s 1:00 D
1754  {
1755  8 /*fromYearTiny*/,
1756  8 /*toYearTiny*/,
1757  3 /*inMonth*/,
1758  7 /*onDayOfWeek*/,
1759  15 /*onDayOfMonth*/,
1760  0 /*atTimeCode*/,
1761  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1762  (4 + 4) /*deltaCode*/,
1763  'D' /*letter*/,
1764  },
1765  // Rule Cuba 2009 2010 - Mar Sun>=8 0:00s 1:00 D
1766  {
1767  9 /*fromYearTiny*/,
1768  10 /*toYearTiny*/,
1769  3 /*inMonth*/,
1770  7 /*onDayOfWeek*/,
1771  8 /*onDayOfMonth*/,
1772  0 /*atTimeCode*/,
1773  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1774  (4 + 4) /*deltaCode*/,
1775  'D' /*letter*/,
1776  },
1777  // Rule Cuba 2011 only - Mar Sun>=15 0:00s 1:00 D
1778  {
1779  11 /*fromYearTiny*/,
1780  11 /*toYearTiny*/,
1781  3 /*inMonth*/,
1782  7 /*onDayOfWeek*/,
1783  15 /*onDayOfMonth*/,
1784  0 /*atTimeCode*/,
1785  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1786  (4 + 4) /*deltaCode*/,
1787  'D' /*letter*/,
1788  },
1789  // Rule Cuba 2011 only - Nov 13 0:00s 0 S
1790  {
1791  11 /*fromYearTiny*/,
1792  11 /*toYearTiny*/,
1793  11 /*inMonth*/,
1794  0 /*onDayOfWeek*/,
1795  13 /*onDayOfMonth*/,
1796  0 /*atTimeCode*/,
1797  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1798  (0 + 4) /*deltaCode*/,
1799  'S' /*letter*/,
1800  },
1801  // Rule Cuba 2012 only - Apr 1 0:00s 1:00 D
1802  {
1803  12 /*fromYearTiny*/,
1804  12 /*toYearTiny*/,
1805  4 /*inMonth*/,
1806  0 /*onDayOfWeek*/,
1807  1 /*onDayOfMonth*/,
1808  0 /*atTimeCode*/,
1809  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1810  (4 + 4) /*deltaCode*/,
1811  'D' /*letter*/,
1812  },
1813  // Rule Cuba 2012 max - Nov Sun>=1 0:00s 0 S
1814  {
1815  12 /*fromYearTiny*/,
1816  126 /*toYearTiny*/,
1817  11 /*inMonth*/,
1818  7 /*onDayOfWeek*/,
1819  1 /*onDayOfMonth*/,
1820  0 /*atTimeCode*/,
1821  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1822  (0 + 4) /*deltaCode*/,
1823  'S' /*letter*/,
1824  },
1825  // Rule Cuba 2013 max - Mar Sun>=8 0:00s 1:00 D
1826  {
1827  13 /*fromYearTiny*/,
1828  126 /*toYearTiny*/,
1829  3 /*inMonth*/,
1830  7 /*onDayOfWeek*/,
1831  8 /*onDayOfMonth*/,
1832  0 /*atTimeCode*/,
1833  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
1834  (4 + 4) /*deltaCode*/,
1835  'D' /*letter*/,
1836  },
1837 
1838 };
1839 
1840 
1841 
1842 const extended::ZonePolicy kPolicyCuba ACE_TIME_PROGMEM = {
1843  kZoneRulesCuba /*rules*/,
1844  nullptr /* letters */,
1845  14 /*numRules*/,
1846  0 /* numLetters */,
1847 };
1848 
1849 //---------------------------------------------------------------------------
1850 // Policy name: Dhaka
1851 // Rules: 3
1852 // Memory (8-bit): 33
1853 // Memory (32-bit): 48
1854 //---------------------------------------------------------------------------
1855 
1856 static const extended::ZoneRule kZoneRulesDhaka[] ACE_TIME_PROGMEM = {
1857  // Anchor: Rule Dhaka 2009 only - Dec 31 24:00 0 -
1858  {
1859  -127 /*fromYearTiny*/,
1860  -127 /*toYearTiny*/,
1861  1 /*inMonth*/,
1862  0 /*onDayOfWeek*/,
1863  1 /*onDayOfMonth*/,
1864  0 /*atTimeCode*/,
1865  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1866  (0 + 4) /*deltaCode*/,
1867  '-' /*letter*/,
1868  },
1869  // Rule Dhaka 2009 only - Jun 19 23:00 1:00 -
1870  {
1871  9 /*fromYearTiny*/,
1872  9 /*toYearTiny*/,
1873  6 /*inMonth*/,
1874  0 /*onDayOfWeek*/,
1875  19 /*onDayOfMonth*/,
1876  92 /*atTimeCode*/,
1877  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1878  (4 + 4) /*deltaCode*/,
1879  '-' /*letter*/,
1880  },
1881  // Rule Dhaka 2009 only - Dec 31 24:00 0 -
1882  {
1883  9 /*fromYearTiny*/,
1884  9 /*toYearTiny*/,
1885  12 /*inMonth*/,
1886  0 /*onDayOfWeek*/,
1887  31 /*onDayOfMonth*/,
1888  96 /*atTimeCode*/,
1889  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1890  (0 + 4) /*deltaCode*/,
1891  '-' /*letter*/,
1892  },
1893 
1894 };
1895 
1896 
1897 
1898 const extended::ZonePolicy kPolicyDhaka ACE_TIME_PROGMEM = {
1899  kZoneRulesDhaka /*rules*/,
1900  nullptr /* letters */,
1901  3 /*numRules*/,
1902  0 /* numLetters */,
1903 };
1904 
1905 //---------------------------------------------------------------------------
1906 // Policy name: E_EurAsia
1907 // Rules: 3
1908 // Memory (8-bit): 33
1909 // Memory (32-bit): 48
1910 //---------------------------------------------------------------------------
1911 
1912 static const extended::ZoneRule kZoneRulesE_EurAsia[] ACE_TIME_PROGMEM = {
1913  // Rule E-EurAsia 1981 max - Mar lastSun 0:00 1:00 -
1914  {
1915  -19 /*fromYearTiny*/,
1916  126 /*toYearTiny*/,
1917  3 /*inMonth*/,
1918  7 /*onDayOfWeek*/,
1919  0 /*onDayOfMonth*/,
1920  0 /*atTimeCode*/,
1921  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1922  (4 + 4) /*deltaCode*/,
1923  '-' /*letter*/,
1924  },
1925  // Rule E-EurAsia 1979 1995 - Sep lastSun 0:00 0 -
1926  {
1927  -21 /*fromYearTiny*/,
1928  -5 /*toYearTiny*/,
1929  9 /*inMonth*/,
1930  7 /*onDayOfWeek*/,
1931  0 /*onDayOfMonth*/,
1932  0 /*atTimeCode*/,
1933  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1934  (0 + 4) /*deltaCode*/,
1935  '-' /*letter*/,
1936  },
1937  // Rule E-EurAsia 1996 max - Oct lastSun 0:00 0 -
1938  {
1939  -4 /*fromYearTiny*/,
1940  126 /*toYearTiny*/,
1941  10 /*inMonth*/,
1942  7 /*onDayOfWeek*/,
1943  0 /*onDayOfMonth*/,
1944  0 /*atTimeCode*/,
1945  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
1946  (0 + 4) /*deltaCode*/,
1947  '-' /*letter*/,
1948  },
1949 
1950 };
1951 
1952 
1953 
1954 const extended::ZonePolicy kPolicyE_EurAsia ACE_TIME_PROGMEM = {
1955  kZoneRulesE_EurAsia /*rules*/,
1956  nullptr /* letters */,
1957  3 /*numRules*/,
1958  0 /* numLetters */,
1959 };
1960 
1961 //---------------------------------------------------------------------------
1962 // Policy name: EU
1963 // Rules: 3
1964 // Memory (8-bit): 33
1965 // Memory (32-bit): 48
1966 //---------------------------------------------------------------------------
1967 
1968 static const extended::ZoneRule kZoneRulesEU[] ACE_TIME_PROGMEM = {
1969  // Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
1970  {
1971  -21 /*fromYearTiny*/,
1972  -5 /*toYearTiny*/,
1973  9 /*inMonth*/,
1974  7 /*onDayOfWeek*/,
1975  0 /*onDayOfMonth*/,
1976  4 /*atTimeCode*/,
1977  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1978  (0 + 4) /*deltaCode*/,
1979  '-' /*letter*/,
1980  },
1981  // Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
1982  {
1983  -19 /*fromYearTiny*/,
1984  126 /*toYearTiny*/,
1985  3 /*inMonth*/,
1986  7 /*onDayOfWeek*/,
1987  0 /*onDayOfMonth*/,
1988  4 /*atTimeCode*/,
1989  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
1990  (4 + 4) /*deltaCode*/,
1991  'S' /*letter*/,
1992  },
1993  // Rule EU 1996 max - Oct lastSun 1:00u 0 -
1994  {
1995  -4 /*fromYearTiny*/,
1996  126 /*toYearTiny*/,
1997  10 /*inMonth*/,
1998  7 /*onDayOfWeek*/,
1999  0 /*onDayOfMonth*/,
2000  4 /*atTimeCode*/,
2001  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2002  (0 + 4) /*deltaCode*/,
2003  '-' /*letter*/,
2004  },
2005 
2006 };
2007 
2008 
2009 
2010 const extended::ZonePolicy kPolicyEU ACE_TIME_PROGMEM = {
2011  kZoneRulesEU /*rules*/,
2012  nullptr /* letters */,
2013  3 /*numRules*/,
2014  0 /* numLetters */,
2015 };
2016 
2017 //---------------------------------------------------------------------------
2018 // Policy name: EUAsia
2019 // Rules: 3
2020 // Memory (8-bit): 33
2021 // Memory (32-bit): 48
2022 //---------------------------------------------------------------------------
2023 
2024 static const extended::ZoneRule kZoneRulesEUAsia[] ACE_TIME_PROGMEM = {
2025  // Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S
2026  {
2027  -19 /*fromYearTiny*/,
2028  126 /*toYearTiny*/,
2029  3 /*inMonth*/,
2030  7 /*onDayOfWeek*/,
2031  0 /*onDayOfMonth*/,
2032  4 /*atTimeCode*/,
2033  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2034  (4 + 4) /*deltaCode*/,
2035  'S' /*letter*/,
2036  },
2037  // Rule EUAsia 1979 1995 - Sep lastSun 1:00u 0 -
2038  {
2039  -21 /*fromYearTiny*/,
2040  -5 /*toYearTiny*/,
2041  9 /*inMonth*/,
2042  7 /*onDayOfWeek*/,
2043  0 /*onDayOfMonth*/,
2044  4 /*atTimeCode*/,
2045  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2046  (0 + 4) /*deltaCode*/,
2047  '-' /*letter*/,
2048  },
2049  // Rule EUAsia 1996 max - Oct lastSun 1:00u 0 -
2050  {
2051  -4 /*fromYearTiny*/,
2052  126 /*toYearTiny*/,
2053  10 /*inMonth*/,
2054  7 /*onDayOfWeek*/,
2055  0 /*onDayOfMonth*/,
2056  4 /*atTimeCode*/,
2057  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2058  (0 + 4) /*deltaCode*/,
2059  '-' /*letter*/,
2060  },
2061 
2062 };
2063 
2064 
2065 
2066 const extended::ZonePolicy kPolicyEUAsia ACE_TIME_PROGMEM = {
2067  kZoneRulesEUAsia /*rules*/,
2068  nullptr /* letters */,
2069  3 /*numRules*/,
2070  0 /* numLetters */,
2071 };
2072 
2073 //---------------------------------------------------------------------------
2074 // Policy name: Ecuador
2075 // Rules: 1
2076 // Memory (8-bit): 15
2077 // Memory (32-bit): 24
2078 //---------------------------------------------------------------------------
2079 
2080 static const extended::ZoneRule kZoneRulesEcuador[] ACE_TIME_PROGMEM = {
2081  // Rule Ecuador 1993 only - Feb 5 0:00 0 -
2082  {
2083  -7 /*fromYearTiny*/,
2084  -7 /*toYearTiny*/,
2085  2 /*inMonth*/,
2086  0 /*onDayOfWeek*/,
2087  5 /*onDayOfMonth*/,
2088  0 /*atTimeCode*/,
2089  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2090  (0 + 4) /*deltaCode*/,
2091  '-' /*letter*/,
2092  },
2093 
2094 };
2095 
2096 
2097 
2098 const extended::ZonePolicy kPolicyEcuador ACE_TIME_PROGMEM = {
2099  kZoneRulesEcuador /*rules*/,
2100  nullptr /* letters */,
2101  1 /*numRules*/,
2102  0 /* numLetters */,
2103 };
2104 
2105 //---------------------------------------------------------------------------
2106 // Policy name: Egypt
2107 // Rules: 14
2108 // Memory (8-bit): 132
2109 // Memory (32-bit): 180
2110 //---------------------------------------------------------------------------
2111 
2112 static const extended::ZoneRule kZoneRulesEgypt[] ACE_TIME_PROGMEM = {
2113  // Rule Egypt 1966 1994 - Oct 1 3:00 0 -
2114  {
2115  -34 /*fromYearTiny*/,
2116  -6 /*toYearTiny*/,
2117  10 /*inMonth*/,
2118  0 /*onDayOfWeek*/,
2119  1 /*onDayOfMonth*/,
2120  12 /*atTimeCode*/,
2121  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2122  (0 + 4) /*deltaCode*/,
2123  '-' /*letter*/,
2124  },
2125  // Rule Egypt 1995 2010 - Apr lastFri 0:00s 1:00 S
2126  {
2127  -5 /*fromYearTiny*/,
2128  10 /*toYearTiny*/,
2129  4 /*inMonth*/,
2130  5 /*onDayOfWeek*/,
2131  0 /*onDayOfMonth*/,
2132  0 /*atTimeCode*/,
2133  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
2134  (4 + 4) /*deltaCode*/,
2135  'S' /*letter*/,
2136  },
2137  // Rule Egypt 1995 2005 - Sep lastThu 24:00 0 -
2138  {
2139  -5 /*fromYearTiny*/,
2140  5 /*toYearTiny*/,
2141  9 /*inMonth*/,
2142  4 /*onDayOfWeek*/,
2143  0 /*onDayOfMonth*/,
2144  96 /*atTimeCode*/,
2145  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2146  (0 + 4) /*deltaCode*/,
2147  '-' /*letter*/,
2148  },
2149  // Rule Egypt 2006 only - Sep 21 24:00 0 -
2150  {
2151  6 /*fromYearTiny*/,
2152  6 /*toYearTiny*/,
2153  9 /*inMonth*/,
2154  0 /*onDayOfWeek*/,
2155  21 /*onDayOfMonth*/,
2156  96 /*atTimeCode*/,
2157  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2158  (0 + 4) /*deltaCode*/,
2159  '-' /*letter*/,
2160  },
2161  // Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
2162  {
2163  7 /*fromYearTiny*/,
2164  7 /*toYearTiny*/,
2165  9 /*inMonth*/,
2166  4 /*onDayOfWeek*/,
2167  1 /*onDayOfMonth*/,
2168  96 /*atTimeCode*/,
2169  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2170  (0 + 4) /*deltaCode*/,
2171  '-' /*letter*/,
2172  },
2173  // Rule Egypt 2008 only - Aug lastThu 24:00 0 -
2174  {
2175  8 /*fromYearTiny*/,
2176  8 /*toYearTiny*/,
2177  8 /*inMonth*/,
2178  4 /*onDayOfWeek*/,
2179  0 /*onDayOfMonth*/,
2180  96 /*atTimeCode*/,
2181  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2182  (0 + 4) /*deltaCode*/,
2183  '-' /*letter*/,
2184  },
2185  // Rule Egypt 2009 only - Aug 20 24:00 0 -
2186  {
2187  9 /*fromYearTiny*/,
2188  9 /*toYearTiny*/,
2189  8 /*inMonth*/,
2190  0 /*onDayOfWeek*/,
2191  20 /*onDayOfMonth*/,
2192  96 /*atTimeCode*/,
2193  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2194  (0 + 4) /*deltaCode*/,
2195  '-' /*letter*/,
2196  },
2197  // Rule Egypt 2010 only - Aug 10 24:00 0 -
2198  {
2199  10 /*fromYearTiny*/,
2200  10 /*toYearTiny*/,
2201  8 /*inMonth*/,
2202  0 /*onDayOfWeek*/,
2203  10 /*onDayOfMonth*/,
2204  96 /*atTimeCode*/,
2205  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2206  (0 + 4) /*deltaCode*/,
2207  '-' /*letter*/,
2208  },
2209  // Rule Egypt 2010 only - Sep 9 24:00 1:00 S
2210  {
2211  10 /*fromYearTiny*/,
2212  10 /*toYearTiny*/,
2213  9 /*inMonth*/,
2214  0 /*onDayOfWeek*/,
2215  9 /*onDayOfMonth*/,
2216  96 /*atTimeCode*/,
2217  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2218  (4 + 4) /*deltaCode*/,
2219  'S' /*letter*/,
2220  },
2221  // Rule Egypt 2010 only - Sep lastThu 24:00 0 -
2222  {
2223  10 /*fromYearTiny*/,
2224  10 /*toYearTiny*/,
2225  9 /*inMonth*/,
2226  4 /*onDayOfWeek*/,
2227  0 /*onDayOfMonth*/,
2228  96 /*atTimeCode*/,
2229  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2230  (0 + 4) /*deltaCode*/,
2231  '-' /*letter*/,
2232  },
2233  // Rule Egypt 2014 only - May 15 24:00 1:00 S
2234  {
2235  14 /*fromYearTiny*/,
2236  14 /*toYearTiny*/,
2237  5 /*inMonth*/,
2238  0 /*onDayOfWeek*/,
2239  15 /*onDayOfMonth*/,
2240  96 /*atTimeCode*/,
2241  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2242  (4 + 4) /*deltaCode*/,
2243  'S' /*letter*/,
2244  },
2245  // Rule Egypt 2014 only - Jun 26 24:00 0 -
2246  {
2247  14 /*fromYearTiny*/,
2248  14 /*toYearTiny*/,
2249  6 /*inMonth*/,
2250  0 /*onDayOfWeek*/,
2251  26 /*onDayOfMonth*/,
2252  96 /*atTimeCode*/,
2253  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2254  (0 + 4) /*deltaCode*/,
2255  '-' /*letter*/,
2256  },
2257  // Rule Egypt 2014 only - Jul 31 24:00 1:00 S
2258  {
2259  14 /*fromYearTiny*/,
2260  14 /*toYearTiny*/,
2261  7 /*inMonth*/,
2262  0 /*onDayOfWeek*/,
2263  31 /*onDayOfMonth*/,
2264  96 /*atTimeCode*/,
2265  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2266  (4 + 4) /*deltaCode*/,
2267  'S' /*letter*/,
2268  },
2269  // Rule Egypt 2014 only - Sep lastThu 24:00 0 -
2270  {
2271  14 /*fromYearTiny*/,
2272  14 /*toYearTiny*/,
2273  9 /*inMonth*/,
2274  4 /*onDayOfWeek*/,
2275  0 /*onDayOfMonth*/,
2276  96 /*atTimeCode*/,
2277  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2278  (0 + 4) /*deltaCode*/,
2279  '-' /*letter*/,
2280  },
2281 
2282 };
2283 
2284 
2285 
2286 const extended::ZonePolicy kPolicyEgypt ACE_TIME_PROGMEM = {
2287  kZoneRulesEgypt /*rules*/,
2288  nullptr /* letters */,
2289  14 /*numRules*/,
2290  0 /* numLetters */,
2291 };
2292 
2293 //---------------------------------------------------------------------------
2294 // Policy name: Eire
2295 // Rules: 3
2296 // Memory (8-bit): 33
2297 // Memory (32-bit): 48
2298 //---------------------------------------------------------------------------
2299 
2300 static const extended::ZoneRule kZoneRulesEire[] ACE_TIME_PROGMEM = {
2301  // Rule Eire 1981 max - Mar lastSun 1:00u 0 -
2302  {
2303  -19 /*fromYearTiny*/,
2304  126 /*toYearTiny*/,
2305  3 /*inMonth*/,
2306  7 /*onDayOfWeek*/,
2307  0 /*onDayOfMonth*/,
2308  4 /*atTimeCode*/,
2309  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2310  (0 + 4) /*deltaCode*/,
2311  '-' /*letter*/,
2312  },
2313  // Rule Eire 1990 1995 - Oct Sun>=22 1:00u -1:00 -
2314  {
2315  -10 /*fromYearTiny*/,
2316  -5 /*toYearTiny*/,
2317  10 /*inMonth*/,
2318  7 /*onDayOfWeek*/,
2319  22 /*onDayOfMonth*/,
2320  4 /*atTimeCode*/,
2321  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2322  (-4 + 4) /*deltaCode*/,
2323  '-' /*letter*/,
2324  },
2325  // Rule Eire 1996 max - Oct lastSun 1:00u -1:00 -
2326  {
2327  -4 /*fromYearTiny*/,
2328  126 /*toYearTiny*/,
2329  10 /*inMonth*/,
2330  7 /*onDayOfWeek*/,
2331  0 /*onDayOfMonth*/,
2332  4 /*atTimeCode*/,
2333  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
2334  (-4 + 4) /*deltaCode*/,
2335  '-' /*letter*/,
2336  },
2337 
2338 };
2339 
2340 
2341 
2342 const extended::ZonePolicy kPolicyEire ACE_TIME_PROGMEM = {
2343  kZoneRulesEire /*rules*/,
2344  nullptr /* letters */,
2345  3 /*numRules*/,
2346  0 /* numLetters */,
2347 };
2348 
2349 //---------------------------------------------------------------------------
2350 // Policy name: Falk
2351 // Rules: 5
2352 // Memory (8-bit): 51
2353 // Memory (32-bit): 72
2354 //---------------------------------------------------------------------------
2355 
2356 static const extended::ZoneRule kZoneRulesFalk[] ACE_TIME_PROGMEM = {
2357  // Rule Falk 1984 1985 - Apr lastSun 0:00 0 -
2358  {
2359  -16 /*fromYearTiny*/,
2360  -15 /*toYearTiny*/,
2361  4 /*inMonth*/,
2362  7 /*onDayOfWeek*/,
2363  0 /*onDayOfMonth*/,
2364  0 /*atTimeCode*/,
2365  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2366  (0 + 4) /*deltaCode*/,
2367  '-' /*letter*/,
2368  },
2369  // Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 -
2370  {
2371  -15 /*fromYearTiny*/,
2372  0 /*toYearTiny*/,
2373  9 /*inMonth*/,
2374  7 /*onDayOfWeek*/,
2375  9 /*onDayOfMonth*/,
2376  0 /*atTimeCode*/,
2377  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2378  (4 + 4) /*deltaCode*/,
2379  '-' /*letter*/,
2380  },
2381  // Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 -
2382  {
2383  -14 /*fromYearTiny*/,
2384  0 /*toYearTiny*/,
2385  4 /*inMonth*/,
2386  7 /*onDayOfWeek*/,
2387  16 /*onDayOfMonth*/,
2388  0 /*atTimeCode*/,
2389  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2390  (0 + 4) /*deltaCode*/,
2391  '-' /*letter*/,
2392  },
2393  // Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 -
2394  {
2395  1 /*fromYearTiny*/,
2396  10 /*toYearTiny*/,
2397  4 /*inMonth*/,
2398  7 /*onDayOfWeek*/,
2399  15 /*onDayOfMonth*/,
2400  8 /*atTimeCode*/,
2401  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2402  (0 + 4) /*deltaCode*/,
2403  '-' /*letter*/,
2404  },
2405  // Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 -
2406  {
2407  1 /*fromYearTiny*/,
2408  10 /*toYearTiny*/,
2409  9 /*inMonth*/,
2410  7 /*onDayOfWeek*/,
2411  1 /*onDayOfMonth*/,
2412  8 /*atTimeCode*/,
2413  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2414  (4 + 4) /*deltaCode*/,
2415  '-' /*letter*/,
2416  },
2417 
2418 };
2419 
2420 
2421 
2422 const extended::ZonePolicy kPolicyFalk ACE_TIME_PROGMEM = {
2423  kZoneRulesFalk /*rules*/,
2424  nullptr /* letters */,
2425  5 /*numRules*/,
2426  0 /* numLetters */,
2427 };
2428 
2429 //---------------------------------------------------------------------------
2430 // Policy name: Fiji
2431 // Rules: 11
2432 // Memory (8-bit): 105
2433 // Memory (32-bit): 144
2434 //---------------------------------------------------------------------------
2435 
2436 static const extended::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = {
2437  // Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
2438  {
2439  -2 /*fromYearTiny*/,
2440  -1 /*toYearTiny*/,
2441  11 /*inMonth*/,
2442  7 /*onDayOfWeek*/,
2443  1 /*onDayOfMonth*/,
2444  8 /*atTimeCode*/,
2445  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2446  (4 + 4) /*deltaCode*/,
2447  '-' /*letter*/,
2448  },
2449  // Rule Fiji 1999 2000 - Feb lastSun 3:00 0 -
2450  {
2451  -1 /*fromYearTiny*/,
2452  0 /*toYearTiny*/,
2453  2 /*inMonth*/,
2454  7 /*onDayOfWeek*/,
2455  0 /*onDayOfMonth*/,
2456  12 /*atTimeCode*/,
2457  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2458  (0 + 4) /*deltaCode*/,
2459  '-' /*letter*/,
2460  },
2461  // Rule Fiji 2009 only - Nov 29 2:00 1:00 -
2462  {
2463  9 /*fromYearTiny*/,
2464  9 /*toYearTiny*/,
2465  11 /*inMonth*/,
2466  0 /*onDayOfWeek*/,
2467  29 /*onDayOfMonth*/,
2468  8 /*atTimeCode*/,
2469  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2470  (4 + 4) /*deltaCode*/,
2471  '-' /*letter*/,
2472  },
2473  // Rule Fiji 2010 only - Mar lastSun 3:00 0 -
2474  {
2475  10 /*fromYearTiny*/,
2476  10 /*toYearTiny*/,
2477  3 /*inMonth*/,
2478  7 /*onDayOfWeek*/,
2479  0 /*onDayOfMonth*/,
2480  12 /*atTimeCode*/,
2481  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2482  (0 + 4) /*deltaCode*/,
2483  '-' /*letter*/,
2484  },
2485  // Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 -
2486  {
2487  10 /*fromYearTiny*/,
2488  13 /*toYearTiny*/,
2489  10 /*inMonth*/,
2490  7 /*onDayOfWeek*/,
2491  21 /*onDayOfMonth*/,
2492  8 /*atTimeCode*/,
2493  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2494  (4 + 4) /*deltaCode*/,
2495  '-' /*letter*/,
2496  },
2497  // Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
2498  {
2499  11 /*fromYearTiny*/,
2500  11 /*toYearTiny*/,
2501  3 /*inMonth*/,
2502  7 /*onDayOfWeek*/,
2503  1 /*onDayOfMonth*/,
2504  12 /*atTimeCode*/,
2505  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2506  (0 + 4) /*deltaCode*/,
2507  '-' /*letter*/,
2508  },
2509  // Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
2510  {
2511  12 /*fromYearTiny*/,
2512  13 /*toYearTiny*/,
2513  1 /*inMonth*/,
2514  7 /*onDayOfWeek*/,
2515  18 /*onDayOfMonth*/,
2516  12 /*atTimeCode*/,
2517  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2518  (0 + 4) /*deltaCode*/,
2519  '-' /*letter*/,
2520  },
2521  // Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
2522  {
2523  14 /*fromYearTiny*/,
2524  14 /*toYearTiny*/,
2525  1 /*inMonth*/,
2526  7 /*onDayOfWeek*/,
2527  18 /*onDayOfMonth*/,
2528  8 /*atTimeCode*/,
2529  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2530  (0 + 4) /*deltaCode*/,
2531  '-' /*letter*/,
2532  },
2533  // Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
2534  {
2535  14 /*fromYearTiny*/,
2536  18 /*toYearTiny*/,
2537  11 /*inMonth*/,
2538  7 /*onDayOfWeek*/,
2539  1 /*onDayOfMonth*/,
2540  8 /*atTimeCode*/,
2541  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2542  (4 + 4) /*deltaCode*/,
2543  '-' /*letter*/,
2544  },
2545  // Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
2546  {
2547  15 /*fromYearTiny*/,
2548  126 /*toYearTiny*/,
2549  1 /*inMonth*/,
2550  7 /*onDayOfWeek*/,
2551  12 /*onDayOfMonth*/,
2552  12 /*atTimeCode*/,
2553  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2554  (0 + 4) /*deltaCode*/,
2555  '-' /*letter*/,
2556  },
2557  // Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 -
2558  {
2559  19 /*fromYearTiny*/,
2560  126 /*toYearTiny*/,
2561  11 /*inMonth*/,
2562  7 /*onDayOfWeek*/,
2563  8 /*onDayOfMonth*/,
2564  8 /*atTimeCode*/,
2565  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2566  (4 + 4) /*deltaCode*/,
2567  '-' /*letter*/,
2568  },
2569 
2570 };
2571 
2572 
2573 
2574 const extended::ZonePolicy kPolicyFiji ACE_TIME_PROGMEM = {
2575  kZoneRulesFiji /*rules*/,
2576  nullptr /* letters */,
2577  11 /*numRules*/,
2578  0 /* numLetters */,
2579 };
2580 
2581 //---------------------------------------------------------------------------
2582 // Policy name: Ghana
2583 // Rules: 1
2584 // Memory (8-bit): 15
2585 // Memory (32-bit): 24
2586 //---------------------------------------------------------------------------
2587 
2588 static const extended::ZoneRule kZoneRulesGhana[] ACE_TIME_PROGMEM = {
2589  // Rule Ghana 1920 1942 - Dec 31 0:00 0 -
2590  {
2591  -80 /*fromYearTiny*/,
2592  -58 /*toYearTiny*/,
2593  12 /*inMonth*/,
2594  0 /*onDayOfWeek*/,
2595  31 /*onDayOfMonth*/,
2596  0 /*atTimeCode*/,
2597  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2598  (0 + 4) /*deltaCode*/,
2599  '-' /*letter*/,
2600  },
2601 
2602 };
2603 
2604 
2605 
2606 const extended::ZonePolicy kPolicyGhana ACE_TIME_PROGMEM = {
2607  kZoneRulesGhana /*rules*/,
2608  nullptr /* letters */,
2609  1 /*numRules*/,
2610  0 /* numLetters */,
2611 };
2612 
2613 //---------------------------------------------------------------------------
2614 // Policy name: Guam
2615 // Rules: 1
2616 // Memory (8-bit): 15
2617 // Memory (32-bit): 24
2618 //---------------------------------------------------------------------------
2619 
2620 static const extended::ZoneRule kZoneRulesGuam[] ACE_TIME_PROGMEM = {
2621  // Rule Guam 1977 only - Aug 28 2:00 0 S
2622  {
2623  -23 /*fromYearTiny*/,
2624  -23 /*toYearTiny*/,
2625  8 /*inMonth*/,
2626  0 /*onDayOfWeek*/,
2627  28 /*onDayOfMonth*/,
2628  8 /*atTimeCode*/,
2629  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2630  (0 + 4) /*deltaCode*/,
2631  'S' /*letter*/,
2632  },
2633 
2634 };
2635 
2636 
2637 
2638 const extended::ZonePolicy kPolicyGuam ACE_TIME_PROGMEM = {
2639  kZoneRulesGuam /*rules*/,
2640  nullptr /* letters */,
2641  1 /*numRules*/,
2642  0 /* numLetters */,
2643 };
2644 
2645 //---------------------------------------------------------------------------
2646 // Policy name: Guat
2647 // Rules: 3
2648 // Memory (8-bit): 33
2649 // Memory (32-bit): 48
2650 //---------------------------------------------------------------------------
2651 
2652 static const extended::ZoneRule kZoneRulesGuat[] ACE_TIME_PROGMEM = {
2653  // Rule Guat 1991 only - Sep 7 0:00 0 S
2654  {
2655  -9 /*fromYearTiny*/,
2656  -9 /*toYearTiny*/,
2657  9 /*inMonth*/,
2658  0 /*onDayOfWeek*/,
2659  7 /*onDayOfMonth*/,
2660  0 /*atTimeCode*/,
2661  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2662  (0 + 4) /*deltaCode*/,
2663  'S' /*letter*/,
2664  },
2665  // Rule Guat 2006 only - Apr 30 0:00 1:00 D
2666  {
2667  6 /*fromYearTiny*/,
2668  6 /*toYearTiny*/,
2669  4 /*inMonth*/,
2670  0 /*onDayOfWeek*/,
2671  30 /*onDayOfMonth*/,
2672  0 /*atTimeCode*/,
2673  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2674  (4 + 4) /*deltaCode*/,
2675  'D' /*letter*/,
2676  },
2677  // Rule Guat 2006 only - Oct 1 0:00 0 S
2678  {
2679  6 /*fromYearTiny*/,
2680  6 /*toYearTiny*/,
2681  10 /*inMonth*/,
2682  0 /*onDayOfWeek*/,
2683  1 /*onDayOfMonth*/,
2684  0 /*atTimeCode*/,
2685  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2686  (0 + 4) /*deltaCode*/,
2687  'S' /*letter*/,
2688  },
2689 
2690 };
2691 
2692 
2693 
2694 const extended::ZonePolicy kPolicyGuat ACE_TIME_PROGMEM = {
2695  kZoneRulesGuat /*rules*/,
2696  nullptr /* letters */,
2697  3 /*numRules*/,
2698  0 /* numLetters */,
2699 };
2700 
2701 //---------------------------------------------------------------------------
2702 // Policy name: HK
2703 // Rules: 1
2704 // Memory (8-bit): 15
2705 // Memory (32-bit): 24
2706 //---------------------------------------------------------------------------
2707 
2708 static const extended::ZoneRule kZoneRulesHK[] ACE_TIME_PROGMEM = {
2709  // Rule HK 1979 only - Oct 21 3:30 0 -
2710  {
2711  -21 /*fromYearTiny*/,
2712  -21 /*toYearTiny*/,
2713  10 /*inMonth*/,
2714  0 /*onDayOfWeek*/,
2715  21 /*onDayOfMonth*/,
2716  14 /*atTimeCode*/,
2717  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2718  (0 + 4) /*deltaCode*/,
2719  '-' /*letter*/,
2720  },
2721 
2722 };
2723 
2724 
2725 
2726 const extended::ZonePolicy kPolicyHK ACE_TIME_PROGMEM = {
2727  kZoneRulesHK /*rules*/,
2728  nullptr /* letters */,
2729  1 /*numRules*/,
2730  0 /* numLetters */,
2731 };
2732 
2733 //---------------------------------------------------------------------------
2734 // Policy name: Haiti
2735 // Rules: 7
2736 // Memory (8-bit): 69
2737 // Memory (32-bit): 96
2738 //---------------------------------------------------------------------------
2739 
2740 static const extended::ZoneRule kZoneRulesHaiti[] ACE_TIME_PROGMEM = {
2741  // Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S
2742  {
2743  -12 /*fromYearTiny*/,
2744  -3 /*toYearTiny*/,
2745  10 /*inMonth*/,
2746  7 /*onDayOfWeek*/,
2747  0 /*onDayOfMonth*/,
2748  4 /*atTimeCode*/,
2749  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
2750  (0 + 4) /*deltaCode*/,
2751  'S' /*letter*/,
2752  },
2753  // Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D
2754  {
2755  5 /*fromYearTiny*/,
2756  6 /*toYearTiny*/,
2757  4 /*inMonth*/,
2758  7 /*onDayOfWeek*/,
2759  1 /*onDayOfMonth*/,
2760  0 /*atTimeCode*/,
2761  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2762  (4 + 4) /*deltaCode*/,
2763  'D' /*letter*/,
2764  },
2765  // Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S
2766  {
2767  5 /*fromYearTiny*/,
2768  6 /*toYearTiny*/,
2769  10 /*inMonth*/,
2770  7 /*onDayOfWeek*/,
2771  0 /*onDayOfMonth*/,
2772  0 /*atTimeCode*/,
2773  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2774  (0 + 4) /*deltaCode*/,
2775  'S' /*letter*/,
2776  },
2777  // Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D
2778  {
2779  12 /*fromYearTiny*/,
2780  15 /*toYearTiny*/,
2781  3 /*inMonth*/,
2782  7 /*onDayOfWeek*/,
2783  8 /*onDayOfMonth*/,
2784  8 /*atTimeCode*/,
2785  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2786  (4 + 4) /*deltaCode*/,
2787  'D' /*letter*/,
2788  },
2789  // Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S
2790  {
2791  12 /*fromYearTiny*/,
2792  15 /*toYearTiny*/,
2793  11 /*inMonth*/,
2794  7 /*onDayOfWeek*/,
2795  1 /*onDayOfMonth*/,
2796  8 /*atTimeCode*/,
2797  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2798  (0 + 4) /*deltaCode*/,
2799  'S' /*letter*/,
2800  },
2801  // Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D
2802  {
2803  17 /*fromYearTiny*/,
2804  126 /*toYearTiny*/,
2805  3 /*inMonth*/,
2806  7 /*onDayOfWeek*/,
2807  8 /*onDayOfMonth*/,
2808  8 /*atTimeCode*/,
2809  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2810  (4 + 4) /*deltaCode*/,
2811  'D' /*letter*/,
2812  },
2813  // Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S
2814  {
2815  17 /*fromYearTiny*/,
2816  126 /*toYearTiny*/,
2817  11 /*inMonth*/,
2818  7 /*onDayOfWeek*/,
2819  1 /*onDayOfMonth*/,
2820  8 /*atTimeCode*/,
2821  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2822  (0 + 4) /*deltaCode*/,
2823  'S' /*letter*/,
2824  },
2825 
2826 };
2827 
2828 
2829 
2830 const extended::ZonePolicy kPolicyHaiti ACE_TIME_PROGMEM = {
2831  kZoneRulesHaiti /*rules*/,
2832  nullptr /* letters */,
2833  7 /*numRules*/,
2834  0 /* numLetters */,
2835 };
2836 
2837 //---------------------------------------------------------------------------
2838 // Policy name: Holiday
2839 // Rules: 1
2840 // Memory (8-bit): 15
2841 // Memory (32-bit): 24
2842 //---------------------------------------------------------------------------
2843 
2844 static const extended::ZoneRule kZoneRulesHoliday[] ACE_TIME_PROGMEM = {
2845  // Rule Holiday 1993 1994 - Mar Sun>=1 2:00s 0 S
2846  {
2847  -7 /*fromYearTiny*/,
2848  -6 /*toYearTiny*/,
2849  3 /*inMonth*/,
2850  7 /*onDayOfWeek*/,
2851  1 /*onDayOfMonth*/,
2852  8 /*atTimeCode*/,
2853  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
2854  (0 + 4) /*deltaCode*/,
2855  'S' /*letter*/,
2856  },
2857 
2858 };
2859 
2860 
2861 
2862 const extended::ZonePolicy kPolicyHoliday ACE_TIME_PROGMEM = {
2863  kZoneRulesHoliday /*rules*/,
2864  nullptr /* letters */,
2865  1 /*numRules*/,
2866  0 /* numLetters */,
2867 };
2868 
2869 //---------------------------------------------------------------------------
2870 // Policy name: Hond
2871 // Rules: 3
2872 // Memory (8-bit): 33
2873 // Memory (32-bit): 48
2874 //---------------------------------------------------------------------------
2875 
2876 static const extended::ZoneRule kZoneRulesHond[] ACE_TIME_PROGMEM = {
2877  // Rule Hond 1987 1988 - Sep lastSun 0:00 0 S
2878  {
2879  -13 /*fromYearTiny*/,
2880  -12 /*toYearTiny*/,
2881  9 /*inMonth*/,
2882  7 /*onDayOfWeek*/,
2883  0 /*onDayOfMonth*/,
2884  0 /*atTimeCode*/,
2885  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2886  (0 + 4) /*deltaCode*/,
2887  'S' /*letter*/,
2888  },
2889  // Rule Hond 2006 only - May Sun>=1 0:00 1:00 D
2890  {
2891  6 /*fromYearTiny*/,
2892  6 /*toYearTiny*/,
2893  5 /*inMonth*/,
2894  7 /*onDayOfWeek*/,
2895  1 /*onDayOfMonth*/,
2896  0 /*atTimeCode*/,
2897  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2898  (4 + 4) /*deltaCode*/,
2899  'D' /*letter*/,
2900  },
2901  // Rule Hond 2006 only - Aug Mon>=1 0:00 0 S
2902  {
2903  6 /*fromYearTiny*/,
2904  6 /*toYearTiny*/,
2905  8 /*inMonth*/,
2906  1 /*onDayOfWeek*/,
2907  1 /*onDayOfMonth*/,
2908  0 /*atTimeCode*/,
2909  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2910  (0 + 4) /*deltaCode*/,
2911  'S' /*letter*/,
2912  },
2913 
2914 };
2915 
2916 
2917 
2918 const extended::ZonePolicy kPolicyHond ACE_TIME_PROGMEM = {
2919  kZoneRulesHond /*rules*/,
2920  nullptr /* letters */,
2921  3 /*numRules*/,
2922  0 /* numLetters */,
2923 };
2924 
2925 //---------------------------------------------------------------------------
2926 // Policy name: Iran
2927 // Rules: 55
2928 // Memory (8-bit): 501
2929 // Memory (32-bit): 672
2930 //---------------------------------------------------------------------------
2931 
2932 static const extended::ZoneRule kZoneRulesIran[] ACE_TIME_PROGMEM = {
2933  // Rule Iran 1996 only - Sep 20 24:00 0 -
2934  {
2935  -4 /*fromYearTiny*/,
2936  -4 /*toYearTiny*/,
2937  9 /*inMonth*/,
2938  0 /*onDayOfWeek*/,
2939  20 /*onDayOfMonth*/,
2940  96 /*atTimeCode*/,
2941  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2942  (0 + 4) /*deltaCode*/,
2943  '-' /*letter*/,
2944  },
2945  // Rule Iran 1997 1999 - Mar 21 24:00 1:00 -
2946  {
2947  -3 /*fromYearTiny*/,
2948  -1 /*toYearTiny*/,
2949  3 /*inMonth*/,
2950  0 /*onDayOfWeek*/,
2951  21 /*onDayOfMonth*/,
2952  96 /*atTimeCode*/,
2953  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2954  (4 + 4) /*deltaCode*/,
2955  '-' /*letter*/,
2956  },
2957  // Rule Iran 1997 1999 - Sep 21 24:00 0 -
2958  {
2959  -3 /*fromYearTiny*/,
2960  -1 /*toYearTiny*/,
2961  9 /*inMonth*/,
2962  0 /*onDayOfWeek*/,
2963  21 /*onDayOfMonth*/,
2964  96 /*atTimeCode*/,
2965  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2966  (0 + 4) /*deltaCode*/,
2967  '-' /*letter*/,
2968  },
2969  // Rule Iran 2000 only - Mar 20 24:00 1:00 -
2970  {
2971  0 /*fromYearTiny*/,
2972  0 /*toYearTiny*/,
2973  3 /*inMonth*/,
2974  0 /*onDayOfWeek*/,
2975  20 /*onDayOfMonth*/,
2976  96 /*atTimeCode*/,
2977  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2978  (4 + 4) /*deltaCode*/,
2979  '-' /*letter*/,
2980  },
2981  // Rule Iran 2000 only - Sep 20 24:00 0 -
2982  {
2983  0 /*fromYearTiny*/,
2984  0 /*toYearTiny*/,
2985  9 /*inMonth*/,
2986  0 /*onDayOfWeek*/,
2987  20 /*onDayOfMonth*/,
2988  96 /*atTimeCode*/,
2989  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
2990  (0 + 4) /*deltaCode*/,
2991  '-' /*letter*/,
2992  },
2993  // Rule Iran 2001 2003 - Mar 21 24:00 1:00 -
2994  {
2995  1 /*fromYearTiny*/,
2996  3 /*toYearTiny*/,
2997  3 /*inMonth*/,
2998  0 /*onDayOfWeek*/,
2999  21 /*onDayOfMonth*/,
3000  96 /*atTimeCode*/,
3001  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3002  (4 + 4) /*deltaCode*/,
3003  '-' /*letter*/,
3004  },
3005  // Rule Iran 2001 2003 - Sep 21 24:00 0 -
3006  {
3007  1 /*fromYearTiny*/,
3008  3 /*toYearTiny*/,
3009  9 /*inMonth*/,
3010  0 /*onDayOfWeek*/,
3011  21 /*onDayOfMonth*/,
3012  96 /*atTimeCode*/,
3013  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3014  (0 + 4) /*deltaCode*/,
3015  '-' /*letter*/,
3016  },
3017  // Rule Iran 2004 only - Mar 20 24:00 1:00 -
3018  {
3019  4 /*fromYearTiny*/,
3020  4 /*toYearTiny*/,
3021  3 /*inMonth*/,
3022  0 /*onDayOfWeek*/,
3023  20 /*onDayOfMonth*/,
3024  96 /*atTimeCode*/,
3025  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3026  (4 + 4) /*deltaCode*/,
3027  '-' /*letter*/,
3028  },
3029  // Rule Iran 2004 only - Sep 20 24:00 0 -
3030  {
3031  4 /*fromYearTiny*/,
3032  4 /*toYearTiny*/,
3033  9 /*inMonth*/,
3034  0 /*onDayOfWeek*/,
3035  20 /*onDayOfMonth*/,
3036  96 /*atTimeCode*/,
3037  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3038  (0 + 4) /*deltaCode*/,
3039  '-' /*letter*/,
3040  },
3041  // Rule Iran 2005 only - Mar 21 24:00 1:00 -
3042  {
3043  5 /*fromYearTiny*/,
3044  5 /*toYearTiny*/,
3045  3 /*inMonth*/,
3046  0 /*onDayOfWeek*/,
3047  21 /*onDayOfMonth*/,
3048  96 /*atTimeCode*/,
3049  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3050  (4 + 4) /*deltaCode*/,
3051  '-' /*letter*/,
3052  },
3053  // Rule Iran 2005 only - Sep 21 24:00 0 -
3054  {
3055  5 /*fromYearTiny*/,
3056  5 /*toYearTiny*/,
3057  9 /*inMonth*/,
3058  0 /*onDayOfWeek*/,
3059  21 /*onDayOfMonth*/,
3060  96 /*atTimeCode*/,
3061  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3062  (0 + 4) /*deltaCode*/,
3063  '-' /*letter*/,
3064  },
3065  // Rule Iran 2008 only - Mar 20 24:00 1:00 -
3066  {
3067  8 /*fromYearTiny*/,
3068  8 /*toYearTiny*/,
3069  3 /*inMonth*/,
3070  0 /*onDayOfWeek*/,
3071  20 /*onDayOfMonth*/,
3072  96 /*atTimeCode*/,
3073  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3074  (4 + 4) /*deltaCode*/,
3075  '-' /*letter*/,
3076  },
3077  // Rule Iran 2008 only - Sep 20 24:00 0 -
3078  {
3079  8 /*fromYearTiny*/,
3080  8 /*toYearTiny*/,
3081  9 /*inMonth*/,
3082  0 /*onDayOfWeek*/,
3083  20 /*onDayOfMonth*/,
3084  96 /*atTimeCode*/,
3085  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3086  (0 + 4) /*deltaCode*/,
3087  '-' /*letter*/,
3088  },
3089  // Rule Iran 2009 2011 - Mar 21 24:00 1:00 -
3090  {
3091  9 /*fromYearTiny*/,
3092  11 /*toYearTiny*/,
3093  3 /*inMonth*/,
3094  0 /*onDayOfWeek*/,
3095  21 /*onDayOfMonth*/,
3096  96 /*atTimeCode*/,
3097  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3098  (4 + 4) /*deltaCode*/,
3099  '-' /*letter*/,
3100  },
3101  // Rule Iran 2009 2011 - Sep 21 24:00 0 -
3102  {
3103  9 /*fromYearTiny*/,
3104  11 /*toYearTiny*/,
3105  9 /*inMonth*/,
3106  0 /*onDayOfWeek*/,
3107  21 /*onDayOfMonth*/,
3108  96 /*atTimeCode*/,
3109  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3110  (0 + 4) /*deltaCode*/,
3111  '-' /*letter*/,
3112  },
3113  // Rule Iran 2012 only - Mar 20 24:00 1:00 -
3114  {
3115  12 /*fromYearTiny*/,
3116  12 /*toYearTiny*/,
3117  3 /*inMonth*/,
3118  0 /*onDayOfWeek*/,
3119  20 /*onDayOfMonth*/,
3120  96 /*atTimeCode*/,
3121  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3122  (4 + 4) /*deltaCode*/,
3123  '-' /*letter*/,
3124  },
3125  // Rule Iran 2012 only - Sep 20 24:00 0 -
3126  {
3127  12 /*fromYearTiny*/,
3128  12 /*toYearTiny*/,
3129  9 /*inMonth*/,
3130  0 /*onDayOfWeek*/,
3131  20 /*onDayOfMonth*/,
3132  96 /*atTimeCode*/,
3133  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3134  (0 + 4) /*deltaCode*/,
3135  '-' /*letter*/,
3136  },
3137  // Rule Iran 2013 2015 - Mar 21 24:00 1:00 -
3138  {
3139  13 /*fromYearTiny*/,
3140  15 /*toYearTiny*/,
3141  3 /*inMonth*/,
3142  0 /*onDayOfWeek*/,
3143  21 /*onDayOfMonth*/,
3144  96 /*atTimeCode*/,
3145  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3146  (4 + 4) /*deltaCode*/,
3147  '-' /*letter*/,
3148  },
3149  // Rule Iran 2013 2015 - Sep 21 24:00 0 -
3150  {
3151  13 /*fromYearTiny*/,
3152  15 /*toYearTiny*/,
3153  9 /*inMonth*/,
3154  0 /*onDayOfWeek*/,
3155  21 /*onDayOfMonth*/,
3156  96 /*atTimeCode*/,
3157  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3158  (0 + 4) /*deltaCode*/,
3159  '-' /*letter*/,
3160  },
3161  // Rule Iran 2016 only - Mar 20 24:00 1:00 -
3162  {
3163  16 /*fromYearTiny*/,
3164  16 /*toYearTiny*/,
3165  3 /*inMonth*/,
3166  0 /*onDayOfWeek*/,
3167  20 /*onDayOfMonth*/,
3168  96 /*atTimeCode*/,
3169  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3170  (4 + 4) /*deltaCode*/,
3171  '-' /*letter*/,
3172  },
3173  // Rule Iran 2016 only - Sep 20 24:00 0 -
3174  {
3175  16 /*fromYearTiny*/,
3176  16 /*toYearTiny*/,
3177  9 /*inMonth*/,
3178  0 /*onDayOfWeek*/,
3179  20 /*onDayOfMonth*/,
3180  96 /*atTimeCode*/,
3181  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3182  (0 + 4) /*deltaCode*/,
3183  '-' /*letter*/,
3184  },
3185  // Rule Iran 2017 2019 - Mar 21 24:00 1:00 -
3186  {
3187  17 /*fromYearTiny*/,
3188  19 /*toYearTiny*/,
3189  3 /*inMonth*/,
3190  0 /*onDayOfWeek*/,
3191  21 /*onDayOfMonth*/,
3192  96 /*atTimeCode*/,
3193  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3194  (4 + 4) /*deltaCode*/,
3195  '-' /*letter*/,
3196  },
3197  // Rule Iran 2017 2019 - Sep 21 24:00 0 -
3198  {
3199  17 /*fromYearTiny*/,
3200  19 /*toYearTiny*/,
3201  9 /*inMonth*/,
3202  0 /*onDayOfWeek*/,
3203  21 /*onDayOfMonth*/,
3204  96 /*atTimeCode*/,
3205  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3206  (0 + 4) /*deltaCode*/,
3207  '-' /*letter*/,
3208  },
3209  // Rule Iran 2020 only - Mar 20 24:00 1:00 -
3210  {
3211  20 /*fromYearTiny*/,
3212  20 /*toYearTiny*/,
3213  3 /*inMonth*/,
3214  0 /*onDayOfWeek*/,
3215  20 /*onDayOfMonth*/,
3216  96 /*atTimeCode*/,
3217  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3218  (4 + 4) /*deltaCode*/,
3219  '-' /*letter*/,
3220  },
3221  // Rule Iran 2020 only - Sep 20 24:00 0 -
3222  {
3223  20 /*fromYearTiny*/,
3224  20 /*toYearTiny*/,
3225  9 /*inMonth*/,
3226  0 /*onDayOfWeek*/,
3227  20 /*onDayOfMonth*/,
3228  96 /*atTimeCode*/,
3229  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3230  (0 + 4) /*deltaCode*/,
3231  '-' /*letter*/,
3232  },
3233  // Rule Iran 2021 2023 - Mar 21 24:00 1:00 -
3234  {
3235  21 /*fromYearTiny*/,
3236  23 /*toYearTiny*/,
3237  3 /*inMonth*/,
3238  0 /*onDayOfWeek*/,
3239  21 /*onDayOfMonth*/,
3240  96 /*atTimeCode*/,
3241  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3242  (4 + 4) /*deltaCode*/,
3243  '-' /*letter*/,
3244  },
3245  // Rule Iran 2021 2023 - Sep 21 24:00 0 -
3246  {
3247  21 /*fromYearTiny*/,
3248  23 /*toYearTiny*/,
3249  9 /*inMonth*/,
3250  0 /*onDayOfWeek*/,
3251  21 /*onDayOfMonth*/,
3252  96 /*atTimeCode*/,
3253  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3254  (0 + 4) /*deltaCode*/,
3255  '-' /*letter*/,
3256  },
3257  // Rule Iran 2024 only - Mar 20 24:00 1:00 -
3258  {
3259  24 /*fromYearTiny*/,
3260  24 /*toYearTiny*/,
3261  3 /*inMonth*/,
3262  0 /*onDayOfWeek*/,
3263  20 /*onDayOfMonth*/,
3264  96 /*atTimeCode*/,
3265  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3266  (4 + 4) /*deltaCode*/,
3267  '-' /*letter*/,
3268  },
3269  // Rule Iran 2024 only - Sep 20 24:00 0 -
3270  {
3271  24 /*fromYearTiny*/,
3272  24 /*toYearTiny*/,
3273  9 /*inMonth*/,
3274  0 /*onDayOfWeek*/,
3275  20 /*onDayOfMonth*/,
3276  96 /*atTimeCode*/,
3277  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3278  (0 + 4) /*deltaCode*/,
3279  '-' /*letter*/,
3280  },
3281  // Rule Iran 2025 2027 - Mar 21 24:00 1:00 -
3282  {
3283  25 /*fromYearTiny*/,
3284  27 /*toYearTiny*/,
3285  3 /*inMonth*/,
3286  0 /*onDayOfWeek*/,
3287  21 /*onDayOfMonth*/,
3288  96 /*atTimeCode*/,
3289  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3290  (4 + 4) /*deltaCode*/,
3291  '-' /*letter*/,
3292  },
3293  // Rule Iran 2025 2027 - Sep 21 24:00 0 -
3294  {
3295  25 /*fromYearTiny*/,
3296  27 /*toYearTiny*/,
3297  9 /*inMonth*/,
3298  0 /*onDayOfWeek*/,
3299  21 /*onDayOfMonth*/,
3300  96 /*atTimeCode*/,
3301  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3302  (0 + 4) /*deltaCode*/,
3303  '-' /*letter*/,
3304  },
3305  // Rule Iran 2028 2029 - Mar 20 24:00 1:00 -
3306  {
3307  28 /*fromYearTiny*/,
3308  29 /*toYearTiny*/,
3309  3 /*inMonth*/,
3310  0 /*onDayOfWeek*/,
3311  20 /*onDayOfMonth*/,
3312  96 /*atTimeCode*/,
3313  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3314  (4 + 4) /*deltaCode*/,
3315  '-' /*letter*/,
3316  },
3317  // Rule Iran 2028 2029 - Sep 20 24:00 0 -
3318  {
3319  28 /*fromYearTiny*/,
3320  29 /*toYearTiny*/,
3321  9 /*inMonth*/,
3322  0 /*onDayOfWeek*/,
3323  20 /*onDayOfMonth*/,
3324  96 /*atTimeCode*/,
3325  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3326  (0 + 4) /*deltaCode*/,
3327  '-' /*letter*/,
3328  },
3329  // Rule Iran 2030 2031 - Mar 21 24:00 1:00 -
3330  {
3331  30 /*fromYearTiny*/,
3332  31 /*toYearTiny*/,
3333  3 /*inMonth*/,
3334  0 /*onDayOfWeek*/,
3335  21 /*onDayOfMonth*/,
3336  96 /*atTimeCode*/,
3337  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3338  (4 + 4) /*deltaCode*/,
3339  '-' /*letter*/,
3340  },
3341  // Rule Iran 2030 2031 - Sep 21 24:00 0 -
3342  {
3343  30 /*fromYearTiny*/,
3344  31 /*toYearTiny*/,
3345  9 /*inMonth*/,
3346  0 /*onDayOfWeek*/,
3347  21 /*onDayOfMonth*/,
3348  96 /*atTimeCode*/,
3349  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3350  (0 + 4) /*deltaCode*/,
3351  '-' /*letter*/,
3352  },
3353  // Rule Iran 2032 2033 - Mar 20 24:00 1:00 -
3354  {
3355  32 /*fromYearTiny*/,
3356  33 /*toYearTiny*/,
3357  3 /*inMonth*/,
3358  0 /*onDayOfWeek*/,
3359  20 /*onDayOfMonth*/,
3360  96 /*atTimeCode*/,
3361  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3362  (4 + 4) /*deltaCode*/,
3363  '-' /*letter*/,
3364  },
3365  // Rule Iran 2032 2033 - Sep 20 24:00 0 -
3366  {
3367  32 /*fromYearTiny*/,
3368  33 /*toYearTiny*/,
3369  9 /*inMonth*/,
3370  0 /*onDayOfWeek*/,
3371  20 /*onDayOfMonth*/,
3372  96 /*atTimeCode*/,
3373  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3374  (0 + 4) /*deltaCode*/,
3375  '-' /*letter*/,
3376  },
3377  // Rule Iran 2034 2035 - Mar 21 24:00 1:00 -
3378  {
3379  34 /*fromYearTiny*/,
3380  35 /*toYearTiny*/,
3381  3 /*inMonth*/,
3382  0 /*onDayOfWeek*/,
3383  21 /*onDayOfMonth*/,
3384  96 /*atTimeCode*/,
3385  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3386  (4 + 4) /*deltaCode*/,
3387  '-' /*letter*/,
3388  },
3389  // Rule Iran 2034 2035 - Sep 21 24:00 0 -
3390  {
3391  34 /*fromYearTiny*/,
3392  35 /*toYearTiny*/,
3393  9 /*inMonth*/,
3394  0 /*onDayOfWeek*/,
3395  21 /*onDayOfMonth*/,
3396  96 /*atTimeCode*/,
3397  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3398  (0 + 4) /*deltaCode*/,
3399  '-' /*letter*/,
3400  },
3401  // Rule Iran 2036 2037 - Mar 20 24:00 1:00 -
3402  {
3403  36 /*fromYearTiny*/,
3404  37 /*toYearTiny*/,
3405  3 /*inMonth*/,
3406  0 /*onDayOfWeek*/,
3407  20 /*onDayOfMonth*/,
3408  96 /*atTimeCode*/,
3409  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3410  (4 + 4) /*deltaCode*/,
3411  '-' /*letter*/,
3412  },
3413  // Rule Iran 2036 2037 - Sep 20 24:00 0 -
3414  {
3415  36 /*fromYearTiny*/,
3416  37 /*toYearTiny*/,
3417  9 /*inMonth*/,
3418  0 /*onDayOfWeek*/,
3419  20 /*onDayOfMonth*/,
3420  96 /*atTimeCode*/,
3421  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3422  (0 + 4) /*deltaCode*/,
3423  '-' /*letter*/,
3424  },
3425  // Rule Iran 2038 2039 - Mar 21 24:00 1:00 -
3426  {
3427  38 /*fromYearTiny*/,
3428  39 /*toYearTiny*/,
3429  3 /*inMonth*/,
3430  0 /*onDayOfWeek*/,
3431  21 /*onDayOfMonth*/,
3432  96 /*atTimeCode*/,
3433  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3434  (4 + 4) /*deltaCode*/,
3435  '-' /*letter*/,
3436  },
3437  // Rule Iran 2038 2039 - Sep 21 24:00 0 -
3438  {
3439  38 /*fromYearTiny*/,
3440  39 /*toYearTiny*/,
3441  9 /*inMonth*/,
3442  0 /*onDayOfWeek*/,
3443  21 /*onDayOfMonth*/,
3444  96 /*atTimeCode*/,
3445  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3446  (0 + 4) /*deltaCode*/,
3447  '-' /*letter*/,
3448  },
3449  // Rule Iran 2040 2041 - Mar 20 24:00 1:00 -
3450  {
3451  40 /*fromYearTiny*/,
3452  41 /*toYearTiny*/,
3453  3 /*inMonth*/,
3454  0 /*onDayOfWeek*/,
3455  20 /*onDayOfMonth*/,
3456  96 /*atTimeCode*/,
3457  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3458  (4 + 4) /*deltaCode*/,
3459  '-' /*letter*/,
3460  },
3461  // Rule Iran 2040 2041 - Sep 20 24:00 0 -
3462  {
3463  40 /*fromYearTiny*/,
3464  41 /*toYearTiny*/,
3465  9 /*inMonth*/,
3466  0 /*onDayOfWeek*/,
3467  20 /*onDayOfMonth*/,
3468  96 /*atTimeCode*/,
3469  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3470  (0 + 4) /*deltaCode*/,
3471  '-' /*letter*/,
3472  },
3473  // Rule Iran 2042 2043 - Mar 21 24:00 1:00 -
3474  {
3475  42 /*fromYearTiny*/,
3476  43 /*toYearTiny*/,
3477  3 /*inMonth*/,
3478  0 /*onDayOfWeek*/,
3479  21 /*onDayOfMonth*/,
3480  96 /*atTimeCode*/,
3481  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3482  (4 + 4) /*deltaCode*/,
3483  '-' /*letter*/,
3484  },
3485  // Rule Iran 2042 2043 - Sep 21 24:00 0 -
3486  {
3487  42 /*fromYearTiny*/,
3488  43 /*toYearTiny*/,
3489  9 /*inMonth*/,
3490  0 /*onDayOfWeek*/,
3491  21 /*onDayOfMonth*/,
3492  96 /*atTimeCode*/,
3493  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3494  (0 + 4) /*deltaCode*/,
3495  '-' /*letter*/,
3496  },
3497  // Rule Iran 2044 2045 - Mar 20 24:00 1:00 -
3498  {
3499  44 /*fromYearTiny*/,
3500  45 /*toYearTiny*/,
3501  3 /*inMonth*/,
3502  0 /*onDayOfWeek*/,
3503  20 /*onDayOfMonth*/,
3504  96 /*atTimeCode*/,
3505  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3506  (4 + 4) /*deltaCode*/,
3507  '-' /*letter*/,
3508  },
3509  // Rule Iran 2044 2045 - Sep 20 24:00 0 -
3510  {
3511  44 /*fromYearTiny*/,
3512  45 /*toYearTiny*/,
3513  9 /*inMonth*/,
3514  0 /*onDayOfWeek*/,
3515  20 /*onDayOfMonth*/,
3516  96 /*atTimeCode*/,
3517  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3518  (0 + 4) /*deltaCode*/,
3519  '-' /*letter*/,
3520  },
3521  // Rule Iran 2046 2047 - Mar 21 24:00 1:00 -
3522  {
3523  46 /*fromYearTiny*/,
3524  47 /*toYearTiny*/,
3525  3 /*inMonth*/,
3526  0 /*onDayOfWeek*/,
3527  21 /*onDayOfMonth*/,
3528  96 /*atTimeCode*/,
3529  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3530  (4 + 4) /*deltaCode*/,
3531  '-' /*letter*/,
3532  },
3533  // Rule Iran 2046 2047 - Sep 21 24:00 0 -
3534  {
3535  46 /*fromYearTiny*/,
3536  47 /*toYearTiny*/,
3537  9 /*inMonth*/,
3538  0 /*onDayOfWeek*/,
3539  21 /*onDayOfMonth*/,
3540  96 /*atTimeCode*/,
3541  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3542  (0 + 4) /*deltaCode*/,
3543  '-' /*letter*/,
3544  },
3545  // Rule Iran 2048 2049 - Mar 20 24:00 1:00 -
3546  {
3547  48 /*fromYearTiny*/,
3548  49 /*toYearTiny*/,
3549  3 /*inMonth*/,
3550  0 /*onDayOfWeek*/,
3551  20 /*onDayOfMonth*/,
3552  96 /*atTimeCode*/,
3553  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3554  (4 + 4) /*deltaCode*/,
3555  '-' /*letter*/,
3556  },
3557  // Rule Iran 2048 2049 - Sep 20 24:00 0 -
3558  {
3559  48 /*fromYearTiny*/,
3560  49 /*toYearTiny*/,
3561  9 /*inMonth*/,
3562  0 /*onDayOfWeek*/,
3563  20 /*onDayOfMonth*/,
3564  96 /*atTimeCode*/,
3565  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3566  (0 + 4) /*deltaCode*/,
3567  '-' /*letter*/,
3568  },
3569  // Rule Iran 2050 2051 - Mar 21 24:00 1:00 -
3570  {
3571  50 /*fromYearTiny*/,
3572  51 /*toYearTiny*/,
3573  3 /*inMonth*/,
3574  0 /*onDayOfWeek*/,
3575  21 /*onDayOfMonth*/,
3576  96 /*atTimeCode*/,
3577  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3578  (4 + 4) /*deltaCode*/,
3579  '-' /*letter*/,
3580  },
3581  // Rule Iran 2050 2051 - Sep 21 24:00 0 -
3582  {
3583  50 /*fromYearTiny*/,
3584  51 /*toYearTiny*/,
3585  9 /*inMonth*/,
3586  0 /*onDayOfWeek*/,
3587  21 /*onDayOfMonth*/,
3588  96 /*atTimeCode*/,
3589  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3590  (0 + 4) /*deltaCode*/,
3591  '-' /*letter*/,
3592  },
3593 
3594 };
3595 
3596 
3597 
3598 const extended::ZonePolicy kPolicyIran ACE_TIME_PROGMEM = {
3599  kZoneRulesIran /*rules*/,
3600  nullptr /* letters */,
3601  55 /*numRules*/,
3602  0 /* numLetters */,
3603 };
3604 
3605 //---------------------------------------------------------------------------
3606 // Policy name: Iraq
3607 // Rules: 3
3608 // Memory (8-bit): 33
3609 // Memory (32-bit): 48
3610 //---------------------------------------------------------------------------
3611 
3612 static const extended::ZoneRule kZoneRulesIraq[] ACE_TIME_PROGMEM = {
3613  // Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 -
3614  {
3615  -15 /*fromYearTiny*/,
3616  -10 /*toYearTiny*/,
3617  9 /*inMonth*/,
3618  7 /*onDayOfWeek*/,
3619  0 /*onDayOfMonth*/,
3620  4 /*atTimeCode*/,
3621  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3622  (0 + 4) /*deltaCode*/,
3623  '-' /*letter*/,
3624  },
3625  // Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 -
3626  {
3627  -9 /*fromYearTiny*/,
3628  7 /*toYearTiny*/,
3629  4 /*inMonth*/,
3630  0 /*onDayOfWeek*/,
3631  1 /*onDayOfMonth*/,
3632  12 /*atTimeCode*/,
3633  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3634  (4 + 4) /*deltaCode*/,
3635  '-' /*letter*/,
3636  },
3637  // Rule Iraq 1991 2007 - Oct 1 3:00s 0 -
3638  {
3639  -9 /*fromYearTiny*/,
3640  7 /*toYearTiny*/,
3641  10 /*inMonth*/,
3642  0 /*onDayOfWeek*/,
3643  1 /*onDayOfMonth*/,
3644  12 /*atTimeCode*/,
3645  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3646  (0 + 4) /*deltaCode*/,
3647  '-' /*letter*/,
3648  },
3649 
3650 };
3651 
3652 
3653 
3654 const extended::ZonePolicy kPolicyIraq ACE_TIME_PROGMEM = {
3655  kZoneRulesIraq /*rules*/,
3656  nullptr /* letters */,
3657  3 /*numRules*/,
3658  0 /* numLetters */,
3659 };
3660 
3661 //---------------------------------------------------------------------------
3662 // Policy name: Japan
3663 // Rules: 1
3664 // Memory (8-bit): 15
3665 // Memory (32-bit): 24
3666 //---------------------------------------------------------------------------
3667 
3668 static const extended::ZoneRule kZoneRulesJapan[] ACE_TIME_PROGMEM = {
3669  // Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
3670  {
3671  -52 /*fromYearTiny*/,
3672  -49 /*toYearTiny*/,
3673  9 /*inMonth*/,
3674  6 /*onDayOfWeek*/,
3675  8 /*onDayOfMonth*/,
3676  100 /*atTimeCode*/,
3677  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3678  (0 + 4) /*deltaCode*/,
3679  'S' /*letter*/,
3680  },
3681 
3682 };
3683 
3684 
3685 
3686 const extended::ZonePolicy kPolicyJapan ACE_TIME_PROGMEM = {
3687  kZoneRulesJapan /*rules*/,
3688  nullptr /* letters */,
3689  1 /*numRules*/,
3690  0 /* numLetters */,
3691 };
3692 
3693 //---------------------------------------------------------------------------
3694 // Policy name: Jordan
3695 // Rules: 12
3696 // Memory (8-bit): 114
3697 // Memory (32-bit): 156
3698 //---------------------------------------------------------------------------
3699 
3700 static const extended::ZoneRule kZoneRulesJordan[] ACE_TIME_PROGMEM = {
3701  // Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 -
3702  {
3703  -5 /*fromYearTiny*/,
3704  -2 /*toYearTiny*/,
3705  9 /*inMonth*/,
3706  5 /*onDayOfWeek*/,
3707  15 /*onDayOfMonth*/,
3708  0 /*atTimeCode*/,
3709  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3710  (0 + 4) /*deltaCode*/,
3711  '-' /*letter*/,
3712  },
3713  // Rule Jordan 1999 only - Jul 1 0:00s 1:00 S
3714  {
3715  -1 /*fromYearTiny*/,
3716  -1 /*toYearTiny*/,
3717  7 /*inMonth*/,
3718  0 /*onDayOfWeek*/,
3719  1 /*onDayOfMonth*/,
3720  0 /*atTimeCode*/,
3721  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3722  (4 + 4) /*deltaCode*/,
3723  'S' /*letter*/,
3724  },
3725  // Rule Jordan 1999 2002 - Sep lastFri 0:00s 0 -
3726  {
3727  -1 /*fromYearTiny*/,
3728  2 /*toYearTiny*/,
3729  9 /*inMonth*/,
3730  5 /*onDayOfWeek*/,
3731  0 /*onDayOfMonth*/,
3732  0 /*atTimeCode*/,
3733  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3734  (0 + 4) /*deltaCode*/,
3735  '-' /*letter*/,
3736  },
3737  // Rule Jordan 2000 2001 - Mar lastThu 0:00s 1:00 S
3738  {
3739  0 /*fromYearTiny*/,
3740  1 /*toYearTiny*/,
3741  3 /*inMonth*/,
3742  4 /*onDayOfWeek*/,
3743  0 /*onDayOfMonth*/,
3744  0 /*atTimeCode*/,
3745  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3746  (4 + 4) /*deltaCode*/,
3747  'S' /*letter*/,
3748  },
3749  // Rule Jordan 2002 2012 - Mar lastThu 24:00 1:00 S
3750  {
3751  2 /*fromYearTiny*/,
3752  12 /*toYearTiny*/,
3753  3 /*inMonth*/,
3754  4 /*onDayOfWeek*/,
3755  0 /*onDayOfMonth*/,
3756  96 /*atTimeCode*/,
3757  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3758  (4 + 4) /*deltaCode*/,
3759  'S' /*letter*/,
3760  },
3761  // Rule Jordan 2003 only - Oct 24 0:00s 0 -
3762  {
3763  3 /*fromYearTiny*/,
3764  3 /*toYearTiny*/,
3765  10 /*inMonth*/,
3766  0 /*onDayOfWeek*/,
3767  24 /*onDayOfMonth*/,
3768  0 /*atTimeCode*/,
3769  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3770  (0 + 4) /*deltaCode*/,
3771  '-' /*letter*/,
3772  },
3773  // Rule Jordan 2004 only - Oct 15 0:00s 0 -
3774  {
3775  4 /*fromYearTiny*/,
3776  4 /*toYearTiny*/,
3777  10 /*inMonth*/,
3778  0 /*onDayOfWeek*/,
3779  15 /*onDayOfMonth*/,
3780  0 /*atTimeCode*/,
3781  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3782  (0 + 4) /*deltaCode*/,
3783  '-' /*letter*/,
3784  },
3785  // Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
3786  {
3787  5 /*fromYearTiny*/,
3788  5 /*toYearTiny*/,
3789  9 /*inMonth*/,
3790  5 /*onDayOfWeek*/,
3791  0 /*onDayOfMonth*/,
3792  0 /*atTimeCode*/,
3793  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3794  (0 + 4) /*deltaCode*/,
3795  '-' /*letter*/,
3796  },
3797  // Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
3798  {
3799  6 /*fromYearTiny*/,
3800  11 /*toYearTiny*/,
3801  10 /*inMonth*/,
3802  5 /*onDayOfWeek*/,
3803  0 /*onDayOfMonth*/,
3804  0 /*atTimeCode*/,
3805  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3806  (0 + 4) /*deltaCode*/,
3807  '-' /*letter*/,
3808  },
3809  // Rule Jordan 2013 only - Dec 20 0:00 0 -
3810  {
3811  13 /*fromYearTiny*/,
3812  13 /*toYearTiny*/,
3813  12 /*inMonth*/,
3814  0 /*onDayOfWeek*/,
3815  20 /*onDayOfMonth*/,
3816  0 /*atTimeCode*/,
3817  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3818  (0 + 4) /*deltaCode*/,
3819  '-' /*letter*/,
3820  },
3821  // Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
3822  {
3823  14 /*fromYearTiny*/,
3824  126 /*toYearTiny*/,
3825  3 /*inMonth*/,
3826  4 /*onDayOfWeek*/,
3827  0 /*onDayOfMonth*/,
3828  96 /*atTimeCode*/,
3829  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3830  (4 + 4) /*deltaCode*/,
3831  'S' /*letter*/,
3832  },
3833  // Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
3834  {
3835  14 /*fromYearTiny*/,
3836  126 /*toYearTiny*/,
3837  10 /*inMonth*/,
3838  5 /*onDayOfWeek*/,
3839  0 /*onDayOfMonth*/,
3840  0 /*atTimeCode*/,
3841  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
3842  (0 + 4) /*deltaCode*/,
3843  '-' /*letter*/,
3844  },
3845 
3846 };
3847 
3848 
3849 
3850 const extended::ZonePolicy kPolicyJordan ACE_TIME_PROGMEM = {
3851  kZoneRulesJordan /*rules*/,
3852  nullptr /* letters */,
3853  12 /*numRules*/,
3854  0 /* numLetters */,
3855 };
3856 
3857 //---------------------------------------------------------------------------
3858 // Policy name: Kyrgyz
3859 // Rules: 3
3860 // Memory (8-bit): 33
3861 // Memory (32-bit): 48
3862 //---------------------------------------------------------------------------
3863 
3864 static const extended::ZoneRule kZoneRulesKyrgyz[] ACE_TIME_PROGMEM = {
3865  // Rule Kyrgyz 1992 1996 - Sep lastSun 0:00 0 -
3866  {
3867  -8 /*fromYearTiny*/,
3868  -4 /*toYearTiny*/,
3869  9 /*inMonth*/,
3870  7 /*onDayOfWeek*/,
3871  0 /*onDayOfMonth*/,
3872  0 /*atTimeCode*/,
3873  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3874  (0 + 4) /*deltaCode*/,
3875  '-' /*letter*/,
3876  },
3877  // Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 -
3878  {
3879  -3 /*fromYearTiny*/,
3880  5 /*toYearTiny*/,
3881  3 /*inMonth*/,
3882  7 /*onDayOfWeek*/,
3883  0 /*onDayOfMonth*/,
3884  10 /*atTimeCode*/,
3885  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3886  (4 + 4) /*deltaCode*/,
3887  '-' /*letter*/,
3888  },
3889  // Rule Kyrgyz 1997 2004 - Oct lastSun 2:30 0 -
3890  {
3891  -3 /*fromYearTiny*/,
3892  4 /*toYearTiny*/,
3893  10 /*inMonth*/,
3894  7 /*onDayOfWeek*/,
3895  0 /*onDayOfMonth*/,
3896  10 /*atTimeCode*/,
3897  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3898  (0 + 4) /*deltaCode*/,
3899  '-' /*letter*/,
3900  },
3901 
3902 };
3903 
3904 
3905 
3906 const extended::ZonePolicy kPolicyKyrgyz ACE_TIME_PROGMEM = {
3907  kZoneRulesKyrgyz /*rules*/,
3908  nullptr /* letters */,
3909  3 /*numRules*/,
3910  0 /* numLetters */,
3911 };
3912 
3913 //---------------------------------------------------------------------------
3914 // Policy name: LH
3915 // Rules: 9
3916 // Memory (8-bit): 87
3917 // Memory (32-bit): 120
3918 //---------------------------------------------------------------------------
3919 
3920 static const extended::ZoneRule kZoneRulesLH[] ACE_TIME_PROGMEM = {
3921  // Rule LH 1987 1999 - Oct lastSun 2:00 0:30 -
3922  {
3923  -13 /*fromYearTiny*/,
3924  -1 /*toYearTiny*/,
3925  10 /*inMonth*/,
3926  7 /*onDayOfWeek*/,
3927  0 /*onDayOfMonth*/,
3928  8 /*atTimeCode*/,
3929  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3930  (2 + 4) /*deltaCode*/,
3931  '-' /*letter*/,
3932  },
3933  // Rule LH 1990 1995 - Mar Sun>=1 2:00 0 -
3934  {
3935  -10 /*fromYearTiny*/,
3936  -5 /*toYearTiny*/,
3937  3 /*inMonth*/,
3938  7 /*onDayOfWeek*/,
3939  1 /*onDayOfMonth*/,
3940  8 /*atTimeCode*/,
3941  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3942  (0 + 4) /*deltaCode*/,
3943  '-' /*letter*/,
3944  },
3945  // Rule LH 1996 2005 - Mar lastSun 2:00 0 -
3946  {
3947  -4 /*fromYearTiny*/,
3948  5 /*toYearTiny*/,
3949  3 /*inMonth*/,
3950  7 /*onDayOfWeek*/,
3951  0 /*onDayOfMonth*/,
3952  8 /*atTimeCode*/,
3953  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3954  (0 + 4) /*deltaCode*/,
3955  '-' /*letter*/,
3956  },
3957  // Rule LH 2000 only - Aug lastSun 2:00 0:30 -
3958  {
3959  0 /*fromYearTiny*/,
3960  0 /*toYearTiny*/,
3961  8 /*inMonth*/,
3962  7 /*onDayOfWeek*/,
3963  0 /*onDayOfMonth*/,
3964  8 /*atTimeCode*/,
3965  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3966  (2 + 4) /*deltaCode*/,
3967  '-' /*letter*/,
3968  },
3969  // Rule LH 2001 2007 - Oct lastSun 2:00 0:30 -
3970  {
3971  1 /*fromYearTiny*/,
3972  7 /*toYearTiny*/,
3973  10 /*inMonth*/,
3974  7 /*onDayOfWeek*/,
3975  0 /*onDayOfMonth*/,
3976  8 /*atTimeCode*/,
3977  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3978  (2 + 4) /*deltaCode*/,
3979  '-' /*letter*/,
3980  },
3981  // Rule LH 2006 only - Apr Sun>=1 2:00 0 -
3982  {
3983  6 /*fromYearTiny*/,
3984  6 /*toYearTiny*/,
3985  4 /*inMonth*/,
3986  7 /*onDayOfWeek*/,
3987  1 /*onDayOfMonth*/,
3988  8 /*atTimeCode*/,
3989  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
3990  (0 + 4) /*deltaCode*/,
3991  '-' /*letter*/,
3992  },
3993  // Rule LH 2007 only - Mar lastSun 2:00 0 -
3994  {
3995  7 /*fromYearTiny*/,
3996  7 /*toYearTiny*/,
3997  3 /*inMonth*/,
3998  7 /*onDayOfWeek*/,
3999  0 /*onDayOfMonth*/,
4000  8 /*atTimeCode*/,
4001  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4002  (0 + 4) /*deltaCode*/,
4003  '-' /*letter*/,
4004  },
4005  // Rule LH 2008 max - Apr Sun>=1 2:00 0 -
4006  {
4007  8 /*fromYearTiny*/,
4008  126 /*toYearTiny*/,
4009  4 /*inMonth*/,
4010  7 /*onDayOfWeek*/,
4011  1 /*onDayOfMonth*/,
4012  8 /*atTimeCode*/,
4013  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4014  (0 + 4) /*deltaCode*/,
4015  '-' /*letter*/,
4016  },
4017  // Rule LH 2008 max - Oct Sun>=1 2:00 0:30 -
4018  {
4019  8 /*fromYearTiny*/,
4020  126 /*toYearTiny*/,
4021  10 /*inMonth*/,
4022  7 /*onDayOfWeek*/,
4023  1 /*onDayOfMonth*/,
4024  8 /*atTimeCode*/,
4025  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4026  (2 + 4) /*deltaCode*/,
4027  '-' /*letter*/,
4028  },
4029 
4030 };
4031 
4032 
4033 
4034 const extended::ZonePolicy kPolicyLH ACE_TIME_PROGMEM = {
4035  kZoneRulesLH /*rules*/,
4036  nullptr /* letters */,
4037  9 /*numRules*/,
4038  0 /* numLetters */,
4039 };
4040 
4041 //---------------------------------------------------------------------------
4042 // Policy name: Lebanon
4043 // Rules: 3
4044 // Memory (8-bit): 33
4045 // Memory (32-bit): 48
4046 //---------------------------------------------------------------------------
4047 
4048 static const extended::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = {
4049  // Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
4050  {
4051  -7 /*fromYearTiny*/,
4052  126 /*toYearTiny*/,
4053  3 /*inMonth*/,
4054  7 /*onDayOfWeek*/,
4055  0 /*onDayOfMonth*/,
4056  0 /*atTimeCode*/,
4057  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4058  (4 + 4) /*deltaCode*/,
4059  'S' /*letter*/,
4060  },
4061  // Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
4062  {
4063  -7 /*fromYearTiny*/,
4064  -2 /*toYearTiny*/,
4065  9 /*inMonth*/,
4066  7 /*onDayOfWeek*/,
4067  0 /*onDayOfMonth*/,
4068  0 /*atTimeCode*/,
4069  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4070  (0 + 4) /*deltaCode*/,
4071  '-' /*letter*/,
4072  },
4073  // Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
4074  {
4075  -1 /*fromYearTiny*/,
4076  126 /*toYearTiny*/,
4077  10 /*inMonth*/,
4078  7 /*onDayOfWeek*/,
4079  0 /*onDayOfMonth*/,
4080  0 /*atTimeCode*/,
4081  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4082  (0 + 4) /*deltaCode*/,
4083  '-' /*letter*/,
4084  },
4085 
4086 };
4087 
4088 
4089 
4090 const extended::ZonePolicy kPolicyLebanon ACE_TIME_PROGMEM = {
4091  kZoneRulesLebanon /*rules*/,
4092  nullptr /* letters */,
4093  3 /*numRules*/,
4094  0 /* numLetters */,
4095 };
4096 
4097 //---------------------------------------------------------------------------
4098 // Policy name: Libya
4099 // Rules: 3
4100 // Memory (8-bit): 33
4101 // Memory (32-bit): 48
4102 //---------------------------------------------------------------------------
4103 
4104 static const extended::ZoneRule kZoneRulesLibya[] ACE_TIME_PROGMEM = {
4105  // Rule Libya 1997 only - Oct 4 0:00 0 -
4106  {
4107  -3 /*fromYearTiny*/,
4108  -3 /*toYearTiny*/,
4109  10 /*inMonth*/,
4110  0 /*onDayOfWeek*/,
4111  4 /*onDayOfMonth*/,
4112  0 /*atTimeCode*/,
4113  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4114  (0 + 4) /*deltaCode*/,
4115  '-' /*letter*/,
4116  },
4117  // Rule Libya 2013 only - Mar lastFri 1:00 1:00 S
4118  {
4119  13 /*fromYearTiny*/,
4120  13 /*toYearTiny*/,
4121  3 /*inMonth*/,
4122  5 /*onDayOfWeek*/,
4123  0 /*onDayOfMonth*/,
4124  4 /*atTimeCode*/,
4125  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4126  (4 + 4) /*deltaCode*/,
4127  'S' /*letter*/,
4128  },
4129  // Rule Libya 2013 only - Oct lastFri 2:00 0 -
4130  {
4131  13 /*fromYearTiny*/,
4132  13 /*toYearTiny*/,
4133  10 /*inMonth*/,
4134  5 /*onDayOfWeek*/,
4135  0 /*onDayOfMonth*/,
4136  8 /*atTimeCode*/,
4137  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4138  (0 + 4) /*deltaCode*/,
4139  '-' /*letter*/,
4140  },
4141 
4142 };
4143 
4144 
4145 
4146 const extended::ZonePolicy kPolicyLibya ACE_TIME_PROGMEM = {
4147  kZoneRulesLibya /*rules*/,
4148  nullptr /* letters */,
4149  3 /*numRules*/,
4150  0 /* numLetters */,
4151 };
4152 
4153 //---------------------------------------------------------------------------
4154 // Policy name: Macau
4155 // Rules: 1
4156 // Memory (8-bit): 15
4157 // Memory (32-bit): 24
4158 //---------------------------------------------------------------------------
4159 
4160 static const extended::ZoneRule kZoneRulesMacau[] ACE_TIME_PROGMEM = {
4161  // Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
4162  {
4163  -21 /*fromYearTiny*/,
4164  -21 /*toYearTiny*/,
4165  10 /*inMonth*/,
4166  7 /*onDayOfWeek*/,
4167  16 /*onDayOfMonth*/,
4168  14 /*atTimeCode*/,
4169  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4170  (0 + 4) /*deltaCode*/,
4171  'S' /*letter*/,
4172  },
4173 
4174 };
4175 
4176 
4177 
4178 const extended::ZonePolicy kPolicyMacau ACE_TIME_PROGMEM = {
4179  kZoneRulesMacau /*rules*/,
4180  nullptr /* letters */,
4181  1 /*numRules*/,
4182  0 /* numLetters */,
4183 };
4184 
4185 //---------------------------------------------------------------------------
4186 // Policy name: Mauritius
4187 // Rules: 3
4188 // Memory (8-bit): 33
4189 // Memory (32-bit): 48
4190 //---------------------------------------------------------------------------
4191 
4192 static const extended::ZoneRule kZoneRulesMauritius[] ACE_TIME_PROGMEM = {
4193  // Rule Mauritius 1983 only - Mar 21 0:00 0 -
4194  {
4195  -17 /*fromYearTiny*/,
4196  -17 /*toYearTiny*/,
4197  3 /*inMonth*/,
4198  0 /*onDayOfWeek*/,
4199  21 /*onDayOfMonth*/,
4200  0 /*atTimeCode*/,
4201  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4202  (0 + 4) /*deltaCode*/,
4203  '-' /*letter*/,
4204  },
4205  // Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
4206  {
4207  8 /*fromYearTiny*/,
4208  8 /*toYearTiny*/,
4209  10 /*inMonth*/,
4210  7 /*onDayOfWeek*/,
4211  0 /*onDayOfMonth*/,
4212  8 /*atTimeCode*/,
4213  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4214  (4 + 4) /*deltaCode*/,
4215  '-' /*letter*/,
4216  },
4217  // Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
4218  {
4219  9 /*fromYearTiny*/,
4220  9 /*toYearTiny*/,
4221  3 /*inMonth*/,
4222  7 /*onDayOfWeek*/,
4223  0 /*onDayOfMonth*/,
4224  8 /*atTimeCode*/,
4225  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4226  (0 + 4) /*deltaCode*/,
4227  '-' /*letter*/,
4228  },
4229 
4230 };
4231 
4232 
4233 
4234 const extended::ZonePolicy kPolicyMauritius ACE_TIME_PROGMEM = {
4235  kZoneRulesMauritius /*rules*/,
4236  nullptr /* letters */,
4237  3 /*numRules*/,
4238  0 /* numLetters */,
4239 };
4240 
4241 //---------------------------------------------------------------------------
4242 // Policy name: Mexico
4243 // Rules: 7
4244 // Memory (8-bit): 69
4245 // Memory (32-bit): 96
4246 //---------------------------------------------------------------------------
4247 
4248 static const extended::ZoneRule kZoneRulesMexico[] ACE_TIME_PROGMEM = {
4249  // Rule Mexico 1950 only - Jul 30 0:00 0 S
4250  {
4251  -50 /*fromYearTiny*/,
4252  -50 /*toYearTiny*/,
4253  7 /*inMonth*/,
4254  0 /*onDayOfWeek*/,
4255  30 /*onDayOfMonth*/,
4256  0 /*atTimeCode*/,
4257  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4258  (0 + 4) /*deltaCode*/,
4259  'S' /*letter*/,
4260  },
4261  // Rule Mexico 1996 2000 - Apr Sun>=1 2:00 1:00 D
4262  {
4263  -4 /*fromYearTiny*/,
4264  0 /*toYearTiny*/,
4265  4 /*inMonth*/,
4266  7 /*onDayOfWeek*/,
4267  1 /*onDayOfMonth*/,
4268  8 /*atTimeCode*/,
4269  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4270  (4 + 4) /*deltaCode*/,
4271  'D' /*letter*/,
4272  },
4273  // Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S
4274  {
4275  -4 /*fromYearTiny*/,
4276  0 /*toYearTiny*/,
4277  10 /*inMonth*/,
4278  7 /*onDayOfWeek*/,
4279  0 /*onDayOfMonth*/,
4280  8 /*atTimeCode*/,
4281  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4282  (0 + 4) /*deltaCode*/,
4283  'S' /*letter*/,
4284  },
4285  // Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
4286  {
4287  1 /*fromYearTiny*/,
4288  1 /*toYearTiny*/,
4289  5 /*inMonth*/,
4290  7 /*onDayOfWeek*/,
4291  1 /*onDayOfMonth*/,
4292  8 /*atTimeCode*/,
4293  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4294  (4 + 4) /*deltaCode*/,
4295  'D' /*letter*/,
4296  },
4297  // Rule Mexico 2001 only - Sep lastSun 2:00 0 S
4298  {
4299  1 /*fromYearTiny*/,
4300  1 /*toYearTiny*/,
4301  9 /*inMonth*/,
4302  7 /*onDayOfWeek*/,
4303  0 /*onDayOfMonth*/,
4304  8 /*atTimeCode*/,
4305  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4306  (0 + 4) /*deltaCode*/,
4307  'S' /*letter*/,
4308  },
4309  // Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
4310  {
4311  2 /*fromYearTiny*/,
4312  126 /*toYearTiny*/,
4313  4 /*inMonth*/,
4314  7 /*onDayOfWeek*/,
4315  1 /*onDayOfMonth*/,
4316  8 /*atTimeCode*/,
4317  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4318  (4 + 4) /*deltaCode*/,
4319  'D' /*letter*/,
4320  },
4321  // Rule Mexico 2002 max - Oct lastSun 2:00 0 S
4322  {
4323  2 /*fromYearTiny*/,
4324  126 /*toYearTiny*/,
4325  10 /*inMonth*/,
4326  7 /*onDayOfWeek*/,
4327  0 /*onDayOfMonth*/,
4328  8 /*atTimeCode*/,
4329  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4330  (0 + 4) /*deltaCode*/,
4331  'S' /*letter*/,
4332  },
4333 
4334 };
4335 
4336 
4337 
4338 const extended::ZonePolicy kPolicyMexico ACE_TIME_PROGMEM = {
4339  kZoneRulesMexico /*rules*/,
4340  nullptr /* letters */,
4341  7 /*numRules*/,
4342  0 /* numLetters */,
4343 };
4344 
4345 //---------------------------------------------------------------------------
4346 // Policy name: Moldova
4347 // Rules: 2
4348 // Memory (8-bit): 24
4349 // Memory (32-bit): 36
4350 //---------------------------------------------------------------------------
4351 
4352 static const extended::ZoneRule kZoneRulesMoldova[] ACE_TIME_PROGMEM = {
4353  // Rule Moldova 1997 max - Mar lastSun 2:00 1:00 S
4354  {
4355  -3 /*fromYearTiny*/,
4356  126 /*toYearTiny*/,
4357  3 /*inMonth*/,
4358  7 /*onDayOfWeek*/,
4359  0 /*onDayOfMonth*/,
4360  8 /*atTimeCode*/,
4361  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4362  (4 + 4) /*deltaCode*/,
4363  'S' /*letter*/,
4364  },
4365  // Rule Moldova 1997 max - Oct lastSun 3:00 0 -
4366  {
4367  -3 /*fromYearTiny*/,
4368  126 /*toYearTiny*/,
4369  10 /*inMonth*/,
4370  7 /*onDayOfWeek*/,
4371  0 /*onDayOfMonth*/,
4372  12 /*atTimeCode*/,
4373  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4374  (0 + 4) /*deltaCode*/,
4375  '-' /*letter*/,
4376  },
4377 
4378 };
4379 
4380 
4381 
4382 const extended::ZonePolicy kPolicyMoldova ACE_TIME_PROGMEM = {
4383  kZoneRulesMoldova /*rules*/,
4384  nullptr /* letters */,
4385  2 /*numRules*/,
4386  0 /* numLetters */,
4387 };
4388 
4389 //---------------------------------------------------------------------------
4390 // Policy name: Moncton
4391 // Rules: 3
4392 // Memory (8-bit): 33
4393 // Memory (32-bit): 48
4394 //---------------------------------------------------------------------------
4395 
4396 static const extended::ZoneRule kZoneRulesMoncton[] ACE_TIME_PROGMEM = {
4397  // Rule Moncton 1957 1972 - Oct lastSun 2:00 0 S
4398  {
4399  -43 /*fromYearTiny*/,
4400  -28 /*toYearTiny*/,
4401  10 /*inMonth*/,
4402  7 /*onDayOfWeek*/,
4403  0 /*onDayOfMonth*/,
4404  8 /*atTimeCode*/,
4405  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4406  (0 + 4) /*deltaCode*/,
4407  'S' /*letter*/,
4408  },
4409  // Rule Moncton 1993 2006 - Apr Sun>=1 0:01 1:00 D
4410  {
4411  -7 /*fromYearTiny*/,
4412  6 /*toYearTiny*/,
4413  4 /*inMonth*/,
4414  7 /*onDayOfWeek*/,
4415  1 /*onDayOfMonth*/,
4416  0 /*atTimeCode*/,
4417  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
4418  (4 + 4) /*deltaCode*/,
4419  'D' /*letter*/,
4420  },
4421  // Rule Moncton 1993 2006 - Oct lastSun 0:01 0 S
4422  {
4423  -7 /*fromYearTiny*/,
4424  6 /*toYearTiny*/,
4425  10 /*inMonth*/,
4426  7 /*onDayOfWeek*/,
4427  0 /*onDayOfMonth*/,
4428  0 /*atTimeCode*/,
4429  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
4430  (0 + 4) /*deltaCode*/,
4431  'S' /*letter*/,
4432  },
4433 
4434 };
4435 
4436 
4437 
4438 const extended::ZonePolicy kPolicyMoncton ACE_TIME_PROGMEM = {
4439  kZoneRulesMoncton /*rules*/,
4440  nullptr /* letters */,
4441  3 /*numRules*/,
4442  0 /* numLetters */,
4443 };
4444 
4445 //---------------------------------------------------------------------------
4446 // Policy name: Mongol
4447 // Rules: 6
4448 // Memory (8-bit): 60
4449 // Memory (32-bit): 84
4450 //---------------------------------------------------------------------------
4451 
4452 static const extended::ZoneRule kZoneRulesMongol[] ACE_TIME_PROGMEM = {
4453  // Rule Mongol 1984 1998 - Sep lastSun 0:00 0 -
4454  {
4455  -16 /*fromYearTiny*/,
4456  -2 /*toYearTiny*/,
4457  9 /*inMonth*/,
4458  7 /*onDayOfWeek*/,
4459  0 /*onDayOfMonth*/,
4460  0 /*atTimeCode*/,
4461  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4462  (0 + 4) /*deltaCode*/,
4463  '-' /*letter*/,
4464  },
4465  // Rule Mongol 2001 only - Apr lastSat 2:00 1:00 -
4466  {
4467  1 /*fromYearTiny*/,
4468  1 /*toYearTiny*/,
4469  4 /*inMonth*/,
4470  6 /*onDayOfWeek*/,
4471  0 /*onDayOfMonth*/,
4472  8 /*atTimeCode*/,
4473  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4474  (4 + 4) /*deltaCode*/,
4475  '-' /*letter*/,
4476  },
4477  // Rule Mongol 2001 2006 - Sep lastSat 2:00 0 -
4478  {
4479  1 /*fromYearTiny*/,
4480  6 /*toYearTiny*/,
4481  9 /*inMonth*/,
4482  6 /*onDayOfWeek*/,
4483  0 /*onDayOfMonth*/,
4484  8 /*atTimeCode*/,
4485  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4486  (0 + 4) /*deltaCode*/,
4487  '-' /*letter*/,
4488  },
4489  // Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 -
4490  {
4491  2 /*fromYearTiny*/,
4492  6 /*toYearTiny*/,
4493  3 /*inMonth*/,
4494  6 /*onDayOfWeek*/,
4495  0 /*onDayOfMonth*/,
4496  8 /*atTimeCode*/,
4497  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4498  (4 + 4) /*deltaCode*/,
4499  '-' /*letter*/,
4500  },
4501  // Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 -
4502  {
4503  15 /*fromYearTiny*/,
4504  16 /*toYearTiny*/,
4505  3 /*inMonth*/,
4506  6 /*onDayOfWeek*/,
4507  0 /*onDayOfMonth*/,
4508  8 /*atTimeCode*/,
4509  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4510  (4 + 4) /*deltaCode*/,
4511  '-' /*letter*/,
4512  },
4513  // Rule Mongol 2015 2016 - Sep lastSat 0:00 0 -
4514  {
4515  15 /*fromYearTiny*/,
4516  16 /*toYearTiny*/,
4517  9 /*inMonth*/,
4518  6 /*onDayOfWeek*/,
4519  0 /*onDayOfMonth*/,
4520  0 /*atTimeCode*/,
4521  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4522  (0 + 4) /*deltaCode*/,
4523  '-' /*letter*/,
4524  },
4525 
4526 };
4527 
4528 
4529 
4530 const extended::ZonePolicy kPolicyMongol ACE_TIME_PROGMEM = {
4531  kZoneRulesMongol /*rules*/,
4532  nullptr /* letters */,
4533  6 /*numRules*/,
4534  0 /* numLetters */,
4535 };
4536 
4537 //---------------------------------------------------------------------------
4538 // Policy name: Morocco
4539 // Rules: 94
4540 // Memory (8-bit): 852
4541 // Memory (32-bit): 1140
4542 //---------------------------------------------------------------------------
4543 
4544 static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = {
4545  // Rule Morocco 1978 only - Aug 4 0:00 0 -
4546  {
4547  -22 /*fromYearTiny*/,
4548  -22 /*toYearTiny*/,
4549  8 /*inMonth*/,
4550  0 /*onDayOfWeek*/,
4551  4 /*onDayOfMonth*/,
4552  0 /*atTimeCode*/,
4553  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4554  (0 + 4) /*deltaCode*/,
4555  '-' /*letter*/,
4556  },
4557  // Rule Morocco 2008 only - Jun 1 0:00 1:00 -
4558  {
4559  8 /*fromYearTiny*/,
4560  8 /*toYearTiny*/,
4561  6 /*inMonth*/,
4562  0 /*onDayOfWeek*/,
4563  1 /*onDayOfMonth*/,
4564  0 /*atTimeCode*/,
4565  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4566  (4 + 4) /*deltaCode*/,
4567  '-' /*letter*/,
4568  },
4569  // Rule Morocco 2008 only - Sep 1 0:00 0 -
4570  {
4571  8 /*fromYearTiny*/,
4572  8 /*toYearTiny*/,
4573  9 /*inMonth*/,
4574  0 /*onDayOfWeek*/,
4575  1 /*onDayOfMonth*/,
4576  0 /*atTimeCode*/,
4577  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4578  (0 + 4) /*deltaCode*/,
4579  '-' /*letter*/,
4580  },
4581  // Rule Morocco 2009 only - Jun 1 0:00 1:00 -
4582  {
4583  9 /*fromYearTiny*/,
4584  9 /*toYearTiny*/,
4585  6 /*inMonth*/,
4586  0 /*onDayOfWeek*/,
4587  1 /*onDayOfMonth*/,
4588  0 /*atTimeCode*/,
4589  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4590  (4 + 4) /*deltaCode*/,
4591  '-' /*letter*/,
4592  },
4593  // Rule Morocco 2009 only - Aug 21 0:00 0 -
4594  {
4595  9 /*fromYearTiny*/,
4596  9 /*toYearTiny*/,
4597  8 /*inMonth*/,
4598  0 /*onDayOfWeek*/,
4599  21 /*onDayOfMonth*/,
4600  0 /*atTimeCode*/,
4601  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4602  (0 + 4) /*deltaCode*/,
4603  '-' /*letter*/,
4604  },
4605  // Rule Morocco 2010 only - May 2 0:00 1:00 -
4606  {
4607  10 /*fromYearTiny*/,
4608  10 /*toYearTiny*/,
4609  5 /*inMonth*/,
4610  0 /*onDayOfWeek*/,
4611  2 /*onDayOfMonth*/,
4612  0 /*atTimeCode*/,
4613  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4614  (4 + 4) /*deltaCode*/,
4615  '-' /*letter*/,
4616  },
4617  // Rule Morocco 2010 only - Aug 8 0:00 0 -
4618  {
4619  10 /*fromYearTiny*/,
4620  10 /*toYearTiny*/,
4621  8 /*inMonth*/,
4622  0 /*onDayOfWeek*/,
4623  8 /*onDayOfMonth*/,
4624  0 /*atTimeCode*/,
4625  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4626  (0 + 4) /*deltaCode*/,
4627  '-' /*letter*/,
4628  },
4629  // Rule Morocco 2011 only - Apr 3 0:00 1:00 -
4630  {
4631  11 /*fromYearTiny*/,
4632  11 /*toYearTiny*/,
4633  4 /*inMonth*/,
4634  0 /*onDayOfWeek*/,
4635  3 /*onDayOfMonth*/,
4636  0 /*atTimeCode*/,
4637  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4638  (4 + 4) /*deltaCode*/,
4639  '-' /*letter*/,
4640  },
4641  // Rule Morocco 2011 only - Jul 31 0:00 0 -
4642  {
4643  11 /*fromYearTiny*/,
4644  11 /*toYearTiny*/,
4645  7 /*inMonth*/,
4646  0 /*onDayOfWeek*/,
4647  31 /*onDayOfMonth*/,
4648  0 /*atTimeCode*/,
4649  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4650  (0 + 4) /*deltaCode*/,
4651  '-' /*letter*/,
4652  },
4653  // Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 -
4654  {
4655  12 /*fromYearTiny*/,
4656  13 /*toYearTiny*/,
4657  4 /*inMonth*/,
4658  7 /*onDayOfWeek*/,
4659  0 /*onDayOfMonth*/,
4660  8 /*atTimeCode*/,
4661  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4662  (4 + 4) /*deltaCode*/,
4663  '-' /*letter*/,
4664  },
4665  // Rule Morocco 2012 only - Jul 20 3:00 0 -
4666  {
4667  12 /*fromYearTiny*/,
4668  12 /*toYearTiny*/,
4669  7 /*inMonth*/,
4670  0 /*onDayOfWeek*/,
4671  20 /*onDayOfMonth*/,
4672  12 /*atTimeCode*/,
4673  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4674  (0 + 4) /*deltaCode*/,
4675  '-' /*letter*/,
4676  },
4677  // Rule Morocco 2012 only - Aug 20 2:00 1:00 -
4678  {
4679  12 /*fromYearTiny*/,
4680  12 /*toYearTiny*/,
4681  8 /*inMonth*/,
4682  0 /*onDayOfWeek*/,
4683  20 /*onDayOfMonth*/,
4684  8 /*atTimeCode*/,
4685  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4686  (4 + 4) /*deltaCode*/,
4687  '-' /*letter*/,
4688  },
4689  // Rule Morocco 2012 only - Sep 30 3:00 0 -
4690  {
4691  12 /*fromYearTiny*/,
4692  12 /*toYearTiny*/,
4693  9 /*inMonth*/,
4694  0 /*onDayOfWeek*/,
4695  30 /*onDayOfMonth*/,
4696  12 /*atTimeCode*/,
4697  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4698  (0 + 4) /*deltaCode*/,
4699  '-' /*letter*/,
4700  },
4701  // Rule Morocco 2013 only - Jul 7 3:00 0 -
4702  {
4703  13 /*fromYearTiny*/,
4704  13 /*toYearTiny*/,
4705  7 /*inMonth*/,
4706  0 /*onDayOfWeek*/,
4707  7 /*onDayOfMonth*/,
4708  12 /*atTimeCode*/,
4709  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4710  (0 + 4) /*deltaCode*/,
4711  '-' /*letter*/,
4712  },
4713  // Rule Morocco 2013 only - Aug 10 2:00 1:00 -
4714  {
4715  13 /*fromYearTiny*/,
4716  13 /*toYearTiny*/,
4717  8 /*inMonth*/,
4718  0 /*onDayOfWeek*/,
4719  10 /*onDayOfMonth*/,
4720  8 /*atTimeCode*/,
4721  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4722  (4 + 4) /*deltaCode*/,
4723  '-' /*letter*/,
4724  },
4725  // Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
4726  {
4727  13 /*fromYearTiny*/,
4728  18 /*toYearTiny*/,
4729  10 /*inMonth*/,
4730  7 /*onDayOfWeek*/,
4731  0 /*onDayOfMonth*/,
4732  12 /*atTimeCode*/,
4733  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4734  (0 + 4) /*deltaCode*/,
4735  '-' /*letter*/,
4736  },
4737  // Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
4738  {
4739  14 /*fromYearTiny*/,
4740  18 /*toYearTiny*/,
4741  3 /*inMonth*/,
4742  7 /*onDayOfWeek*/,
4743  0 /*onDayOfMonth*/,
4744  8 /*atTimeCode*/,
4745  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4746  (4 + 4) /*deltaCode*/,
4747  '-' /*letter*/,
4748  },
4749  // Rule Morocco 2014 only - Jun 28 3:00 0 -
4750  {
4751  14 /*fromYearTiny*/,
4752  14 /*toYearTiny*/,
4753  6 /*inMonth*/,
4754  0 /*onDayOfWeek*/,
4755  28 /*onDayOfMonth*/,
4756  12 /*atTimeCode*/,
4757  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4758  (0 + 4) /*deltaCode*/,
4759  '-' /*letter*/,
4760  },
4761  // Rule Morocco 2014 only - Aug 2 2:00 1:00 -
4762  {
4763  14 /*fromYearTiny*/,
4764  14 /*toYearTiny*/,
4765  8 /*inMonth*/,
4766  0 /*onDayOfWeek*/,
4767  2 /*onDayOfMonth*/,
4768  8 /*atTimeCode*/,
4769  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4770  (4 + 4) /*deltaCode*/,
4771  '-' /*letter*/,
4772  },
4773  // Rule Morocco 2015 only - Jun 14 3:00 0 -
4774  {
4775  15 /*fromYearTiny*/,
4776  15 /*toYearTiny*/,
4777  6 /*inMonth*/,
4778  0 /*onDayOfWeek*/,
4779  14 /*onDayOfMonth*/,
4780  12 /*atTimeCode*/,
4781  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4782  (0 + 4) /*deltaCode*/,
4783  '-' /*letter*/,
4784  },
4785  // Rule Morocco 2015 only - Jul 19 2:00 1:00 -
4786  {
4787  15 /*fromYearTiny*/,
4788  15 /*toYearTiny*/,
4789  7 /*inMonth*/,
4790  0 /*onDayOfWeek*/,
4791  19 /*onDayOfMonth*/,
4792  8 /*atTimeCode*/,
4793  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4794  (4 + 4) /*deltaCode*/,
4795  '-' /*letter*/,
4796  },
4797  // Rule Morocco 2016 only - Jun 5 3:00 0 -
4798  {
4799  16 /*fromYearTiny*/,
4800  16 /*toYearTiny*/,
4801  6 /*inMonth*/,
4802  0 /*onDayOfWeek*/,
4803  5 /*onDayOfMonth*/,
4804  12 /*atTimeCode*/,
4805  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4806  (0 + 4) /*deltaCode*/,
4807  '-' /*letter*/,
4808  },
4809  // Rule Morocco 2016 only - Jul 10 2:00 1:00 -
4810  {
4811  16 /*fromYearTiny*/,
4812  16 /*toYearTiny*/,
4813  7 /*inMonth*/,
4814  0 /*onDayOfWeek*/,
4815  10 /*onDayOfMonth*/,
4816  8 /*atTimeCode*/,
4817  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4818  (4 + 4) /*deltaCode*/,
4819  '-' /*letter*/,
4820  },
4821  // Rule Morocco 2017 only - May 21 3:00 0 -
4822  {
4823  17 /*fromYearTiny*/,
4824  17 /*toYearTiny*/,
4825  5 /*inMonth*/,
4826  0 /*onDayOfWeek*/,
4827  21 /*onDayOfMonth*/,
4828  12 /*atTimeCode*/,
4829  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4830  (0 + 4) /*deltaCode*/,
4831  '-' /*letter*/,
4832  },
4833  // Rule Morocco 2017 only - Jul 2 2:00 1:00 -
4834  {
4835  17 /*fromYearTiny*/,
4836  17 /*toYearTiny*/,
4837  7 /*inMonth*/,
4838  0 /*onDayOfWeek*/,
4839  2 /*onDayOfMonth*/,
4840  8 /*atTimeCode*/,
4841  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4842  (4 + 4) /*deltaCode*/,
4843  '-' /*letter*/,
4844  },
4845  // Rule Morocco 2018 only - May 13 3:00 0 -
4846  {
4847  18 /*fromYearTiny*/,
4848  18 /*toYearTiny*/,
4849  5 /*inMonth*/,
4850  0 /*onDayOfWeek*/,
4851  13 /*onDayOfMonth*/,
4852  12 /*atTimeCode*/,
4853  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4854  (0 + 4) /*deltaCode*/,
4855  '-' /*letter*/,
4856  },
4857  // Rule Morocco 2018 only - Jun 17 2:00 1:00 -
4858  {
4859  18 /*fromYearTiny*/,
4860  18 /*toYearTiny*/,
4861  6 /*inMonth*/,
4862  0 /*onDayOfWeek*/,
4863  17 /*onDayOfMonth*/,
4864  8 /*atTimeCode*/,
4865  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4866  (4 + 4) /*deltaCode*/,
4867  '-' /*letter*/,
4868  },
4869  // Rule Morocco 2019 only - May 5 3:00 -1:00 -
4870  {
4871  19 /*fromYearTiny*/,
4872  19 /*toYearTiny*/,
4873  5 /*inMonth*/,
4874  0 /*onDayOfWeek*/,
4875  5 /*onDayOfMonth*/,
4876  12 /*atTimeCode*/,
4877  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4878  (-4 + 4) /*deltaCode*/,
4879  '-' /*letter*/,
4880  },
4881  // Rule Morocco 2019 only - Jun 9 2:00 0 -
4882  {
4883  19 /*fromYearTiny*/,
4884  19 /*toYearTiny*/,
4885  6 /*inMonth*/,
4886  0 /*onDayOfWeek*/,
4887  9 /*onDayOfMonth*/,
4888  8 /*atTimeCode*/,
4889  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4890  (0 + 4) /*deltaCode*/,
4891  '-' /*letter*/,
4892  },
4893  // Rule Morocco 2020 only - Apr 19 3:00 -1:00 -
4894  {
4895  20 /*fromYearTiny*/,
4896  20 /*toYearTiny*/,
4897  4 /*inMonth*/,
4898  0 /*onDayOfWeek*/,
4899  19 /*onDayOfMonth*/,
4900  12 /*atTimeCode*/,
4901  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4902  (-4 + 4) /*deltaCode*/,
4903  '-' /*letter*/,
4904  },
4905  // Rule Morocco 2020 only - May 31 2:00 0 -
4906  {
4907  20 /*fromYearTiny*/,
4908  20 /*toYearTiny*/,
4909  5 /*inMonth*/,
4910  0 /*onDayOfWeek*/,
4911  31 /*onDayOfMonth*/,
4912  8 /*atTimeCode*/,
4913  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4914  (0 + 4) /*deltaCode*/,
4915  '-' /*letter*/,
4916  },
4917  // Rule Morocco 2021 only - Apr 11 3:00 -1:00 -
4918  {
4919  21 /*fromYearTiny*/,
4920  21 /*toYearTiny*/,
4921  4 /*inMonth*/,
4922  0 /*onDayOfWeek*/,
4923  11 /*onDayOfMonth*/,
4924  12 /*atTimeCode*/,
4925  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4926  (-4 + 4) /*deltaCode*/,
4927  '-' /*letter*/,
4928  },
4929  // Rule Morocco 2021 only - May 16 2:00 0 -
4930  {
4931  21 /*fromYearTiny*/,
4932  21 /*toYearTiny*/,
4933  5 /*inMonth*/,
4934  0 /*onDayOfWeek*/,
4935  16 /*onDayOfMonth*/,
4936  8 /*atTimeCode*/,
4937  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4938  (0 + 4) /*deltaCode*/,
4939  '-' /*letter*/,
4940  },
4941  // Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
4942  {
4943  22 /*fromYearTiny*/,
4944  22 /*toYearTiny*/,
4945  3 /*inMonth*/,
4946  0 /*onDayOfWeek*/,
4947  27 /*onDayOfMonth*/,
4948  12 /*atTimeCode*/,
4949  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4950  (-4 + 4) /*deltaCode*/,
4951  '-' /*letter*/,
4952  },
4953  // Rule Morocco 2022 only - May 8 2:00 0 -
4954  {
4955  22 /*fromYearTiny*/,
4956  22 /*toYearTiny*/,
4957  5 /*inMonth*/,
4958  0 /*onDayOfWeek*/,
4959  8 /*onDayOfMonth*/,
4960  8 /*atTimeCode*/,
4961  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4962  (0 + 4) /*deltaCode*/,
4963  '-' /*letter*/,
4964  },
4965  // Rule Morocco 2023 only - Mar 19 3:00 -1:00 -
4966  {
4967  23 /*fromYearTiny*/,
4968  23 /*toYearTiny*/,
4969  3 /*inMonth*/,
4970  0 /*onDayOfWeek*/,
4971  19 /*onDayOfMonth*/,
4972  12 /*atTimeCode*/,
4973  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4974  (-4 + 4) /*deltaCode*/,
4975  '-' /*letter*/,
4976  },
4977  // Rule Morocco 2023 only - Apr 23 2:00 0 -
4978  {
4979  23 /*fromYearTiny*/,
4980  23 /*toYearTiny*/,
4981  4 /*inMonth*/,
4982  0 /*onDayOfWeek*/,
4983  23 /*onDayOfMonth*/,
4984  8 /*atTimeCode*/,
4985  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4986  (0 + 4) /*deltaCode*/,
4987  '-' /*letter*/,
4988  },
4989  // Rule Morocco 2024 only - Mar 10 3:00 -1:00 -
4990  {
4991  24 /*fromYearTiny*/,
4992  24 /*toYearTiny*/,
4993  3 /*inMonth*/,
4994  0 /*onDayOfWeek*/,
4995  10 /*onDayOfMonth*/,
4996  12 /*atTimeCode*/,
4997  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
4998  (-4 + 4) /*deltaCode*/,
4999  '-' /*letter*/,
5000  },
5001  // Rule Morocco 2024 only - Apr 14 2:00 0 -
5002  {
5003  24 /*fromYearTiny*/,
5004  24 /*toYearTiny*/,
5005  4 /*inMonth*/,
5006  0 /*onDayOfWeek*/,
5007  14 /*onDayOfMonth*/,
5008  8 /*atTimeCode*/,
5009  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5010  (0 + 4) /*deltaCode*/,
5011  '-' /*letter*/,
5012  },
5013  // Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
5014  {
5015  25 /*fromYearTiny*/,
5016  25 /*toYearTiny*/,
5017  2 /*inMonth*/,
5018  0 /*onDayOfWeek*/,
5019  23 /*onDayOfMonth*/,
5020  12 /*atTimeCode*/,
5021  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5022  (-4 + 4) /*deltaCode*/,
5023  '-' /*letter*/,
5024  },
5025  // Rule Morocco 2025 only - Apr 6 2:00 0 -
5026  {
5027  25 /*fromYearTiny*/,
5028  25 /*toYearTiny*/,
5029  4 /*inMonth*/,
5030  0 /*onDayOfWeek*/,
5031  6 /*onDayOfMonth*/,
5032  8 /*atTimeCode*/,
5033  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5034  (0 + 4) /*deltaCode*/,
5035  '-' /*letter*/,
5036  },
5037  // Rule Morocco 2026 only - Feb 15 3:00 -1:00 -
5038  {
5039  26 /*fromYearTiny*/,
5040  26 /*toYearTiny*/,
5041  2 /*inMonth*/,
5042  0 /*onDayOfWeek*/,
5043  15 /*onDayOfMonth*/,
5044  12 /*atTimeCode*/,
5045  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5046  (-4 + 4) /*deltaCode*/,
5047  '-' /*letter*/,
5048  },
5049  // Rule Morocco 2026 only - Mar 22 2:00 0 -
5050  {
5051  26 /*fromYearTiny*/,
5052  26 /*toYearTiny*/,
5053  3 /*inMonth*/,
5054  0 /*onDayOfWeek*/,
5055  22 /*onDayOfMonth*/,
5056  8 /*atTimeCode*/,
5057  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5058  (0 + 4) /*deltaCode*/,
5059  '-' /*letter*/,
5060  },
5061  // Rule Morocco 2027 only - Feb 7 3:00 -1:00 -
5062  {
5063  27 /*fromYearTiny*/,
5064  27 /*toYearTiny*/,
5065  2 /*inMonth*/,
5066  0 /*onDayOfWeek*/,
5067  7 /*onDayOfMonth*/,
5068  12 /*atTimeCode*/,
5069  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5070  (-4 + 4) /*deltaCode*/,
5071  '-' /*letter*/,
5072  },
5073  // Rule Morocco 2027 only - Mar 14 2:00 0 -
5074  {
5075  27 /*fromYearTiny*/,
5076  27 /*toYearTiny*/,
5077  3 /*inMonth*/,
5078  0 /*onDayOfWeek*/,
5079  14 /*onDayOfMonth*/,
5080  8 /*atTimeCode*/,
5081  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5082  (0 + 4) /*deltaCode*/,
5083  '-' /*letter*/,
5084  },
5085  // Rule Morocco 2028 only - Jan 23 3:00 -1:00 -
5086  {
5087  28 /*fromYearTiny*/,
5088  28 /*toYearTiny*/,
5089  1 /*inMonth*/,
5090  0 /*onDayOfWeek*/,
5091  23 /*onDayOfMonth*/,
5092  12 /*atTimeCode*/,
5093  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5094  (-4 + 4) /*deltaCode*/,
5095  '-' /*letter*/,
5096  },
5097  // Rule Morocco 2028 only - Mar 5 2:00 0 -
5098  {
5099  28 /*fromYearTiny*/,
5100  28 /*toYearTiny*/,
5101  3 /*inMonth*/,
5102  0 /*onDayOfWeek*/,
5103  5 /*onDayOfMonth*/,
5104  8 /*atTimeCode*/,
5105  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5106  (0 + 4) /*deltaCode*/,
5107  '-' /*letter*/,
5108  },
5109  // Rule Morocco 2029 only - Jan 14 3:00 -1:00 -
5110  {
5111  29 /*fromYearTiny*/,
5112  29 /*toYearTiny*/,
5113  1 /*inMonth*/,
5114  0 /*onDayOfWeek*/,
5115  14 /*onDayOfMonth*/,
5116  12 /*atTimeCode*/,
5117  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5118  (-4 + 4) /*deltaCode*/,
5119  '-' /*letter*/,
5120  },
5121  // Rule Morocco 2029 only - Feb 18 2:00 0 -
5122  {
5123  29 /*fromYearTiny*/,
5124  29 /*toYearTiny*/,
5125  2 /*inMonth*/,
5126  0 /*onDayOfWeek*/,
5127  18 /*onDayOfMonth*/,
5128  8 /*atTimeCode*/,
5129  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5130  (0 + 4) /*deltaCode*/,
5131  '-' /*letter*/,
5132  },
5133  // Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
5134  {
5135  29 /*fromYearTiny*/,
5136  29 /*toYearTiny*/,
5137  12 /*inMonth*/,
5138  0 /*onDayOfWeek*/,
5139  30 /*onDayOfMonth*/,
5140  12 /*atTimeCode*/,
5141  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5142  (-4 + 4) /*deltaCode*/,
5143  '-' /*letter*/,
5144  },
5145  // Rule Morocco 2030 only - Feb 10 2:00 0 -
5146  {
5147  30 /*fromYearTiny*/,
5148  30 /*toYearTiny*/,
5149  2 /*inMonth*/,
5150  0 /*onDayOfWeek*/,
5151  10 /*onDayOfMonth*/,
5152  8 /*atTimeCode*/,
5153  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5154  (0 + 4) /*deltaCode*/,
5155  '-' /*letter*/,
5156  },
5157  // Rule Morocco 2030 only - Dec 22 3:00 -1:00 -
5158  {
5159  30 /*fromYearTiny*/,
5160  30 /*toYearTiny*/,
5161  12 /*inMonth*/,
5162  0 /*onDayOfWeek*/,
5163  22 /*onDayOfMonth*/,
5164  12 /*atTimeCode*/,
5165  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5166  (-4 + 4) /*deltaCode*/,
5167  '-' /*letter*/,
5168  },
5169  // Rule Morocco 2031 only - Jan 26 2:00 0 -
5170  {
5171  31 /*fromYearTiny*/,
5172  31 /*toYearTiny*/,
5173  1 /*inMonth*/,
5174  0 /*onDayOfWeek*/,
5175  26 /*onDayOfMonth*/,
5176  8 /*atTimeCode*/,
5177  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5178  (0 + 4) /*deltaCode*/,
5179  '-' /*letter*/,
5180  },
5181  // Rule Morocco 2031 only - Dec 14 3:00 -1:00 -
5182  {
5183  31 /*fromYearTiny*/,
5184  31 /*toYearTiny*/,
5185  12 /*inMonth*/,
5186  0 /*onDayOfWeek*/,
5187  14 /*onDayOfMonth*/,
5188  12 /*atTimeCode*/,
5189  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5190  (-4 + 4) /*deltaCode*/,
5191  '-' /*letter*/,
5192  },
5193  // Rule Morocco 2032 only - Jan 18 2:00 0 -
5194  {
5195  32 /*fromYearTiny*/,
5196  32 /*toYearTiny*/,
5197  1 /*inMonth*/,
5198  0 /*onDayOfWeek*/,
5199  18 /*onDayOfMonth*/,
5200  8 /*atTimeCode*/,
5201  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5202  (0 + 4) /*deltaCode*/,
5203  '-' /*letter*/,
5204  },
5205  // Rule Morocco 2032 only - Nov 28 3:00 -1:00 -
5206  {
5207  32 /*fromYearTiny*/,
5208  32 /*toYearTiny*/,
5209  11 /*inMonth*/,
5210  0 /*onDayOfWeek*/,
5211  28 /*onDayOfMonth*/,
5212  12 /*atTimeCode*/,
5213  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5214  (-4 + 4) /*deltaCode*/,
5215  '-' /*letter*/,
5216  },
5217  // Rule Morocco 2033 only - Jan 9 2:00 0 -
5218  {
5219  33 /*fromYearTiny*/,
5220  33 /*toYearTiny*/,
5221  1 /*inMonth*/,
5222  0 /*onDayOfWeek*/,
5223  9 /*onDayOfMonth*/,
5224  8 /*atTimeCode*/,
5225  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5226  (0 + 4) /*deltaCode*/,
5227  '-' /*letter*/,
5228  },
5229  // Rule Morocco 2033 only - Nov 20 3:00 -1:00 -
5230  {
5231  33 /*fromYearTiny*/,
5232  33 /*toYearTiny*/,
5233  11 /*inMonth*/,
5234  0 /*onDayOfWeek*/,
5235  20 /*onDayOfMonth*/,
5236  12 /*atTimeCode*/,
5237  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5238  (-4 + 4) /*deltaCode*/,
5239  '-' /*letter*/,
5240  },
5241  // Rule Morocco 2033 only - Dec 25 2:00 0 -
5242  {
5243  33 /*fromYearTiny*/,
5244  33 /*toYearTiny*/,
5245  12 /*inMonth*/,
5246  0 /*onDayOfWeek*/,
5247  25 /*onDayOfMonth*/,
5248  8 /*atTimeCode*/,
5249  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5250  (0 + 4) /*deltaCode*/,
5251  '-' /*letter*/,
5252  },
5253  // Rule Morocco 2034 only - Nov 5 3:00 -1:00 -
5254  {
5255  34 /*fromYearTiny*/,
5256  34 /*toYearTiny*/,
5257  11 /*inMonth*/,
5258  0 /*onDayOfWeek*/,
5259  5 /*onDayOfMonth*/,
5260  12 /*atTimeCode*/,
5261  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5262  (-4 + 4) /*deltaCode*/,
5263  '-' /*letter*/,
5264  },
5265  // Rule Morocco 2034 only - Dec 17 2:00 0 -
5266  {
5267  34 /*fromYearTiny*/,
5268  34 /*toYearTiny*/,
5269  12 /*inMonth*/,
5270  0 /*onDayOfWeek*/,
5271  17 /*onDayOfMonth*/,
5272  8 /*atTimeCode*/,
5273  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5274  (0 + 4) /*deltaCode*/,
5275  '-' /*letter*/,
5276  },
5277  // Rule Morocco 2035 only - Oct 28 3:00 -1:00 -
5278  {
5279  35 /*fromYearTiny*/,
5280  35 /*toYearTiny*/,
5281  10 /*inMonth*/,
5282  0 /*onDayOfWeek*/,
5283  28 /*onDayOfMonth*/,
5284  12 /*atTimeCode*/,
5285  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5286  (-4 + 4) /*deltaCode*/,
5287  '-' /*letter*/,
5288  },
5289  // Rule Morocco 2035 only - Dec 9 2:00 0 -
5290  {
5291  35 /*fromYearTiny*/,
5292  35 /*toYearTiny*/,
5293  12 /*inMonth*/,
5294  0 /*onDayOfWeek*/,
5295  9 /*onDayOfMonth*/,
5296  8 /*atTimeCode*/,
5297  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5298  (0 + 4) /*deltaCode*/,
5299  '-' /*letter*/,
5300  },
5301  // Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
5302  {
5303  36 /*fromYearTiny*/,
5304  36 /*toYearTiny*/,
5305  10 /*inMonth*/,
5306  0 /*onDayOfWeek*/,
5307  19 /*onDayOfMonth*/,
5308  12 /*atTimeCode*/,
5309  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5310  (-4 + 4) /*deltaCode*/,
5311  '-' /*letter*/,
5312  },
5313  // Rule Morocco 2036 only - Nov 23 2:00 0 -
5314  {
5315  36 /*fromYearTiny*/,
5316  36 /*toYearTiny*/,
5317  11 /*inMonth*/,
5318  0 /*onDayOfWeek*/,
5319  23 /*onDayOfMonth*/,
5320  8 /*atTimeCode*/,
5321  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5322  (0 + 4) /*deltaCode*/,
5323  '-' /*letter*/,
5324  },
5325  // Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
5326  {
5327  37 /*fromYearTiny*/,
5328  37 /*toYearTiny*/,
5329  10 /*inMonth*/,
5330  0 /*onDayOfWeek*/,
5331  4 /*onDayOfMonth*/,
5332  12 /*atTimeCode*/,
5333  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5334  (-4 + 4) /*deltaCode*/,
5335  '-' /*letter*/,
5336  },
5337  // Rule Morocco 2037 only - Nov 15 2:00 0 -
5338  {
5339  37 /*fromYearTiny*/,
5340  37 /*toYearTiny*/,
5341  11 /*inMonth*/,
5342  0 /*onDayOfWeek*/,
5343  15 /*onDayOfMonth*/,
5344  8 /*atTimeCode*/,
5345  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5346  (0 + 4) /*deltaCode*/,
5347  '-' /*letter*/,
5348  },
5349  // Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
5350  {
5351  38 /*fromYearTiny*/,
5352  38 /*toYearTiny*/,
5353  9 /*inMonth*/,
5354  0 /*onDayOfWeek*/,
5355  26 /*onDayOfMonth*/,
5356  12 /*atTimeCode*/,
5357  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5358  (-4 + 4) /*deltaCode*/,
5359  '-' /*letter*/,
5360  },
5361  // Rule Morocco 2038 only - Oct 31 2:00 0 -
5362  {
5363  38 /*fromYearTiny*/,
5364  38 /*toYearTiny*/,
5365  10 /*inMonth*/,
5366  0 /*onDayOfWeek*/,
5367  31 /*onDayOfMonth*/,
5368  8 /*atTimeCode*/,
5369  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5370  (0 + 4) /*deltaCode*/,
5371  '-' /*letter*/,
5372  },
5373  // Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
5374  {
5375  39 /*fromYearTiny*/,
5376  39 /*toYearTiny*/,
5377  9 /*inMonth*/,
5378  0 /*onDayOfWeek*/,
5379  18 /*onDayOfMonth*/,
5380  12 /*atTimeCode*/,
5381  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5382  (-4 + 4) /*deltaCode*/,
5383  '-' /*letter*/,
5384  },
5385  // Rule Morocco 2039 only - Oct 23 2:00 0 -
5386  {
5387  39 /*fromYearTiny*/,
5388  39 /*toYearTiny*/,
5389  10 /*inMonth*/,
5390  0 /*onDayOfWeek*/,
5391  23 /*onDayOfMonth*/,
5392  8 /*atTimeCode*/,
5393  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5394  (0 + 4) /*deltaCode*/,
5395  '-' /*letter*/,
5396  },
5397  // Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
5398  {
5399  40 /*fromYearTiny*/,
5400  40 /*toYearTiny*/,
5401  9 /*inMonth*/,
5402  0 /*onDayOfWeek*/,
5403  2 /*onDayOfMonth*/,
5404  12 /*atTimeCode*/,
5405  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5406  (-4 + 4) /*deltaCode*/,
5407  '-' /*letter*/,
5408  },
5409  // Rule Morocco 2040 only - Oct 14 2:00 0 -
5410  {
5411  40 /*fromYearTiny*/,
5412  40 /*toYearTiny*/,
5413  10 /*inMonth*/,
5414  0 /*onDayOfWeek*/,
5415  14 /*onDayOfMonth*/,
5416  8 /*atTimeCode*/,
5417  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5418  (0 + 4) /*deltaCode*/,
5419  '-' /*letter*/,
5420  },
5421  // Rule Morocco 2041 only - Aug 25 3:00 -1:00 -
5422  {
5423  41 /*fromYearTiny*/,
5424  41 /*toYearTiny*/,
5425  8 /*inMonth*/,
5426  0 /*onDayOfWeek*/,
5427  25 /*onDayOfMonth*/,
5428  12 /*atTimeCode*/,
5429  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5430  (-4 + 4) /*deltaCode*/,
5431  '-' /*letter*/,
5432  },
5433  // Rule Morocco 2041 only - Sep 29 2:00 0 -
5434  {
5435  41 /*fromYearTiny*/,
5436  41 /*toYearTiny*/,
5437  9 /*inMonth*/,
5438  0 /*onDayOfWeek*/,
5439  29 /*onDayOfMonth*/,
5440  8 /*atTimeCode*/,
5441  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5442  (0 + 4) /*deltaCode*/,
5443  '-' /*letter*/,
5444  },
5445  // Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
5446  {
5447  42 /*fromYearTiny*/,
5448  42 /*toYearTiny*/,
5449  8 /*inMonth*/,
5450  0 /*onDayOfWeek*/,
5451  10 /*onDayOfMonth*/,
5452  12 /*atTimeCode*/,
5453  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5454  (-4 + 4) /*deltaCode*/,
5455  '-' /*letter*/,
5456  },
5457  // Rule Morocco 2042 only - Sep 21 2:00 0 -
5458  {
5459  42 /*fromYearTiny*/,
5460  42 /*toYearTiny*/,
5461  9 /*inMonth*/,
5462  0 /*onDayOfWeek*/,
5463  21 /*onDayOfMonth*/,
5464  8 /*atTimeCode*/,
5465  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5466  (0 + 4) /*deltaCode*/,
5467  '-' /*letter*/,
5468  },
5469  // Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
5470  {
5471  43 /*fromYearTiny*/,
5472  43 /*toYearTiny*/,
5473  8 /*inMonth*/,
5474  0 /*onDayOfWeek*/,
5475  2 /*onDayOfMonth*/,
5476  12 /*atTimeCode*/,
5477  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5478  (-4 + 4) /*deltaCode*/,
5479  '-' /*letter*/,
5480  },
5481  // Rule Morocco 2043 only - Sep 13 2:00 0 -
5482  {
5483  43 /*fromYearTiny*/,
5484  43 /*toYearTiny*/,
5485  9 /*inMonth*/,
5486  0 /*onDayOfWeek*/,
5487  13 /*onDayOfMonth*/,
5488  8 /*atTimeCode*/,
5489  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5490  (0 + 4) /*deltaCode*/,
5491  '-' /*letter*/,
5492  },
5493  // Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
5494  {
5495  44 /*fromYearTiny*/,
5496  44 /*toYearTiny*/,
5497  7 /*inMonth*/,
5498  0 /*onDayOfWeek*/,
5499  24 /*onDayOfMonth*/,
5500  12 /*atTimeCode*/,
5501  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5502  (-4 + 4) /*deltaCode*/,
5503  '-' /*letter*/,
5504  },
5505  // Rule Morocco 2044 only - Aug 28 2:00 0 -
5506  {
5507  44 /*fromYearTiny*/,
5508  44 /*toYearTiny*/,
5509  8 /*inMonth*/,
5510  0 /*onDayOfWeek*/,
5511  28 /*onDayOfMonth*/,
5512  8 /*atTimeCode*/,
5513  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5514  (0 + 4) /*deltaCode*/,
5515  '-' /*letter*/,
5516  },
5517  // Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
5518  {
5519  45 /*fromYearTiny*/,
5520  45 /*toYearTiny*/,
5521  7 /*inMonth*/,
5522  0 /*onDayOfWeek*/,
5523  9 /*onDayOfMonth*/,
5524  12 /*atTimeCode*/,
5525  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5526  (-4 + 4) /*deltaCode*/,
5527  '-' /*letter*/,
5528  },
5529  // Rule Morocco 2045 only - Aug 20 2:00 0 -
5530  {
5531  45 /*fromYearTiny*/,
5532  45 /*toYearTiny*/,
5533  8 /*inMonth*/,
5534  0 /*onDayOfWeek*/,
5535  20 /*onDayOfMonth*/,
5536  8 /*atTimeCode*/,
5537  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5538  (0 + 4) /*deltaCode*/,
5539  '-' /*letter*/,
5540  },
5541  // Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
5542  {
5543  46 /*fromYearTiny*/,
5544  46 /*toYearTiny*/,
5545  7 /*inMonth*/,
5546  0 /*onDayOfWeek*/,
5547  1 /*onDayOfMonth*/,
5548  12 /*atTimeCode*/,
5549  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5550  (-4 + 4) /*deltaCode*/,
5551  '-' /*letter*/,
5552  },
5553  // Rule Morocco 2046 only - Aug 5 2:00 0 -
5554  {
5555  46 /*fromYearTiny*/,
5556  46 /*toYearTiny*/,
5557  8 /*inMonth*/,
5558  0 /*onDayOfWeek*/,
5559  5 /*onDayOfMonth*/,
5560  8 /*atTimeCode*/,
5561  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5562  (0 + 4) /*deltaCode*/,
5563  '-' /*letter*/,
5564  },
5565  // Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
5566  {
5567  47 /*fromYearTiny*/,
5568  47 /*toYearTiny*/,
5569  6 /*inMonth*/,
5570  0 /*onDayOfWeek*/,
5571  23 /*onDayOfMonth*/,
5572  12 /*atTimeCode*/,
5573  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5574  (-4 + 4) /*deltaCode*/,
5575  '-' /*letter*/,
5576  },
5577  // Rule Morocco 2047 only - Jul 28 2:00 0 -
5578  {
5579  47 /*fromYearTiny*/,
5580  47 /*toYearTiny*/,
5581  7 /*inMonth*/,
5582  0 /*onDayOfWeek*/,
5583  28 /*onDayOfMonth*/,
5584  8 /*atTimeCode*/,
5585  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5586  (0 + 4) /*deltaCode*/,
5587  '-' /*letter*/,
5588  },
5589  // Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
5590  {
5591  48 /*fromYearTiny*/,
5592  48 /*toYearTiny*/,
5593  6 /*inMonth*/,
5594  0 /*onDayOfWeek*/,
5595  7 /*onDayOfMonth*/,
5596  12 /*atTimeCode*/,
5597  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5598  (-4 + 4) /*deltaCode*/,
5599  '-' /*letter*/,
5600  },
5601  // Rule Morocco 2048 only - Jul 19 2:00 0 -
5602  {
5603  48 /*fromYearTiny*/,
5604  48 /*toYearTiny*/,
5605  7 /*inMonth*/,
5606  0 /*onDayOfWeek*/,
5607  19 /*onDayOfMonth*/,
5608  8 /*atTimeCode*/,
5609  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5610  (0 + 4) /*deltaCode*/,
5611  '-' /*letter*/,
5612  },
5613  // Rule Morocco 2049 only - May 30 3:00 -1:00 -
5614  {
5615  49 /*fromYearTiny*/,
5616  49 /*toYearTiny*/,
5617  5 /*inMonth*/,
5618  0 /*onDayOfWeek*/,
5619  30 /*onDayOfMonth*/,
5620  12 /*atTimeCode*/,
5621  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5622  (-4 + 4) /*deltaCode*/,
5623  '-' /*letter*/,
5624  },
5625  // Rule Morocco 2049 only - Jul 4 2:00 0 -
5626  {
5627  49 /*fromYearTiny*/,
5628  49 /*toYearTiny*/,
5629  7 /*inMonth*/,
5630  0 /*onDayOfWeek*/,
5631  4 /*onDayOfMonth*/,
5632  8 /*atTimeCode*/,
5633  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5634  (0 + 4) /*deltaCode*/,
5635  '-' /*letter*/,
5636  },
5637  // Rule Morocco 2050 only - May 15 3:00 -1:00 -
5638  {
5639  50 /*fromYearTiny*/,
5640  50 /*toYearTiny*/,
5641  5 /*inMonth*/,
5642  0 /*onDayOfWeek*/,
5643  15 /*onDayOfMonth*/,
5644  12 /*atTimeCode*/,
5645  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5646  (-4 + 4) /*deltaCode*/,
5647  '-' /*letter*/,
5648  },
5649  // Rule Morocco 2050 only - Jun 26 2:00 0 -
5650  {
5651  50 /*fromYearTiny*/,
5652  50 /*toYearTiny*/,
5653  6 /*inMonth*/,
5654  0 /*onDayOfWeek*/,
5655  26 /*onDayOfMonth*/,
5656  8 /*atTimeCode*/,
5657  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5658  (0 + 4) /*deltaCode*/,
5659  '-' /*letter*/,
5660  },
5661  // Rule Morocco 2051 only - May 7 3:00 -1:00 -
5662  {
5663  51 /*fromYearTiny*/,
5664  51 /*toYearTiny*/,
5665  5 /*inMonth*/,
5666  0 /*onDayOfWeek*/,
5667  7 /*onDayOfMonth*/,
5668  12 /*atTimeCode*/,
5669  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5670  (-4 + 4) /*deltaCode*/,
5671  '-' /*letter*/,
5672  },
5673 
5674 };
5675 
5676 
5677 
5678 const extended::ZonePolicy kPolicyMorocco ACE_TIME_PROGMEM = {
5679  kZoneRulesMorocco /*rules*/,
5680  nullptr /* letters */,
5681  94 /*numRules*/,
5682  0 /* numLetters */,
5683 };
5684 
5685 //---------------------------------------------------------------------------
5686 // Policy name: NC
5687 // Rules: 1
5688 // Memory (8-bit): 15
5689 // Memory (32-bit): 24
5690 //---------------------------------------------------------------------------
5691 
5692 static const extended::ZoneRule kZoneRulesNC[] ACE_TIME_PROGMEM = {
5693  // Rule NC 1997 only - Mar 2 2:00s 0 -
5694  {
5695  -3 /*fromYearTiny*/,
5696  -3 /*toYearTiny*/,
5697  3 /*inMonth*/,
5698  0 /*onDayOfWeek*/,
5699  2 /*onDayOfMonth*/,
5700  8 /*atTimeCode*/,
5701  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
5702  (0 + 4) /*deltaCode*/,
5703  '-' /*letter*/,
5704  },
5705 
5706 };
5707 
5708 
5709 
5710 const extended::ZonePolicy kPolicyNC ACE_TIME_PROGMEM = {
5711  kZoneRulesNC /*rules*/,
5712  nullptr /* letters */,
5713  1 /*numRules*/,
5714  0 /* numLetters */,
5715 };
5716 
5717 //---------------------------------------------------------------------------
5718 // Policy name: NT_YK
5719 // Rules: 3
5720 // Memory (8-bit): 33
5721 // Memory (32-bit): 48
5722 //---------------------------------------------------------------------------
5723 
5724 static const extended::ZoneRule kZoneRulesNT_YK[] ACE_TIME_PROGMEM = {
5725  // Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
5726  {
5727  -20 /*fromYearTiny*/,
5728  -14 /*toYearTiny*/,
5729  4 /*inMonth*/,
5730  7 /*onDayOfWeek*/,
5731  0 /*onDayOfMonth*/,
5732  8 /*atTimeCode*/,
5733  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5734  (4 + 4) /*deltaCode*/,
5735  'D' /*letter*/,
5736  },
5737  // Rule NT_YK 1980 2006 - Oct lastSun 2:00 0 S
5738  {
5739  -20 /*fromYearTiny*/,
5740  6 /*toYearTiny*/,
5741  10 /*inMonth*/,
5742  7 /*onDayOfWeek*/,
5743  0 /*onDayOfMonth*/,
5744  8 /*atTimeCode*/,
5745  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5746  (0 + 4) /*deltaCode*/,
5747  'S' /*letter*/,
5748  },
5749  // Rule NT_YK 1987 2006 - Apr Sun>=1 2:00 1:00 D
5750  {
5751  -13 /*fromYearTiny*/,
5752  6 /*toYearTiny*/,
5753  4 /*inMonth*/,
5754  7 /*onDayOfWeek*/,
5755  1 /*onDayOfMonth*/,
5756  8 /*atTimeCode*/,
5757  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5758  (4 + 4) /*deltaCode*/,
5759  'D' /*letter*/,
5760  },
5761 
5762 };
5763 
5764 
5765 
5766 const extended::ZonePolicy kPolicyNT_YK ACE_TIME_PROGMEM = {
5767  kZoneRulesNT_YK /*rules*/,
5768  nullptr /* letters */,
5769  3 /*numRules*/,
5770  0 /* numLetters */,
5771 };
5772 
5773 //---------------------------------------------------------------------------
5774 // Policy name: NZ
5775 // Rules: 5
5776 // Memory (8-bit): 51
5777 // Memory (32-bit): 72
5778 //---------------------------------------------------------------------------
5779 
5780 static const extended::ZoneRule kZoneRulesNZ[] ACE_TIME_PROGMEM = {
5781  // Rule NZ 1989 only - Oct Sun>=8 2:00s 1:00 D
5782  {
5783  -11 /*fromYearTiny*/,
5784  -11 /*toYearTiny*/,
5785  10 /*inMonth*/,
5786  7 /*onDayOfWeek*/,
5787  8 /*onDayOfMonth*/,
5788  8 /*atTimeCode*/,
5789  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
5790  (4 + 4) /*deltaCode*/,
5791  'D' /*letter*/,
5792  },
5793  // Rule NZ 1990 2006 - Oct Sun>=1 2:00s 1:00 D
5794  {
5795  -10 /*fromYearTiny*/,
5796  6 /*toYearTiny*/,
5797  10 /*inMonth*/,
5798  7 /*onDayOfWeek*/,
5799  1 /*onDayOfMonth*/,
5800  8 /*atTimeCode*/,
5801  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
5802  (4 + 4) /*deltaCode*/,
5803  'D' /*letter*/,
5804  },
5805  // Rule NZ 1990 2007 - Mar Sun>=15 2:00s 0 S
5806  {
5807  -10 /*fromYearTiny*/,
5808  7 /*toYearTiny*/,
5809  3 /*inMonth*/,
5810  7 /*onDayOfWeek*/,
5811  15 /*onDayOfMonth*/,
5812  8 /*atTimeCode*/,
5813  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
5814  (0 + 4) /*deltaCode*/,
5815  'S' /*letter*/,
5816  },
5817  // Rule NZ 2007 max - Sep lastSun 2:00s 1:00 D
5818  {
5819  7 /*fromYearTiny*/,
5820  126 /*toYearTiny*/,
5821  9 /*inMonth*/,
5822  7 /*onDayOfWeek*/,
5823  0 /*onDayOfMonth*/,
5824  8 /*atTimeCode*/,
5825  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
5826  (4 + 4) /*deltaCode*/,
5827  'D' /*letter*/,
5828  },
5829  // Rule NZ 2008 max - Apr Sun>=1 2:00s 0 S
5830  {
5831  8 /*fromYearTiny*/,
5832  126 /*toYearTiny*/,
5833  4 /*inMonth*/,
5834  7 /*onDayOfWeek*/,
5835  1 /*onDayOfMonth*/,
5836  8 /*atTimeCode*/,
5837  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
5838  (0 + 4) /*deltaCode*/,
5839  'S' /*letter*/,
5840  },
5841 
5842 };
5843 
5844 
5845 
5846 const extended::ZonePolicy kPolicyNZ ACE_TIME_PROGMEM = {
5847  kZoneRulesNZ /*rules*/,
5848  nullptr /* letters */,
5849  5 /*numRules*/,
5850  0 /* numLetters */,
5851 };
5852 
5853 //---------------------------------------------------------------------------
5854 // Policy name: Namibia
5855 // Rules: 3
5856 // Memory (8-bit): 45
5857 // Memory (32-bit): 64
5858 //---------------------------------------------------------------------------
5859 
5860 static const extended::ZoneRule kZoneRulesNamibia[] ACE_TIME_PROGMEM = {
5861  // Rule Namibia 1994 only - Mar 21 0:00 -1:00 WAT
5862  {
5863  -6 /*fromYearTiny*/,
5864  -6 /*toYearTiny*/,
5865  3 /*inMonth*/,
5866  0 /*onDayOfWeek*/,
5867  21 /*onDayOfMonth*/,
5868  0 /*atTimeCode*/,
5869  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5870  (-4 + 4) /*deltaCode*/,
5871  1 /*letter; "WAT"*/,
5872  },
5873  // Rule Namibia 1994 2017 - Sep Sun>=1 2:00 0 CAT
5874  {
5875  -6 /*fromYearTiny*/,
5876  17 /*toYearTiny*/,
5877  9 /*inMonth*/,
5878  7 /*onDayOfWeek*/,
5879  1 /*onDayOfMonth*/,
5880  8 /*atTimeCode*/,
5881  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5882  (0 + 4) /*deltaCode*/,
5883  0 /*letter; "CAT"*/,
5884  },
5885  // Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
5886  {
5887  -5 /*fromYearTiny*/,
5888  17 /*toYearTiny*/,
5889  4 /*inMonth*/,
5890  7 /*onDayOfWeek*/,
5891  1 /*onDayOfMonth*/,
5892  8 /*atTimeCode*/,
5893  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5894  (-4 + 4) /*deltaCode*/,
5895  1 /*letter; "WAT"*/,
5896  },
5897 
5898 };
5899 
5900 static const char* const kLettersNamibia[] ACE_TIME_PROGMEM = {
5901  /*0*/ "CAT",
5902  /*1*/ "WAT",
5903 
5904 };
5905 
5906 
5907 const extended::ZonePolicy kPolicyNamibia ACE_TIME_PROGMEM = {
5908  kZoneRulesNamibia /*rules*/,
5909  kLettersNamibia /* letters */,
5910  3 /*numRules*/,
5911  2 /* numLetters */,
5912 };
5913 
5914 //---------------------------------------------------------------------------
5915 // Policy name: Nic
5916 // Rules: 5
5917 // Memory (8-bit): 51
5918 // Memory (32-bit): 72
5919 //---------------------------------------------------------------------------
5920 
5921 static const extended::ZoneRule kZoneRulesNic[] ACE_TIME_PROGMEM = {
5922  // Rule Nic 1979 1980 - Jun Mon>=23 0:00 0 S
5923  {
5924  -21 /*fromYearTiny*/,
5925  -20 /*toYearTiny*/,
5926  6 /*inMonth*/,
5927  1 /*onDayOfWeek*/,
5928  23 /*onDayOfMonth*/,
5929  0 /*atTimeCode*/,
5930  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5931  (0 + 4) /*deltaCode*/,
5932  'S' /*letter*/,
5933  },
5934  // Rule Nic 2005 only - Apr 10 0:00 1:00 D
5935  {
5936  5 /*fromYearTiny*/,
5937  5 /*toYearTiny*/,
5938  4 /*inMonth*/,
5939  0 /*onDayOfWeek*/,
5940  10 /*onDayOfMonth*/,
5941  0 /*atTimeCode*/,
5942  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5943  (4 + 4) /*deltaCode*/,
5944  'D' /*letter*/,
5945  },
5946  // Rule Nic 2005 only - Oct Sun>=1 0:00 0 S
5947  {
5948  5 /*fromYearTiny*/,
5949  5 /*toYearTiny*/,
5950  10 /*inMonth*/,
5951  7 /*onDayOfWeek*/,
5952  1 /*onDayOfMonth*/,
5953  0 /*atTimeCode*/,
5954  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5955  (0 + 4) /*deltaCode*/,
5956  'S' /*letter*/,
5957  },
5958  // Rule Nic 2006 only - Apr 30 2:00 1:00 D
5959  {
5960  6 /*fromYearTiny*/,
5961  6 /*toYearTiny*/,
5962  4 /*inMonth*/,
5963  0 /*onDayOfWeek*/,
5964  30 /*onDayOfMonth*/,
5965  8 /*atTimeCode*/,
5966  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5967  (4 + 4) /*deltaCode*/,
5968  'D' /*letter*/,
5969  },
5970  // Rule Nic 2006 only - Oct Sun>=1 1:00 0 S
5971  {
5972  6 /*fromYearTiny*/,
5973  6 /*toYearTiny*/,
5974  10 /*inMonth*/,
5975  7 /*onDayOfWeek*/,
5976  1 /*onDayOfMonth*/,
5977  4 /*atTimeCode*/,
5978  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
5979  (0 + 4) /*deltaCode*/,
5980  'S' /*letter*/,
5981  },
5982 
5983 };
5984 
5985 
5986 
5987 const extended::ZonePolicy kPolicyNic ACE_TIME_PROGMEM = {
5988  kZoneRulesNic /*rules*/,
5989  nullptr /* letters */,
5990  5 /*numRules*/,
5991  0 /* numLetters */,
5992 };
5993 
5994 //---------------------------------------------------------------------------
5995 // Policy name: PRC
5996 // Rules: 1
5997 // Memory (8-bit): 15
5998 // Memory (32-bit): 24
5999 //---------------------------------------------------------------------------
6000 
6001 static const extended::ZoneRule kZoneRulesPRC[] ACE_TIME_PROGMEM = {
6002  // Rule PRC 1986 1991 - Sep Sun>=11 2:00 0 S
6003  {
6004  -14 /*fromYearTiny*/,
6005  -9 /*toYearTiny*/,
6006  9 /*inMonth*/,
6007  7 /*onDayOfWeek*/,
6008  11 /*onDayOfMonth*/,
6009  8 /*atTimeCode*/,
6010  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6011  (0 + 4) /*deltaCode*/,
6012  'S' /*letter*/,
6013  },
6014 
6015 };
6016 
6017 
6018 
6019 const extended::ZonePolicy kPolicyPRC ACE_TIME_PROGMEM = {
6020  kZoneRulesPRC /*rules*/,
6021  nullptr /* letters */,
6022  1 /*numRules*/,
6023  0 /* numLetters */,
6024 };
6025 
6026 //---------------------------------------------------------------------------
6027 // Policy name: Pakistan
6028 // Rules: 6
6029 // Memory (8-bit): 60
6030 // Memory (32-bit): 84
6031 //---------------------------------------------------------------------------
6032 
6033 static const extended::ZoneRule kZoneRulesPakistan[] ACE_TIME_PROGMEM = {
6034  // Anchor: Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
6035  {
6036  -127 /*fromYearTiny*/,
6037  -127 /*toYearTiny*/,
6038  1 /*inMonth*/,
6039  0 /*onDayOfWeek*/,
6040  1 /*onDayOfMonth*/,
6041  0 /*atTimeCode*/,
6042  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6043  (0 + 4) /*deltaCode*/,
6044  '-' /*letter*/,
6045  },
6046  // Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
6047  {
6048  2 /*fromYearTiny*/,
6049  2 /*toYearTiny*/,
6050  4 /*inMonth*/,
6051  7 /*onDayOfWeek*/,
6052  2 /*onDayOfMonth*/,
6053  0 /*atTimeCode*/,
6054  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6055  (4 + 4) /*deltaCode*/,
6056  'S' /*letter*/,
6057  },
6058  // Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
6059  {
6060  2 /*fromYearTiny*/,
6061  2 /*toYearTiny*/,
6062  10 /*inMonth*/,
6063  7 /*onDayOfWeek*/,
6064  2 /*onDayOfMonth*/,
6065  0 /*atTimeCode*/,
6066  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6067  (0 + 4) /*deltaCode*/,
6068  '-' /*letter*/,
6069  },
6070  // Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
6071  {
6072  8 /*fromYearTiny*/,
6073  8 /*toYearTiny*/,
6074  6 /*inMonth*/,
6075  0 /*onDayOfWeek*/,
6076  1 /*onDayOfMonth*/,
6077  0 /*atTimeCode*/,
6078  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6079  (4 + 4) /*deltaCode*/,
6080  'S' /*letter*/,
6081  },
6082  // Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
6083  {
6084  8 /*fromYearTiny*/,
6085  9 /*toYearTiny*/,
6086  11 /*inMonth*/,
6087  0 /*onDayOfWeek*/,
6088  1 /*onDayOfMonth*/,
6089  0 /*atTimeCode*/,
6090  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6091  (0 + 4) /*deltaCode*/,
6092  '-' /*letter*/,
6093  },
6094  // Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
6095  {
6096  9 /*fromYearTiny*/,
6097  9 /*toYearTiny*/,
6098  4 /*inMonth*/,
6099  0 /*onDayOfWeek*/,
6100  15 /*onDayOfMonth*/,
6101  0 /*atTimeCode*/,
6102  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6103  (4 + 4) /*deltaCode*/,
6104  'S' /*letter*/,
6105  },
6106 
6107 };
6108 
6109 
6110 
6111 const extended::ZonePolicy kPolicyPakistan ACE_TIME_PROGMEM = {
6112  kZoneRulesPakistan /*rules*/,
6113  nullptr /* letters */,
6114  6 /*numRules*/,
6115  0 /* numLetters */,
6116 };
6117 
6118 //---------------------------------------------------------------------------
6119 // Policy name: Palestine
6120 // Rules: 25
6121 // Memory (8-bit): 231
6122 // Memory (32-bit): 312
6123 //---------------------------------------------------------------------------
6124 
6125 static const extended::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = {
6126  // Anchor: Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 -
6127  {
6128  -127 /*fromYearTiny*/,
6129  -127 /*toYearTiny*/,
6130  1 /*inMonth*/,
6131  0 /*onDayOfWeek*/,
6132  1 /*onDayOfMonth*/,
6133  0 /*atTimeCode*/,
6134  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6135  (0 + 4) /*deltaCode*/,
6136  '-' /*letter*/,
6137  },
6138  // Rule Palestine 1999 2005 - Apr Fri>=15 0:00 1:00 S
6139  {
6140  -1 /*fromYearTiny*/,
6141  5 /*toYearTiny*/,
6142  4 /*inMonth*/,
6143  5 /*onDayOfWeek*/,
6144  15 /*onDayOfMonth*/,
6145  0 /*atTimeCode*/,
6146  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6147  (4 + 4) /*deltaCode*/,
6148  'S' /*letter*/,
6149  },
6150  // Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 -
6151  {
6152  -1 /*fromYearTiny*/,
6153  3 /*toYearTiny*/,
6154  10 /*inMonth*/,
6155  5 /*onDayOfWeek*/,
6156  15 /*onDayOfMonth*/,
6157  0 /*atTimeCode*/,
6158  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6159  (0 + 4) /*deltaCode*/,
6160  '-' /*letter*/,
6161  },
6162  // Rule Palestine 2004 only - Oct 1 1:00 0 -
6163  {
6164  4 /*fromYearTiny*/,
6165  4 /*toYearTiny*/,
6166  10 /*inMonth*/,
6167  0 /*onDayOfWeek*/,
6168  1 /*onDayOfMonth*/,
6169  4 /*atTimeCode*/,
6170  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6171  (0 + 4) /*deltaCode*/,
6172  '-' /*letter*/,
6173  },
6174  // Rule Palestine 2005 only - Oct 4 2:00 0 -
6175  {
6176  5 /*fromYearTiny*/,
6177  5 /*toYearTiny*/,
6178  10 /*inMonth*/,
6179  0 /*onDayOfWeek*/,
6180  4 /*onDayOfMonth*/,
6181  8 /*atTimeCode*/,
6182  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6183  (0 + 4) /*deltaCode*/,
6184  '-' /*letter*/,
6185  },
6186  // Rule Palestine 2006 2007 - Apr 1 0:00 1:00 S
6187  {
6188  6 /*fromYearTiny*/,
6189  7 /*toYearTiny*/,
6190  4 /*inMonth*/,
6191  0 /*onDayOfWeek*/,
6192  1 /*onDayOfMonth*/,
6193  0 /*atTimeCode*/,
6194  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6195  (4 + 4) /*deltaCode*/,
6196  'S' /*letter*/,
6197  },
6198  // Rule Palestine 2006 only - Sep 22 0:00 0 -
6199  {
6200  6 /*fromYearTiny*/,
6201  6 /*toYearTiny*/,
6202  9 /*inMonth*/,
6203  0 /*onDayOfWeek*/,
6204  22 /*onDayOfMonth*/,
6205  0 /*atTimeCode*/,
6206  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6207  (0 + 4) /*deltaCode*/,
6208  '-' /*letter*/,
6209  },
6210  // Rule Palestine 2007 only - Sep Thu>=8 2:00 0 -
6211  {
6212  7 /*fromYearTiny*/,
6213  7 /*toYearTiny*/,
6214  9 /*inMonth*/,
6215  4 /*onDayOfWeek*/,
6216  8 /*onDayOfMonth*/,
6217  8 /*atTimeCode*/,
6218  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6219  (0 + 4) /*deltaCode*/,
6220  '-' /*letter*/,
6221  },
6222  // Rule Palestine 2008 2009 - Mar lastFri 0:00 1:00 S
6223  {
6224  8 /*fromYearTiny*/,
6225  9 /*toYearTiny*/,
6226  3 /*inMonth*/,
6227  5 /*onDayOfWeek*/,
6228  0 /*onDayOfMonth*/,
6229  0 /*atTimeCode*/,
6230  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6231  (4 + 4) /*deltaCode*/,
6232  'S' /*letter*/,
6233  },
6234  // Rule Palestine 2008 only - Sep 1 0:00 0 -
6235  {
6236  8 /*fromYearTiny*/,
6237  8 /*toYearTiny*/,
6238  9 /*inMonth*/,
6239  0 /*onDayOfWeek*/,
6240  1 /*onDayOfMonth*/,
6241  0 /*atTimeCode*/,
6242  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6243  (0 + 4) /*deltaCode*/,
6244  '-' /*letter*/,
6245  },
6246  // Rule Palestine 2009 only - Sep Fri>=1 1:00 0 -
6247  {
6248  9 /*fromYearTiny*/,
6249  9 /*toYearTiny*/,
6250  9 /*inMonth*/,
6251  5 /*onDayOfWeek*/,
6252  1 /*onDayOfMonth*/,
6253  4 /*atTimeCode*/,
6254  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6255  (0 + 4) /*deltaCode*/,
6256  '-' /*letter*/,
6257  },
6258  // Rule Palestine 2010 only - Mar 26 0:00 1:00 S
6259  {
6260  10 /*fromYearTiny*/,
6261  10 /*toYearTiny*/,
6262  3 /*inMonth*/,
6263  0 /*onDayOfWeek*/,
6264  26 /*onDayOfMonth*/,
6265  0 /*atTimeCode*/,
6266  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6267  (4 + 4) /*deltaCode*/,
6268  'S' /*letter*/,
6269  },
6270  // Rule Palestine 2010 only - Aug 11 0:00 0 -
6271  {
6272  10 /*fromYearTiny*/,
6273  10 /*toYearTiny*/,
6274  8 /*inMonth*/,
6275  0 /*onDayOfWeek*/,
6276  11 /*onDayOfMonth*/,
6277  0 /*atTimeCode*/,
6278  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6279  (0 + 4) /*deltaCode*/,
6280  '-' /*letter*/,
6281  },
6282  // Rule Palestine 2011 only - Apr 1 0:01 1:00 S
6283  {
6284  11 /*fromYearTiny*/,
6285  11 /*toYearTiny*/,
6286  4 /*inMonth*/,
6287  0 /*onDayOfWeek*/,
6288  1 /*onDayOfMonth*/,
6289  0 /*atTimeCode*/,
6290  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
6291  (4 + 4) /*deltaCode*/,
6292  'S' /*letter*/,
6293  },
6294  // Rule Palestine 2011 only - Aug 1 0:00 0 -
6295  {
6296  11 /*fromYearTiny*/,
6297  11 /*toYearTiny*/,
6298  8 /*inMonth*/,
6299  0 /*onDayOfWeek*/,
6300  1 /*onDayOfMonth*/,
6301  0 /*atTimeCode*/,
6302  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6303  (0 + 4) /*deltaCode*/,
6304  '-' /*letter*/,
6305  },
6306  // Rule Palestine 2011 only - Aug 30 0:00 1:00 S
6307  {
6308  11 /*fromYearTiny*/,
6309  11 /*toYearTiny*/,
6310  8 /*inMonth*/,
6311  0 /*onDayOfWeek*/,
6312  30 /*onDayOfMonth*/,
6313  0 /*atTimeCode*/,
6314  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6315  (4 + 4) /*deltaCode*/,
6316  'S' /*letter*/,
6317  },
6318  // Rule Palestine 2011 only - Sep 30 0:00 0 -
6319  {
6320  11 /*fromYearTiny*/,
6321  11 /*toYearTiny*/,
6322  9 /*inMonth*/,
6323  0 /*onDayOfWeek*/,
6324  30 /*onDayOfMonth*/,
6325  0 /*atTimeCode*/,
6326  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6327  (0 + 4) /*deltaCode*/,
6328  '-' /*letter*/,
6329  },
6330  // Rule Palestine 2012 2014 - Mar lastThu 24:00 1:00 S
6331  {
6332  12 /*fromYearTiny*/,
6333  14 /*toYearTiny*/,
6334  3 /*inMonth*/,
6335  4 /*onDayOfWeek*/,
6336  0 /*onDayOfMonth*/,
6337  96 /*atTimeCode*/,
6338  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6339  (4 + 4) /*deltaCode*/,
6340  'S' /*letter*/,
6341  },
6342  // Rule Palestine 2012 only - Sep 21 1:00 0 -
6343  {
6344  12 /*fromYearTiny*/,
6345  12 /*toYearTiny*/,
6346  9 /*inMonth*/,
6347  0 /*onDayOfWeek*/,
6348  21 /*onDayOfMonth*/,
6349  4 /*atTimeCode*/,
6350  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6351  (0 + 4) /*deltaCode*/,
6352  '-' /*letter*/,
6353  },
6354  // Rule Palestine 2013 only - Sep Fri>=21 0:00 0 -
6355  {
6356  13 /*fromYearTiny*/,
6357  13 /*toYearTiny*/,
6358  9 /*inMonth*/,
6359  5 /*onDayOfWeek*/,
6360  21 /*onDayOfMonth*/,
6361  0 /*atTimeCode*/,
6362  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6363  (0 + 4) /*deltaCode*/,
6364  '-' /*letter*/,
6365  },
6366  // Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 -
6367  {
6368  14 /*fromYearTiny*/,
6369  15 /*toYearTiny*/,
6370  10 /*inMonth*/,
6371  5 /*onDayOfWeek*/,
6372  21 /*onDayOfMonth*/,
6373  0 /*atTimeCode*/,
6374  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6375  (0 + 4) /*deltaCode*/,
6376  '-' /*letter*/,
6377  },
6378  // Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S
6379  {
6380  15 /*fromYearTiny*/,
6381  15 /*toYearTiny*/,
6382  3 /*inMonth*/,
6383  5 /*onDayOfWeek*/,
6384  0 /*onDayOfMonth*/,
6385  96 /*atTimeCode*/,
6386  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6387  (4 + 4) /*deltaCode*/,
6388  'S' /*letter*/,
6389  },
6390  // Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
6391  {
6392  16 /*fromYearTiny*/,
6393  18 /*toYearTiny*/,
6394  3 /*inMonth*/,
6395  6 /*onDayOfWeek*/,
6396  24 /*onDayOfMonth*/,
6397  4 /*atTimeCode*/,
6398  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6399  (4 + 4) /*deltaCode*/,
6400  'S' /*letter*/,
6401  },
6402  // Rule Palestine 2016 max - Oct lastSat 1:00 0 -
6403  {
6404  16 /*fromYearTiny*/,
6405  126 /*toYearTiny*/,
6406  10 /*inMonth*/,
6407  6 /*onDayOfWeek*/,
6408  0 /*onDayOfMonth*/,
6409  4 /*atTimeCode*/,
6410  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6411  (0 + 4) /*deltaCode*/,
6412  '-' /*letter*/,
6413  },
6414  // Rule Palestine 2019 max - Mar lastFri 0:00 1:00 S
6415  {
6416  19 /*fromYearTiny*/,
6417  126 /*toYearTiny*/,
6418  3 /*inMonth*/,
6419  5 /*onDayOfWeek*/,
6420  0 /*onDayOfMonth*/,
6421  0 /*atTimeCode*/,
6422  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6423  (4 + 4) /*deltaCode*/,
6424  'S' /*letter*/,
6425  },
6426 
6427 };
6428 
6429 
6430 
6431 const extended::ZonePolicy kPolicyPalestine ACE_TIME_PROGMEM = {
6432  kZoneRulesPalestine /*rules*/,
6433  nullptr /* letters */,
6434  25 /*numRules*/,
6435  0 /* numLetters */,
6436 };
6437 
6438 //---------------------------------------------------------------------------
6439 // Policy name: Para
6440 // Rules: 10
6441 // Memory (8-bit): 96
6442 // Memory (32-bit): 132
6443 //---------------------------------------------------------------------------
6444 
6445 static const extended::ZoneRule kZoneRulesPara[] ACE_TIME_PROGMEM = {
6446  // Rule Para 1996 2001 - Oct Sun>=1 0:00 1:00 -
6447  {
6448  -4 /*fromYearTiny*/,
6449  1 /*toYearTiny*/,
6450  10 /*inMonth*/,
6451  7 /*onDayOfWeek*/,
6452  1 /*onDayOfMonth*/,
6453  0 /*atTimeCode*/,
6454  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6455  (4 + 4) /*deltaCode*/,
6456  '-' /*letter*/,
6457  },
6458  // Rule Para 1997 only - Feb lastSun 0:00 0 -
6459  {
6460  -3 /*fromYearTiny*/,
6461  -3 /*toYearTiny*/,
6462  2 /*inMonth*/,
6463  7 /*onDayOfWeek*/,
6464  0 /*onDayOfMonth*/,
6465  0 /*atTimeCode*/,
6466  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6467  (0 + 4) /*deltaCode*/,
6468  '-' /*letter*/,
6469  },
6470  // Rule Para 1998 2001 - Mar Sun>=1 0:00 0 -
6471  {
6472  -2 /*fromYearTiny*/,
6473  1 /*toYearTiny*/,
6474  3 /*inMonth*/,
6475  7 /*onDayOfWeek*/,
6476  1 /*onDayOfMonth*/,
6477  0 /*atTimeCode*/,
6478  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6479  (0 + 4) /*deltaCode*/,
6480  '-' /*letter*/,
6481  },
6482  // Rule Para 2002 2004 - Apr Sun>=1 0:00 0 -
6483  {
6484  2 /*fromYearTiny*/,
6485  4 /*toYearTiny*/,
6486  4 /*inMonth*/,
6487  7 /*onDayOfWeek*/,
6488  1 /*onDayOfMonth*/,
6489  0 /*atTimeCode*/,
6490  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6491  (0 + 4) /*deltaCode*/,
6492  '-' /*letter*/,
6493  },
6494  // Rule Para 2002 2003 - Sep Sun>=1 0:00 1:00 -
6495  {
6496  2 /*fromYearTiny*/,
6497  3 /*toYearTiny*/,
6498  9 /*inMonth*/,
6499  7 /*onDayOfWeek*/,
6500  1 /*onDayOfMonth*/,
6501  0 /*atTimeCode*/,
6502  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6503  (4 + 4) /*deltaCode*/,
6504  '-' /*letter*/,
6505  },
6506  // Rule Para 2004 2009 - Oct Sun>=15 0:00 1:00 -
6507  {
6508  4 /*fromYearTiny*/,
6509  9 /*toYearTiny*/,
6510  10 /*inMonth*/,
6511  7 /*onDayOfWeek*/,
6512  15 /*onDayOfMonth*/,
6513  0 /*atTimeCode*/,
6514  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6515  (4 + 4) /*deltaCode*/,
6516  '-' /*letter*/,
6517  },
6518  // Rule Para 2005 2009 - Mar Sun>=8 0:00 0 -
6519  {
6520  5 /*fromYearTiny*/,
6521  9 /*toYearTiny*/,
6522  3 /*inMonth*/,
6523  7 /*onDayOfWeek*/,
6524  8 /*onDayOfMonth*/,
6525  0 /*atTimeCode*/,
6526  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6527  (0 + 4) /*deltaCode*/,
6528  '-' /*letter*/,
6529  },
6530  // Rule Para 2010 max - Oct Sun>=1 0:00 1:00 -
6531  {
6532  10 /*fromYearTiny*/,
6533  126 /*toYearTiny*/,
6534  10 /*inMonth*/,
6535  7 /*onDayOfWeek*/,
6536  1 /*onDayOfMonth*/,
6537  0 /*atTimeCode*/,
6538  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6539  (4 + 4) /*deltaCode*/,
6540  '-' /*letter*/,
6541  },
6542  // Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
6543  {
6544  10 /*fromYearTiny*/,
6545  12 /*toYearTiny*/,
6546  4 /*inMonth*/,
6547  7 /*onDayOfWeek*/,
6548  8 /*onDayOfMonth*/,
6549  0 /*atTimeCode*/,
6550  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6551  (0 + 4) /*deltaCode*/,
6552  '-' /*letter*/,
6553  },
6554  // Rule Para 2013 max - Mar Sun>=22 0:00 0 -
6555  {
6556  13 /*fromYearTiny*/,
6557  126 /*toYearTiny*/,
6558  3 /*inMonth*/,
6559  7 /*onDayOfWeek*/,
6560  22 /*onDayOfMonth*/,
6561  0 /*atTimeCode*/,
6562  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6563  (0 + 4) /*deltaCode*/,
6564  '-' /*letter*/,
6565  },
6566 
6567 };
6568 
6569 
6570 
6571 const extended::ZonePolicy kPolicyPara ACE_TIME_PROGMEM = {
6572  kZoneRulesPara /*rules*/,
6573  nullptr /* letters */,
6574  10 /*numRules*/,
6575  0 /* numLetters */,
6576 };
6577 
6578 //---------------------------------------------------------------------------
6579 // Policy name: Peru
6580 // Rules: 1
6581 // Memory (8-bit): 15
6582 // Memory (32-bit): 24
6583 //---------------------------------------------------------------------------
6584 
6585 static const extended::ZoneRule kZoneRulesPeru[] ACE_TIME_PROGMEM = {
6586  // Rule Peru 1994 only - Apr 1 0:00 0 -
6587  {
6588  -6 /*fromYearTiny*/,
6589  -6 /*toYearTiny*/,
6590  4 /*inMonth*/,
6591  0 /*onDayOfWeek*/,
6592  1 /*onDayOfMonth*/,
6593  0 /*atTimeCode*/,
6594  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6595  (0 + 4) /*deltaCode*/,
6596  '-' /*letter*/,
6597  },
6598 
6599 };
6600 
6601 
6602 
6603 const extended::ZonePolicy kPolicyPeru ACE_TIME_PROGMEM = {
6604  kZoneRulesPeru /*rules*/,
6605  nullptr /* letters */,
6606  1 /*numRules*/,
6607  0 /* numLetters */,
6608 };
6609 
6610 //---------------------------------------------------------------------------
6611 // Policy name: Phil
6612 // Rules: 1
6613 // Memory (8-bit): 15
6614 // Memory (32-bit): 24
6615 //---------------------------------------------------------------------------
6616 
6617 static const extended::ZoneRule kZoneRulesPhil[] ACE_TIME_PROGMEM = {
6618  // Rule Phil 1978 only - Sep 21 0:00 0 S
6619  {
6620  -22 /*fromYearTiny*/,
6621  -22 /*toYearTiny*/,
6622  9 /*inMonth*/,
6623  0 /*onDayOfWeek*/,
6624  21 /*onDayOfMonth*/,
6625  0 /*atTimeCode*/,
6626  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6627  (0 + 4) /*deltaCode*/,
6628  'S' /*letter*/,
6629  },
6630 
6631 };
6632 
6633 
6634 
6635 const extended::ZonePolicy kPolicyPhil ACE_TIME_PROGMEM = {
6636  kZoneRulesPhil /*rules*/,
6637  nullptr /* letters */,
6638  1 /*numRules*/,
6639  0 /* numLetters */,
6640 };
6641 
6642 //---------------------------------------------------------------------------
6643 // Policy name: ROK
6644 // Rules: 1
6645 // Memory (8-bit): 15
6646 // Memory (32-bit): 24
6647 //---------------------------------------------------------------------------
6648 
6649 static const extended::ZoneRule kZoneRulesROK[] ACE_TIME_PROGMEM = {
6650  // Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
6651  {
6652  -13 /*fromYearTiny*/,
6653  -12 /*toYearTiny*/,
6654  10 /*inMonth*/,
6655  7 /*onDayOfWeek*/,
6656  8 /*onDayOfMonth*/,
6657  12 /*atTimeCode*/,
6658  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6659  (0 + 4) /*deltaCode*/,
6660  'S' /*letter*/,
6661  },
6662 
6663 };
6664 
6665 
6666 
6667 const extended::ZonePolicy kPolicyROK ACE_TIME_PROGMEM = {
6668  kZoneRulesROK /*rules*/,
6669  nullptr /* letters */,
6670  1 /*numRules*/,
6671  0 /* numLetters */,
6672 };
6673 
6674 //---------------------------------------------------------------------------
6675 // Policy name: Russia
6676 // Rules: 3
6677 // Memory (8-bit): 33
6678 // Memory (32-bit): 48
6679 //---------------------------------------------------------------------------
6680 
6681 static const extended::ZoneRule kZoneRulesRussia[] ACE_TIME_PROGMEM = {
6682  // Rule Russia 1984 1995 - Sep lastSun 2:00s 0 -
6683  {
6684  -16 /*fromYearTiny*/,
6685  -5 /*toYearTiny*/,
6686  9 /*inMonth*/,
6687  7 /*onDayOfWeek*/,
6688  0 /*onDayOfMonth*/,
6689  8 /*atTimeCode*/,
6690  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
6691  (0 + 4) /*deltaCode*/,
6692  '-' /*letter*/,
6693  },
6694  // Rule Russia 1985 2010 - Mar lastSun 2:00s 1:00 S
6695  {
6696  -15 /*fromYearTiny*/,
6697  10 /*toYearTiny*/,
6698  3 /*inMonth*/,
6699  7 /*onDayOfWeek*/,
6700  0 /*onDayOfMonth*/,
6701  8 /*atTimeCode*/,
6702  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
6703  (4 + 4) /*deltaCode*/,
6704  'S' /*letter*/,
6705  },
6706  // Rule Russia 1996 2010 - Oct lastSun 2:00s 0 -
6707  {
6708  -4 /*fromYearTiny*/,
6709  10 /*toYearTiny*/,
6710  10 /*inMonth*/,
6711  7 /*onDayOfWeek*/,
6712  0 /*onDayOfMonth*/,
6713  8 /*atTimeCode*/,
6714  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
6715  (0 + 4) /*deltaCode*/,
6716  '-' /*letter*/,
6717  },
6718 
6719 };
6720 
6721 
6722 
6723 const extended::ZonePolicy kPolicyRussia ACE_TIME_PROGMEM = {
6724  kZoneRulesRussia /*rules*/,
6725  nullptr /* letters */,
6726  3 /*numRules*/,
6727  0 /* numLetters */,
6728 };
6729 
6730 //---------------------------------------------------------------------------
6731 // Policy name: RussiaAsia
6732 // Rules: 3
6733 // Memory (8-bit): 33
6734 // Memory (32-bit): 48
6735 //---------------------------------------------------------------------------
6736 
6737 static const extended::ZoneRule kZoneRulesRussiaAsia[] ACE_TIME_PROGMEM = {
6738  // Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 -
6739  {
6740  -16 /*fromYearTiny*/,
6741  -5 /*toYearTiny*/,
6742  9 /*inMonth*/,
6743  7 /*onDayOfWeek*/,
6744  0 /*onDayOfMonth*/,
6745  8 /*atTimeCode*/,
6746  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
6747  (0 + 4) /*deltaCode*/,
6748  '-' /*letter*/,
6749  },
6750  // Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 -
6751  {
6752  -15 /*fromYearTiny*/,
6753  10 /*toYearTiny*/,
6754  3 /*inMonth*/,
6755  7 /*onDayOfWeek*/,
6756  0 /*onDayOfMonth*/,
6757  8 /*atTimeCode*/,
6758  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
6759  (4 + 4) /*deltaCode*/,
6760  '-' /*letter*/,
6761  },
6762  // Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 -
6763  {
6764  -4 /*fromYearTiny*/,
6765  10 /*toYearTiny*/,
6766  10 /*inMonth*/,
6767  7 /*onDayOfWeek*/,
6768  0 /*onDayOfMonth*/,
6769  8 /*atTimeCode*/,
6770  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
6771  (0 + 4) /*deltaCode*/,
6772  '-' /*letter*/,
6773  },
6774 
6775 };
6776 
6777 
6778 
6779 const extended::ZonePolicy kPolicyRussiaAsia ACE_TIME_PROGMEM = {
6780  kZoneRulesRussiaAsia /*rules*/,
6781  nullptr /* letters */,
6782  3 /*numRules*/,
6783  0 /* numLetters */,
6784 };
6785 
6786 //---------------------------------------------------------------------------
6787 // Policy name: SA
6788 // Rules: 1
6789 // Memory (8-bit): 15
6790 // Memory (32-bit): 24
6791 //---------------------------------------------------------------------------
6792 
6793 static const extended::ZoneRule kZoneRulesSA[] ACE_TIME_PROGMEM = {
6794  // Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
6795  {
6796  -57 /*fromYearTiny*/,
6797  -56 /*toYearTiny*/,
6798  3 /*inMonth*/,
6799  7 /*onDayOfWeek*/,
6800  15 /*onDayOfMonth*/,
6801  8 /*atTimeCode*/,
6802  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6803  (0 + 4) /*deltaCode*/,
6804  '-' /*letter*/,
6805  },
6806 
6807 };
6808 
6809 
6810 
6811 const extended::ZonePolicy kPolicySA ACE_TIME_PROGMEM = {
6812  kZoneRulesSA /*rules*/,
6813  nullptr /* letters */,
6814  1 /*numRules*/,
6815  0 /* numLetters */,
6816 };
6817 
6818 //---------------------------------------------------------------------------
6819 // Policy name: Salv
6820 // Rules: 1
6821 // Memory (8-bit): 15
6822 // Memory (32-bit): 24
6823 //---------------------------------------------------------------------------
6824 
6825 static const extended::ZoneRule kZoneRulesSalv[] ACE_TIME_PROGMEM = {
6826  // Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
6827  {
6828  -13 /*fromYearTiny*/,
6829  -12 /*toYearTiny*/,
6830  9 /*inMonth*/,
6831  7 /*onDayOfWeek*/,
6832  0 /*onDayOfMonth*/,
6833  0 /*atTimeCode*/,
6834  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6835  (0 + 4) /*deltaCode*/,
6836  'S' /*letter*/,
6837  },
6838 
6839 };
6840 
6841 
6842 
6843 const extended::ZonePolicy kPolicySalv ACE_TIME_PROGMEM = {
6844  kZoneRulesSalv /*rules*/,
6845  nullptr /* letters */,
6846  1 /*numRules*/,
6847  0 /* numLetters */,
6848 };
6849 
6850 //---------------------------------------------------------------------------
6851 // Policy name: SanLuis
6852 // Rules: 3
6853 // Memory (8-bit): 33
6854 // Memory (32-bit): 48
6855 //---------------------------------------------------------------------------
6856 
6857 static const extended::ZoneRule kZoneRulesSanLuis[] ACE_TIME_PROGMEM = {
6858  // Anchor: Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
6859  {
6860  -127 /*fromYearTiny*/,
6861  -127 /*toYearTiny*/,
6862  1 /*inMonth*/,
6863  0 /*onDayOfWeek*/,
6864  1 /*onDayOfMonth*/,
6865  0 /*atTimeCode*/,
6866  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6867  (0 + 4) /*deltaCode*/,
6868  '-' /*letter*/,
6869  },
6870  // Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
6871  {
6872  8 /*fromYearTiny*/,
6873  9 /*toYearTiny*/,
6874  3 /*inMonth*/,
6875  7 /*onDayOfWeek*/,
6876  8 /*onDayOfMonth*/,
6877  0 /*atTimeCode*/,
6878  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6879  (0 + 4) /*deltaCode*/,
6880  '-' /*letter*/,
6881  },
6882  // Rule SanLuis 2007 2008 - Oct Sun>=8 0:00 1:00 -
6883  {
6884  7 /*fromYearTiny*/,
6885  8 /*toYearTiny*/,
6886  10 /*inMonth*/,
6887  7 /*onDayOfWeek*/,
6888  8 /*onDayOfMonth*/,
6889  0 /*atTimeCode*/,
6890  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
6891  (4 + 4) /*deltaCode*/,
6892  '-' /*letter*/,
6893  },
6894 
6895 };
6896 
6897 
6898 
6899 const extended::ZonePolicy kPolicySanLuis ACE_TIME_PROGMEM = {
6900  kZoneRulesSanLuis /*rules*/,
6901  nullptr /* letters */,
6902  3 /*numRules*/,
6903  0 /* numLetters */,
6904 };
6905 
6906 //---------------------------------------------------------------------------
6907 // Policy name: StJohns
6908 // Rules: 5
6909 // Memory (8-bit): 56
6910 // Memory (32-bit): 79
6911 //---------------------------------------------------------------------------
6912 
6913 static const extended::ZoneRule kZoneRulesStJohns[] ACE_TIME_PROGMEM = {
6914  // Rule StJohns 1987 2006 - Oct lastSun 0:01 0 S
6915  {
6916  -13 /*fromYearTiny*/,
6917  6 /*toYearTiny*/,
6918  10 /*inMonth*/,
6919  7 /*onDayOfWeek*/,
6920  0 /*onDayOfMonth*/,
6921  0 /*atTimeCode*/,
6922  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
6923  (0 + 4) /*deltaCode*/,
6924  'S' /*letter*/,
6925  },
6926  // Rule StJohns 1988 only - Apr Sun>=1 0:01 2:00 DD
6927  {
6928  -12 /*fromYearTiny*/,
6929  -12 /*toYearTiny*/,
6930  4 /*inMonth*/,
6931  7 /*onDayOfWeek*/,
6932  1 /*onDayOfMonth*/,
6933  0 /*atTimeCode*/,
6934  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
6935  (8 + 4) /*deltaCode*/,
6936  0 /*letter; "DD"*/,
6937  },
6938  // Rule StJohns 1989 2006 - Apr Sun>=1 0:01 1:00 D
6939  {
6940  -11 /*fromYearTiny*/,
6941  6 /*toYearTiny*/,
6942  4 /*inMonth*/,
6943  7 /*onDayOfWeek*/,
6944  1 /*onDayOfMonth*/,
6945  0 /*atTimeCode*/,
6946  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
6947  (4 + 4) /*deltaCode*/,
6948  'D' /*letter*/,
6949  },
6950  // Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D
6951  {
6952  7 /*fromYearTiny*/,
6953  11 /*toYearTiny*/,
6954  3 /*inMonth*/,
6955  7 /*onDayOfWeek*/,
6956  8 /*onDayOfMonth*/,
6957  0 /*atTimeCode*/,
6958  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
6959  (4 + 4) /*deltaCode*/,
6960  'D' /*letter*/,
6961  },
6962  // Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S
6963  {
6964  7 /*fromYearTiny*/,
6965  10 /*toYearTiny*/,
6966  11 /*inMonth*/,
6967  7 /*onDayOfWeek*/,
6968  1 /*onDayOfMonth*/,
6969  0 /*atTimeCode*/,
6970  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
6971  (0 + 4) /*deltaCode*/,
6972  'S' /*letter*/,
6973  },
6974 
6975 };
6976 
6977 static const char* const kLettersStJohns[] ACE_TIME_PROGMEM = {
6978  /*0*/ "DD",
6979 
6980 };
6981 
6982 
6983 const extended::ZonePolicy kPolicyStJohns ACE_TIME_PROGMEM = {
6984  kZoneRulesStJohns /*rules*/,
6985  kLettersStJohns /* letters */,
6986  5 /*numRules*/,
6987  1 /* numLetters */,
6988 };
6989 
6990 //---------------------------------------------------------------------------
6991 // Policy name: Sudan
6992 // Rules: 1
6993 // Memory (8-bit): 15
6994 // Memory (32-bit): 24
6995 //---------------------------------------------------------------------------
6996 
6997 static const extended::ZoneRule kZoneRulesSudan[] ACE_TIME_PROGMEM = {
6998  // Rule Sudan 1970 1985 - Oct 15 0:00 0 -
6999  {
7000  -30 /*fromYearTiny*/,
7001  -15 /*toYearTiny*/,
7002  10 /*inMonth*/,
7003  0 /*onDayOfWeek*/,
7004  15 /*onDayOfMonth*/,
7005  0 /*atTimeCode*/,
7006  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7007  (0 + 4) /*deltaCode*/,
7008  '-' /*letter*/,
7009  },
7010 
7011 };
7012 
7013 
7014 
7015 const extended::ZonePolicy kPolicySudan ACE_TIME_PROGMEM = {
7016  kZoneRulesSudan /*rules*/,
7017  nullptr /* letters */,
7018  1 /*numRules*/,
7019  0 /* numLetters */,
7020 };
7021 
7022 //---------------------------------------------------------------------------
7023 // Policy name: Syria
7024 // Rules: 12
7025 // Memory (8-bit): 114
7026 // Memory (32-bit): 156
7027 //---------------------------------------------------------------------------
7028 
7029 static const extended::ZoneRule kZoneRulesSyria[] ACE_TIME_PROGMEM = {
7030  // Rule Syria 1994 2005 - Oct 1 0:00 0 -
7031  {
7032  -6 /*fromYearTiny*/,
7033  5 /*toYearTiny*/,
7034  10 /*inMonth*/,
7035  0 /*onDayOfWeek*/,
7036  1 /*onDayOfMonth*/,
7037  0 /*atTimeCode*/,
7038  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7039  (0 + 4) /*deltaCode*/,
7040  '-' /*letter*/,
7041  },
7042  // Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S
7043  {
7044  -3 /*fromYearTiny*/,
7045  -2 /*toYearTiny*/,
7046  3 /*inMonth*/,
7047  1 /*onDayOfWeek*/,
7048  0 /*onDayOfMonth*/,
7049  0 /*atTimeCode*/,
7050  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7051  (4 + 4) /*deltaCode*/,
7052  'S' /*letter*/,
7053  },
7054  // Rule Syria 1999 2006 - Apr 1 0:00 1:00 S
7055  {
7056  -1 /*fromYearTiny*/,
7057  6 /*toYearTiny*/,
7058  4 /*inMonth*/,
7059  0 /*onDayOfWeek*/,
7060  1 /*onDayOfMonth*/,
7061  0 /*atTimeCode*/,
7062  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7063  (4 + 4) /*deltaCode*/,
7064  'S' /*letter*/,
7065  },
7066  // Rule Syria 2006 only - Sep 22 0:00 0 -
7067  {
7068  6 /*fromYearTiny*/,
7069  6 /*toYearTiny*/,
7070  9 /*inMonth*/,
7071  0 /*onDayOfWeek*/,
7072  22 /*onDayOfMonth*/,
7073  0 /*atTimeCode*/,
7074  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7075  (0 + 4) /*deltaCode*/,
7076  '-' /*letter*/,
7077  },
7078  // Rule Syria 2007 only - Mar lastFri 0:00 1:00 S
7079  {
7080  7 /*fromYearTiny*/,
7081  7 /*toYearTiny*/,
7082  3 /*inMonth*/,
7083  5 /*onDayOfWeek*/,
7084  0 /*onDayOfMonth*/,
7085  0 /*atTimeCode*/,
7086  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7087  (4 + 4) /*deltaCode*/,
7088  'S' /*letter*/,
7089  },
7090  // Rule Syria 2007 only - Nov Fri>=1 0:00 0 -
7091  {
7092  7 /*fromYearTiny*/,
7093  7 /*toYearTiny*/,
7094  11 /*inMonth*/,
7095  5 /*onDayOfWeek*/,
7096  1 /*onDayOfMonth*/,
7097  0 /*atTimeCode*/,
7098  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7099  (0 + 4) /*deltaCode*/,
7100  '-' /*letter*/,
7101  },
7102  // Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
7103  {
7104  8 /*fromYearTiny*/,
7105  8 /*toYearTiny*/,
7106  4 /*inMonth*/,
7107  5 /*onDayOfWeek*/,
7108  1 /*onDayOfMonth*/,
7109  0 /*atTimeCode*/,
7110  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7111  (4 + 4) /*deltaCode*/,
7112  'S' /*letter*/,
7113  },
7114  // Rule Syria 2008 only - Nov 1 0:00 0 -
7115  {
7116  8 /*fromYearTiny*/,
7117  8 /*toYearTiny*/,
7118  11 /*inMonth*/,
7119  0 /*onDayOfWeek*/,
7120  1 /*onDayOfMonth*/,
7121  0 /*atTimeCode*/,
7122  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7123  (0 + 4) /*deltaCode*/,
7124  '-' /*letter*/,
7125  },
7126  // Rule Syria 2009 only - Mar lastFri 0:00 1:00 S
7127  {
7128  9 /*fromYearTiny*/,
7129  9 /*toYearTiny*/,
7130  3 /*inMonth*/,
7131  5 /*onDayOfWeek*/,
7132  0 /*onDayOfMonth*/,
7133  0 /*atTimeCode*/,
7134  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7135  (4 + 4) /*deltaCode*/,
7136  'S' /*letter*/,
7137  },
7138  // Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
7139  {
7140  10 /*fromYearTiny*/,
7141  11 /*toYearTiny*/,
7142  4 /*inMonth*/,
7143  5 /*onDayOfWeek*/,
7144  1 /*onDayOfMonth*/,
7145  0 /*atTimeCode*/,
7146  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7147  (4 + 4) /*deltaCode*/,
7148  'S' /*letter*/,
7149  },
7150  // Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
7151  {
7152  12 /*fromYearTiny*/,
7153  126 /*toYearTiny*/,
7154  3 /*inMonth*/,
7155  5 /*onDayOfWeek*/,
7156  0 /*onDayOfMonth*/,
7157  0 /*atTimeCode*/,
7158  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7159  (4 + 4) /*deltaCode*/,
7160  'S' /*letter*/,
7161  },
7162  // Rule Syria 2009 max - Oct lastFri 0:00 0 -
7163  {
7164  9 /*fromYearTiny*/,
7165  126 /*toYearTiny*/,
7166  10 /*inMonth*/,
7167  5 /*onDayOfWeek*/,
7168  0 /*onDayOfMonth*/,
7169  0 /*atTimeCode*/,
7170  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7171  (0 + 4) /*deltaCode*/,
7172  '-' /*letter*/,
7173  },
7174 
7175 };
7176 
7177 
7178 
7179 const extended::ZonePolicy kPolicySyria ACE_TIME_PROGMEM = {
7180  kZoneRulesSyria /*rules*/,
7181  nullptr /* letters */,
7182  12 /*numRules*/,
7183  0 /* numLetters */,
7184 };
7185 
7186 //---------------------------------------------------------------------------
7187 // Policy name: Taiwan
7188 // Rules: 1
7189 // Memory (8-bit): 15
7190 // Memory (32-bit): 24
7191 //---------------------------------------------------------------------------
7192 
7193 static const extended::ZoneRule kZoneRulesTaiwan[] ACE_TIME_PROGMEM = {
7194  // Rule Taiwan 1979 only - Oct 1 0:00 0 S
7195  {
7196  -21 /*fromYearTiny*/,
7197  -21 /*toYearTiny*/,
7198  10 /*inMonth*/,
7199  0 /*onDayOfWeek*/,
7200  1 /*onDayOfMonth*/,
7201  0 /*atTimeCode*/,
7202  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7203  (0 + 4) /*deltaCode*/,
7204  'S' /*letter*/,
7205  },
7206 
7207 };
7208 
7209 
7210 
7211 const extended::ZonePolicy kPolicyTaiwan ACE_TIME_PROGMEM = {
7212  kZoneRulesTaiwan /*rules*/,
7213  nullptr /* letters */,
7214  1 /*numRules*/,
7215  0 /* numLetters */,
7216 };
7217 
7218 //---------------------------------------------------------------------------
7219 // Policy name: Thule
7220 // Rules: 5
7221 // Memory (8-bit): 51
7222 // Memory (32-bit): 72
7223 //---------------------------------------------------------------------------
7224 
7225 static const extended::ZoneRule kZoneRulesThule[] ACE_TIME_PROGMEM = {
7226  // Rule Thule 1991 1992 - Sep lastSun 2:00 0 S
7227  {
7228  -9 /*fromYearTiny*/,
7229  -8 /*toYearTiny*/,
7230  9 /*inMonth*/,
7231  7 /*onDayOfWeek*/,
7232  0 /*onDayOfMonth*/,
7233  8 /*atTimeCode*/,
7234  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7235  (0 + 4) /*deltaCode*/,
7236  'S' /*letter*/,
7237  },
7238  // Rule Thule 1993 2006 - Apr Sun>=1 2:00 1:00 D
7239  {
7240  -7 /*fromYearTiny*/,
7241  6 /*toYearTiny*/,
7242  4 /*inMonth*/,
7243  7 /*onDayOfWeek*/,
7244  1 /*onDayOfMonth*/,
7245  8 /*atTimeCode*/,
7246  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7247  (4 + 4) /*deltaCode*/,
7248  'D' /*letter*/,
7249  },
7250  // Rule Thule 1993 2006 - Oct lastSun 2:00 0 S
7251  {
7252  -7 /*fromYearTiny*/,
7253  6 /*toYearTiny*/,
7254  10 /*inMonth*/,
7255  7 /*onDayOfWeek*/,
7256  0 /*onDayOfMonth*/,
7257  8 /*atTimeCode*/,
7258  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7259  (0 + 4) /*deltaCode*/,
7260  'S' /*letter*/,
7261  },
7262  // Rule Thule 2007 max - Mar Sun>=8 2:00 1:00 D
7263  {
7264  7 /*fromYearTiny*/,
7265  126 /*toYearTiny*/,
7266  3 /*inMonth*/,
7267  7 /*onDayOfWeek*/,
7268  8 /*onDayOfMonth*/,
7269  8 /*atTimeCode*/,
7270  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7271  (4 + 4) /*deltaCode*/,
7272  'D' /*letter*/,
7273  },
7274  // Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
7275  {
7276  7 /*fromYearTiny*/,
7277  126 /*toYearTiny*/,
7278  11 /*inMonth*/,
7279  7 /*onDayOfWeek*/,
7280  1 /*onDayOfMonth*/,
7281  8 /*atTimeCode*/,
7282  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7283  (0 + 4) /*deltaCode*/,
7284  'S' /*letter*/,
7285  },
7286 
7287 };
7288 
7289 
7290 
7291 const extended::ZonePolicy kPolicyThule ACE_TIME_PROGMEM = {
7292  kZoneRulesThule /*rules*/,
7293  nullptr /* letters */,
7294  5 /*numRules*/,
7295  0 /* numLetters */,
7296 };
7297 
7298 //---------------------------------------------------------------------------
7299 // Policy name: Tonga
7300 // Rules: 7
7301 // Memory (8-bit): 69
7302 // Memory (32-bit): 96
7303 //---------------------------------------------------------------------------
7304 
7305 static const extended::ZoneRule kZoneRulesTonga[] ACE_TIME_PROGMEM = {
7306  // Anchor: Rule Tonga 2000 only - Mar 19 2:00s 0 -
7307  {
7308  -127 /*fromYearTiny*/,
7309  -127 /*toYearTiny*/,
7310  1 /*inMonth*/,
7311  0 /*onDayOfWeek*/,
7312  1 /*onDayOfMonth*/,
7313  0 /*atTimeCode*/,
7314  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7315  (0 + 4) /*deltaCode*/,
7316  '-' /*letter*/,
7317  },
7318  // Rule Tonga 1999 only - Oct 7 2:00s 1:00 -
7319  {
7320  -1 /*fromYearTiny*/,
7321  -1 /*toYearTiny*/,
7322  10 /*inMonth*/,
7323  0 /*onDayOfWeek*/,
7324  7 /*onDayOfMonth*/,
7325  8 /*atTimeCode*/,
7326  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7327  (4 + 4) /*deltaCode*/,
7328  '-' /*letter*/,
7329  },
7330  // Rule Tonga 2000 only - Mar 19 2:00s 0 -
7331  {
7332  0 /*fromYearTiny*/,
7333  0 /*toYearTiny*/,
7334  3 /*inMonth*/,
7335  0 /*onDayOfWeek*/,
7336  19 /*onDayOfMonth*/,
7337  8 /*atTimeCode*/,
7338  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7339  (0 + 4) /*deltaCode*/,
7340  '-' /*letter*/,
7341  },
7342  // Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 -
7343  {
7344  0 /*fromYearTiny*/,
7345  1 /*toYearTiny*/,
7346  11 /*inMonth*/,
7347  7 /*onDayOfWeek*/,
7348  1 /*onDayOfMonth*/,
7349  8 /*atTimeCode*/,
7350  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7351  (4 + 4) /*deltaCode*/,
7352  '-' /*letter*/,
7353  },
7354  // Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
7355  {
7356  1 /*fromYearTiny*/,
7357  2 /*toYearTiny*/,
7358  1 /*inMonth*/,
7359  7 /*onDayOfWeek*/,
7360  0 /*onDayOfMonth*/,
7361  8 /*atTimeCode*/,
7362  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7363  (0 + 4) /*deltaCode*/,
7364  '-' /*letter*/,
7365  },
7366  // Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
7367  {
7368  16 /*fromYearTiny*/,
7369  16 /*toYearTiny*/,
7370  11 /*inMonth*/,
7371  7 /*onDayOfWeek*/,
7372  1 /*onDayOfMonth*/,
7373  8 /*atTimeCode*/,
7374  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7375  (4 + 4) /*deltaCode*/,
7376  '-' /*letter*/,
7377  },
7378  // Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
7379  {
7380  17 /*fromYearTiny*/,
7381  17 /*toYearTiny*/,
7382  1 /*inMonth*/,
7383  7 /*onDayOfWeek*/,
7384  15 /*onDayOfMonth*/,
7385  12 /*atTimeCode*/,
7386  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7387  (0 + 4) /*deltaCode*/,
7388  '-' /*letter*/,
7389  },
7390 
7391 };
7392 
7393 
7394 
7395 const extended::ZonePolicy kPolicyTonga ACE_TIME_PROGMEM = {
7396  kZoneRulesTonga /*rules*/,
7397  nullptr /* letters */,
7398  7 /*numRules*/,
7399  0 /* numLetters */,
7400 };
7401 
7402 //---------------------------------------------------------------------------
7403 // Policy name: Troll
7404 // Rules: 3
7405 // Memory (8-bit): 45
7406 // Memory (32-bit): 64
7407 //---------------------------------------------------------------------------
7408 
7409 static const extended::ZoneRule kZoneRulesTroll[] ACE_TIME_PROGMEM = {
7410  // Anchor: Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
7411  {
7412  -127 /*fromYearTiny*/,
7413  -127 /*toYearTiny*/,
7414  1 /*inMonth*/,
7415  0 /*onDayOfWeek*/,
7416  1 /*onDayOfMonth*/,
7417  0 /*atTimeCode*/,
7418  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7419  (0 + 4) /*deltaCode*/,
7420  0 /*letter; "+00"*/,
7421  },
7422  // Rule Troll 2005 max - Mar lastSun 1:00u 2:00 +02
7423  {
7424  5 /*fromYearTiny*/,
7425  126 /*toYearTiny*/,
7426  3 /*inMonth*/,
7427  7 /*onDayOfWeek*/,
7428  0 /*onDayOfMonth*/,
7429  4 /*atTimeCode*/,
7430  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
7431  (8 + 4) /*deltaCode*/,
7432  1 /*letter; "+02"*/,
7433  },
7434  // Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
7435  {
7436  4 /*fromYearTiny*/,
7437  126 /*toYearTiny*/,
7438  10 /*inMonth*/,
7439  7 /*onDayOfWeek*/,
7440  0 /*onDayOfMonth*/,
7441  4 /*atTimeCode*/,
7442  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
7443  (0 + 4) /*deltaCode*/,
7444  0 /*letter; "+00"*/,
7445  },
7446 
7447 };
7448 
7449 static const char* const kLettersTroll[] ACE_TIME_PROGMEM = {
7450  /*0*/ "+00",
7451  /*1*/ "+02",
7452 
7453 };
7454 
7455 
7456 const extended::ZonePolicy kPolicyTroll ACE_TIME_PROGMEM = {
7457  kZoneRulesTroll /*rules*/,
7458  kLettersTroll /* letters */,
7459  3 /*numRules*/,
7460  2 /* numLetters */,
7461 };
7462 
7463 //---------------------------------------------------------------------------
7464 // Policy name: Tunisia
7465 // Rules: 5
7466 // Memory (8-bit): 51
7467 // Memory (32-bit): 72
7468 //---------------------------------------------------------------------------
7469 
7470 static const extended::ZoneRule kZoneRulesTunisia[] ACE_TIME_PROGMEM = {
7471  // Rule Tunisia 1988 1990 - Sep lastSun 0:00s 0 -
7472  {
7473  -12 /*fromYearTiny*/,
7474  -10 /*toYearTiny*/,
7475  9 /*inMonth*/,
7476  7 /*onDayOfWeek*/,
7477  0 /*onDayOfMonth*/,
7478  0 /*atTimeCode*/,
7479  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7480  (0 + 4) /*deltaCode*/,
7481  '-' /*letter*/,
7482  },
7483  // Rule Tunisia 2005 only - May 1 0:00s 1:00 S
7484  {
7485  5 /*fromYearTiny*/,
7486  5 /*toYearTiny*/,
7487  5 /*inMonth*/,
7488  0 /*onDayOfWeek*/,
7489  1 /*onDayOfMonth*/,
7490  0 /*atTimeCode*/,
7491  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7492  (4 + 4) /*deltaCode*/,
7493  'S' /*letter*/,
7494  },
7495  // Rule Tunisia 2005 only - Sep 30 1:00s 0 -
7496  {
7497  5 /*fromYearTiny*/,
7498  5 /*toYearTiny*/,
7499  9 /*inMonth*/,
7500  0 /*onDayOfWeek*/,
7501  30 /*onDayOfMonth*/,
7502  4 /*atTimeCode*/,
7503  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7504  (0 + 4) /*deltaCode*/,
7505  '-' /*letter*/,
7506  },
7507  // Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
7508  {
7509  6 /*fromYearTiny*/,
7510  8 /*toYearTiny*/,
7511  3 /*inMonth*/,
7512  7 /*onDayOfWeek*/,
7513  0 /*onDayOfMonth*/,
7514  8 /*atTimeCode*/,
7515  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7516  (4 + 4) /*deltaCode*/,
7517  'S' /*letter*/,
7518  },
7519  // Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
7520  {
7521  6 /*fromYearTiny*/,
7522  8 /*toYearTiny*/,
7523  10 /*inMonth*/,
7524  7 /*onDayOfWeek*/,
7525  0 /*onDayOfMonth*/,
7526  8 /*atTimeCode*/,
7527  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7528  (0 + 4) /*deltaCode*/,
7529  '-' /*letter*/,
7530  },
7531 
7532 };
7533 
7534 
7535 
7536 const extended::ZonePolicy kPolicyTunisia ACE_TIME_PROGMEM = {
7537  kZoneRulesTunisia /*rules*/,
7538  nullptr /* letters */,
7539  5 /*numRules*/,
7540  0 /* numLetters */,
7541 };
7542 
7543 //---------------------------------------------------------------------------
7544 // Policy name: Turkey
7545 // Rules: 3
7546 // Memory (8-bit): 33
7547 // Memory (32-bit): 48
7548 //---------------------------------------------------------------------------
7549 
7550 static const extended::ZoneRule kZoneRulesTurkey[] ACE_TIME_PROGMEM = {
7551  // Rule Turkey 1986 1995 - Sep lastSun 1:00s 0 -
7552  {
7553  -14 /*fromYearTiny*/,
7554  -5 /*toYearTiny*/,
7555  9 /*inMonth*/,
7556  7 /*onDayOfWeek*/,
7557  0 /*onDayOfMonth*/,
7558  4 /*atTimeCode*/,
7559  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7560  (0 + 4) /*deltaCode*/,
7561  '-' /*letter*/,
7562  },
7563  // Rule Turkey 1995 2006 - Mar lastSun 1:00s 1:00 S
7564  {
7565  -5 /*fromYearTiny*/,
7566  6 /*toYearTiny*/,
7567  3 /*inMonth*/,
7568  7 /*onDayOfWeek*/,
7569  0 /*onDayOfMonth*/,
7570  4 /*atTimeCode*/,
7571  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7572  (4 + 4) /*deltaCode*/,
7573  'S' /*letter*/,
7574  },
7575  // Rule Turkey 1996 2006 - Oct lastSun 1:00s 0 -
7576  {
7577  -4 /*fromYearTiny*/,
7578  6 /*toYearTiny*/,
7579  10 /*inMonth*/,
7580  7 /*onDayOfWeek*/,
7581  0 /*onDayOfMonth*/,
7582  4 /*atTimeCode*/,
7583  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7584  (0 + 4) /*deltaCode*/,
7585  '-' /*letter*/,
7586  },
7587 
7588 };
7589 
7590 
7591 
7592 const extended::ZonePolicy kPolicyTurkey ACE_TIME_PROGMEM = {
7593  kZoneRulesTurkey /*rules*/,
7594  nullptr /* letters */,
7595  3 /*numRules*/,
7596  0 /* numLetters */,
7597 };
7598 
7599 //---------------------------------------------------------------------------
7600 // Policy name: US
7601 // Rules: 5
7602 // Memory (8-bit): 51
7603 // Memory (32-bit): 72
7604 //---------------------------------------------------------------------------
7605 
7606 static const extended::ZoneRule kZoneRulesUS[] ACE_TIME_PROGMEM = {
7607  // Rule US 1967 2006 - Oct lastSun 2:00 0 S
7608  {
7609  -33 /*fromYearTiny*/,
7610  6 /*toYearTiny*/,
7611  10 /*inMonth*/,
7612  7 /*onDayOfWeek*/,
7613  0 /*onDayOfMonth*/,
7614  8 /*atTimeCode*/,
7615  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7616  (0 + 4) /*deltaCode*/,
7617  'S' /*letter*/,
7618  },
7619  // Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
7620  {
7621  -24 /*fromYearTiny*/,
7622  -14 /*toYearTiny*/,
7623  4 /*inMonth*/,
7624  7 /*onDayOfWeek*/,
7625  0 /*onDayOfMonth*/,
7626  8 /*atTimeCode*/,
7627  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7628  (4 + 4) /*deltaCode*/,
7629  'D' /*letter*/,
7630  },
7631  // Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
7632  {
7633  -13 /*fromYearTiny*/,
7634  6 /*toYearTiny*/,
7635  4 /*inMonth*/,
7636  7 /*onDayOfWeek*/,
7637  1 /*onDayOfMonth*/,
7638  8 /*atTimeCode*/,
7639  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7640  (4 + 4) /*deltaCode*/,
7641  'D' /*letter*/,
7642  },
7643  // Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
7644  {
7645  7 /*fromYearTiny*/,
7646  126 /*toYearTiny*/,
7647  3 /*inMonth*/,
7648  7 /*onDayOfWeek*/,
7649  8 /*onDayOfMonth*/,
7650  8 /*atTimeCode*/,
7651  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7652  (4 + 4) /*deltaCode*/,
7653  'D' /*letter*/,
7654  },
7655  // Rule US 2007 max - Nov Sun>=1 2:00 0 S
7656  {
7657  7 /*fromYearTiny*/,
7658  126 /*toYearTiny*/,
7659  11 /*inMonth*/,
7660  7 /*onDayOfWeek*/,
7661  1 /*onDayOfMonth*/,
7662  8 /*atTimeCode*/,
7663  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7664  (0 + 4) /*deltaCode*/,
7665  'S' /*letter*/,
7666  },
7667 
7668 };
7669 
7670 
7671 
7672 const extended::ZonePolicy kPolicyUS ACE_TIME_PROGMEM = {
7673  kZoneRulesUS /*rules*/,
7674  nullptr /* letters */,
7675  5 /*numRules*/,
7676  0 /* numLetters */,
7677 };
7678 
7679 //---------------------------------------------------------------------------
7680 // Policy name: Uruguay
7681 // Rules: 6
7682 // Memory (8-bit): 60
7683 // Memory (32-bit): 84
7684 //---------------------------------------------------------------------------
7685 
7686 static const extended::ZoneRule kZoneRulesUruguay[] ACE_TIME_PROGMEM = {
7687  // Rule Uruguay 1993 only - Feb 28 0:00 0 -
7688  {
7689  -7 /*fromYearTiny*/,
7690  -7 /*toYearTiny*/,
7691  2 /*inMonth*/,
7692  0 /*onDayOfWeek*/,
7693  28 /*onDayOfMonth*/,
7694  0 /*atTimeCode*/,
7695  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7696  (0 + 4) /*deltaCode*/,
7697  '-' /*letter*/,
7698  },
7699  // Rule Uruguay 2004 only - Sep 19 0:00 1:00 -
7700  {
7701  4 /*fromYearTiny*/,
7702  4 /*toYearTiny*/,
7703  9 /*inMonth*/,
7704  0 /*onDayOfWeek*/,
7705  19 /*onDayOfMonth*/,
7706  0 /*atTimeCode*/,
7707  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7708  (4 + 4) /*deltaCode*/,
7709  '-' /*letter*/,
7710  },
7711  // Rule Uruguay 2005 only - Mar 27 2:00 0 -
7712  {
7713  5 /*fromYearTiny*/,
7714  5 /*toYearTiny*/,
7715  3 /*inMonth*/,
7716  0 /*onDayOfWeek*/,
7717  27 /*onDayOfMonth*/,
7718  8 /*atTimeCode*/,
7719  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7720  (0 + 4) /*deltaCode*/,
7721  '-' /*letter*/,
7722  },
7723  // Rule Uruguay 2005 only - Oct 9 2:00 1:00 -
7724  {
7725  5 /*fromYearTiny*/,
7726  5 /*toYearTiny*/,
7727  10 /*inMonth*/,
7728  0 /*onDayOfWeek*/,
7729  9 /*onDayOfMonth*/,
7730  8 /*atTimeCode*/,
7731  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7732  (4 + 4) /*deltaCode*/,
7733  '-' /*letter*/,
7734  },
7735  // Rule Uruguay 2006 2015 - Mar Sun>=8 2:00 0 -
7736  {
7737  6 /*fromYearTiny*/,
7738  15 /*toYearTiny*/,
7739  3 /*inMonth*/,
7740  7 /*onDayOfWeek*/,
7741  8 /*onDayOfMonth*/,
7742  8 /*atTimeCode*/,
7743  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7744  (0 + 4) /*deltaCode*/,
7745  '-' /*letter*/,
7746  },
7747  // Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 -
7748  {
7749  6 /*fromYearTiny*/,
7750  14 /*toYearTiny*/,
7751  10 /*inMonth*/,
7752  7 /*onDayOfWeek*/,
7753  1 /*onDayOfMonth*/,
7754  8 /*atTimeCode*/,
7755  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7756  (4 + 4) /*deltaCode*/,
7757  '-' /*letter*/,
7758  },
7759 
7760 };
7761 
7762 
7763 
7764 const extended::ZonePolicy kPolicyUruguay ACE_TIME_PROGMEM = {
7765  kZoneRulesUruguay /*rules*/,
7766  nullptr /* letters */,
7767  6 /*numRules*/,
7768  0 /* numLetters */,
7769 };
7770 
7771 //---------------------------------------------------------------------------
7772 // Policy name: Vanuatu
7773 // Rules: 1
7774 // Memory (8-bit): 15
7775 // Memory (32-bit): 24
7776 //---------------------------------------------------------------------------
7777 
7778 static const extended::ZoneRule kZoneRulesVanuatu[] ACE_TIME_PROGMEM = {
7779  // Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
7780  {
7781  -8 /*fromYearTiny*/,
7782  -7 /*toYearTiny*/,
7783  1 /*inMonth*/,
7784  7 /*onDayOfWeek*/,
7785  23 /*onDayOfMonth*/,
7786  0 /*atTimeCode*/,
7787  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7788  (0 + 4) /*deltaCode*/,
7789  '-' /*letter*/,
7790  },
7791 
7792 };
7793 
7794 
7795 
7796 const extended::ZonePolicy kPolicyVanuatu ACE_TIME_PROGMEM = {
7797  kZoneRulesVanuatu /*rules*/,
7798  nullptr /* letters */,
7799  1 /*numRules*/,
7800  0 /* numLetters */,
7801 };
7802 
7803 //---------------------------------------------------------------------------
7804 // Policy name: WS
7805 // Rules: 6
7806 // Memory (8-bit): 60
7807 // Memory (32-bit): 84
7808 //---------------------------------------------------------------------------
7809 
7810 static const extended::ZoneRule kZoneRulesWS[] ACE_TIME_PROGMEM = {
7811  // Anchor: Rule WS 2011 only - Apr Sat>=1 4:00 0 -
7812  {
7813  -127 /*fromYearTiny*/,
7814  -127 /*toYearTiny*/,
7815  1 /*inMonth*/,
7816  0 /*onDayOfWeek*/,
7817  1 /*onDayOfMonth*/,
7818  0 /*atTimeCode*/,
7819  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7820  (0 + 4) /*deltaCode*/,
7821  '-' /*letter*/,
7822  },
7823  // Rule WS 2010 only - Sep lastSun 0:00 1 -
7824  {
7825  10 /*fromYearTiny*/,
7826  10 /*toYearTiny*/,
7827  9 /*inMonth*/,
7828  7 /*onDayOfWeek*/,
7829  0 /*onDayOfMonth*/,
7830  0 /*atTimeCode*/,
7831  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7832  (4 + 4) /*deltaCode*/,
7833  '-' /*letter*/,
7834  },
7835  // Rule WS 2011 only - Apr Sat>=1 4:00 0 -
7836  {
7837  11 /*fromYearTiny*/,
7838  11 /*toYearTiny*/,
7839  4 /*inMonth*/,
7840  6 /*onDayOfWeek*/,
7841  1 /*onDayOfMonth*/,
7842  16 /*atTimeCode*/,
7843  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7844  (0 + 4) /*deltaCode*/,
7845  '-' /*letter*/,
7846  },
7847  // Rule WS 2011 only - Sep lastSat 3:00 1 -
7848  {
7849  11 /*fromYearTiny*/,
7850  11 /*toYearTiny*/,
7851  9 /*inMonth*/,
7852  6 /*onDayOfWeek*/,
7853  0 /*onDayOfMonth*/,
7854  12 /*atTimeCode*/,
7855  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7856  (4 + 4) /*deltaCode*/,
7857  '-' /*letter*/,
7858  },
7859  // Rule WS 2012 max - Apr Sun>=1 4:00 0 -
7860  {
7861  12 /*fromYearTiny*/,
7862  126 /*toYearTiny*/,
7863  4 /*inMonth*/,
7864  7 /*onDayOfWeek*/,
7865  1 /*onDayOfMonth*/,
7866  16 /*atTimeCode*/,
7867  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7868  (0 + 4) /*deltaCode*/,
7869  '-' /*letter*/,
7870  },
7871  // Rule WS 2012 max - Sep lastSun 3:00 1 -
7872  {
7873  12 /*fromYearTiny*/,
7874  126 /*toYearTiny*/,
7875  9 /*inMonth*/,
7876  7 /*onDayOfWeek*/,
7877  0 /*onDayOfMonth*/,
7878  12 /*atTimeCode*/,
7879  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7880  (4 + 4) /*deltaCode*/,
7881  '-' /*letter*/,
7882  },
7883 
7884 };
7885 
7886 
7887 
7888 const extended::ZonePolicy kPolicyWS ACE_TIME_PROGMEM = {
7889  kZoneRulesWS /*rules*/,
7890  nullptr /* letters */,
7891  6 /*numRules*/,
7892  0 /* numLetters */,
7893 };
7894 
7895 //---------------------------------------------------------------------------
7896 // Policy name: Winn
7897 // Rules: 3
7898 // Memory (8-bit): 33
7899 // Memory (32-bit): 48
7900 //---------------------------------------------------------------------------
7901 
7902 static const extended::ZoneRule kZoneRulesWinn[] ACE_TIME_PROGMEM = {
7903  // Rule Winn 1966 1986 - Apr lastSun 2:00s 1:00 D
7904  {
7905  -34 /*fromYearTiny*/,
7906  -14 /*toYearTiny*/,
7907  4 /*inMonth*/,
7908  7 /*onDayOfWeek*/,
7909  0 /*onDayOfMonth*/,
7910  8 /*atTimeCode*/,
7911  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7912  (4 + 4) /*deltaCode*/,
7913  'D' /*letter*/,
7914  },
7915  // Rule Winn 1966 2005 - Oct lastSun 2:00s 0 S
7916  {
7917  -34 /*fromYearTiny*/,
7918  5 /*toYearTiny*/,
7919  10 /*inMonth*/,
7920  7 /*onDayOfWeek*/,
7921  0 /*onDayOfMonth*/,
7922  8 /*atTimeCode*/,
7923  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7924  (0 + 4) /*deltaCode*/,
7925  'S' /*letter*/,
7926  },
7927  // Rule Winn 1987 2005 - Apr Sun>=1 2:00s 1:00 D
7928  {
7929  -13 /*fromYearTiny*/,
7930  5 /*toYearTiny*/,
7931  4 /*inMonth*/,
7932  7 /*onDayOfWeek*/,
7933  1 /*onDayOfMonth*/,
7934  8 /*atTimeCode*/,
7935  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
7936  (4 + 4) /*deltaCode*/,
7937  'D' /*letter*/,
7938  },
7939 
7940 };
7941 
7942 
7943 
7944 const extended::ZonePolicy kPolicyWinn ACE_TIME_PROGMEM = {
7945  kZoneRulesWinn /*rules*/,
7946  nullptr /* letters */,
7947  3 /*numRules*/,
7948  0 /* numLetters */,
7949 };
7950 
7951 //---------------------------------------------------------------------------
7952 // Policy name: Zion
7953 // Rules: 24
7954 // Memory (8-bit): 222
7955 // Memory (32-bit): 300
7956 //---------------------------------------------------------------------------
7957 
7958 static const extended::ZoneRule kZoneRulesZion[] ACE_TIME_PROGMEM = {
7959  // Rule Zion 1998 only - Sep 6 0:00 0 S
7960  {
7961  -2 /*fromYearTiny*/,
7962  -2 /*toYearTiny*/,
7963  9 /*inMonth*/,
7964  0 /*onDayOfWeek*/,
7965  6 /*onDayOfMonth*/,
7966  0 /*atTimeCode*/,
7967  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7968  (0 + 4) /*deltaCode*/,
7969  'S' /*letter*/,
7970  },
7971  // Rule Zion 1999 only - Apr 2 2:00 1:00 D
7972  {
7973  -1 /*fromYearTiny*/,
7974  -1 /*toYearTiny*/,
7975  4 /*inMonth*/,
7976  0 /*onDayOfWeek*/,
7977  2 /*onDayOfMonth*/,
7978  8 /*atTimeCode*/,
7979  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7980  (4 + 4) /*deltaCode*/,
7981  'D' /*letter*/,
7982  },
7983  // Rule Zion 1999 only - Sep 3 2:00 0 S
7984  {
7985  -1 /*fromYearTiny*/,
7986  -1 /*toYearTiny*/,
7987  9 /*inMonth*/,
7988  0 /*onDayOfWeek*/,
7989  3 /*onDayOfMonth*/,
7990  8 /*atTimeCode*/,
7991  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
7992  (0 + 4) /*deltaCode*/,
7993  'S' /*letter*/,
7994  },
7995  // Rule Zion 2000 only - Apr 14 2:00 1:00 D
7996  {
7997  0 /*fromYearTiny*/,
7998  0 /*toYearTiny*/,
7999  4 /*inMonth*/,
8000  0 /*onDayOfWeek*/,
8001  14 /*onDayOfMonth*/,
8002  8 /*atTimeCode*/,
8003  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8004  (4 + 4) /*deltaCode*/,
8005  'D' /*letter*/,
8006  },
8007  // Rule Zion 2000 only - Oct 6 1:00 0 S
8008  {
8009  0 /*fromYearTiny*/,
8010  0 /*toYearTiny*/,
8011  10 /*inMonth*/,
8012  0 /*onDayOfWeek*/,
8013  6 /*onDayOfMonth*/,
8014  4 /*atTimeCode*/,
8015  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8016  (0 + 4) /*deltaCode*/,
8017  'S' /*letter*/,
8018  },
8019  // Rule Zion 2001 only - Apr 9 1:00 1:00 D
8020  {
8021  1 /*fromYearTiny*/,
8022  1 /*toYearTiny*/,
8023  4 /*inMonth*/,
8024  0 /*onDayOfWeek*/,
8025  9 /*onDayOfMonth*/,
8026  4 /*atTimeCode*/,
8027  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8028  (4 + 4) /*deltaCode*/,
8029  'D' /*letter*/,
8030  },
8031  // Rule Zion 2001 only - Sep 24 1:00 0 S
8032  {
8033  1 /*fromYearTiny*/,
8034  1 /*toYearTiny*/,
8035  9 /*inMonth*/,
8036  0 /*onDayOfWeek*/,
8037  24 /*onDayOfMonth*/,
8038  4 /*atTimeCode*/,
8039  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8040  (0 + 4) /*deltaCode*/,
8041  'S' /*letter*/,
8042  },
8043  // Rule Zion 2002 only - Mar 29 1:00 1:00 D
8044  {
8045  2 /*fromYearTiny*/,
8046  2 /*toYearTiny*/,
8047  3 /*inMonth*/,
8048  0 /*onDayOfWeek*/,
8049  29 /*onDayOfMonth*/,
8050  4 /*atTimeCode*/,
8051  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8052  (4 + 4) /*deltaCode*/,
8053  'D' /*letter*/,
8054  },
8055  // Rule Zion 2002 only - Oct 7 1:00 0 S
8056  {
8057  2 /*fromYearTiny*/,
8058  2 /*toYearTiny*/,
8059  10 /*inMonth*/,
8060  0 /*onDayOfWeek*/,
8061  7 /*onDayOfMonth*/,
8062  4 /*atTimeCode*/,
8063  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8064  (0 + 4) /*deltaCode*/,
8065  'S' /*letter*/,
8066  },
8067  // Rule Zion 2003 only - Mar 28 1:00 1:00 D
8068  {
8069  3 /*fromYearTiny*/,
8070  3 /*toYearTiny*/,
8071  3 /*inMonth*/,
8072  0 /*onDayOfWeek*/,
8073  28 /*onDayOfMonth*/,
8074  4 /*atTimeCode*/,
8075  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8076  (4 + 4) /*deltaCode*/,
8077  'D' /*letter*/,
8078  },
8079  // Rule Zion 2003 only - Oct 3 1:00 0 S
8080  {
8081  3 /*fromYearTiny*/,
8082  3 /*toYearTiny*/,
8083  10 /*inMonth*/,
8084  0 /*onDayOfWeek*/,
8085  3 /*onDayOfMonth*/,
8086  4 /*atTimeCode*/,
8087  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8088  (0 + 4) /*deltaCode*/,
8089  'S' /*letter*/,
8090  },
8091  // Rule Zion 2004 only - Apr 7 1:00 1:00 D
8092  {
8093  4 /*fromYearTiny*/,
8094  4 /*toYearTiny*/,
8095  4 /*inMonth*/,
8096  0 /*onDayOfWeek*/,
8097  7 /*onDayOfMonth*/,
8098  4 /*atTimeCode*/,
8099  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8100  (4 + 4) /*deltaCode*/,
8101  'D' /*letter*/,
8102  },
8103  // Rule Zion 2004 only - Sep 22 1:00 0 S
8104  {
8105  4 /*fromYearTiny*/,
8106  4 /*toYearTiny*/,
8107  9 /*inMonth*/,
8108  0 /*onDayOfWeek*/,
8109  22 /*onDayOfMonth*/,
8110  4 /*atTimeCode*/,
8111  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8112  (0 + 4) /*deltaCode*/,
8113  'S' /*letter*/,
8114  },
8115  // Rule Zion 2005 2012 - Apr Fri<=1 2:00 1:00 D
8116  {
8117  5 /*fromYearTiny*/,
8118  12 /*toYearTiny*/,
8119  4 /*inMonth*/,
8120  5 /*onDayOfWeek*/,
8121  -1 /*onDayOfMonth*/,
8122  8 /*atTimeCode*/,
8123  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8124  (4 + 4) /*deltaCode*/,
8125  'D' /*letter*/,
8126  },
8127  // Rule Zion 2005 only - Oct 9 2:00 0 S
8128  {
8129  5 /*fromYearTiny*/,
8130  5 /*toYearTiny*/,
8131  10 /*inMonth*/,
8132  0 /*onDayOfWeek*/,
8133  9 /*onDayOfMonth*/,
8134  8 /*atTimeCode*/,
8135  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8136  (0 + 4) /*deltaCode*/,
8137  'S' /*letter*/,
8138  },
8139  // Rule Zion 2006 only - Oct 1 2:00 0 S
8140  {
8141  6 /*fromYearTiny*/,
8142  6 /*toYearTiny*/,
8143  10 /*inMonth*/,
8144  0 /*onDayOfWeek*/,
8145  1 /*onDayOfMonth*/,
8146  8 /*atTimeCode*/,
8147  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8148  (0 + 4) /*deltaCode*/,
8149  'S' /*letter*/,
8150  },
8151  // Rule Zion 2007 only - Sep 16 2:00 0 S
8152  {
8153  7 /*fromYearTiny*/,
8154  7 /*toYearTiny*/,
8155  9 /*inMonth*/,
8156  0 /*onDayOfWeek*/,
8157  16 /*onDayOfMonth*/,
8158  8 /*atTimeCode*/,
8159  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8160  (0 + 4) /*deltaCode*/,
8161  'S' /*letter*/,
8162  },
8163  // Rule Zion 2008 only - Oct 5 2:00 0 S
8164  {
8165  8 /*fromYearTiny*/,
8166  8 /*toYearTiny*/,
8167  10 /*inMonth*/,
8168  0 /*onDayOfWeek*/,
8169  5 /*onDayOfMonth*/,
8170  8 /*atTimeCode*/,
8171  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8172  (0 + 4) /*deltaCode*/,
8173  'S' /*letter*/,
8174  },
8175  // Rule Zion 2009 only - Sep 27 2:00 0 S
8176  {
8177  9 /*fromYearTiny*/,
8178  9 /*toYearTiny*/,
8179  9 /*inMonth*/,
8180  0 /*onDayOfWeek*/,
8181  27 /*onDayOfMonth*/,
8182  8 /*atTimeCode*/,
8183  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8184  (0 + 4) /*deltaCode*/,
8185  'S' /*letter*/,
8186  },
8187  // Rule Zion 2010 only - Sep 12 2:00 0 S
8188  {
8189  10 /*fromYearTiny*/,
8190  10 /*toYearTiny*/,
8191  9 /*inMonth*/,
8192  0 /*onDayOfWeek*/,
8193  12 /*onDayOfMonth*/,
8194  8 /*atTimeCode*/,
8195  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8196  (0 + 4) /*deltaCode*/,
8197  'S' /*letter*/,
8198  },
8199  // Rule Zion 2011 only - Oct 2 2:00 0 S
8200  {
8201  11 /*fromYearTiny*/,
8202  11 /*toYearTiny*/,
8203  10 /*inMonth*/,
8204  0 /*onDayOfWeek*/,
8205  2 /*onDayOfMonth*/,
8206  8 /*atTimeCode*/,
8207  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8208  (0 + 4) /*deltaCode*/,
8209  'S' /*letter*/,
8210  },
8211  // Rule Zion 2012 only - Sep 23 2:00 0 S
8212  {
8213  12 /*fromYearTiny*/,
8214  12 /*toYearTiny*/,
8215  9 /*inMonth*/,
8216  0 /*onDayOfWeek*/,
8217  23 /*onDayOfMonth*/,
8218  8 /*atTimeCode*/,
8219  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8220  (0 + 4) /*deltaCode*/,
8221  'S' /*letter*/,
8222  },
8223  // Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D
8224  {
8225  13 /*fromYearTiny*/,
8226  126 /*toYearTiny*/,
8227  3 /*inMonth*/,
8228  5 /*onDayOfWeek*/,
8229  23 /*onDayOfMonth*/,
8230  8 /*atTimeCode*/,
8231  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8232  (4 + 4) /*deltaCode*/,
8233  'D' /*letter*/,
8234  },
8235  // Rule Zion 2013 max - Oct lastSun 2:00 0 S
8236  {
8237  13 /*fromYearTiny*/,
8238  126 /*toYearTiny*/,
8239  10 /*inMonth*/,
8240  7 /*onDayOfWeek*/,
8241  0 /*onDayOfMonth*/,
8242  8 /*atTimeCode*/,
8243  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
8244  (0 + 4) /*deltaCode*/,
8245  'S' /*letter*/,
8246  },
8247 
8248 };
8249 
8250 
8251 
8252 const extended::ZonePolicy kPolicyZion ACE_TIME_PROGMEM = {
8253  kZoneRulesZion /*rules*/,
8254  nullptr /* letters */,
8255  24 /*numRules*/,
8256  0 /* numLetters */,
8257 };
8258 
8259 
8260 
8261 }
8262 }
static const uint8_t kSuffixS
Represents &#39;s&#39; or standard time.
Definition: ZoneContext.h:16
- -
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
-
static const uint8_t kSuffixW
Represents &#39;w&#39; or wall time.
Definition: ZoneContext.h:13
-
static const uint8_t kSuffixU
Represents &#39;u&#39; or UTC time.
Definition: ZoneContext.h:19
+
1 // This file was generated by the following script:
+
2 //
+
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
+
4 //
+
5 // using the TZ Database files from
+
6 // https://github.com/eggert/tz/releases/tag/2020c
+
7 //
+
8 // Policies: 84
+
9 // Rules: 547
+
10 // Memory (8-bit): 5462
+
11 // Memory (32-bit): 7651
+
12 //
+
13 // DO NOT EDIT
+
14 
+
15 #include <ace_time/common/compat.h>
+
16 #include "zone_policies.h"
+
17 
+
18 namespace ace_time {
+
19 namespace zonedbx {
+
20 
+
21 //---------------------------------------------------------------------------
+
22 // Policy name: AN
+
23 // Rules: 9
+
24 // Memory (8-bit): 87
+
25 // Memory (32-bit): 120
+
26 //---------------------------------------------------------------------------
+
27 
+
28 static const extended::ZoneRule kZoneRulesAN[] ACE_TIME_PROGMEM = {
+
29  // Rule AN 1987 1999 - Oct lastSun 2:00s 1:00 D
+
30  {
+
31  -13 /*fromYearTiny*/,
+
32  -1 /*toYearTiny*/,
+
33  10 /*inMonth*/,
+
34  7 /*onDayOfWeek*/,
+
35  0 /*onDayOfMonth*/,
+
36  8 /*atTimeCode*/,
+
37  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
38  (4 + 4) /*deltaCode*/,
+
39  'D' /*letter*/,
+
40  },
+
41  // Rule AN 1990 1995 - Mar Sun>=1 2:00s 0 S
+
42  {
+
43  -10 /*fromYearTiny*/,
+
44  -5 /*toYearTiny*/,
+
45  3 /*inMonth*/,
+
46  7 /*onDayOfWeek*/,
+
47  1 /*onDayOfMonth*/,
+
48  8 /*atTimeCode*/,
+
49  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
50  (0 + 4) /*deltaCode*/,
+
51  'S' /*letter*/,
+
52  },
+
53  // Rule AN 1996 2005 - Mar lastSun 2:00s 0 S
+
54  {
+
55  -4 /*fromYearTiny*/,
+
56  5 /*toYearTiny*/,
+
57  3 /*inMonth*/,
+
58  7 /*onDayOfWeek*/,
+
59  0 /*onDayOfMonth*/,
+
60  8 /*atTimeCode*/,
+
61  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
62  (0 + 4) /*deltaCode*/,
+
63  'S' /*letter*/,
+
64  },
+
65  // Rule AN 2000 only - Aug lastSun 2:00s 1:00 D
+
66  {
+
67  0 /*fromYearTiny*/,
+
68  0 /*toYearTiny*/,
+
69  8 /*inMonth*/,
+
70  7 /*onDayOfWeek*/,
+
71  0 /*onDayOfMonth*/,
+
72  8 /*atTimeCode*/,
+
73  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
74  (4 + 4) /*deltaCode*/,
+
75  'D' /*letter*/,
+
76  },
+
77  // Rule AN 2001 2007 - Oct lastSun 2:00s 1:00 D
+
78  {
+
79  1 /*fromYearTiny*/,
+
80  7 /*toYearTiny*/,
+
81  10 /*inMonth*/,
+
82  7 /*onDayOfWeek*/,
+
83  0 /*onDayOfMonth*/,
+
84  8 /*atTimeCode*/,
+
85  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
86  (4 + 4) /*deltaCode*/,
+
87  'D' /*letter*/,
+
88  },
+
89  // Rule AN 2006 only - Apr Sun>=1 2:00s 0 S
+
90  {
+
91  6 /*fromYearTiny*/,
+
92  6 /*toYearTiny*/,
+
93  4 /*inMonth*/,
+
94  7 /*onDayOfWeek*/,
+
95  1 /*onDayOfMonth*/,
+
96  8 /*atTimeCode*/,
+
97  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
98  (0 + 4) /*deltaCode*/,
+
99  'S' /*letter*/,
+
100  },
+
101  // Rule AN 2007 only - Mar lastSun 2:00s 0 S
+
102  {
+
103  7 /*fromYearTiny*/,
+
104  7 /*toYearTiny*/,
+
105  3 /*inMonth*/,
+
106  7 /*onDayOfWeek*/,
+
107  0 /*onDayOfMonth*/,
+
108  8 /*atTimeCode*/,
+
109  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
110  (0 + 4) /*deltaCode*/,
+
111  'S' /*letter*/,
+
112  },
+
113  // Rule AN 2008 max - Apr Sun>=1 2:00s 0 S
+
114  {
+
115  8 /*fromYearTiny*/,
+
116  126 /*toYearTiny*/,
+
117  4 /*inMonth*/,
+
118  7 /*onDayOfWeek*/,
+
119  1 /*onDayOfMonth*/,
+
120  8 /*atTimeCode*/,
+
121  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
122  (0 + 4) /*deltaCode*/,
+
123  'S' /*letter*/,
+
124  },
+
125  // Rule AN 2008 max - Oct Sun>=1 2:00s 1:00 D
+
126  {
+
127  8 /*fromYearTiny*/,
+
128  126 /*toYearTiny*/,
+
129  10 /*inMonth*/,
+
130  7 /*onDayOfWeek*/,
+
131  1 /*onDayOfMonth*/,
+
132  8 /*atTimeCode*/,
+
133  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
134  (4 + 4) /*deltaCode*/,
+
135  'D' /*letter*/,
+
136  },
+
137 
+
138 };
+
139 
+
140 
+
141 
+
142 const extended::ZonePolicy kPolicyAN ACE_TIME_PROGMEM = {
+
143  kZoneRulesAN /*rules*/,
+
144  nullptr /* letters */,
+
145  9 /*numRules*/,
+
146  0 /* numLetters */,
+
147 };
+
148 
+
149 //---------------------------------------------------------------------------
+
150 // Policy name: AQ
+
151 // Rules: 1
+
152 // Memory (8-bit): 15
+
153 // Memory (32-bit): 24
+
154 //---------------------------------------------------------------------------
+
155 
+
156 static const extended::ZoneRule kZoneRulesAQ[] ACE_TIME_PROGMEM = {
+
157  // Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 S
+
158  {
+
159  -10 /*fromYearTiny*/,
+
160  -8 /*toYearTiny*/,
+
161  3 /*inMonth*/,
+
162  7 /*onDayOfWeek*/,
+
163  1 /*onDayOfMonth*/,
+
164  8 /*atTimeCode*/,
+
165  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
166  (0 + 4) /*deltaCode*/,
+
167  'S' /*letter*/,
+
168  },
+
169 
+
170 };
+
171 
+
172 
+
173 
+
174 const extended::ZonePolicy kPolicyAQ ACE_TIME_PROGMEM = {
+
175  kZoneRulesAQ /*rules*/,
+
176  nullptr /* letters */,
+
177  1 /*numRules*/,
+
178  0 /* numLetters */,
+
179 };
+
180 
+
181 //---------------------------------------------------------------------------
+
182 // Policy name: AS
+
183 // Rules: 7
+
184 // Memory (8-bit): 69
+
185 // Memory (32-bit): 96
+
186 //---------------------------------------------------------------------------
+
187 
+
188 static const extended::ZoneRule kZoneRulesAS[] ACE_TIME_PROGMEM = {
+
189  // Rule AS 1987 2007 - Oct lastSun 2:00s 1:00 D
+
190  {
+
191  -13 /*fromYearTiny*/,
+
192  7 /*toYearTiny*/,
+
193  10 /*inMonth*/,
+
194  7 /*onDayOfWeek*/,
+
195  0 /*onDayOfMonth*/,
+
196  8 /*atTimeCode*/,
+
197  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
198  (4 + 4) /*deltaCode*/,
+
199  'D' /*letter*/,
+
200  },
+
201  // Rule AS 1994 only - Mar 20 2:00s 0 S
+
202  {
+
203  -6 /*fromYearTiny*/,
+
204  -6 /*toYearTiny*/,
+
205  3 /*inMonth*/,
+
206  0 /*onDayOfWeek*/,
+
207  20 /*onDayOfMonth*/,
+
208  8 /*atTimeCode*/,
+
209  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
210  (0 + 4) /*deltaCode*/,
+
211  'S' /*letter*/,
+
212  },
+
213  // Rule AS 1995 2005 - Mar lastSun 2:00s 0 S
+
214  {
+
215  -5 /*fromYearTiny*/,
+
216  5 /*toYearTiny*/,
+
217  3 /*inMonth*/,
+
218  7 /*onDayOfWeek*/,
+
219  0 /*onDayOfMonth*/,
+
220  8 /*atTimeCode*/,
+
221  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
222  (0 + 4) /*deltaCode*/,
+
223  'S' /*letter*/,
+
224  },
+
225  // Rule AS 2006 only - Apr 2 2:00s 0 S
+
226  {
+
227  6 /*fromYearTiny*/,
+
228  6 /*toYearTiny*/,
+
229  4 /*inMonth*/,
+
230  0 /*onDayOfWeek*/,
+
231  2 /*onDayOfMonth*/,
+
232  8 /*atTimeCode*/,
+
233  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
234  (0 + 4) /*deltaCode*/,
+
235  'S' /*letter*/,
+
236  },
+
237  // Rule AS 2007 only - Mar lastSun 2:00s 0 S
+
238  {
+
239  7 /*fromYearTiny*/,
+
240  7 /*toYearTiny*/,
+
241  3 /*inMonth*/,
+
242  7 /*onDayOfWeek*/,
+
243  0 /*onDayOfMonth*/,
+
244  8 /*atTimeCode*/,
+
245  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
246  (0 + 4) /*deltaCode*/,
+
247  'S' /*letter*/,
+
248  },
+
249  // Rule AS 2008 max - Apr Sun>=1 2:00s 0 S
+
250  {
+
251  8 /*fromYearTiny*/,
+
252  126 /*toYearTiny*/,
+
253  4 /*inMonth*/,
+
254  7 /*onDayOfWeek*/,
+
255  1 /*onDayOfMonth*/,
+
256  8 /*atTimeCode*/,
+
257  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
258  (0 + 4) /*deltaCode*/,
+
259  'S' /*letter*/,
+
260  },
+
261  // Rule AS 2008 max - Oct Sun>=1 2:00s 1:00 D
+
262  {
+
263  8 /*fromYearTiny*/,
+
264  126 /*toYearTiny*/,
+
265  10 /*inMonth*/,
+
266  7 /*onDayOfWeek*/,
+
267  1 /*onDayOfMonth*/,
+
268  8 /*atTimeCode*/,
+
269  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
270  (4 + 4) /*deltaCode*/,
+
271  'D' /*letter*/,
+
272  },
+
273 
+
274 };
+
275 
+
276 
+
277 
+
278 const extended::ZonePolicy kPolicyAS ACE_TIME_PROGMEM = {
+
279  kZoneRulesAS /*rules*/,
+
280  nullptr /* letters */,
+
281  7 /*numRules*/,
+
282  0 /* numLetters */,
+
283 };
+
284 
+
285 //---------------------------------------------------------------------------
+
286 // Policy name: AT
+
287 // Rules: 8
+
288 // Memory (8-bit): 78
+
289 // Memory (32-bit): 108
+
290 //---------------------------------------------------------------------------
+
291 
+
292 static const extended::ZoneRule kZoneRulesAT[] ACE_TIME_PROGMEM = {
+
293  // Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 D
+
294  {
+
295  -12 /*fromYearTiny*/,
+
296  -10 /*toYearTiny*/,
+
297  10 /*inMonth*/,
+
298  7 /*onDayOfWeek*/,
+
299  0 /*onDayOfMonth*/,
+
300  8 /*atTimeCode*/,
+
301  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
302  (4 + 4) /*deltaCode*/,
+
303  'D' /*letter*/,
+
304  },
+
305  // Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 D
+
306  {
+
307  -9 /*fromYearTiny*/,
+
308  -1 /*toYearTiny*/,
+
309  10 /*inMonth*/,
+
310  7 /*onDayOfWeek*/,
+
311  1 /*onDayOfMonth*/,
+
312  8 /*atTimeCode*/,
+
313  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
314  (4 + 4) /*deltaCode*/,
+
315  'D' /*letter*/,
+
316  },
+
317  // Rule AT 1991 2005 - Mar lastSun 2:00s 0 S
+
318  {
+
319  -9 /*fromYearTiny*/,
+
320  5 /*toYearTiny*/,
+
321  3 /*inMonth*/,
+
322  7 /*onDayOfWeek*/,
+
323  0 /*onDayOfMonth*/,
+
324  8 /*atTimeCode*/,
+
325  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
326  (0 + 4) /*deltaCode*/,
+
327  'S' /*letter*/,
+
328  },
+
329  // Rule AT 2000 only - Aug lastSun 2:00s 1:00 D
+
330  {
+
331  0 /*fromYearTiny*/,
+
332  0 /*toYearTiny*/,
+
333  8 /*inMonth*/,
+
334  7 /*onDayOfWeek*/,
+
335  0 /*onDayOfMonth*/,
+
336  8 /*atTimeCode*/,
+
337  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
338  (4 + 4) /*deltaCode*/,
+
339  'D' /*letter*/,
+
340  },
+
341  // Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 D
+
342  {
+
343  1 /*fromYearTiny*/,
+
344  126 /*toYearTiny*/,
+
345  10 /*inMonth*/,
+
346  7 /*onDayOfWeek*/,
+
347  1 /*onDayOfMonth*/,
+
348  8 /*atTimeCode*/,
+
349  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
350  (4 + 4) /*deltaCode*/,
+
351  'D' /*letter*/,
+
352  },
+
353  // Rule AT 2006 only - Apr Sun>=1 2:00s 0 S
+
354  {
+
355  6 /*fromYearTiny*/,
+
356  6 /*toYearTiny*/,
+
357  4 /*inMonth*/,
+
358  7 /*onDayOfWeek*/,
+
359  1 /*onDayOfMonth*/,
+
360  8 /*atTimeCode*/,
+
361  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
362  (0 + 4) /*deltaCode*/,
+
363  'S' /*letter*/,
+
364  },
+
365  // Rule AT 2007 only - Mar lastSun 2:00s 0 S
+
366  {
+
367  7 /*fromYearTiny*/,
+
368  7 /*toYearTiny*/,
+
369  3 /*inMonth*/,
+
370  7 /*onDayOfWeek*/,
+
371  0 /*onDayOfMonth*/,
+
372  8 /*atTimeCode*/,
+
373  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
374  (0 + 4) /*deltaCode*/,
+
375  'S' /*letter*/,
+
376  },
+
377  // Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
+
378  {
+
379  8 /*fromYearTiny*/,
+
380  126 /*toYearTiny*/,
+
381  4 /*inMonth*/,
+
382  7 /*onDayOfWeek*/,
+
383  1 /*onDayOfMonth*/,
+
384  8 /*atTimeCode*/,
+
385  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
386  (0 + 4) /*deltaCode*/,
+
387  'S' /*letter*/,
+
388  },
+
389 
+
390 };
+
391 
+
392 
+
393 
+
394 const extended::ZonePolicy kPolicyAT ACE_TIME_PROGMEM = {
+
395  kZoneRulesAT /*rules*/,
+
396  nullptr /* letters */,
+
397  8 /*numRules*/,
+
398  0 /* numLetters */,
+
399 };
+
400 
+
401 //---------------------------------------------------------------------------
+
402 // Policy name: AV
+
403 // Rules: 9
+
404 // Memory (8-bit): 87
+
405 // Memory (32-bit): 120
+
406 //---------------------------------------------------------------------------
+
407 
+
408 static const extended::ZoneRule kZoneRulesAV[] ACE_TIME_PROGMEM = {
+
409  // Rule AV 1988 1999 - Oct lastSun 2:00s 1:00 D
+
410  {
+
411  -12 /*fromYearTiny*/,
+
412  -1 /*toYearTiny*/,
+
413  10 /*inMonth*/,
+
414  7 /*onDayOfWeek*/,
+
415  0 /*onDayOfMonth*/,
+
416  8 /*atTimeCode*/,
+
417  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
418  (4 + 4) /*deltaCode*/,
+
419  'D' /*letter*/,
+
420  },
+
421  // Rule AV 1991 1994 - Mar Sun>=1 2:00s 0 S
+
422  {
+
423  -9 /*fromYearTiny*/,
+
424  -6 /*toYearTiny*/,
+
425  3 /*inMonth*/,
+
426  7 /*onDayOfWeek*/,
+
427  1 /*onDayOfMonth*/,
+
428  8 /*atTimeCode*/,
+
429  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
430  (0 + 4) /*deltaCode*/,
+
431  'S' /*letter*/,
+
432  },
+
433  // Rule AV 1995 2005 - Mar lastSun 2:00s 0 S
+
434  {
+
435  -5 /*fromYearTiny*/,
+
436  5 /*toYearTiny*/,
+
437  3 /*inMonth*/,
+
438  7 /*onDayOfWeek*/,
+
439  0 /*onDayOfMonth*/,
+
440  8 /*atTimeCode*/,
+
441  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
442  (0 + 4) /*deltaCode*/,
+
443  'S' /*letter*/,
+
444  },
+
445  // Rule AV 2000 only - Aug lastSun 2:00s 1:00 D
+
446  {
+
447  0 /*fromYearTiny*/,
+
448  0 /*toYearTiny*/,
+
449  8 /*inMonth*/,
+
450  7 /*onDayOfWeek*/,
+
451  0 /*onDayOfMonth*/,
+
452  8 /*atTimeCode*/,
+
453  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
454  (4 + 4) /*deltaCode*/,
+
455  'D' /*letter*/,
+
456  },
+
457  // Rule AV 2001 2007 - Oct lastSun 2:00s 1:00 D
+
458  {
+
459  1 /*fromYearTiny*/,
+
460  7 /*toYearTiny*/,
+
461  10 /*inMonth*/,
+
462  7 /*onDayOfWeek*/,
+
463  0 /*onDayOfMonth*/,
+
464  8 /*atTimeCode*/,
+
465  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
466  (4 + 4) /*deltaCode*/,
+
467  'D' /*letter*/,
+
468  },
+
469  // Rule AV 2006 only - Apr Sun>=1 2:00s 0 S
+
470  {
+
471  6 /*fromYearTiny*/,
+
472  6 /*toYearTiny*/,
+
473  4 /*inMonth*/,
+
474  7 /*onDayOfWeek*/,
+
475  1 /*onDayOfMonth*/,
+
476  8 /*atTimeCode*/,
+
477  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
478  (0 + 4) /*deltaCode*/,
+
479  'S' /*letter*/,
+
480  },
+
481  // Rule AV 2007 only - Mar lastSun 2:00s 0 S
+
482  {
+
483  7 /*fromYearTiny*/,
+
484  7 /*toYearTiny*/,
+
485  3 /*inMonth*/,
+
486  7 /*onDayOfWeek*/,
+
487  0 /*onDayOfMonth*/,
+
488  8 /*atTimeCode*/,
+
489  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
490  (0 + 4) /*deltaCode*/,
+
491  'S' /*letter*/,
+
492  },
+
493  // Rule AV 2008 max - Apr Sun>=1 2:00s 0 S
+
494  {
+
495  8 /*fromYearTiny*/,
+
496  126 /*toYearTiny*/,
+
497  4 /*inMonth*/,
+
498  7 /*onDayOfWeek*/,
+
499  1 /*onDayOfMonth*/,
+
500  8 /*atTimeCode*/,
+
501  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
502  (0 + 4) /*deltaCode*/,
+
503  'S' /*letter*/,
+
504  },
+
505  // Rule AV 2008 max - Oct Sun>=1 2:00s 1:00 D
+
506  {
+
507  8 /*fromYearTiny*/,
+
508  126 /*toYearTiny*/,
+
509  10 /*inMonth*/,
+
510  7 /*onDayOfWeek*/,
+
511  1 /*onDayOfMonth*/,
+
512  8 /*atTimeCode*/,
+
513  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
514  (4 + 4) /*deltaCode*/,
+
515  'D' /*letter*/,
+
516  },
+
517 
+
518 };
+
519 
+
520 
+
521 
+
522 const extended::ZonePolicy kPolicyAV ACE_TIME_PROGMEM = {
+
523  kZoneRulesAV /*rules*/,
+
524  nullptr /* letters */,
+
525  9 /*numRules*/,
+
526  0 /* numLetters */,
+
527 };
+
528 
+
529 //---------------------------------------------------------------------------
+
530 // Policy name: AW
+
531 // Rules: 4
+
532 // Memory (8-bit): 42
+
533 // Memory (32-bit): 60
+
534 //---------------------------------------------------------------------------
+
535 
+
536 static const extended::ZoneRule kZoneRulesAW[] ACE_TIME_PROGMEM = {
+
537  // Rule AW 1992 only - Mar Sun>=1 2:00s 0 S
+
538  {
+
539  -8 /*fromYearTiny*/,
+
540  -8 /*toYearTiny*/,
+
541  3 /*inMonth*/,
+
542  7 /*onDayOfWeek*/,
+
543  1 /*onDayOfMonth*/,
+
544  8 /*atTimeCode*/,
+
545  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
546  (0 + 4) /*deltaCode*/,
+
547  'S' /*letter*/,
+
548  },
+
549  // Rule AW 2006 only - Dec 3 2:00s 1:00 D
+
550  {
+
551  6 /*fromYearTiny*/,
+
552  6 /*toYearTiny*/,
+
553  12 /*inMonth*/,
+
554  0 /*onDayOfWeek*/,
+
555  3 /*onDayOfMonth*/,
+
556  8 /*atTimeCode*/,
+
557  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
558  (4 + 4) /*deltaCode*/,
+
559  'D' /*letter*/,
+
560  },
+
561  // Rule AW 2007 2009 - Mar lastSun 2:00s 0 S
+
562  {
+
563  7 /*fromYearTiny*/,
+
564  9 /*toYearTiny*/,
+
565  3 /*inMonth*/,
+
566  7 /*onDayOfWeek*/,
+
567  0 /*onDayOfMonth*/,
+
568  8 /*atTimeCode*/,
+
569  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
570  (0 + 4) /*deltaCode*/,
+
571  'S' /*letter*/,
+
572  },
+
573  // Rule AW 2007 2008 - Oct lastSun 2:00s 1:00 D
+
574  {
+
575  7 /*fromYearTiny*/,
+
576  8 /*toYearTiny*/,
+
577  10 /*inMonth*/,
+
578  7 /*onDayOfWeek*/,
+
579  0 /*onDayOfMonth*/,
+
580  8 /*atTimeCode*/,
+
581  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
582  (4 + 4) /*deltaCode*/,
+
583  'D' /*letter*/,
+
584  },
+
585 
+
586 };
+
587 
+
588 
+
589 
+
590 const extended::ZonePolicy kPolicyAW ACE_TIME_PROGMEM = {
+
591  kZoneRulesAW /*rules*/,
+
592  nullptr /* letters */,
+
593  4 /*numRules*/,
+
594  0 /* numLetters */,
+
595 };
+
596 
+
597 //---------------------------------------------------------------------------
+
598 // Policy name: Arg
+
599 // Rules: 6
+
600 // Memory (8-bit): 60
+
601 // Memory (32-bit): 84
+
602 //---------------------------------------------------------------------------
+
603 
+
604 static const extended::ZoneRule kZoneRulesArg[] ACE_TIME_PROGMEM = {
+
605  // Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 -
+
606  {
+
607  -11 /*fromYearTiny*/,
+
608  -7 /*toYearTiny*/,
+
609  3 /*inMonth*/,
+
610  7 /*onDayOfWeek*/,
+
611  1 /*onDayOfMonth*/,
+
612  0 /*atTimeCode*/,
+
613  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
614  (0 + 4) /*deltaCode*/,
+
615  '-' /*letter*/,
+
616  },
+
617  // Rule Arg 1999 only - Oct Sun>=1 0:00 1:00 -
+
618  {
+
619  -1 /*fromYearTiny*/,
+
620  -1 /*toYearTiny*/,
+
621  10 /*inMonth*/,
+
622  7 /*onDayOfWeek*/,
+
623  1 /*onDayOfMonth*/,
+
624  0 /*atTimeCode*/,
+
625  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
626  (4 + 4) /*deltaCode*/,
+
627  '-' /*letter*/,
+
628  },
+
629  // Rule Arg 2000 only - Mar 3 0:00 0 -
+
630  {
+
631  0 /*fromYearTiny*/,
+
632  0 /*toYearTiny*/,
+
633  3 /*inMonth*/,
+
634  0 /*onDayOfWeek*/,
+
635  3 /*onDayOfMonth*/,
+
636  0 /*atTimeCode*/,
+
637  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
638  (0 + 4) /*deltaCode*/,
+
639  '-' /*letter*/,
+
640  },
+
641  // Rule Arg 2007 only - Dec 30 0:00 1:00 -
+
642  {
+
643  7 /*fromYearTiny*/,
+
644  7 /*toYearTiny*/,
+
645  12 /*inMonth*/,
+
646  0 /*onDayOfWeek*/,
+
647  30 /*onDayOfMonth*/,
+
648  0 /*atTimeCode*/,
+
649  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
650  (4 + 4) /*deltaCode*/,
+
651  '-' /*letter*/,
+
652  },
+
653  // Rule Arg 2008 2009 - Mar Sun>=15 0:00 0 -
+
654  {
+
655  8 /*fromYearTiny*/,
+
656  9 /*toYearTiny*/,
+
657  3 /*inMonth*/,
+
658  7 /*onDayOfWeek*/,
+
659  15 /*onDayOfMonth*/,
+
660  0 /*atTimeCode*/,
+
661  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
662  (0 + 4) /*deltaCode*/,
+
663  '-' /*letter*/,
+
664  },
+
665  // Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 -
+
666  {
+
667  8 /*fromYearTiny*/,
+
668  8 /*toYearTiny*/,
+
669  10 /*inMonth*/,
+
670  7 /*onDayOfWeek*/,
+
671  15 /*onDayOfMonth*/,
+
672  0 /*atTimeCode*/,
+
673  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
674  (4 + 4) /*deltaCode*/,
+
675  '-' /*letter*/,
+
676  },
+
677 
+
678 };
+
679 
+
680 
+
681 
+
682 const extended::ZonePolicy kPolicyArg ACE_TIME_PROGMEM = {
+
683  kZoneRulesArg /*rules*/,
+
684  nullptr /* letters */,
+
685  6 /*numRules*/,
+
686  0 /* numLetters */,
+
687 };
+
688 
+
689 //---------------------------------------------------------------------------
+
690 // Policy name: Armenia
+
691 // Rules: 3
+
692 // Memory (8-bit): 33
+
693 // Memory (32-bit): 48
+
694 //---------------------------------------------------------------------------
+
695 
+
696 static const extended::ZoneRule kZoneRulesArmenia[] ACE_TIME_PROGMEM = {
+
697  // Anchor: Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
+
698  {
+
699  -127 /*fromYearTiny*/,
+
700  -127 /*toYearTiny*/,
+
701  1 /*inMonth*/,
+
702  0 /*onDayOfWeek*/,
+
703  1 /*onDayOfMonth*/,
+
704  0 /*atTimeCode*/,
+
705  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
706  (0 + 4) /*deltaCode*/,
+
707  '-' /*letter*/,
+
708  },
+
709  // Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 -
+
710  {
+
711  11 /*fromYearTiny*/,
+
712  11 /*toYearTiny*/,
+
713  3 /*inMonth*/,
+
714  7 /*onDayOfWeek*/,
+
715  0 /*onDayOfMonth*/,
+
716  8 /*atTimeCode*/,
+
717  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
718  (4 + 4) /*deltaCode*/,
+
719  '-' /*letter*/,
+
720  },
+
721  // Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
+
722  {
+
723  11 /*fromYearTiny*/,
+
724  11 /*toYearTiny*/,
+
725  10 /*inMonth*/,
+
726  7 /*onDayOfWeek*/,
+
727  0 /*onDayOfMonth*/,
+
728  8 /*atTimeCode*/,
+
729  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
730  (0 + 4) /*deltaCode*/,
+
731  '-' /*letter*/,
+
732  },
+
733 
+
734 };
+
735 
+
736 
+
737 
+
738 const extended::ZonePolicy kPolicyArmenia ACE_TIME_PROGMEM = {
+
739  kZoneRulesArmenia /*rules*/,
+
740  nullptr /* letters */,
+
741  3 /*numRules*/,
+
742  0 /* numLetters */,
+
743 };
+
744 
+
745 //---------------------------------------------------------------------------
+
746 // Policy name: Aus
+
747 // Rules: 1
+
748 // Memory (8-bit): 15
+
749 // Memory (32-bit): 24
+
750 //---------------------------------------------------------------------------
+
751 
+
752 static const extended::ZoneRule kZoneRulesAus[] ACE_TIME_PROGMEM = {
+
753  // Rule Aus 1943 1944 - Mar lastSun 2:00 0 S
+
754  {
+
755  -57 /*fromYearTiny*/,
+
756  -56 /*toYearTiny*/,
+
757  3 /*inMonth*/,
+
758  7 /*onDayOfWeek*/,
+
759  0 /*onDayOfMonth*/,
+
760  8 /*atTimeCode*/,
+
761  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
762  (0 + 4) /*deltaCode*/,
+
763  'S' /*letter*/,
+
764  },
+
765 
+
766 };
+
767 
+
768 
+
769 
+
770 const extended::ZonePolicy kPolicyAus ACE_TIME_PROGMEM = {
+
771  kZoneRulesAus /*rules*/,
+
772  nullptr /* letters */,
+
773  1 /*numRules*/,
+
774  0 /* numLetters */,
+
775 };
+
776 
+
777 //---------------------------------------------------------------------------
+
778 // Policy name: Azer
+
779 // Rules: 2
+
780 // Memory (8-bit): 24
+
781 // Memory (32-bit): 36
+
782 //---------------------------------------------------------------------------
+
783 
+
784 static const extended::ZoneRule kZoneRulesAzer[] ACE_TIME_PROGMEM = {
+
785  // Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 -
+
786  {
+
787  -3 /*fromYearTiny*/,
+
788  15 /*toYearTiny*/,
+
789  3 /*inMonth*/,
+
790  7 /*onDayOfWeek*/,
+
791  0 /*onDayOfMonth*/,
+
792  16 /*atTimeCode*/,
+
793  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
794  (4 + 4) /*deltaCode*/,
+
795  '-' /*letter*/,
+
796  },
+
797  // Rule Azer 1997 2015 - Oct lastSun 5:00 0 -
+
798  {
+
799  -3 /*fromYearTiny*/,
+
800  15 /*toYearTiny*/,
+
801  10 /*inMonth*/,
+
802  7 /*onDayOfWeek*/,
+
803  0 /*onDayOfMonth*/,
+
804  20 /*atTimeCode*/,
+
805  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
806  (0 + 4) /*deltaCode*/,
+
807  '-' /*letter*/,
+
808  },
+
809 
+
810 };
+
811 
+
812 
+
813 
+
814 const extended::ZonePolicy kPolicyAzer ACE_TIME_PROGMEM = {
+
815  kZoneRulesAzer /*rules*/,
+
816  nullptr /* letters */,
+
817  2 /*numRules*/,
+
818  0 /* numLetters */,
+
819 };
+
820 
+
821 //---------------------------------------------------------------------------
+
822 // Policy name: Barb
+
823 // Rules: 1
+
824 // Memory (8-bit): 15
+
825 // Memory (32-bit): 24
+
826 //---------------------------------------------------------------------------
+
827 
+
828 static const extended::ZoneRule kZoneRulesBarb[] ACE_TIME_PROGMEM = {
+
829  // Rule Barb 1980 only - Sep 25 2:00 0 S
+
830  {
+
831  -20 /*fromYearTiny*/,
+
832  -20 /*toYearTiny*/,
+
833  9 /*inMonth*/,
+
834  0 /*onDayOfWeek*/,
+
835  25 /*onDayOfMonth*/,
+
836  8 /*atTimeCode*/,
+
837  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
838  (0 + 4) /*deltaCode*/,
+
839  'S' /*letter*/,
+
840  },
+
841 
+
842 };
+
843 
+
844 
+
845 
+
846 const extended::ZonePolicy kPolicyBarb ACE_TIME_PROGMEM = {
+
847  kZoneRulesBarb /*rules*/,
+
848  nullptr /* letters */,
+
849  1 /*numRules*/,
+
850  0 /* numLetters */,
+
851 };
+
852 
+
853 //---------------------------------------------------------------------------
+
854 // Policy name: Belize
+
855 // Rules: 1
+
856 // Memory (8-bit): 21
+
857 // Memory (32-bit): 32
+
858 //---------------------------------------------------------------------------
+
859 
+
860 static const extended::ZoneRule kZoneRulesBelize[] ACE_TIME_PROGMEM = {
+
861  // Rule Belize 1983 only - Feb 12 0:00 0 CST
+
862  {
+
863  -17 /*fromYearTiny*/,
+
864  -17 /*toYearTiny*/,
+
865  2 /*inMonth*/,
+
866  0 /*onDayOfWeek*/,
+
867  12 /*onDayOfMonth*/,
+
868  0 /*atTimeCode*/,
+
869  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
870  (0 + 4) /*deltaCode*/,
+
871  0 /*letter; "CST"*/,
+
872  },
+
873 
+
874 };
+
875 
+
876 static const char* const kLettersBelize[] ACE_TIME_PROGMEM = {
+
877  /*0*/ "CST",
+
878 
+
879 };
+
880 
+
881 
+
882 const extended::ZonePolicy kPolicyBelize ACE_TIME_PROGMEM = {
+
883  kZoneRulesBelize /*rules*/,
+
884  kLettersBelize /* letters */,
+
885  1 /*numRules*/,
+
886  1 /* numLetters */,
+
887 };
+
888 
+
889 //---------------------------------------------------------------------------
+
890 // Policy name: Brazil
+
891 // Rules: 20
+
892 // Memory (8-bit): 186
+
893 // Memory (32-bit): 252
+
894 //---------------------------------------------------------------------------
+
895 
+
896 static const extended::ZoneRule kZoneRulesBrazil[] ACE_TIME_PROGMEM = {
+
897  // Rule Brazil 1998 only - Oct 11 0:00 1:00 -
+
898  {
+
899  -2 /*fromYearTiny*/,
+
900  -2 /*toYearTiny*/,
+
901  10 /*inMonth*/,
+
902  0 /*onDayOfWeek*/,
+
903  11 /*onDayOfMonth*/,
+
904  0 /*atTimeCode*/,
+
905  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
906  (4 + 4) /*deltaCode*/,
+
907  '-' /*letter*/,
+
908  },
+
909  // Rule Brazil 1999 only - Feb 21 0:00 0 -
+
910  {
+
911  -1 /*fromYearTiny*/,
+
912  -1 /*toYearTiny*/,
+
913  2 /*inMonth*/,
+
914  0 /*onDayOfWeek*/,
+
915  21 /*onDayOfMonth*/,
+
916  0 /*atTimeCode*/,
+
917  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
918  (0 + 4) /*deltaCode*/,
+
919  '-' /*letter*/,
+
920  },
+
921  // Rule Brazil 1999 only - Oct 3 0:00 1:00 -
+
922  {
+
923  -1 /*fromYearTiny*/,
+
924  -1 /*toYearTiny*/,
+
925  10 /*inMonth*/,
+
926  0 /*onDayOfWeek*/,
+
927  3 /*onDayOfMonth*/,
+
928  0 /*atTimeCode*/,
+
929  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
930  (4 + 4) /*deltaCode*/,
+
931  '-' /*letter*/,
+
932  },
+
933  // Rule Brazil 2000 only - Feb 27 0:00 0 -
+
934  {
+
935  0 /*fromYearTiny*/,
+
936  0 /*toYearTiny*/,
+
937  2 /*inMonth*/,
+
938  0 /*onDayOfWeek*/,
+
939  27 /*onDayOfMonth*/,
+
940  0 /*atTimeCode*/,
+
941  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
942  (0 + 4) /*deltaCode*/,
+
943  '-' /*letter*/,
+
944  },
+
945  // Rule Brazil 2000 2001 - Oct Sun>=8 0:00 1:00 -
+
946  {
+
947  0 /*fromYearTiny*/,
+
948  1 /*toYearTiny*/,
+
949  10 /*inMonth*/,
+
950  7 /*onDayOfWeek*/,
+
951  8 /*onDayOfMonth*/,
+
952  0 /*atTimeCode*/,
+
953  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
954  (4 + 4) /*deltaCode*/,
+
955  '-' /*letter*/,
+
956  },
+
957  // Rule Brazil 2001 2006 - Feb Sun>=15 0:00 0 -
+
958  {
+
959  1 /*fromYearTiny*/,
+
960  6 /*toYearTiny*/,
+
961  2 /*inMonth*/,
+
962  7 /*onDayOfWeek*/,
+
963  15 /*onDayOfMonth*/,
+
964  0 /*atTimeCode*/,
+
965  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
966  (0 + 4) /*deltaCode*/,
+
967  '-' /*letter*/,
+
968  },
+
969  // Rule Brazil 2002 only - Nov 3 0:00 1:00 -
+
970  {
+
971  2 /*fromYearTiny*/,
+
972  2 /*toYearTiny*/,
+
973  11 /*inMonth*/,
+
974  0 /*onDayOfWeek*/,
+
975  3 /*onDayOfMonth*/,
+
976  0 /*atTimeCode*/,
+
977  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
978  (4 + 4) /*deltaCode*/,
+
979  '-' /*letter*/,
+
980  },
+
981  // Rule Brazil 2003 only - Oct 19 0:00 1:00 -
+
982  {
+
983  3 /*fromYearTiny*/,
+
984  3 /*toYearTiny*/,
+
985  10 /*inMonth*/,
+
986  0 /*onDayOfWeek*/,
+
987  19 /*onDayOfMonth*/,
+
988  0 /*atTimeCode*/,
+
989  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
990  (4 + 4) /*deltaCode*/,
+
991  '-' /*letter*/,
+
992  },
+
993  // Rule Brazil 2004 only - Nov 2 0:00 1:00 -
+
994  {
+
995  4 /*fromYearTiny*/,
+
996  4 /*toYearTiny*/,
+
997  11 /*inMonth*/,
+
998  0 /*onDayOfWeek*/,
+
999  2 /*onDayOfMonth*/,
+
1000  0 /*atTimeCode*/,
+
1001  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1002  (4 + 4) /*deltaCode*/,
+
1003  '-' /*letter*/,
+
1004  },
+
1005  // Rule Brazil 2005 only - Oct 16 0:00 1:00 -
+
1006  {
+
1007  5 /*fromYearTiny*/,
+
1008  5 /*toYearTiny*/,
+
1009  10 /*inMonth*/,
+
1010  0 /*onDayOfWeek*/,
+
1011  16 /*onDayOfMonth*/,
+
1012  0 /*atTimeCode*/,
+
1013  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1014  (4 + 4) /*deltaCode*/,
+
1015  '-' /*letter*/,
+
1016  },
+
1017  // Rule Brazil 2006 only - Nov 5 0:00 1:00 -
+
1018  {
+
1019  6 /*fromYearTiny*/,
+
1020  6 /*toYearTiny*/,
+
1021  11 /*inMonth*/,
+
1022  0 /*onDayOfWeek*/,
+
1023  5 /*onDayOfMonth*/,
+
1024  0 /*atTimeCode*/,
+
1025  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1026  (4 + 4) /*deltaCode*/,
+
1027  '-' /*letter*/,
+
1028  },
+
1029  // Rule Brazil 2007 only - Feb 25 0:00 0 -
+
1030  {
+
1031  7 /*fromYearTiny*/,
+
1032  7 /*toYearTiny*/,
+
1033  2 /*inMonth*/,
+
1034  0 /*onDayOfWeek*/,
+
1035  25 /*onDayOfMonth*/,
+
1036  0 /*atTimeCode*/,
+
1037  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1038  (0 + 4) /*deltaCode*/,
+
1039  '-' /*letter*/,
+
1040  },
+
1041  // Rule Brazil 2007 only - Oct Sun>=8 0:00 1:00 -
+
1042  {
+
1043  7 /*fromYearTiny*/,
+
1044  7 /*toYearTiny*/,
+
1045  10 /*inMonth*/,
+
1046  7 /*onDayOfWeek*/,
+
1047  8 /*onDayOfMonth*/,
+
1048  0 /*atTimeCode*/,
+
1049  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1050  (4 + 4) /*deltaCode*/,
+
1051  '-' /*letter*/,
+
1052  },
+
1053  // Rule Brazil 2008 2017 - Oct Sun>=15 0:00 1:00 -
+
1054  {
+
1055  8 /*fromYearTiny*/,
+
1056  17 /*toYearTiny*/,
+
1057  10 /*inMonth*/,
+
1058  7 /*onDayOfWeek*/,
+
1059  15 /*onDayOfMonth*/,
+
1060  0 /*atTimeCode*/,
+
1061  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1062  (4 + 4) /*deltaCode*/,
+
1063  '-' /*letter*/,
+
1064  },
+
1065  // Rule Brazil 2008 2011 - Feb Sun>=15 0:00 0 -
+
1066  {
+
1067  8 /*fromYearTiny*/,
+
1068  11 /*toYearTiny*/,
+
1069  2 /*inMonth*/,
+
1070  7 /*onDayOfWeek*/,
+
1071  15 /*onDayOfMonth*/,
+
1072  0 /*atTimeCode*/,
+
1073  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1074  (0 + 4) /*deltaCode*/,
+
1075  '-' /*letter*/,
+
1076  },
+
1077  // Rule Brazil 2012 only - Feb Sun>=22 0:00 0 -
+
1078  {
+
1079  12 /*fromYearTiny*/,
+
1080  12 /*toYearTiny*/,
+
1081  2 /*inMonth*/,
+
1082  7 /*onDayOfWeek*/,
+
1083  22 /*onDayOfMonth*/,
+
1084  0 /*atTimeCode*/,
+
1085  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1086  (0 + 4) /*deltaCode*/,
+
1087  '-' /*letter*/,
+
1088  },
+
1089  // Rule Brazil 2013 2014 - Feb Sun>=15 0:00 0 -
+
1090  {
+
1091  13 /*fromYearTiny*/,
+
1092  14 /*toYearTiny*/,
+
1093  2 /*inMonth*/,
+
1094  7 /*onDayOfWeek*/,
+
1095  15 /*onDayOfMonth*/,
+
1096  0 /*atTimeCode*/,
+
1097  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1098  (0 + 4) /*deltaCode*/,
+
1099  '-' /*letter*/,
+
1100  },
+
1101  // Rule Brazil 2015 only - Feb Sun>=22 0:00 0 -
+
1102  {
+
1103  15 /*fromYearTiny*/,
+
1104  15 /*toYearTiny*/,
+
1105  2 /*inMonth*/,
+
1106  7 /*onDayOfWeek*/,
+
1107  22 /*onDayOfMonth*/,
+
1108  0 /*atTimeCode*/,
+
1109  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1110  (0 + 4) /*deltaCode*/,
+
1111  '-' /*letter*/,
+
1112  },
+
1113  // Rule Brazil 2016 2019 - Feb Sun>=15 0:00 0 -
+
1114  {
+
1115  16 /*fromYearTiny*/,
+
1116  19 /*toYearTiny*/,
+
1117  2 /*inMonth*/,
+
1118  7 /*onDayOfWeek*/,
+
1119  15 /*onDayOfMonth*/,
+
1120  0 /*atTimeCode*/,
+
1121  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1122  (0 + 4) /*deltaCode*/,
+
1123  '-' /*letter*/,
+
1124  },
+
1125  // Rule Brazil 2018 only - Nov Sun>=1 0:00 1:00 -
+
1126  {
+
1127  18 /*fromYearTiny*/,
+
1128  18 /*toYearTiny*/,
+
1129  11 /*inMonth*/,
+
1130  7 /*onDayOfWeek*/,
+
1131  1 /*onDayOfMonth*/,
+
1132  0 /*atTimeCode*/,
+
1133  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1134  (4 + 4) /*deltaCode*/,
+
1135  '-' /*letter*/,
+
1136  },
+
1137 
+
1138 };
+
1139 
+
1140 
+
1141 
+
1142 const extended::ZonePolicy kPolicyBrazil ACE_TIME_PROGMEM = {
+
1143  kZoneRulesBrazil /*rules*/,
+
1144  nullptr /* letters */,
+
1145  20 /*numRules*/,
+
1146  0 /* numLetters */,
+
1147 };
+
1148 
+
1149 //---------------------------------------------------------------------------
+
1150 // Policy name: C_Eur
+
1151 // Rules: 3
+
1152 // Memory (8-bit): 33
+
1153 // Memory (32-bit): 48
+
1154 //---------------------------------------------------------------------------
+
1155 
+
1156 static const extended::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = {
+
1157  // Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 -
+
1158  {
+
1159  -21 /*fromYearTiny*/,
+
1160  -5 /*toYearTiny*/,
+
1161  9 /*inMonth*/,
+
1162  7 /*onDayOfWeek*/,
+
1163  0 /*onDayOfMonth*/,
+
1164  8 /*atTimeCode*/,
+
1165  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1166  (0 + 4) /*deltaCode*/,
+
1167  '-' /*letter*/,
+
1168  },
+
1169  // Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S
+
1170  {
+
1171  -19 /*fromYearTiny*/,
+
1172  126 /*toYearTiny*/,
+
1173  3 /*inMonth*/,
+
1174  7 /*onDayOfWeek*/,
+
1175  0 /*onDayOfMonth*/,
+
1176  8 /*atTimeCode*/,
+
1177  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1178  (4 + 4) /*deltaCode*/,
+
1179  'S' /*letter*/,
+
1180  },
+
1181  // Rule C-Eur 1996 max - Oct lastSun 2:00s 0 -
+
1182  {
+
1183  -4 /*fromYearTiny*/,
+
1184  126 /*toYearTiny*/,
+
1185  10 /*inMonth*/,
+
1186  7 /*onDayOfWeek*/,
+
1187  0 /*onDayOfMonth*/,
+
1188  8 /*atTimeCode*/,
+
1189  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1190  (0 + 4) /*deltaCode*/,
+
1191  '-' /*letter*/,
+
1192  },
+
1193 
+
1194 };
+
1195 
+
1196 
+
1197 
+
1198 const extended::ZonePolicy kPolicyC_Eur ACE_TIME_PROGMEM = {
+
1199  kZoneRulesC_Eur /*rules*/,
+
1200  nullptr /* letters */,
+
1201  3 /*numRules*/,
+
1202  0 /* numLetters */,
+
1203 };
+
1204 
+
1205 //---------------------------------------------------------------------------
+
1206 // Policy name: CO
+
1207 // Rules: 1
+
1208 // Memory (8-bit): 15
+
1209 // Memory (32-bit): 24
+
1210 //---------------------------------------------------------------------------
+
1211 
+
1212 static const extended::ZoneRule kZoneRulesCO[] ACE_TIME_PROGMEM = {
+
1213  // Rule CO 1993 only - Apr 4 0:00 0 -
+
1214  {
+
1215  -7 /*fromYearTiny*/,
+
1216  -7 /*toYearTiny*/,
+
1217  4 /*inMonth*/,
+
1218  0 /*onDayOfWeek*/,
+
1219  4 /*onDayOfMonth*/,
+
1220  0 /*atTimeCode*/,
+
1221  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1222  (0 + 4) /*deltaCode*/,
+
1223  '-' /*letter*/,
+
1224  },
+
1225 
+
1226 };
+
1227 
+
1228 
+
1229 
+
1230 const extended::ZonePolicy kPolicyCO ACE_TIME_PROGMEM = {
+
1231  kZoneRulesCO /*rules*/,
+
1232  nullptr /* letters */,
+
1233  1 /*numRules*/,
+
1234  0 /* numLetters */,
+
1235 };
+
1236 
+
1237 //---------------------------------------------------------------------------
+
1238 // Policy name: CR
+
1239 // Rules: 1
+
1240 // Memory (8-bit): 15
+
1241 // Memory (32-bit): 24
+
1242 //---------------------------------------------------------------------------
+
1243 
+
1244 static const extended::ZoneRule kZoneRulesCR[] ACE_TIME_PROGMEM = {
+
1245  // Rule CR 1992 only - Mar 15 0:00 0 S
+
1246  {
+
1247  -8 /*fromYearTiny*/,
+
1248  -8 /*toYearTiny*/,
+
1249  3 /*inMonth*/,
+
1250  0 /*onDayOfWeek*/,
+
1251  15 /*onDayOfMonth*/,
+
1252  0 /*atTimeCode*/,
+
1253  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1254  (0 + 4) /*deltaCode*/,
+
1255  'S' /*letter*/,
+
1256  },
+
1257 
+
1258 };
+
1259 
+
1260 
+
1261 
+
1262 const extended::ZonePolicy kPolicyCR ACE_TIME_PROGMEM = {
+
1263  kZoneRulesCR /*rules*/,
+
1264  nullptr /* letters */,
+
1265  1 /*numRules*/,
+
1266  0 /* numLetters */,
+
1267 };
+
1268 
+
1269 //---------------------------------------------------------------------------
+
1270 // Policy name: Canada
+
1271 // Rules: 5
+
1272 // Memory (8-bit): 51
+
1273 // Memory (32-bit): 72
+
1274 //---------------------------------------------------------------------------
+
1275 
+
1276 static const extended::ZoneRule kZoneRulesCanada[] ACE_TIME_PROGMEM = {
+
1277  // Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
+
1278  {
+
1279  -26 /*fromYearTiny*/,
+
1280  -14 /*toYearTiny*/,
+
1281  4 /*inMonth*/,
+
1282  7 /*onDayOfWeek*/,
+
1283  0 /*onDayOfMonth*/,
+
1284  8 /*atTimeCode*/,
+
1285  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1286  (4 + 4) /*deltaCode*/,
+
1287  'D' /*letter*/,
+
1288  },
+
1289  // Rule Canada 1974 2006 - Oct lastSun 2:00 0 S
+
1290  {
+
1291  -26 /*fromYearTiny*/,
+
1292  6 /*toYearTiny*/,
+
1293  10 /*inMonth*/,
+
1294  7 /*onDayOfWeek*/,
+
1295  0 /*onDayOfMonth*/,
+
1296  8 /*atTimeCode*/,
+
1297  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1298  (0 + 4) /*deltaCode*/,
+
1299  'S' /*letter*/,
+
1300  },
+
1301  // Rule Canada 1987 2006 - Apr Sun>=1 2:00 1:00 D
+
1302  {
+
1303  -13 /*fromYearTiny*/,
+
1304  6 /*toYearTiny*/,
+
1305  4 /*inMonth*/,
+
1306  7 /*onDayOfWeek*/,
+
1307  1 /*onDayOfMonth*/,
+
1308  8 /*atTimeCode*/,
+
1309  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1310  (4 + 4) /*deltaCode*/,
+
1311  'D' /*letter*/,
+
1312  },
+
1313  // Rule Canada 2007 max - Mar Sun>=8 2:00 1:00 D
+
1314  {
+
1315  7 /*fromYearTiny*/,
+
1316  126 /*toYearTiny*/,
+
1317  3 /*inMonth*/,
+
1318  7 /*onDayOfWeek*/,
+
1319  8 /*onDayOfMonth*/,
+
1320  8 /*atTimeCode*/,
+
1321  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1322  (4 + 4) /*deltaCode*/,
+
1323  'D' /*letter*/,
+
1324  },
+
1325  // Rule Canada 2007 max - Nov Sun>=1 2:00 0 S
+
1326  {
+
1327  7 /*fromYearTiny*/,
+
1328  126 /*toYearTiny*/,
+
1329  11 /*inMonth*/,
+
1330  7 /*onDayOfWeek*/,
+
1331  1 /*onDayOfMonth*/,
+
1332  8 /*atTimeCode*/,
+
1333  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1334  (0 + 4) /*deltaCode*/,
+
1335  'S' /*letter*/,
+
1336  },
+
1337 
+
1338 };
+
1339 
+
1340 
+
1341 
+
1342 const extended::ZonePolicy kPolicyCanada ACE_TIME_PROGMEM = {
+
1343  kZoneRulesCanada /*rules*/,
+
1344  nullptr /* letters */,
+
1345  5 /*numRules*/,
+
1346  0 /* numLetters */,
+
1347 };
+
1348 
+
1349 //---------------------------------------------------------------------------
+
1350 // Policy name: Chatham
+
1351 // Rules: 5
+
1352 // Memory (8-bit): 51
+
1353 // Memory (32-bit): 72
+
1354 //---------------------------------------------------------------------------
+
1355 
+
1356 static const extended::ZoneRule kZoneRulesChatham[] ACE_TIME_PROGMEM = {
+
1357  // Rule Chatham 1989 only - Oct Sun>=8 2:45s 1:00 -
+
1358  {
+
1359  -11 /*fromYearTiny*/,
+
1360  -11 /*toYearTiny*/,
+
1361  10 /*inMonth*/,
+
1362  7 /*onDayOfWeek*/,
+
1363  8 /*onDayOfMonth*/,
+
1364  11 /*atTimeCode*/,
+
1365  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1366  (4 + 4) /*deltaCode*/,
+
1367  '-' /*letter*/,
+
1368  },
+
1369  // Rule Chatham 1990 2006 - Oct Sun>=1 2:45s 1:00 -
+
1370  {
+
1371  -10 /*fromYearTiny*/,
+
1372  6 /*toYearTiny*/,
+
1373  10 /*inMonth*/,
+
1374  7 /*onDayOfWeek*/,
+
1375  1 /*onDayOfMonth*/,
+
1376  11 /*atTimeCode*/,
+
1377  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1378  (4 + 4) /*deltaCode*/,
+
1379  '-' /*letter*/,
+
1380  },
+
1381  // Rule Chatham 1990 2007 - Mar Sun>=15 2:45s 0 -
+
1382  {
+
1383  -10 /*fromYearTiny*/,
+
1384  7 /*toYearTiny*/,
+
1385  3 /*inMonth*/,
+
1386  7 /*onDayOfWeek*/,
+
1387  15 /*onDayOfMonth*/,
+
1388  11 /*atTimeCode*/,
+
1389  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1390  (0 + 4) /*deltaCode*/,
+
1391  '-' /*letter*/,
+
1392  },
+
1393  // Rule Chatham 2007 max - Sep lastSun 2:45s 1:00 -
+
1394  {
+
1395  7 /*fromYearTiny*/,
+
1396  126 /*toYearTiny*/,
+
1397  9 /*inMonth*/,
+
1398  7 /*onDayOfWeek*/,
+
1399  0 /*onDayOfMonth*/,
+
1400  11 /*atTimeCode*/,
+
1401  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1402  (4 + 4) /*deltaCode*/,
+
1403  '-' /*letter*/,
+
1404  },
+
1405  // Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
+
1406  {
+
1407  8 /*fromYearTiny*/,
+
1408  126 /*toYearTiny*/,
+
1409  4 /*inMonth*/,
+
1410  7 /*onDayOfWeek*/,
+
1411  1 /*onDayOfMonth*/,
+
1412  11 /*atTimeCode*/,
+
1413  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1414  (0 + 4) /*deltaCode*/,
+
1415  '-' /*letter*/,
+
1416  },
+
1417 
+
1418 };
+
1419 
+
1420 
+
1421 
+
1422 const extended::ZonePolicy kPolicyChatham ACE_TIME_PROGMEM = {
+
1423  kZoneRulesChatham /*rules*/,
+
1424  nullptr /* letters */,
+
1425  5 /*numRules*/,
+
1426  0 /* numLetters */,
+
1427 };
+
1428 
+
1429 //---------------------------------------------------------------------------
+
1430 // Policy name: Chile
+
1431 // Rules: 15
+
1432 // Memory (8-bit): 141
+
1433 // Memory (32-bit): 192
+
1434 //---------------------------------------------------------------------------
+
1435 
+
1436 static const extended::ZoneRule kZoneRulesChile[] ACE_TIME_PROGMEM = {
+
1437  // Rule Chile 1998 only - Sep 27 4:00u 1:00 -
+
1438  {
+
1439  -2 /*fromYearTiny*/,
+
1440  -2 /*toYearTiny*/,
+
1441  9 /*inMonth*/,
+
1442  0 /*onDayOfWeek*/,
+
1443  27 /*onDayOfMonth*/,
+
1444  16 /*atTimeCode*/,
+
1445  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1446  (4 + 4) /*deltaCode*/,
+
1447  '-' /*letter*/,
+
1448  },
+
1449  // Rule Chile 1999 only - Apr 4 3:00u 0 -
+
1450  {
+
1451  -1 /*fromYearTiny*/,
+
1452  -1 /*toYearTiny*/,
+
1453  4 /*inMonth*/,
+
1454  0 /*onDayOfWeek*/,
+
1455  4 /*onDayOfMonth*/,
+
1456  12 /*atTimeCode*/,
+
1457  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1458  (0 + 4) /*deltaCode*/,
+
1459  '-' /*letter*/,
+
1460  },
+
1461  // Rule Chile 1999 2010 - Oct Sun>=9 4:00u 1:00 -
+
1462  {
+
1463  -1 /*fromYearTiny*/,
+
1464  10 /*toYearTiny*/,
+
1465  10 /*inMonth*/,
+
1466  7 /*onDayOfWeek*/,
+
1467  9 /*onDayOfMonth*/,
+
1468  16 /*atTimeCode*/,
+
1469  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1470  (4 + 4) /*deltaCode*/,
+
1471  '-' /*letter*/,
+
1472  },
+
1473  // Rule Chile 2000 2007 - Mar Sun>=9 3:00u 0 -
+
1474  {
+
1475  0 /*fromYearTiny*/,
+
1476  7 /*toYearTiny*/,
+
1477  3 /*inMonth*/,
+
1478  7 /*onDayOfWeek*/,
+
1479  9 /*onDayOfMonth*/,
+
1480  12 /*atTimeCode*/,
+
1481  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1482  (0 + 4) /*deltaCode*/,
+
1483  '-' /*letter*/,
+
1484  },
+
1485  // Rule Chile 2008 only - Mar 30 3:00u 0 -
+
1486  {
+
1487  8 /*fromYearTiny*/,
+
1488  8 /*toYearTiny*/,
+
1489  3 /*inMonth*/,
+
1490  0 /*onDayOfWeek*/,
+
1491  30 /*onDayOfMonth*/,
+
1492  12 /*atTimeCode*/,
+
1493  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1494  (0 + 4) /*deltaCode*/,
+
1495  '-' /*letter*/,
+
1496  },
+
1497  // Rule Chile 2009 only - Mar Sun>=9 3:00u 0 -
+
1498  {
+
1499  9 /*fromYearTiny*/,
+
1500  9 /*toYearTiny*/,
+
1501  3 /*inMonth*/,
+
1502  7 /*onDayOfWeek*/,
+
1503  9 /*onDayOfMonth*/,
+
1504  12 /*atTimeCode*/,
+
1505  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1506  (0 + 4) /*deltaCode*/,
+
1507  '-' /*letter*/,
+
1508  },
+
1509  // Rule Chile 2010 only - Apr Sun>=1 3:00u 0 -
+
1510  {
+
1511  10 /*fromYearTiny*/,
+
1512  10 /*toYearTiny*/,
+
1513  4 /*inMonth*/,
+
1514  7 /*onDayOfWeek*/,
+
1515  1 /*onDayOfMonth*/,
+
1516  12 /*atTimeCode*/,
+
1517  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1518  (0 + 4) /*deltaCode*/,
+
1519  '-' /*letter*/,
+
1520  },
+
1521  // Rule Chile 2011 only - May Sun>=2 3:00u 0 -
+
1522  {
+
1523  11 /*fromYearTiny*/,
+
1524  11 /*toYearTiny*/,
+
1525  5 /*inMonth*/,
+
1526  7 /*onDayOfWeek*/,
+
1527  2 /*onDayOfMonth*/,
+
1528  12 /*atTimeCode*/,
+
1529  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1530  (0 + 4) /*deltaCode*/,
+
1531  '-' /*letter*/,
+
1532  },
+
1533  // Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 -
+
1534  {
+
1535  11 /*fromYearTiny*/,
+
1536  11 /*toYearTiny*/,
+
1537  8 /*inMonth*/,
+
1538  7 /*onDayOfWeek*/,
+
1539  16 /*onDayOfMonth*/,
+
1540  16 /*atTimeCode*/,
+
1541  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1542  (4 + 4) /*deltaCode*/,
+
1543  '-' /*letter*/,
+
1544  },
+
1545  // Rule Chile 2012 2014 - Apr Sun>=23 3:00u 0 -
+
1546  {
+
1547  12 /*fromYearTiny*/,
+
1548  14 /*toYearTiny*/,
+
1549  4 /*inMonth*/,
+
1550  7 /*onDayOfWeek*/,
+
1551  23 /*onDayOfMonth*/,
+
1552  12 /*atTimeCode*/,
+
1553  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1554  (0 + 4) /*deltaCode*/,
+
1555  '-' /*letter*/,
+
1556  },
+
1557  // Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 -
+
1558  {
+
1559  12 /*fromYearTiny*/,
+
1560  14 /*toYearTiny*/,
+
1561  9 /*inMonth*/,
+
1562  7 /*onDayOfWeek*/,
+
1563  2 /*onDayOfMonth*/,
+
1564  16 /*atTimeCode*/,
+
1565  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1566  (4 + 4) /*deltaCode*/,
+
1567  '-' /*letter*/,
+
1568  },
+
1569  // Rule Chile 2016 2018 - May Sun>=9 3:00u 0 -
+
1570  {
+
1571  16 /*fromYearTiny*/,
+
1572  18 /*toYearTiny*/,
+
1573  5 /*inMonth*/,
+
1574  7 /*onDayOfWeek*/,
+
1575  9 /*onDayOfMonth*/,
+
1576  12 /*atTimeCode*/,
+
1577  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1578  (0 + 4) /*deltaCode*/,
+
1579  '-' /*letter*/,
+
1580  },
+
1581  // Rule Chile 2016 2018 - Aug Sun>=9 4:00u 1:00 -
+
1582  {
+
1583  16 /*fromYearTiny*/,
+
1584  18 /*toYearTiny*/,
+
1585  8 /*inMonth*/,
+
1586  7 /*onDayOfWeek*/,
+
1587  9 /*onDayOfMonth*/,
+
1588  16 /*atTimeCode*/,
+
1589  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1590  (4 + 4) /*deltaCode*/,
+
1591  '-' /*letter*/,
+
1592  },
+
1593  // Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
+
1594  {
+
1595  19 /*fromYearTiny*/,
+
1596  126 /*toYearTiny*/,
+
1597  4 /*inMonth*/,
+
1598  7 /*onDayOfWeek*/,
+
1599  2 /*onDayOfMonth*/,
+
1600  12 /*atTimeCode*/,
+
1601  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1602  (0 + 4) /*deltaCode*/,
+
1603  '-' /*letter*/,
+
1604  },
+
1605  // Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
+
1606  {
+
1607  19 /*fromYearTiny*/,
+
1608  126 /*toYearTiny*/,
+
1609  9 /*inMonth*/,
+
1610  7 /*onDayOfWeek*/,
+
1611  2 /*onDayOfMonth*/,
+
1612  16 /*atTimeCode*/,
+
1613  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1614  (4 + 4) /*deltaCode*/,
+
1615  '-' /*letter*/,
+
1616  },
+
1617 
+
1618 };
+
1619 
+
1620 
+
1621 
+
1622 const extended::ZonePolicy kPolicyChile ACE_TIME_PROGMEM = {
+
1623  kZoneRulesChile /*rules*/,
+
1624  nullptr /* letters */,
+
1625  15 /*numRules*/,
+
1626  0 /* numLetters */,
+
1627 };
+
1628 
+
1629 //---------------------------------------------------------------------------
+
1630 // Policy name: Cook
+
1631 // Rules: 1
+
1632 // Memory (8-bit): 15
+
1633 // Memory (32-bit): 24
+
1634 //---------------------------------------------------------------------------
+
1635 
+
1636 static const extended::ZoneRule kZoneRulesCook[] ACE_TIME_PROGMEM = {
+
1637  // Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
+
1638  {
+
1639  -21 /*fromYearTiny*/,
+
1640  -9 /*toYearTiny*/,
+
1641  3 /*inMonth*/,
+
1642  7 /*onDayOfWeek*/,
+
1643  1 /*onDayOfMonth*/,
+
1644  0 /*atTimeCode*/,
+
1645  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1646  (0 + 4) /*deltaCode*/,
+
1647  '-' /*letter*/,
+
1648  },
+
1649 
+
1650 };
+
1651 
+
1652 
+
1653 
+
1654 const extended::ZonePolicy kPolicyCook ACE_TIME_PROGMEM = {
+
1655  kZoneRulesCook /*rules*/,
+
1656  nullptr /* letters */,
+
1657  1 /*numRules*/,
+
1658  0 /* numLetters */,
+
1659 };
+
1660 
+
1661 //---------------------------------------------------------------------------
+
1662 // Policy name: Cuba
+
1663 // Rules: 14
+
1664 // Memory (8-bit): 132
+
1665 // Memory (32-bit): 180
+
1666 //---------------------------------------------------------------------------
+
1667 
+
1668 static const extended::ZoneRule kZoneRulesCuba[] ACE_TIME_PROGMEM = {
+
1669  // Rule Cuba 1997 only - Oct 12 0:00s 0 S
+
1670  {
+
1671  -3 /*fromYearTiny*/,
+
1672  -3 /*toYearTiny*/,
+
1673  10 /*inMonth*/,
+
1674  0 /*onDayOfWeek*/,
+
1675  12 /*onDayOfMonth*/,
+
1676  0 /*atTimeCode*/,
+
1677  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1678  (0 + 4) /*deltaCode*/,
+
1679  'S' /*letter*/,
+
1680  },
+
1681  // Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D
+
1682  {
+
1683  -2 /*fromYearTiny*/,
+
1684  -1 /*toYearTiny*/,
+
1685  3 /*inMonth*/,
+
1686  7 /*onDayOfWeek*/,
+
1687  0 /*onDayOfMonth*/,
+
1688  0 /*atTimeCode*/,
+
1689  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1690  (4 + 4) /*deltaCode*/,
+
1691  'D' /*letter*/,
+
1692  },
+
1693  // Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S
+
1694  {
+
1695  -2 /*fromYearTiny*/,
+
1696  3 /*toYearTiny*/,
+
1697  10 /*inMonth*/,
+
1698  7 /*onDayOfWeek*/,
+
1699  0 /*onDayOfMonth*/,
+
1700  0 /*atTimeCode*/,
+
1701  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1702  (0 + 4) /*deltaCode*/,
+
1703  'S' /*letter*/,
+
1704  },
+
1705  // Rule Cuba 2000 2003 - Apr Sun>=1 0:00s 1:00 D
+
1706  {
+
1707  0 /*fromYearTiny*/,
+
1708  3 /*toYearTiny*/,
+
1709  4 /*inMonth*/,
+
1710  7 /*onDayOfWeek*/,
+
1711  1 /*onDayOfMonth*/,
+
1712  0 /*atTimeCode*/,
+
1713  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1714  (4 + 4) /*deltaCode*/,
+
1715  'D' /*letter*/,
+
1716  },
+
1717  // Rule Cuba 2004 only - Mar lastSun 0:00s 1:00 D
+
1718  {
+
1719  4 /*fromYearTiny*/,
+
1720  4 /*toYearTiny*/,
+
1721  3 /*inMonth*/,
+
1722  7 /*onDayOfWeek*/,
+
1723  0 /*onDayOfMonth*/,
+
1724  0 /*atTimeCode*/,
+
1725  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1726  (4 + 4) /*deltaCode*/,
+
1727  'D' /*letter*/,
+
1728  },
+
1729  // Rule Cuba 2006 2010 - Oct lastSun 0:00s 0 S
+
1730  {
+
1731  6 /*fromYearTiny*/,
+
1732  10 /*toYearTiny*/,
+
1733  10 /*inMonth*/,
+
1734  7 /*onDayOfWeek*/,
+
1735  0 /*onDayOfMonth*/,
+
1736  0 /*atTimeCode*/,
+
1737  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1738  (0 + 4) /*deltaCode*/,
+
1739  'S' /*letter*/,
+
1740  },
+
1741  // Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D
+
1742  {
+
1743  7 /*fromYearTiny*/,
+
1744  7 /*toYearTiny*/,
+
1745  3 /*inMonth*/,
+
1746  7 /*onDayOfWeek*/,
+
1747  8 /*onDayOfMonth*/,
+
1748  0 /*atTimeCode*/,
+
1749  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1750  (4 + 4) /*deltaCode*/,
+
1751  'D' /*letter*/,
+
1752  },
+
1753  // Rule Cuba 2008 only - Mar Sun>=15 0:00s 1:00 D
+
1754  {
+
1755  8 /*fromYearTiny*/,
+
1756  8 /*toYearTiny*/,
+
1757  3 /*inMonth*/,
+
1758  7 /*onDayOfWeek*/,
+
1759  15 /*onDayOfMonth*/,
+
1760  0 /*atTimeCode*/,
+
1761  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1762  (4 + 4) /*deltaCode*/,
+
1763  'D' /*letter*/,
+
1764  },
+
1765  // Rule Cuba 2009 2010 - Mar Sun>=8 0:00s 1:00 D
+
1766  {
+
1767  9 /*fromYearTiny*/,
+
1768  10 /*toYearTiny*/,
+
1769  3 /*inMonth*/,
+
1770  7 /*onDayOfWeek*/,
+
1771  8 /*onDayOfMonth*/,
+
1772  0 /*atTimeCode*/,
+
1773  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1774  (4 + 4) /*deltaCode*/,
+
1775  'D' /*letter*/,
+
1776  },
+
1777  // Rule Cuba 2011 only - Mar Sun>=15 0:00s 1:00 D
+
1778  {
+
1779  11 /*fromYearTiny*/,
+
1780  11 /*toYearTiny*/,
+
1781  3 /*inMonth*/,
+
1782  7 /*onDayOfWeek*/,
+
1783  15 /*onDayOfMonth*/,
+
1784  0 /*atTimeCode*/,
+
1785  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1786  (4 + 4) /*deltaCode*/,
+
1787  'D' /*letter*/,
+
1788  },
+
1789  // Rule Cuba 2011 only - Nov 13 0:00s 0 S
+
1790  {
+
1791  11 /*fromYearTiny*/,
+
1792  11 /*toYearTiny*/,
+
1793  11 /*inMonth*/,
+
1794  0 /*onDayOfWeek*/,
+
1795  13 /*onDayOfMonth*/,
+
1796  0 /*atTimeCode*/,
+
1797  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1798  (0 + 4) /*deltaCode*/,
+
1799  'S' /*letter*/,
+
1800  },
+
1801  // Rule Cuba 2012 only - Apr 1 0:00s 1:00 D
+
1802  {
+
1803  12 /*fromYearTiny*/,
+
1804  12 /*toYearTiny*/,
+
1805  4 /*inMonth*/,
+
1806  0 /*onDayOfWeek*/,
+
1807  1 /*onDayOfMonth*/,
+
1808  0 /*atTimeCode*/,
+
1809  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1810  (4 + 4) /*deltaCode*/,
+
1811  'D' /*letter*/,
+
1812  },
+
1813  // Rule Cuba 2012 max - Nov Sun>=1 0:00s 0 S
+
1814  {
+
1815  12 /*fromYearTiny*/,
+
1816  126 /*toYearTiny*/,
+
1817  11 /*inMonth*/,
+
1818  7 /*onDayOfWeek*/,
+
1819  1 /*onDayOfMonth*/,
+
1820  0 /*atTimeCode*/,
+
1821  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1822  (0 + 4) /*deltaCode*/,
+
1823  'S' /*letter*/,
+
1824  },
+
1825  // Rule Cuba 2013 max - Mar Sun>=8 0:00s 1:00 D
+
1826  {
+
1827  13 /*fromYearTiny*/,
+
1828  126 /*toYearTiny*/,
+
1829  3 /*inMonth*/,
+
1830  7 /*onDayOfWeek*/,
+
1831  8 /*onDayOfMonth*/,
+
1832  0 /*atTimeCode*/,
+
1833  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
1834  (4 + 4) /*deltaCode*/,
+
1835  'D' /*letter*/,
+
1836  },
+
1837 
+
1838 };
+
1839 
+
1840 
+
1841 
+
1842 const extended::ZonePolicy kPolicyCuba ACE_TIME_PROGMEM = {
+
1843  kZoneRulesCuba /*rules*/,
+
1844  nullptr /* letters */,
+
1845  14 /*numRules*/,
+
1846  0 /* numLetters */,
+
1847 };
+
1848 
+
1849 //---------------------------------------------------------------------------
+
1850 // Policy name: Dhaka
+
1851 // Rules: 3
+
1852 // Memory (8-bit): 33
+
1853 // Memory (32-bit): 48
+
1854 //---------------------------------------------------------------------------
+
1855 
+
1856 static const extended::ZoneRule kZoneRulesDhaka[] ACE_TIME_PROGMEM = {
+
1857  // Anchor: Rule Dhaka 2009 only - Dec 31 24:00 0 -
+
1858  {
+
1859  -127 /*fromYearTiny*/,
+
1860  -127 /*toYearTiny*/,
+
1861  1 /*inMonth*/,
+
1862  0 /*onDayOfWeek*/,
+
1863  1 /*onDayOfMonth*/,
+
1864  0 /*atTimeCode*/,
+
1865  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1866  (0 + 4) /*deltaCode*/,
+
1867  '-' /*letter*/,
+
1868  },
+
1869  // Rule Dhaka 2009 only - Jun 19 23:00 1:00 -
+
1870  {
+
1871  9 /*fromYearTiny*/,
+
1872  9 /*toYearTiny*/,
+
1873  6 /*inMonth*/,
+
1874  0 /*onDayOfWeek*/,
+
1875  19 /*onDayOfMonth*/,
+
1876  92 /*atTimeCode*/,
+
1877  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1878  (4 + 4) /*deltaCode*/,
+
1879  '-' /*letter*/,
+
1880  },
+
1881  // Rule Dhaka 2009 only - Dec 31 24:00 0 -
+
1882  {
+
1883  9 /*fromYearTiny*/,
+
1884  9 /*toYearTiny*/,
+
1885  12 /*inMonth*/,
+
1886  0 /*onDayOfWeek*/,
+
1887  31 /*onDayOfMonth*/,
+
1888  96 /*atTimeCode*/,
+
1889  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1890  (0 + 4) /*deltaCode*/,
+
1891  '-' /*letter*/,
+
1892  },
+
1893 
+
1894 };
+
1895 
+
1896 
+
1897 
+
1898 const extended::ZonePolicy kPolicyDhaka ACE_TIME_PROGMEM = {
+
1899  kZoneRulesDhaka /*rules*/,
+
1900  nullptr /* letters */,
+
1901  3 /*numRules*/,
+
1902  0 /* numLetters */,
+
1903 };
+
1904 
+
1905 //---------------------------------------------------------------------------
+
1906 // Policy name: E_EurAsia
+
1907 // Rules: 3
+
1908 // Memory (8-bit): 33
+
1909 // Memory (32-bit): 48
+
1910 //---------------------------------------------------------------------------
+
1911 
+
1912 static const extended::ZoneRule kZoneRulesE_EurAsia[] ACE_TIME_PROGMEM = {
+
1913  // Rule E-EurAsia 1981 max - Mar lastSun 0:00 1:00 -
+
1914  {
+
1915  -19 /*fromYearTiny*/,
+
1916  126 /*toYearTiny*/,
+
1917  3 /*inMonth*/,
+
1918  7 /*onDayOfWeek*/,
+
1919  0 /*onDayOfMonth*/,
+
1920  0 /*atTimeCode*/,
+
1921  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1922  (4 + 4) /*deltaCode*/,
+
1923  '-' /*letter*/,
+
1924  },
+
1925  // Rule E-EurAsia 1979 1995 - Sep lastSun 0:00 0 -
+
1926  {
+
1927  -21 /*fromYearTiny*/,
+
1928  -5 /*toYearTiny*/,
+
1929  9 /*inMonth*/,
+
1930  7 /*onDayOfWeek*/,
+
1931  0 /*onDayOfMonth*/,
+
1932  0 /*atTimeCode*/,
+
1933  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1934  (0 + 4) /*deltaCode*/,
+
1935  '-' /*letter*/,
+
1936  },
+
1937  // Rule E-EurAsia 1996 max - Oct lastSun 0:00 0 -
+
1938  {
+
1939  -4 /*fromYearTiny*/,
+
1940  126 /*toYearTiny*/,
+
1941  10 /*inMonth*/,
+
1942  7 /*onDayOfWeek*/,
+
1943  0 /*onDayOfMonth*/,
+
1944  0 /*atTimeCode*/,
+
1945  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
1946  (0 + 4) /*deltaCode*/,
+
1947  '-' /*letter*/,
+
1948  },
+
1949 
+
1950 };
+
1951 
+
1952 
+
1953 
+
1954 const extended::ZonePolicy kPolicyE_EurAsia ACE_TIME_PROGMEM = {
+
1955  kZoneRulesE_EurAsia /*rules*/,
+
1956  nullptr /* letters */,
+
1957  3 /*numRules*/,
+
1958  0 /* numLetters */,
+
1959 };
+
1960 
+
1961 //---------------------------------------------------------------------------
+
1962 // Policy name: EU
+
1963 // Rules: 3
+
1964 // Memory (8-bit): 33
+
1965 // Memory (32-bit): 48
+
1966 //---------------------------------------------------------------------------
+
1967 
+
1968 static const extended::ZoneRule kZoneRulesEU[] ACE_TIME_PROGMEM = {
+
1969  // Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
+
1970  {
+
1971  -21 /*fromYearTiny*/,
+
1972  -5 /*toYearTiny*/,
+
1973  9 /*inMonth*/,
+
1974  7 /*onDayOfWeek*/,
+
1975  0 /*onDayOfMonth*/,
+
1976  4 /*atTimeCode*/,
+
1977  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1978  (0 + 4) /*deltaCode*/,
+
1979  '-' /*letter*/,
+
1980  },
+
1981  // Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
+
1982  {
+
1983  -19 /*fromYearTiny*/,
+
1984  126 /*toYearTiny*/,
+
1985  3 /*inMonth*/,
+
1986  7 /*onDayOfWeek*/,
+
1987  0 /*onDayOfMonth*/,
+
1988  4 /*atTimeCode*/,
+
1989  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
1990  (4 + 4) /*deltaCode*/,
+
1991  'S' /*letter*/,
+
1992  },
+
1993  // Rule EU 1996 max - Oct lastSun 1:00u 0 -
+
1994  {
+
1995  -4 /*fromYearTiny*/,
+
1996  126 /*toYearTiny*/,
+
1997  10 /*inMonth*/,
+
1998  7 /*onDayOfWeek*/,
+
1999  0 /*onDayOfMonth*/,
+
2000  4 /*atTimeCode*/,
+
2001  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2002  (0 + 4) /*deltaCode*/,
+
2003  '-' /*letter*/,
+
2004  },
+
2005 
+
2006 };
+
2007 
+
2008 
+
2009 
+
2010 const extended::ZonePolicy kPolicyEU ACE_TIME_PROGMEM = {
+
2011  kZoneRulesEU /*rules*/,
+
2012  nullptr /* letters */,
+
2013  3 /*numRules*/,
+
2014  0 /* numLetters */,
+
2015 };
+
2016 
+
2017 //---------------------------------------------------------------------------
+
2018 // Policy name: EUAsia
+
2019 // Rules: 3
+
2020 // Memory (8-bit): 33
+
2021 // Memory (32-bit): 48
+
2022 //---------------------------------------------------------------------------
+
2023 
+
2024 static const extended::ZoneRule kZoneRulesEUAsia[] ACE_TIME_PROGMEM = {
+
2025  // Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S
+
2026  {
+
2027  -19 /*fromYearTiny*/,
+
2028  126 /*toYearTiny*/,
+
2029  3 /*inMonth*/,
+
2030  7 /*onDayOfWeek*/,
+
2031  0 /*onDayOfMonth*/,
+
2032  4 /*atTimeCode*/,
+
2033  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2034  (4 + 4) /*deltaCode*/,
+
2035  'S' /*letter*/,
+
2036  },
+
2037  // Rule EUAsia 1979 1995 - Sep lastSun 1:00u 0 -
+
2038  {
+
2039  -21 /*fromYearTiny*/,
+
2040  -5 /*toYearTiny*/,
+
2041  9 /*inMonth*/,
+
2042  7 /*onDayOfWeek*/,
+
2043  0 /*onDayOfMonth*/,
+
2044  4 /*atTimeCode*/,
+
2045  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2046  (0 + 4) /*deltaCode*/,
+
2047  '-' /*letter*/,
+
2048  },
+
2049  // Rule EUAsia 1996 max - Oct lastSun 1:00u 0 -
+
2050  {
+
2051  -4 /*fromYearTiny*/,
+
2052  126 /*toYearTiny*/,
+
2053  10 /*inMonth*/,
+
2054  7 /*onDayOfWeek*/,
+
2055  0 /*onDayOfMonth*/,
+
2056  4 /*atTimeCode*/,
+
2057  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2058  (0 + 4) /*deltaCode*/,
+
2059  '-' /*letter*/,
+
2060  },
+
2061 
+
2062 };
+
2063 
+
2064 
+
2065 
+
2066 const extended::ZonePolicy kPolicyEUAsia ACE_TIME_PROGMEM = {
+
2067  kZoneRulesEUAsia /*rules*/,
+
2068  nullptr /* letters */,
+
2069  3 /*numRules*/,
+
2070  0 /* numLetters */,
+
2071 };
+
2072 
+
2073 //---------------------------------------------------------------------------
+
2074 // Policy name: Ecuador
+
2075 // Rules: 1
+
2076 // Memory (8-bit): 15
+
2077 // Memory (32-bit): 24
+
2078 //---------------------------------------------------------------------------
+
2079 
+
2080 static const extended::ZoneRule kZoneRulesEcuador[] ACE_TIME_PROGMEM = {
+
2081  // Rule Ecuador 1993 only - Feb 5 0:00 0 -
+
2082  {
+
2083  -7 /*fromYearTiny*/,
+
2084  -7 /*toYearTiny*/,
+
2085  2 /*inMonth*/,
+
2086  0 /*onDayOfWeek*/,
+
2087  5 /*onDayOfMonth*/,
+
2088  0 /*atTimeCode*/,
+
2089  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2090  (0 + 4) /*deltaCode*/,
+
2091  '-' /*letter*/,
+
2092  },
+
2093 
+
2094 };
+
2095 
+
2096 
+
2097 
+
2098 const extended::ZonePolicy kPolicyEcuador ACE_TIME_PROGMEM = {
+
2099  kZoneRulesEcuador /*rules*/,
+
2100  nullptr /* letters */,
+
2101  1 /*numRules*/,
+
2102  0 /* numLetters */,
+
2103 };
+
2104 
+
2105 //---------------------------------------------------------------------------
+
2106 // Policy name: Egypt
+
2107 // Rules: 14
+
2108 // Memory (8-bit): 132
+
2109 // Memory (32-bit): 180
+
2110 //---------------------------------------------------------------------------
+
2111 
+
2112 static const extended::ZoneRule kZoneRulesEgypt[] ACE_TIME_PROGMEM = {
+
2113  // Rule Egypt 1966 1994 - Oct 1 3:00 0 -
+
2114  {
+
2115  -34 /*fromYearTiny*/,
+
2116  -6 /*toYearTiny*/,
+
2117  10 /*inMonth*/,
+
2118  0 /*onDayOfWeek*/,
+
2119  1 /*onDayOfMonth*/,
+
2120  12 /*atTimeCode*/,
+
2121  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2122  (0 + 4) /*deltaCode*/,
+
2123  '-' /*letter*/,
+
2124  },
+
2125  // Rule Egypt 1995 2010 - Apr lastFri 0:00s 1:00 S
+
2126  {
+
2127  -5 /*fromYearTiny*/,
+
2128  10 /*toYearTiny*/,
+
2129  4 /*inMonth*/,
+
2130  5 /*onDayOfWeek*/,
+
2131  0 /*onDayOfMonth*/,
+
2132  0 /*atTimeCode*/,
+
2133  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
2134  (4 + 4) /*deltaCode*/,
+
2135  'S' /*letter*/,
+
2136  },
+
2137  // Rule Egypt 1995 2005 - Sep lastThu 24:00 0 -
+
2138  {
+
2139  -5 /*fromYearTiny*/,
+
2140  5 /*toYearTiny*/,
+
2141  9 /*inMonth*/,
+
2142  4 /*onDayOfWeek*/,
+
2143  0 /*onDayOfMonth*/,
+
2144  96 /*atTimeCode*/,
+
2145  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2146  (0 + 4) /*deltaCode*/,
+
2147  '-' /*letter*/,
+
2148  },
+
2149  // Rule Egypt 2006 only - Sep 21 24:00 0 -
+
2150  {
+
2151  6 /*fromYearTiny*/,
+
2152  6 /*toYearTiny*/,
+
2153  9 /*inMonth*/,
+
2154  0 /*onDayOfWeek*/,
+
2155  21 /*onDayOfMonth*/,
+
2156  96 /*atTimeCode*/,
+
2157  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2158  (0 + 4) /*deltaCode*/,
+
2159  '-' /*letter*/,
+
2160  },
+
2161  // Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
+
2162  {
+
2163  7 /*fromYearTiny*/,
+
2164  7 /*toYearTiny*/,
+
2165  9 /*inMonth*/,
+
2166  4 /*onDayOfWeek*/,
+
2167  1 /*onDayOfMonth*/,
+
2168  96 /*atTimeCode*/,
+
2169  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2170  (0 + 4) /*deltaCode*/,
+
2171  '-' /*letter*/,
+
2172  },
+
2173  // Rule Egypt 2008 only - Aug lastThu 24:00 0 -
+
2174  {
+
2175  8 /*fromYearTiny*/,
+
2176  8 /*toYearTiny*/,
+
2177  8 /*inMonth*/,
+
2178  4 /*onDayOfWeek*/,
+
2179  0 /*onDayOfMonth*/,
+
2180  96 /*atTimeCode*/,
+
2181  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2182  (0 + 4) /*deltaCode*/,
+
2183  '-' /*letter*/,
+
2184  },
+
2185  // Rule Egypt 2009 only - Aug 20 24:00 0 -
+
2186  {
+
2187  9 /*fromYearTiny*/,
+
2188  9 /*toYearTiny*/,
+
2189  8 /*inMonth*/,
+
2190  0 /*onDayOfWeek*/,
+
2191  20 /*onDayOfMonth*/,
+
2192  96 /*atTimeCode*/,
+
2193  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2194  (0 + 4) /*deltaCode*/,
+
2195  '-' /*letter*/,
+
2196  },
+
2197  // Rule Egypt 2010 only - Aug 10 24:00 0 -
+
2198  {
+
2199  10 /*fromYearTiny*/,
+
2200  10 /*toYearTiny*/,
+
2201  8 /*inMonth*/,
+
2202  0 /*onDayOfWeek*/,
+
2203  10 /*onDayOfMonth*/,
+
2204  96 /*atTimeCode*/,
+
2205  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2206  (0 + 4) /*deltaCode*/,
+
2207  '-' /*letter*/,
+
2208  },
+
2209  // Rule Egypt 2010 only - Sep 9 24:00 1:00 S
+
2210  {
+
2211  10 /*fromYearTiny*/,
+
2212  10 /*toYearTiny*/,
+
2213  9 /*inMonth*/,
+
2214  0 /*onDayOfWeek*/,
+
2215  9 /*onDayOfMonth*/,
+
2216  96 /*atTimeCode*/,
+
2217  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2218  (4 + 4) /*deltaCode*/,
+
2219  'S' /*letter*/,
+
2220  },
+
2221  // Rule Egypt 2010 only - Sep lastThu 24:00 0 -
+
2222  {
+
2223  10 /*fromYearTiny*/,
+
2224  10 /*toYearTiny*/,
+
2225  9 /*inMonth*/,
+
2226  4 /*onDayOfWeek*/,
+
2227  0 /*onDayOfMonth*/,
+
2228  96 /*atTimeCode*/,
+
2229  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2230  (0 + 4) /*deltaCode*/,
+
2231  '-' /*letter*/,
+
2232  },
+
2233  // Rule Egypt 2014 only - May 15 24:00 1:00 S
+
2234  {
+
2235  14 /*fromYearTiny*/,
+
2236  14 /*toYearTiny*/,
+
2237  5 /*inMonth*/,
+
2238  0 /*onDayOfWeek*/,
+
2239  15 /*onDayOfMonth*/,
+
2240  96 /*atTimeCode*/,
+
2241  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2242  (4 + 4) /*deltaCode*/,
+
2243  'S' /*letter*/,
+
2244  },
+
2245  // Rule Egypt 2014 only - Jun 26 24:00 0 -
+
2246  {
+
2247  14 /*fromYearTiny*/,
+
2248  14 /*toYearTiny*/,
+
2249  6 /*inMonth*/,
+
2250  0 /*onDayOfWeek*/,
+
2251  26 /*onDayOfMonth*/,
+
2252  96 /*atTimeCode*/,
+
2253  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2254  (0 + 4) /*deltaCode*/,
+
2255  '-' /*letter*/,
+
2256  },
+
2257  // Rule Egypt 2014 only - Jul 31 24:00 1:00 S
+
2258  {
+
2259  14 /*fromYearTiny*/,
+
2260  14 /*toYearTiny*/,
+
2261  7 /*inMonth*/,
+
2262  0 /*onDayOfWeek*/,
+
2263  31 /*onDayOfMonth*/,
+
2264  96 /*atTimeCode*/,
+
2265  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2266  (4 + 4) /*deltaCode*/,
+
2267  'S' /*letter*/,
+
2268  },
+
2269  // Rule Egypt 2014 only - Sep lastThu 24:00 0 -
+
2270  {
+
2271  14 /*fromYearTiny*/,
+
2272  14 /*toYearTiny*/,
+
2273  9 /*inMonth*/,
+
2274  4 /*onDayOfWeek*/,
+
2275  0 /*onDayOfMonth*/,
+
2276  96 /*atTimeCode*/,
+
2277  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2278  (0 + 4) /*deltaCode*/,
+
2279  '-' /*letter*/,
+
2280  },
+
2281 
+
2282 };
+
2283 
+
2284 
+
2285 
+
2286 const extended::ZonePolicy kPolicyEgypt ACE_TIME_PROGMEM = {
+
2287  kZoneRulesEgypt /*rules*/,
+
2288  nullptr /* letters */,
+
2289  14 /*numRules*/,
+
2290  0 /* numLetters */,
+
2291 };
+
2292 
+
2293 //---------------------------------------------------------------------------
+
2294 // Policy name: Eire
+
2295 // Rules: 3
+
2296 // Memory (8-bit): 33
+
2297 // Memory (32-bit): 48
+
2298 //---------------------------------------------------------------------------
+
2299 
+
2300 static const extended::ZoneRule kZoneRulesEire[] ACE_TIME_PROGMEM = {
+
2301  // Rule Eire 1981 max - Mar lastSun 1:00u 0 -
+
2302  {
+
2303  -19 /*fromYearTiny*/,
+
2304  126 /*toYearTiny*/,
+
2305  3 /*inMonth*/,
+
2306  7 /*onDayOfWeek*/,
+
2307  0 /*onDayOfMonth*/,
+
2308  4 /*atTimeCode*/,
+
2309  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2310  (0 + 4) /*deltaCode*/,
+
2311  '-' /*letter*/,
+
2312  },
+
2313  // Rule Eire 1990 1995 - Oct Sun>=22 1:00u -1:00 -
+
2314  {
+
2315  -10 /*fromYearTiny*/,
+
2316  -5 /*toYearTiny*/,
+
2317  10 /*inMonth*/,
+
2318  7 /*onDayOfWeek*/,
+
2319  22 /*onDayOfMonth*/,
+
2320  4 /*atTimeCode*/,
+
2321  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2322  (-4 + 4) /*deltaCode*/,
+
2323  '-' /*letter*/,
+
2324  },
+
2325  // Rule Eire 1996 max - Oct lastSun 1:00u -1:00 -
+
2326  {
+
2327  -4 /*fromYearTiny*/,
+
2328  126 /*toYearTiny*/,
+
2329  10 /*inMonth*/,
+
2330  7 /*onDayOfWeek*/,
+
2331  0 /*onDayOfMonth*/,
+
2332  4 /*atTimeCode*/,
+
2333  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
2334  (-4 + 4) /*deltaCode*/,
+
2335  '-' /*letter*/,
+
2336  },
+
2337 
+
2338 };
+
2339 
+
2340 
+
2341 
+
2342 const extended::ZonePolicy kPolicyEire ACE_TIME_PROGMEM = {
+
2343  kZoneRulesEire /*rules*/,
+
2344  nullptr /* letters */,
+
2345  3 /*numRules*/,
+
2346  0 /* numLetters */,
+
2347 };
+
2348 
+
2349 //---------------------------------------------------------------------------
+
2350 // Policy name: Falk
+
2351 // Rules: 5
+
2352 // Memory (8-bit): 51
+
2353 // Memory (32-bit): 72
+
2354 //---------------------------------------------------------------------------
+
2355 
+
2356 static const extended::ZoneRule kZoneRulesFalk[] ACE_TIME_PROGMEM = {
+
2357  // Rule Falk 1984 1985 - Apr lastSun 0:00 0 -
+
2358  {
+
2359  -16 /*fromYearTiny*/,
+
2360  -15 /*toYearTiny*/,
+
2361  4 /*inMonth*/,
+
2362  7 /*onDayOfWeek*/,
+
2363  0 /*onDayOfMonth*/,
+
2364  0 /*atTimeCode*/,
+
2365  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2366  (0 + 4) /*deltaCode*/,
+
2367  '-' /*letter*/,
+
2368  },
+
2369  // Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 -
+
2370  {
+
2371  -15 /*fromYearTiny*/,
+
2372  0 /*toYearTiny*/,
+
2373  9 /*inMonth*/,
+
2374  7 /*onDayOfWeek*/,
+
2375  9 /*onDayOfMonth*/,
+
2376  0 /*atTimeCode*/,
+
2377  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2378  (4 + 4) /*deltaCode*/,
+
2379  '-' /*letter*/,
+
2380  },
+
2381  // Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 -
+
2382  {
+
2383  -14 /*fromYearTiny*/,
+
2384  0 /*toYearTiny*/,
+
2385  4 /*inMonth*/,
+
2386  7 /*onDayOfWeek*/,
+
2387  16 /*onDayOfMonth*/,
+
2388  0 /*atTimeCode*/,
+
2389  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2390  (0 + 4) /*deltaCode*/,
+
2391  '-' /*letter*/,
+
2392  },
+
2393  // Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 -
+
2394  {
+
2395  1 /*fromYearTiny*/,
+
2396  10 /*toYearTiny*/,
+
2397  4 /*inMonth*/,
+
2398  7 /*onDayOfWeek*/,
+
2399  15 /*onDayOfMonth*/,
+
2400  8 /*atTimeCode*/,
+
2401  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2402  (0 + 4) /*deltaCode*/,
+
2403  '-' /*letter*/,
+
2404  },
+
2405  // Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 -
+
2406  {
+
2407  1 /*fromYearTiny*/,
+
2408  10 /*toYearTiny*/,
+
2409  9 /*inMonth*/,
+
2410  7 /*onDayOfWeek*/,
+
2411  1 /*onDayOfMonth*/,
+
2412  8 /*atTimeCode*/,
+
2413  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2414  (4 + 4) /*deltaCode*/,
+
2415  '-' /*letter*/,
+
2416  },
+
2417 
+
2418 };
+
2419 
+
2420 
+
2421 
+
2422 const extended::ZonePolicy kPolicyFalk ACE_TIME_PROGMEM = {
+
2423  kZoneRulesFalk /*rules*/,
+
2424  nullptr /* letters */,
+
2425  5 /*numRules*/,
+
2426  0 /* numLetters */,
+
2427 };
+
2428 
+
2429 //---------------------------------------------------------------------------
+
2430 // Policy name: Fiji
+
2431 // Rules: 13
+
2432 // Memory (8-bit): 123
+
2433 // Memory (32-bit): 168
+
2434 //---------------------------------------------------------------------------
+
2435 
+
2436 static const extended::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = {
+
2437  // Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
+
2438  {
+
2439  -2 /*fromYearTiny*/,
+
2440  -1 /*toYearTiny*/,
+
2441  11 /*inMonth*/,
+
2442  7 /*onDayOfWeek*/,
+
2443  1 /*onDayOfMonth*/,
+
2444  8 /*atTimeCode*/,
+
2445  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2446  (4 + 4) /*deltaCode*/,
+
2447  '-' /*letter*/,
+
2448  },
+
2449  // Rule Fiji 1999 2000 - Feb lastSun 3:00 0 -
+
2450  {
+
2451  -1 /*fromYearTiny*/,
+
2452  0 /*toYearTiny*/,
+
2453  2 /*inMonth*/,
+
2454  7 /*onDayOfWeek*/,
+
2455  0 /*onDayOfMonth*/,
+
2456  12 /*atTimeCode*/,
+
2457  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2458  (0 + 4) /*deltaCode*/,
+
2459  '-' /*letter*/,
+
2460  },
+
2461  // Rule Fiji 2009 only - Nov 29 2:00 1:00 -
+
2462  {
+
2463  9 /*fromYearTiny*/,
+
2464  9 /*toYearTiny*/,
+
2465  11 /*inMonth*/,
+
2466  0 /*onDayOfWeek*/,
+
2467  29 /*onDayOfMonth*/,
+
2468  8 /*atTimeCode*/,
+
2469  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2470  (4 + 4) /*deltaCode*/,
+
2471  '-' /*letter*/,
+
2472  },
+
2473  // Rule Fiji 2010 only - Mar lastSun 3:00 0 -
+
2474  {
+
2475  10 /*fromYearTiny*/,
+
2476  10 /*toYearTiny*/,
+
2477  3 /*inMonth*/,
+
2478  7 /*onDayOfWeek*/,
+
2479  0 /*onDayOfMonth*/,
+
2480  12 /*atTimeCode*/,
+
2481  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2482  (0 + 4) /*deltaCode*/,
+
2483  '-' /*letter*/,
+
2484  },
+
2485  // Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 -
+
2486  {
+
2487  10 /*fromYearTiny*/,
+
2488  13 /*toYearTiny*/,
+
2489  10 /*inMonth*/,
+
2490  7 /*onDayOfWeek*/,
+
2491  21 /*onDayOfMonth*/,
+
2492  8 /*atTimeCode*/,
+
2493  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2494  (4 + 4) /*deltaCode*/,
+
2495  '-' /*letter*/,
+
2496  },
+
2497  // Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
+
2498  {
+
2499  11 /*fromYearTiny*/,
+
2500  11 /*toYearTiny*/,
+
2501  3 /*inMonth*/,
+
2502  7 /*onDayOfWeek*/,
+
2503  1 /*onDayOfMonth*/,
+
2504  12 /*atTimeCode*/,
+
2505  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2506  (0 + 4) /*deltaCode*/,
+
2507  '-' /*letter*/,
+
2508  },
+
2509  // Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
+
2510  {
+
2511  12 /*fromYearTiny*/,
+
2512  13 /*toYearTiny*/,
+
2513  1 /*inMonth*/,
+
2514  7 /*onDayOfWeek*/,
+
2515  18 /*onDayOfMonth*/,
+
2516  12 /*atTimeCode*/,
+
2517  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2518  (0 + 4) /*deltaCode*/,
+
2519  '-' /*letter*/,
+
2520  },
+
2521  // Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
+
2522  {
+
2523  14 /*fromYearTiny*/,
+
2524  14 /*toYearTiny*/,
+
2525  1 /*inMonth*/,
+
2526  7 /*onDayOfWeek*/,
+
2527  18 /*onDayOfMonth*/,
+
2528  8 /*atTimeCode*/,
+
2529  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2530  (0 + 4) /*deltaCode*/,
+
2531  '-' /*letter*/,
+
2532  },
+
2533  // Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
+
2534  {
+
2535  14 /*fromYearTiny*/,
+
2536  18 /*toYearTiny*/,
+
2537  11 /*inMonth*/,
+
2538  7 /*onDayOfWeek*/,
+
2539  1 /*onDayOfMonth*/,
+
2540  8 /*atTimeCode*/,
+
2541  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2542  (4 + 4) /*deltaCode*/,
+
2543  '-' /*letter*/,
+
2544  },
+
2545  // Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
+
2546  {
+
2547  15 /*fromYearTiny*/,
+
2548  126 /*toYearTiny*/,
+
2549  1 /*inMonth*/,
+
2550  7 /*onDayOfWeek*/,
+
2551  12 /*onDayOfMonth*/,
+
2552  12 /*atTimeCode*/,
+
2553  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2554  (0 + 4) /*deltaCode*/,
+
2555  '-' /*letter*/,
+
2556  },
+
2557  // Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
+
2558  {
+
2559  19 /*fromYearTiny*/,
+
2560  19 /*toYearTiny*/,
+
2561  11 /*inMonth*/,
+
2562  7 /*onDayOfWeek*/,
+
2563  8 /*onDayOfMonth*/,
+
2564  8 /*atTimeCode*/,
+
2565  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2566  (4 + 4) /*deltaCode*/,
+
2567  '-' /*letter*/,
+
2568  },
+
2569  // Rule Fiji 2020 only - Dec 20 2:00 1:00 -
+
2570  {
+
2571  20 /*fromYearTiny*/,
+
2572  20 /*toYearTiny*/,
+
2573  12 /*inMonth*/,
+
2574  0 /*onDayOfWeek*/,
+
2575  20 /*onDayOfMonth*/,
+
2576  8 /*atTimeCode*/,
+
2577  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2578  (4 + 4) /*deltaCode*/,
+
2579  '-' /*letter*/,
+
2580  },
+
2581  // Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 -
+
2582  {
+
2583  21 /*fromYearTiny*/,
+
2584  126 /*toYearTiny*/,
+
2585  11 /*inMonth*/,
+
2586  7 /*onDayOfWeek*/,
+
2587  8 /*onDayOfMonth*/,
+
2588  8 /*atTimeCode*/,
+
2589  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2590  (4 + 4) /*deltaCode*/,
+
2591  '-' /*letter*/,
+
2592  },
+
2593 
+
2594 };
+
2595 
+
2596 
+
2597 
+
2598 const extended::ZonePolicy kPolicyFiji ACE_TIME_PROGMEM = {
+
2599  kZoneRulesFiji /*rules*/,
+
2600  nullptr /* letters */,
+
2601  13 /*numRules*/,
+
2602  0 /* numLetters */,
+
2603 };
+
2604 
+
2605 //---------------------------------------------------------------------------
+
2606 // Policy name: Ghana
+
2607 // Rules: 1
+
2608 // Memory (8-bit): 15
+
2609 // Memory (32-bit): 24
+
2610 //---------------------------------------------------------------------------
+
2611 
+
2612 static const extended::ZoneRule kZoneRulesGhana[] ACE_TIME_PROGMEM = {
+
2613  // Rule Ghana 1920 1942 - Dec 31 0:00 0 -
+
2614  {
+
2615  -80 /*fromYearTiny*/,
+
2616  -58 /*toYearTiny*/,
+
2617  12 /*inMonth*/,
+
2618  0 /*onDayOfWeek*/,
+
2619  31 /*onDayOfMonth*/,
+
2620  0 /*atTimeCode*/,
+
2621  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2622  (0 + 4) /*deltaCode*/,
+
2623  '-' /*letter*/,
+
2624  },
+
2625 
+
2626 };
+
2627 
+
2628 
+
2629 
+
2630 const extended::ZonePolicy kPolicyGhana ACE_TIME_PROGMEM = {
+
2631  kZoneRulesGhana /*rules*/,
+
2632  nullptr /* letters */,
+
2633  1 /*numRules*/,
+
2634  0 /* numLetters */,
+
2635 };
+
2636 
+
2637 //---------------------------------------------------------------------------
+
2638 // Policy name: Guam
+
2639 // Rules: 1
+
2640 // Memory (8-bit): 15
+
2641 // Memory (32-bit): 24
+
2642 //---------------------------------------------------------------------------
+
2643 
+
2644 static const extended::ZoneRule kZoneRulesGuam[] ACE_TIME_PROGMEM = {
+
2645  // Rule Guam 1977 only - Aug 28 2:00 0 S
+
2646  {
+
2647  -23 /*fromYearTiny*/,
+
2648  -23 /*toYearTiny*/,
+
2649  8 /*inMonth*/,
+
2650  0 /*onDayOfWeek*/,
+
2651  28 /*onDayOfMonth*/,
+
2652  8 /*atTimeCode*/,
+
2653  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2654  (0 + 4) /*deltaCode*/,
+
2655  'S' /*letter*/,
+
2656  },
+
2657 
+
2658 };
+
2659 
+
2660 
+
2661 
+
2662 const extended::ZonePolicy kPolicyGuam ACE_TIME_PROGMEM = {
+
2663  kZoneRulesGuam /*rules*/,
+
2664  nullptr /* letters */,
+
2665  1 /*numRules*/,
+
2666  0 /* numLetters */,
+
2667 };
+
2668 
+
2669 //---------------------------------------------------------------------------
+
2670 // Policy name: Guat
+
2671 // Rules: 3
+
2672 // Memory (8-bit): 33
+
2673 // Memory (32-bit): 48
+
2674 //---------------------------------------------------------------------------
+
2675 
+
2676 static const extended::ZoneRule kZoneRulesGuat[] ACE_TIME_PROGMEM = {
+
2677  // Rule Guat 1991 only - Sep 7 0:00 0 S
+
2678  {
+
2679  -9 /*fromYearTiny*/,
+
2680  -9 /*toYearTiny*/,
+
2681  9 /*inMonth*/,
+
2682  0 /*onDayOfWeek*/,
+
2683  7 /*onDayOfMonth*/,
+
2684  0 /*atTimeCode*/,
+
2685  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2686  (0 + 4) /*deltaCode*/,
+
2687  'S' /*letter*/,
+
2688  },
+
2689  // Rule Guat 2006 only - Apr 30 0:00 1:00 D
+
2690  {
+
2691  6 /*fromYearTiny*/,
+
2692  6 /*toYearTiny*/,
+
2693  4 /*inMonth*/,
+
2694  0 /*onDayOfWeek*/,
+
2695  30 /*onDayOfMonth*/,
+
2696  0 /*atTimeCode*/,
+
2697  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2698  (4 + 4) /*deltaCode*/,
+
2699  'D' /*letter*/,
+
2700  },
+
2701  // Rule Guat 2006 only - Oct 1 0:00 0 S
+
2702  {
+
2703  6 /*fromYearTiny*/,
+
2704  6 /*toYearTiny*/,
+
2705  10 /*inMonth*/,
+
2706  0 /*onDayOfWeek*/,
+
2707  1 /*onDayOfMonth*/,
+
2708  0 /*atTimeCode*/,
+
2709  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2710  (0 + 4) /*deltaCode*/,
+
2711  'S' /*letter*/,
+
2712  },
+
2713 
+
2714 };
+
2715 
+
2716 
+
2717 
+
2718 const extended::ZonePolicy kPolicyGuat ACE_TIME_PROGMEM = {
+
2719  kZoneRulesGuat /*rules*/,
+
2720  nullptr /* letters */,
+
2721  3 /*numRules*/,
+
2722  0 /* numLetters */,
+
2723 };
+
2724 
+
2725 //---------------------------------------------------------------------------
+
2726 // Policy name: HK
+
2727 // Rules: 1
+
2728 // Memory (8-bit): 15
+
2729 // Memory (32-bit): 24
+
2730 //---------------------------------------------------------------------------
+
2731 
+
2732 static const extended::ZoneRule kZoneRulesHK[] ACE_TIME_PROGMEM = {
+
2733  // Rule HK 1979 only - Oct 21 3:30 0 -
+
2734  {
+
2735  -21 /*fromYearTiny*/,
+
2736  -21 /*toYearTiny*/,
+
2737  10 /*inMonth*/,
+
2738  0 /*onDayOfWeek*/,
+
2739  21 /*onDayOfMonth*/,
+
2740  14 /*atTimeCode*/,
+
2741  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2742  (0 + 4) /*deltaCode*/,
+
2743  '-' /*letter*/,
+
2744  },
+
2745 
+
2746 };
+
2747 
+
2748 
+
2749 
+
2750 const extended::ZonePolicy kPolicyHK ACE_TIME_PROGMEM = {
+
2751  kZoneRulesHK /*rules*/,
+
2752  nullptr /* letters */,
+
2753  1 /*numRules*/,
+
2754  0 /* numLetters */,
+
2755 };
+
2756 
+
2757 //---------------------------------------------------------------------------
+
2758 // Policy name: Haiti
+
2759 // Rules: 7
+
2760 // Memory (8-bit): 69
+
2761 // Memory (32-bit): 96
+
2762 //---------------------------------------------------------------------------
+
2763 
+
2764 static const extended::ZoneRule kZoneRulesHaiti[] ACE_TIME_PROGMEM = {
+
2765  // Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S
+
2766  {
+
2767  -12 /*fromYearTiny*/,
+
2768  -3 /*toYearTiny*/,
+
2769  10 /*inMonth*/,
+
2770  7 /*onDayOfWeek*/,
+
2771  0 /*onDayOfMonth*/,
+
2772  4 /*atTimeCode*/,
+
2773  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
2774  (0 + 4) /*deltaCode*/,
+
2775  'S' /*letter*/,
+
2776  },
+
2777  // Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D
+
2778  {
+
2779  5 /*fromYearTiny*/,
+
2780  6 /*toYearTiny*/,
+
2781  4 /*inMonth*/,
+
2782  7 /*onDayOfWeek*/,
+
2783  1 /*onDayOfMonth*/,
+
2784  0 /*atTimeCode*/,
+
2785  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2786  (4 + 4) /*deltaCode*/,
+
2787  'D' /*letter*/,
+
2788  },
+
2789  // Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S
+
2790  {
+
2791  5 /*fromYearTiny*/,
+
2792  6 /*toYearTiny*/,
+
2793  10 /*inMonth*/,
+
2794  7 /*onDayOfWeek*/,
+
2795  0 /*onDayOfMonth*/,
+
2796  0 /*atTimeCode*/,
+
2797  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2798  (0 + 4) /*deltaCode*/,
+
2799  'S' /*letter*/,
+
2800  },
+
2801  // Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D
+
2802  {
+
2803  12 /*fromYearTiny*/,
+
2804  15 /*toYearTiny*/,
+
2805  3 /*inMonth*/,
+
2806  7 /*onDayOfWeek*/,
+
2807  8 /*onDayOfMonth*/,
+
2808  8 /*atTimeCode*/,
+
2809  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2810  (4 + 4) /*deltaCode*/,
+
2811  'D' /*letter*/,
+
2812  },
+
2813  // Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S
+
2814  {
+
2815  12 /*fromYearTiny*/,
+
2816  15 /*toYearTiny*/,
+
2817  11 /*inMonth*/,
+
2818  7 /*onDayOfWeek*/,
+
2819  1 /*onDayOfMonth*/,
+
2820  8 /*atTimeCode*/,
+
2821  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2822  (0 + 4) /*deltaCode*/,
+
2823  'S' /*letter*/,
+
2824  },
+
2825  // Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D
+
2826  {
+
2827  17 /*fromYearTiny*/,
+
2828  126 /*toYearTiny*/,
+
2829  3 /*inMonth*/,
+
2830  7 /*onDayOfWeek*/,
+
2831  8 /*onDayOfMonth*/,
+
2832  8 /*atTimeCode*/,
+
2833  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2834  (4 + 4) /*deltaCode*/,
+
2835  'D' /*letter*/,
+
2836  },
+
2837  // Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S
+
2838  {
+
2839  17 /*fromYearTiny*/,
+
2840  126 /*toYearTiny*/,
+
2841  11 /*inMonth*/,
+
2842  7 /*onDayOfWeek*/,
+
2843  1 /*onDayOfMonth*/,
+
2844  8 /*atTimeCode*/,
+
2845  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2846  (0 + 4) /*deltaCode*/,
+
2847  'S' /*letter*/,
+
2848  },
+
2849 
+
2850 };
+
2851 
+
2852 
+
2853 
+
2854 const extended::ZonePolicy kPolicyHaiti ACE_TIME_PROGMEM = {
+
2855  kZoneRulesHaiti /*rules*/,
+
2856  nullptr /* letters */,
+
2857  7 /*numRules*/,
+
2858  0 /* numLetters */,
+
2859 };
+
2860 
+
2861 //---------------------------------------------------------------------------
+
2862 // Policy name: Holiday
+
2863 // Rules: 1
+
2864 // Memory (8-bit): 15
+
2865 // Memory (32-bit): 24
+
2866 //---------------------------------------------------------------------------
+
2867 
+
2868 static const extended::ZoneRule kZoneRulesHoliday[] ACE_TIME_PROGMEM = {
+
2869  // Rule Holiday 1993 1994 - Mar Sun>=1 2:00s 0 S
+
2870  {
+
2871  -7 /*fromYearTiny*/,
+
2872  -6 /*toYearTiny*/,
+
2873  3 /*inMonth*/,
+
2874  7 /*onDayOfWeek*/,
+
2875  1 /*onDayOfMonth*/,
+
2876  8 /*atTimeCode*/,
+
2877  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
2878  (0 + 4) /*deltaCode*/,
+
2879  'S' /*letter*/,
+
2880  },
+
2881 
+
2882 };
+
2883 
+
2884 
+
2885 
+
2886 const extended::ZonePolicy kPolicyHoliday ACE_TIME_PROGMEM = {
+
2887  kZoneRulesHoliday /*rules*/,
+
2888  nullptr /* letters */,
+
2889  1 /*numRules*/,
+
2890  0 /* numLetters */,
+
2891 };
+
2892 
+
2893 //---------------------------------------------------------------------------
+
2894 // Policy name: Hond
+
2895 // Rules: 3
+
2896 // Memory (8-bit): 33
+
2897 // Memory (32-bit): 48
+
2898 //---------------------------------------------------------------------------
+
2899 
+
2900 static const extended::ZoneRule kZoneRulesHond[] ACE_TIME_PROGMEM = {
+
2901  // Rule Hond 1987 1988 - Sep lastSun 0:00 0 S
+
2902  {
+
2903  -13 /*fromYearTiny*/,
+
2904  -12 /*toYearTiny*/,
+
2905  9 /*inMonth*/,
+
2906  7 /*onDayOfWeek*/,
+
2907  0 /*onDayOfMonth*/,
+
2908  0 /*atTimeCode*/,
+
2909  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2910  (0 + 4) /*deltaCode*/,
+
2911  'S' /*letter*/,
+
2912  },
+
2913  // Rule Hond 2006 only - May Sun>=1 0:00 1:00 D
+
2914  {
+
2915  6 /*fromYearTiny*/,
+
2916  6 /*toYearTiny*/,
+
2917  5 /*inMonth*/,
+
2918  7 /*onDayOfWeek*/,
+
2919  1 /*onDayOfMonth*/,
+
2920  0 /*atTimeCode*/,
+
2921  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2922  (4 + 4) /*deltaCode*/,
+
2923  'D' /*letter*/,
+
2924  },
+
2925  // Rule Hond 2006 only - Aug Mon>=1 0:00 0 S
+
2926  {
+
2927  6 /*fromYearTiny*/,
+
2928  6 /*toYearTiny*/,
+
2929  8 /*inMonth*/,
+
2930  1 /*onDayOfWeek*/,
+
2931  1 /*onDayOfMonth*/,
+
2932  0 /*atTimeCode*/,
+
2933  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2934  (0 + 4) /*deltaCode*/,
+
2935  'S' /*letter*/,
+
2936  },
+
2937 
+
2938 };
+
2939 
+
2940 
+
2941 
+
2942 const extended::ZonePolicy kPolicyHond ACE_TIME_PROGMEM = {
+
2943  kZoneRulesHond /*rules*/,
+
2944  nullptr /* letters */,
+
2945  3 /*numRules*/,
+
2946  0 /* numLetters */,
+
2947 };
+
2948 
+
2949 //---------------------------------------------------------------------------
+
2950 // Policy name: Iran
+
2951 // Rules: 55
+
2952 // Memory (8-bit): 501
+
2953 // Memory (32-bit): 672
+
2954 //---------------------------------------------------------------------------
+
2955 
+
2956 static const extended::ZoneRule kZoneRulesIran[] ACE_TIME_PROGMEM = {
+
2957  // Rule Iran 1996 only - Sep 20 24:00 0 -
+
2958  {
+
2959  -4 /*fromYearTiny*/,
+
2960  -4 /*toYearTiny*/,
+
2961  9 /*inMonth*/,
+
2962  0 /*onDayOfWeek*/,
+
2963  20 /*onDayOfMonth*/,
+
2964  96 /*atTimeCode*/,
+
2965  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2966  (0 + 4) /*deltaCode*/,
+
2967  '-' /*letter*/,
+
2968  },
+
2969  // Rule Iran 1997 1999 - Mar 21 24:00 1:00 -
+
2970  {
+
2971  -3 /*fromYearTiny*/,
+
2972  -1 /*toYearTiny*/,
+
2973  3 /*inMonth*/,
+
2974  0 /*onDayOfWeek*/,
+
2975  21 /*onDayOfMonth*/,
+
2976  96 /*atTimeCode*/,
+
2977  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2978  (4 + 4) /*deltaCode*/,
+
2979  '-' /*letter*/,
+
2980  },
+
2981  // Rule Iran 1997 1999 - Sep 21 24:00 0 -
+
2982  {
+
2983  -3 /*fromYearTiny*/,
+
2984  -1 /*toYearTiny*/,
+
2985  9 /*inMonth*/,
+
2986  0 /*onDayOfWeek*/,
+
2987  21 /*onDayOfMonth*/,
+
2988  96 /*atTimeCode*/,
+
2989  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
2990  (0 + 4) /*deltaCode*/,
+
2991  '-' /*letter*/,
+
2992  },
+
2993  // Rule Iran 2000 only - Mar 20 24:00 1:00 -
+
2994  {
+
2995  0 /*fromYearTiny*/,
+
2996  0 /*toYearTiny*/,
+
2997  3 /*inMonth*/,
+
2998  0 /*onDayOfWeek*/,
+
2999  20 /*onDayOfMonth*/,
+
3000  96 /*atTimeCode*/,
+
3001  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3002  (4 + 4) /*deltaCode*/,
+
3003  '-' /*letter*/,
+
3004  },
+
3005  // Rule Iran 2000 only - Sep 20 24:00 0 -
+
3006  {
+
3007  0 /*fromYearTiny*/,
+
3008  0 /*toYearTiny*/,
+
3009  9 /*inMonth*/,
+
3010  0 /*onDayOfWeek*/,
+
3011  20 /*onDayOfMonth*/,
+
3012  96 /*atTimeCode*/,
+
3013  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3014  (0 + 4) /*deltaCode*/,
+
3015  '-' /*letter*/,
+
3016  },
+
3017  // Rule Iran 2001 2003 - Mar 21 24:00 1:00 -
+
3018  {
+
3019  1 /*fromYearTiny*/,
+
3020  3 /*toYearTiny*/,
+
3021  3 /*inMonth*/,
+
3022  0 /*onDayOfWeek*/,
+
3023  21 /*onDayOfMonth*/,
+
3024  96 /*atTimeCode*/,
+
3025  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3026  (4 + 4) /*deltaCode*/,
+
3027  '-' /*letter*/,
+
3028  },
+
3029  // Rule Iran 2001 2003 - Sep 21 24:00 0 -
+
3030  {
+
3031  1 /*fromYearTiny*/,
+
3032  3 /*toYearTiny*/,
+
3033  9 /*inMonth*/,
+
3034  0 /*onDayOfWeek*/,
+
3035  21 /*onDayOfMonth*/,
+
3036  96 /*atTimeCode*/,
+
3037  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3038  (0 + 4) /*deltaCode*/,
+
3039  '-' /*letter*/,
+
3040  },
+
3041  // Rule Iran 2004 only - Mar 20 24:00 1:00 -
+
3042  {
+
3043  4 /*fromYearTiny*/,
+
3044  4 /*toYearTiny*/,
+
3045  3 /*inMonth*/,
+
3046  0 /*onDayOfWeek*/,
+
3047  20 /*onDayOfMonth*/,
+
3048  96 /*atTimeCode*/,
+
3049  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3050  (4 + 4) /*deltaCode*/,
+
3051  '-' /*letter*/,
+
3052  },
+
3053  // Rule Iran 2004 only - Sep 20 24:00 0 -
+
3054  {
+
3055  4 /*fromYearTiny*/,
+
3056  4 /*toYearTiny*/,
+
3057  9 /*inMonth*/,
+
3058  0 /*onDayOfWeek*/,
+
3059  20 /*onDayOfMonth*/,
+
3060  96 /*atTimeCode*/,
+
3061  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3062  (0 + 4) /*deltaCode*/,
+
3063  '-' /*letter*/,
+
3064  },
+
3065  // Rule Iran 2005 only - Mar 21 24:00 1:00 -
+
3066  {
+
3067  5 /*fromYearTiny*/,
+
3068  5 /*toYearTiny*/,
+
3069  3 /*inMonth*/,
+
3070  0 /*onDayOfWeek*/,
+
3071  21 /*onDayOfMonth*/,
+
3072  96 /*atTimeCode*/,
+
3073  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3074  (4 + 4) /*deltaCode*/,
+
3075  '-' /*letter*/,
+
3076  },
+
3077  // Rule Iran 2005 only - Sep 21 24:00 0 -
+
3078  {
+
3079  5 /*fromYearTiny*/,
+
3080  5 /*toYearTiny*/,
+
3081  9 /*inMonth*/,
+
3082  0 /*onDayOfWeek*/,
+
3083  21 /*onDayOfMonth*/,
+
3084  96 /*atTimeCode*/,
+
3085  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3086  (0 + 4) /*deltaCode*/,
+
3087  '-' /*letter*/,
+
3088  },
+
3089  // Rule Iran 2008 only - Mar 20 24:00 1:00 -
+
3090  {
+
3091  8 /*fromYearTiny*/,
+
3092  8 /*toYearTiny*/,
+
3093  3 /*inMonth*/,
+
3094  0 /*onDayOfWeek*/,
+
3095  20 /*onDayOfMonth*/,
+
3096  96 /*atTimeCode*/,
+
3097  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3098  (4 + 4) /*deltaCode*/,
+
3099  '-' /*letter*/,
+
3100  },
+
3101  // Rule Iran 2008 only - Sep 20 24:00 0 -
+
3102  {
+
3103  8 /*fromYearTiny*/,
+
3104  8 /*toYearTiny*/,
+
3105  9 /*inMonth*/,
+
3106  0 /*onDayOfWeek*/,
+
3107  20 /*onDayOfMonth*/,
+
3108  96 /*atTimeCode*/,
+
3109  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3110  (0 + 4) /*deltaCode*/,
+
3111  '-' /*letter*/,
+
3112  },
+
3113  // Rule Iran 2009 2011 - Mar 21 24:00 1:00 -
+
3114  {
+
3115  9 /*fromYearTiny*/,
+
3116  11 /*toYearTiny*/,
+
3117  3 /*inMonth*/,
+
3118  0 /*onDayOfWeek*/,
+
3119  21 /*onDayOfMonth*/,
+
3120  96 /*atTimeCode*/,
+
3121  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3122  (4 + 4) /*deltaCode*/,
+
3123  '-' /*letter*/,
+
3124  },
+
3125  // Rule Iran 2009 2011 - Sep 21 24:00 0 -
+
3126  {
+
3127  9 /*fromYearTiny*/,
+
3128  11 /*toYearTiny*/,
+
3129  9 /*inMonth*/,
+
3130  0 /*onDayOfWeek*/,
+
3131  21 /*onDayOfMonth*/,
+
3132  96 /*atTimeCode*/,
+
3133  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3134  (0 + 4) /*deltaCode*/,
+
3135  '-' /*letter*/,
+
3136  },
+
3137  // Rule Iran 2012 only - Mar 20 24:00 1:00 -
+
3138  {
+
3139  12 /*fromYearTiny*/,
+
3140  12 /*toYearTiny*/,
+
3141  3 /*inMonth*/,
+
3142  0 /*onDayOfWeek*/,
+
3143  20 /*onDayOfMonth*/,
+
3144  96 /*atTimeCode*/,
+
3145  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3146  (4 + 4) /*deltaCode*/,
+
3147  '-' /*letter*/,
+
3148  },
+
3149  // Rule Iran 2012 only - Sep 20 24:00 0 -
+
3150  {
+
3151  12 /*fromYearTiny*/,
+
3152  12 /*toYearTiny*/,
+
3153  9 /*inMonth*/,
+
3154  0 /*onDayOfWeek*/,
+
3155  20 /*onDayOfMonth*/,
+
3156  96 /*atTimeCode*/,
+
3157  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3158  (0 + 4) /*deltaCode*/,
+
3159  '-' /*letter*/,
+
3160  },
+
3161  // Rule Iran 2013 2015 - Mar 21 24:00 1:00 -
+
3162  {
+
3163  13 /*fromYearTiny*/,
+
3164  15 /*toYearTiny*/,
+
3165  3 /*inMonth*/,
+
3166  0 /*onDayOfWeek*/,
+
3167  21 /*onDayOfMonth*/,
+
3168  96 /*atTimeCode*/,
+
3169  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3170  (4 + 4) /*deltaCode*/,
+
3171  '-' /*letter*/,
+
3172  },
+
3173  // Rule Iran 2013 2015 - Sep 21 24:00 0 -
+
3174  {
+
3175  13 /*fromYearTiny*/,
+
3176  15 /*toYearTiny*/,
+
3177  9 /*inMonth*/,
+
3178  0 /*onDayOfWeek*/,
+
3179  21 /*onDayOfMonth*/,
+
3180  96 /*atTimeCode*/,
+
3181  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3182  (0 + 4) /*deltaCode*/,
+
3183  '-' /*letter*/,
+
3184  },
+
3185  // Rule Iran 2016 only - Mar 20 24:00 1:00 -
+
3186  {
+
3187  16 /*fromYearTiny*/,
+
3188  16 /*toYearTiny*/,
+
3189  3 /*inMonth*/,
+
3190  0 /*onDayOfWeek*/,
+
3191  20 /*onDayOfMonth*/,
+
3192  96 /*atTimeCode*/,
+
3193  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3194  (4 + 4) /*deltaCode*/,
+
3195  '-' /*letter*/,
+
3196  },
+
3197  // Rule Iran 2016 only - Sep 20 24:00 0 -
+
3198  {
+
3199  16 /*fromYearTiny*/,
+
3200  16 /*toYearTiny*/,
+
3201  9 /*inMonth*/,
+
3202  0 /*onDayOfWeek*/,
+
3203  20 /*onDayOfMonth*/,
+
3204  96 /*atTimeCode*/,
+
3205  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3206  (0 + 4) /*deltaCode*/,
+
3207  '-' /*letter*/,
+
3208  },
+
3209  // Rule Iran 2017 2019 - Mar 21 24:00 1:00 -
+
3210  {
+
3211  17 /*fromYearTiny*/,
+
3212  19 /*toYearTiny*/,
+
3213  3 /*inMonth*/,
+
3214  0 /*onDayOfWeek*/,
+
3215  21 /*onDayOfMonth*/,
+
3216  96 /*atTimeCode*/,
+
3217  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3218  (4 + 4) /*deltaCode*/,
+
3219  '-' /*letter*/,
+
3220  },
+
3221  // Rule Iran 2017 2019 - Sep 21 24:00 0 -
+
3222  {
+
3223  17 /*fromYearTiny*/,
+
3224  19 /*toYearTiny*/,
+
3225  9 /*inMonth*/,
+
3226  0 /*onDayOfWeek*/,
+
3227  21 /*onDayOfMonth*/,
+
3228  96 /*atTimeCode*/,
+
3229  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3230  (0 + 4) /*deltaCode*/,
+
3231  '-' /*letter*/,
+
3232  },
+
3233  // Rule Iran 2020 only - Mar 20 24:00 1:00 -
+
3234  {
+
3235  20 /*fromYearTiny*/,
+
3236  20 /*toYearTiny*/,
+
3237  3 /*inMonth*/,
+
3238  0 /*onDayOfWeek*/,
+
3239  20 /*onDayOfMonth*/,
+
3240  96 /*atTimeCode*/,
+
3241  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3242  (4 + 4) /*deltaCode*/,
+
3243  '-' /*letter*/,
+
3244  },
+
3245  // Rule Iran 2020 only - Sep 20 24:00 0 -
+
3246  {
+
3247  20 /*fromYearTiny*/,
+
3248  20 /*toYearTiny*/,
+
3249  9 /*inMonth*/,
+
3250  0 /*onDayOfWeek*/,
+
3251  20 /*onDayOfMonth*/,
+
3252  96 /*atTimeCode*/,
+
3253  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3254  (0 + 4) /*deltaCode*/,
+
3255  '-' /*letter*/,
+
3256  },
+
3257  // Rule Iran 2021 2023 - Mar 21 24:00 1:00 -
+
3258  {
+
3259  21 /*fromYearTiny*/,
+
3260  23 /*toYearTiny*/,
+
3261  3 /*inMonth*/,
+
3262  0 /*onDayOfWeek*/,
+
3263  21 /*onDayOfMonth*/,
+
3264  96 /*atTimeCode*/,
+
3265  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3266  (4 + 4) /*deltaCode*/,
+
3267  '-' /*letter*/,
+
3268  },
+
3269  // Rule Iran 2021 2023 - Sep 21 24:00 0 -
+
3270  {
+
3271  21 /*fromYearTiny*/,
+
3272  23 /*toYearTiny*/,
+
3273  9 /*inMonth*/,
+
3274  0 /*onDayOfWeek*/,
+
3275  21 /*onDayOfMonth*/,
+
3276  96 /*atTimeCode*/,
+
3277  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3278  (0 + 4) /*deltaCode*/,
+
3279  '-' /*letter*/,
+
3280  },
+
3281  // Rule Iran 2024 only - Mar 20 24:00 1:00 -
+
3282  {
+
3283  24 /*fromYearTiny*/,
+
3284  24 /*toYearTiny*/,
+
3285  3 /*inMonth*/,
+
3286  0 /*onDayOfWeek*/,
+
3287  20 /*onDayOfMonth*/,
+
3288  96 /*atTimeCode*/,
+
3289  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3290  (4 + 4) /*deltaCode*/,
+
3291  '-' /*letter*/,
+
3292  },
+
3293  // Rule Iran 2024 only - Sep 20 24:00 0 -
+
3294  {
+
3295  24 /*fromYearTiny*/,
+
3296  24 /*toYearTiny*/,
+
3297  9 /*inMonth*/,
+
3298  0 /*onDayOfWeek*/,
+
3299  20 /*onDayOfMonth*/,
+
3300  96 /*atTimeCode*/,
+
3301  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3302  (0 + 4) /*deltaCode*/,
+
3303  '-' /*letter*/,
+
3304  },
+
3305  // Rule Iran 2025 2027 - Mar 21 24:00 1:00 -
+
3306  {
+
3307  25 /*fromYearTiny*/,
+
3308  27 /*toYearTiny*/,
+
3309  3 /*inMonth*/,
+
3310  0 /*onDayOfWeek*/,
+
3311  21 /*onDayOfMonth*/,
+
3312  96 /*atTimeCode*/,
+
3313  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3314  (4 + 4) /*deltaCode*/,
+
3315  '-' /*letter*/,
+
3316  },
+
3317  // Rule Iran 2025 2027 - Sep 21 24:00 0 -
+
3318  {
+
3319  25 /*fromYearTiny*/,
+
3320  27 /*toYearTiny*/,
+
3321  9 /*inMonth*/,
+
3322  0 /*onDayOfWeek*/,
+
3323  21 /*onDayOfMonth*/,
+
3324  96 /*atTimeCode*/,
+
3325  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3326  (0 + 4) /*deltaCode*/,
+
3327  '-' /*letter*/,
+
3328  },
+
3329  // Rule Iran 2028 2029 - Mar 20 24:00 1:00 -
+
3330  {
+
3331  28 /*fromYearTiny*/,
+
3332  29 /*toYearTiny*/,
+
3333  3 /*inMonth*/,
+
3334  0 /*onDayOfWeek*/,
+
3335  20 /*onDayOfMonth*/,
+
3336  96 /*atTimeCode*/,
+
3337  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3338  (4 + 4) /*deltaCode*/,
+
3339  '-' /*letter*/,
+
3340  },
+
3341  // Rule Iran 2028 2029 - Sep 20 24:00 0 -
+
3342  {
+
3343  28 /*fromYearTiny*/,
+
3344  29 /*toYearTiny*/,
+
3345  9 /*inMonth*/,
+
3346  0 /*onDayOfWeek*/,
+
3347  20 /*onDayOfMonth*/,
+
3348  96 /*atTimeCode*/,
+
3349  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3350  (0 + 4) /*deltaCode*/,
+
3351  '-' /*letter*/,
+
3352  },
+
3353  // Rule Iran 2030 2031 - Mar 21 24:00 1:00 -
+
3354  {
+
3355  30 /*fromYearTiny*/,
+
3356  31 /*toYearTiny*/,
+
3357  3 /*inMonth*/,
+
3358  0 /*onDayOfWeek*/,
+
3359  21 /*onDayOfMonth*/,
+
3360  96 /*atTimeCode*/,
+
3361  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3362  (4 + 4) /*deltaCode*/,
+
3363  '-' /*letter*/,
+
3364  },
+
3365  // Rule Iran 2030 2031 - Sep 21 24:00 0 -
+
3366  {
+
3367  30 /*fromYearTiny*/,
+
3368  31 /*toYearTiny*/,
+
3369  9 /*inMonth*/,
+
3370  0 /*onDayOfWeek*/,
+
3371  21 /*onDayOfMonth*/,
+
3372  96 /*atTimeCode*/,
+
3373  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3374  (0 + 4) /*deltaCode*/,
+
3375  '-' /*letter*/,
+
3376  },
+
3377  // Rule Iran 2032 2033 - Mar 20 24:00 1:00 -
+
3378  {
+
3379  32 /*fromYearTiny*/,
+
3380  33 /*toYearTiny*/,
+
3381  3 /*inMonth*/,
+
3382  0 /*onDayOfWeek*/,
+
3383  20 /*onDayOfMonth*/,
+
3384  96 /*atTimeCode*/,
+
3385  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3386  (4 + 4) /*deltaCode*/,
+
3387  '-' /*letter*/,
+
3388  },
+
3389  // Rule Iran 2032 2033 - Sep 20 24:00 0 -
+
3390  {
+
3391  32 /*fromYearTiny*/,
+
3392  33 /*toYearTiny*/,
+
3393  9 /*inMonth*/,
+
3394  0 /*onDayOfWeek*/,
+
3395  20 /*onDayOfMonth*/,
+
3396  96 /*atTimeCode*/,
+
3397  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3398  (0 + 4) /*deltaCode*/,
+
3399  '-' /*letter*/,
+
3400  },
+
3401  // Rule Iran 2034 2035 - Mar 21 24:00 1:00 -
+
3402  {
+
3403  34 /*fromYearTiny*/,
+
3404  35 /*toYearTiny*/,
+
3405  3 /*inMonth*/,
+
3406  0 /*onDayOfWeek*/,
+
3407  21 /*onDayOfMonth*/,
+
3408  96 /*atTimeCode*/,
+
3409  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3410  (4 + 4) /*deltaCode*/,
+
3411  '-' /*letter*/,
+
3412  },
+
3413  // Rule Iran 2034 2035 - Sep 21 24:00 0 -
+
3414  {
+
3415  34 /*fromYearTiny*/,
+
3416  35 /*toYearTiny*/,
+
3417  9 /*inMonth*/,
+
3418  0 /*onDayOfWeek*/,
+
3419  21 /*onDayOfMonth*/,
+
3420  96 /*atTimeCode*/,
+
3421  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3422  (0 + 4) /*deltaCode*/,
+
3423  '-' /*letter*/,
+
3424  },
+
3425  // Rule Iran 2036 2037 - Mar 20 24:00 1:00 -
+
3426  {
+
3427  36 /*fromYearTiny*/,
+
3428  37 /*toYearTiny*/,
+
3429  3 /*inMonth*/,
+
3430  0 /*onDayOfWeek*/,
+
3431  20 /*onDayOfMonth*/,
+
3432  96 /*atTimeCode*/,
+
3433  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3434  (4 + 4) /*deltaCode*/,
+
3435  '-' /*letter*/,
+
3436  },
+
3437  // Rule Iran 2036 2037 - Sep 20 24:00 0 -
+
3438  {
+
3439  36 /*fromYearTiny*/,
+
3440  37 /*toYearTiny*/,
+
3441  9 /*inMonth*/,
+
3442  0 /*onDayOfWeek*/,
+
3443  20 /*onDayOfMonth*/,
+
3444  96 /*atTimeCode*/,
+
3445  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3446  (0 + 4) /*deltaCode*/,
+
3447  '-' /*letter*/,
+
3448  },
+
3449  // Rule Iran 2038 2039 - Mar 21 24:00 1:00 -
+
3450  {
+
3451  38 /*fromYearTiny*/,
+
3452  39 /*toYearTiny*/,
+
3453  3 /*inMonth*/,
+
3454  0 /*onDayOfWeek*/,
+
3455  21 /*onDayOfMonth*/,
+
3456  96 /*atTimeCode*/,
+
3457  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3458  (4 + 4) /*deltaCode*/,
+
3459  '-' /*letter*/,
+
3460  },
+
3461  // Rule Iran 2038 2039 - Sep 21 24:00 0 -
+
3462  {
+
3463  38 /*fromYearTiny*/,
+
3464  39 /*toYearTiny*/,
+
3465  9 /*inMonth*/,
+
3466  0 /*onDayOfWeek*/,
+
3467  21 /*onDayOfMonth*/,
+
3468  96 /*atTimeCode*/,
+
3469  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3470  (0 + 4) /*deltaCode*/,
+
3471  '-' /*letter*/,
+
3472  },
+
3473  // Rule Iran 2040 2041 - Mar 20 24:00 1:00 -
+
3474  {
+
3475  40 /*fromYearTiny*/,
+
3476  41 /*toYearTiny*/,
+
3477  3 /*inMonth*/,
+
3478  0 /*onDayOfWeek*/,
+
3479  20 /*onDayOfMonth*/,
+
3480  96 /*atTimeCode*/,
+
3481  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3482  (4 + 4) /*deltaCode*/,
+
3483  '-' /*letter*/,
+
3484  },
+
3485  // Rule Iran 2040 2041 - Sep 20 24:00 0 -
+
3486  {
+
3487  40 /*fromYearTiny*/,
+
3488  41 /*toYearTiny*/,
+
3489  9 /*inMonth*/,
+
3490  0 /*onDayOfWeek*/,
+
3491  20 /*onDayOfMonth*/,
+
3492  96 /*atTimeCode*/,
+
3493  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3494  (0 + 4) /*deltaCode*/,
+
3495  '-' /*letter*/,
+
3496  },
+
3497  // Rule Iran 2042 2043 - Mar 21 24:00 1:00 -
+
3498  {
+
3499  42 /*fromYearTiny*/,
+
3500  43 /*toYearTiny*/,
+
3501  3 /*inMonth*/,
+
3502  0 /*onDayOfWeek*/,
+
3503  21 /*onDayOfMonth*/,
+
3504  96 /*atTimeCode*/,
+
3505  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3506  (4 + 4) /*deltaCode*/,
+
3507  '-' /*letter*/,
+
3508  },
+
3509  // Rule Iran 2042 2043 - Sep 21 24:00 0 -
+
3510  {
+
3511  42 /*fromYearTiny*/,
+
3512  43 /*toYearTiny*/,
+
3513  9 /*inMonth*/,
+
3514  0 /*onDayOfWeek*/,
+
3515  21 /*onDayOfMonth*/,
+
3516  96 /*atTimeCode*/,
+
3517  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3518  (0 + 4) /*deltaCode*/,
+
3519  '-' /*letter*/,
+
3520  },
+
3521  // Rule Iran 2044 2045 - Mar 20 24:00 1:00 -
+
3522  {
+
3523  44 /*fromYearTiny*/,
+
3524  45 /*toYearTiny*/,
+
3525  3 /*inMonth*/,
+
3526  0 /*onDayOfWeek*/,
+
3527  20 /*onDayOfMonth*/,
+
3528  96 /*atTimeCode*/,
+
3529  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3530  (4 + 4) /*deltaCode*/,
+
3531  '-' /*letter*/,
+
3532  },
+
3533  // Rule Iran 2044 2045 - Sep 20 24:00 0 -
+
3534  {
+
3535  44 /*fromYearTiny*/,
+
3536  45 /*toYearTiny*/,
+
3537  9 /*inMonth*/,
+
3538  0 /*onDayOfWeek*/,
+
3539  20 /*onDayOfMonth*/,
+
3540  96 /*atTimeCode*/,
+
3541  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3542  (0 + 4) /*deltaCode*/,
+
3543  '-' /*letter*/,
+
3544  },
+
3545  // Rule Iran 2046 2047 - Mar 21 24:00 1:00 -
+
3546  {
+
3547  46 /*fromYearTiny*/,
+
3548  47 /*toYearTiny*/,
+
3549  3 /*inMonth*/,
+
3550  0 /*onDayOfWeek*/,
+
3551  21 /*onDayOfMonth*/,
+
3552  96 /*atTimeCode*/,
+
3553  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3554  (4 + 4) /*deltaCode*/,
+
3555  '-' /*letter*/,
+
3556  },
+
3557  // Rule Iran 2046 2047 - Sep 21 24:00 0 -
+
3558  {
+
3559  46 /*fromYearTiny*/,
+
3560  47 /*toYearTiny*/,
+
3561  9 /*inMonth*/,
+
3562  0 /*onDayOfWeek*/,
+
3563  21 /*onDayOfMonth*/,
+
3564  96 /*atTimeCode*/,
+
3565  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3566  (0 + 4) /*deltaCode*/,
+
3567  '-' /*letter*/,
+
3568  },
+
3569  // Rule Iran 2048 2049 - Mar 20 24:00 1:00 -
+
3570  {
+
3571  48 /*fromYearTiny*/,
+
3572  49 /*toYearTiny*/,
+
3573  3 /*inMonth*/,
+
3574  0 /*onDayOfWeek*/,
+
3575  20 /*onDayOfMonth*/,
+
3576  96 /*atTimeCode*/,
+
3577  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3578  (4 + 4) /*deltaCode*/,
+
3579  '-' /*letter*/,
+
3580  },
+
3581  // Rule Iran 2048 2049 - Sep 20 24:00 0 -
+
3582  {
+
3583  48 /*fromYearTiny*/,
+
3584  49 /*toYearTiny*/,
+
3585  9 /*inMonth*/,
+
3586  0 /*onDayOfWeek*/,
+
3587  20 /*onDayOfMonth*/,
+
3588  96 /*atTimeCode*/,
+
3589  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3590  (0 + 4) /*deltaCode*/,
+
3591  '-' /*letter*/,
+
3592  },
+
3593  // Rule Iran 2050 2051 - Mar 21 24:00 1:00 -
+
3594  {
+
3595  50 /*fromYearTiny*/,
+
3596  51 /*toYearTiny*/,
+
3597  3 /*inMonth*/,
+
3598  0 /*onDayOfWeek*/,
+
3599  21 /*onDayOfMonth*/,
+
3600  96 /*atTimeCode*/,
+
3601  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3602  (4 + 4) /*deltaCode*/,
+
3603  '-' /*letter*/,
+
3604  },
+
3605  // Rule Iran 2050 2051 - Sep 21 24:00 0 -
+
3606  {
+
3607  50 /*fromYearTiny*/,
+
3608  51 /*toYearTiny*/,
+
3609  9 /*inMonth*/,
+
3610  0 /*onDayOfWeek*/,
+
3611  21 /*onDayOfMonth*/,
+
3612  96 /*atTimeCode*/,
+
3613  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3614  (0 + 4) /*deltaCode*/,
+
3615  '-' /*letter*/,
+
3616  },
+
3617 
+
3618 };
+
3619 
+
3620 
+
3621 
+
3622 const extended::ZonePolicy kPolicyIran ACE_TIME_PROGMEM = {
+
3623  kZoneRulesIran /*rules*/,
+
3624  nullptr /* letters */,
+
3625  55 /*numRules*/,
+
3626  0 /* numLetters */,
+
3627 };
+
3628 
+
3629 //---------------------------------------------------------------------------
+
3630 // Policy name: Iraq
+
3631 // Rules: 3
+
3632 // Memory (8-bit): 33
+
3633 // Memory (32-bit): 48
+
3634 //---------------------------------------------------------------------------
+
3635 
+
3636 static const extended::ZoneRule kZoneRulesIraq[] ACE_TIME_PROGMEM = {
+
3637  // Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 -
+
3638  {
+
3639  -15 /*fromYearTiny*/,
+
3640  -10 /*toYearTiny*/,
+
3641  9 /*inMonth*/,
+
3642  7 /*onDayOfWeek*/,
+
3643  0 /*onDayOfMonth*/,
+
3644  4 /*atTimeCode*/,
+
3645  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3646  (0 + 4) /*deltaCode*/,
+
3647  '-' /*letter*/,
+
3648  },
+
3649  // Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 -
+
3650  {
+
3651  -9 /*fromYearTiny*/,
+
3652  7 /*toYearTiny*/,
+
3653  4 /*inMonth*/,
+
3654  0 /*onDayOfWeek*/,
+
3655  1 /*onDayOfMonth*/,
+
3656  12 /*atTimeCode*/,
+
3657  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3658  (4 + 4) /*deltaCode*/,
+
3659  '-' /*letter*/,
+
3660  },
+
3661  // Rule Iraq 1991 2007 - Oct 1 3:00s 0 -
+
3662  {
+
3663  -9 /*fromYearTiny*/,
+
3664  7 /*toYearTiny*/,
+
3665  10 /*inMonth*/,
+
3666  0 /*onDayOfWeek*/,
+
3667  1 /*onDayOfMonth*/,
+
3668  12 /*atTimeCode*/,
+
3669  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3670  (0 + 4) /*deltaCode*/,
+
3671  '-' /*letter*/,
+
3672  },
+
3673 
+
3674 };
+
3675 
+
3676 
+
3677 
+
3678 const extended::ZonePolicy kPolicyIraq ACE_TIME_PROGMEM = {
+
3679  kZoneRulesIraq /*rules*/,
+
3680  nullptr /* letters */,
+
3681  3 /*numRules*/,
+
3682  0 /* numLetters */,
+
3683 };
+
3684 
+
3685 //---------------------------------------------------------------------------
+
3686 // Policy name: Japan
+
3687 // Rules: 1
+
3688 // Memory (8-bit): 15
+
3689 // Memory (32-bit): 24
+
3690 //---------------------------------------------------------------------------
+
3691 
+
3692 static const extended::ZoneRule kZoneRulesJapan[] ACE_TIME_PROGMEM = {
+
3693  // Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
+
3694  {
+
3695  -52 /*fromYearTiny*/,
+
3696  -49 /*toYearTiny*/,
+
3697  9 /*inMonth*/,
+
3698  6 /*onDayOfWeek*/,
+
3699  8 /*onDayOfMonth*/,
+
3700  100 /*atTimeCode*/,
+
3701  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3702  (0 + 4) /*deltaCode*/,
+
3703  'S' /*letter*/,
+
3704  },
+
3705 
+
3706 };
+
3707 
+
3708 
+
3709 
+
3710 const extended::ZonePolicy kPolicyJapan ACE_TIME_PROGMEM = {
+
3711  kZoneRulesJapan /*rules*/,
+
3712  nullptr /* letters */,
+
3713  1 /*numRules*/,
+
3714  0 /* numLetters */,
+
3715 };
+
3716 
+
3717 //---------------------------------------------------------------------------
+
3718 // Policy name: Jordan
+
3719 // Rules: 12
+
3720 // Memory (8-bit): 114
+
3721 // Memory (32-bit): 156
+
3722 //---------------------------------------------------------------------------
+
3723 
+
3724 static const extended::ZoneRule kZoneRulesJordan[] ACE_TIME_PROGMEM = {
+
3725  // Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 -
+
3726  {
+
3727  -5 /*fromYearTiny*/,
+
3728  -2 /*toYearTiny*/,
+
3729  9 /*inMonth*/,
+
3730  5 /*onDayOfWeek*/,
+
3731  15 /*onDayOfMonth*/,
+
3732  0 /*atTimeCode*/,
+
3733  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3734  (0 + 4) /*deltaCode*/,
+
3735  '-' /*letter*/,
+
3736  },
+
3737  // Rule Jordan 1999 only - Jul 1 0:00s 1:00 S
+
3738  {
+
3739  -1 /*fromYearTiny*/,
+
3740  -1 /*toYearTiny*/,
+
3741  7 /*inMonth*/,
+
3742  0 /*onDayOfWeek*/,
+
3743  1 /*onDayOfMonth*/,
+
3744  0 /*atTimeCode*/,
+
3745  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3746  (4 + 4) /*deltaCode*/,
+
3747  'S' /*letter*/,
+
3748  },
+
3749  // Rule Jordan 1999 2002 - Sep lastFri 0:00s 0 -
+
3750  {
+
3751  -1 /*fromYearTiny*/,
+
3752  2 /*toYearTiny*/,
+
3753  9 /*inMonth*/,
+
3754  5 /*onDayOfWeek*/,
+
3755  0 /*onDayOfMonth*/,
+
3756  0 /*atTimeCode*/,
+
3757  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3758  (0 + 4) /*deltaCode*/,
+
3759  '-' /*letter*/,
+
3760  },
+
3761  // Rule Jordan 2000 2001 - Mar lastThu 0:00s 1:00 S
+
3762  {
+
3763  0 /*fromYearTiny*/,
+
3764  1 /*toYearTiny*/,
+
3765  3 /*inMonth*/,
+
3766  4 /*onDayOfWeek*/,
+
3767  0 /*onDayOfMonth*/,
+
3768  0 /*atTimeCode*/,
+
3769  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3770  (4 + 4) /*deltaCode*/,
+
3771  'S' /*letter*/,
+
3772  },
+
3773  // Rule Jordan 2002 2012 - Mar lastThu 24:00 1:00 S
+
3774  {
+
3775  2 /*fromYearTiny*/,
+
3776  12 /*toYearTiny*/,
+
3777  3 /*inMonth*/,
+
3778  4 /*onDayOfWeek*/,
+
3779  0 /*onDayOfMonth*/,
+
3780  96 /*atTimeCode*/,
+
3781  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3782  (4 + 4) /*deltaCode*/,
+
3783  'S' /*letter*/,
+
3784  },
+
3785  // Rule Jordan 2003 only - Oct 24 0:00s 0 -
+
3786  {
+
3787  3 /*fromYearTiny*/,
+
3788  3 /*toYearTiny*/,
+
3789  10 /*inMonth*/,
+
3790  0 /*onDayOfWeek*/,
+
3791  24 /*onDayOfMonth*/,
+
3792  0 /*atTimeCode*/,
+
3793  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3794  (0 + 4) /*deltaCode*/,
+
3795  '-' /*letter*/,
+
3796  },
+
3797  // Rule Jordan 2004 only - Oct 15 0:00s 0 -
+
3798  {
+
3799  4 /*fromYearTiny*/,
+
3800  4 /*toYearTiny*/,
+
3801  10 /*inMonth*/,
+
3802  0 /*onDayOfWeek*/,
+
3803  15 /*onDayOfMonth*/,
+
3804  0 /*atTimeCode*/,
+
3805  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3806  (0 + 4) /*deltaCode*/,
+
3807  '-' /*letter*/,
+
3808  },
+
3809  // Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
+
3810  {
+
3811  5 /*fromYearTiny*/,
+
3812  5 /*toYearTiny*/,
+
3813  9 /*inMonth*/,
+
3814  5 /*onDayOfWeek*/,
+
3815  0 /*onDayOfMonth*/,
+
3816  0 /*atTimeCode*/,
+
3817  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3818  (0 + 4) /*deltaCode*/,
+
3819  '-' /*letter*/,
+
3820  },
+
3821  // Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
+
3822  {
+
3823  6 /*fromYearTiny*/,
+
3824  11 /*toYearTiny*/,
+
3825  10 /*inMonth*/,
+
3826  5 /*onDayOfWeek*/,
+
3827  0 /*onDayOfMonth*/,
+
3828  0 /*atTimeCode*/,
+
3829  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3830  (0 + 4) /*deltaCode*/,
+
3831  '-' /*letter*/,
+
3832  },
+
3833  // Rule Jordan 2013 only - Dec 20 0:00 0 -
+
3834  {
+
3835  13 /*fromYearTiny*/,
+
3836  13 /*toYearTiny*/,
+
3837  12 /*inMonth*/,
+
3838  0 /*onDayOfWeek*/,
+
3839  20 /*onDayOfMonth*/,
+
3840  0 /*atTimeCode*/,
+
3841  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3842  (0 + 4) /*deltaCode*/,
+
3843  '-' /*letter*/,
+
3844  },
+
3845  // Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
+
3846  {
+
3847  14 /*fromYearTiny*/,
+
3848  126 /*toYearTiny*/,
+
3849  3 /*inMonth*/,
+
3850  4 /*onDayOfWeek*/,
+
3851  0 /*onDayOfMonth*/,
+
3852  96 /*atTimeCode*/,
+
3853  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3854  (4 + 4) /*deltaCode*/,
+
3855  'S' /*letter*/,
+
3856  },
+
3857  // Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
+
3858  {
+
3859  14 /*fromYearTiny*/,
+
3860  126 /*toYearTiny*/,
+
3861  10 /*inMonth*/,
+
3862  5 /*onDayOfWeek*/,
+
3863  0 /*onDayOfMonth*/,
+
3864  0 /*atTimeCode*/,
+
3865  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
3866  (0 + 4) /*deltaCode*/,
+
3867  '-' /*letter*/,
+
3868  },
+
3869 
+
3870 };
+
3871 
+
3872 
+
3873 
+
3874 const extended::ZonePolicy kPolicyJordan ACE_TIME_PROGMEM = {
+
3875  kZoneRulesJordan /*rules*/,
+
3876  nullptr /* letters */,
+
3877  12 /*numRules*/,
+
3878  0 /* numLetters */,
+
3879 };
+
3880 
+
3881 //---------------------------------------------------------------------------
+
3882 // Policy name: Kyrgyz
+
3883 // Rules: 3
+
3884 // Memory (8-bit): 33
+
3885 // Memory (32-bit): 48
+
3886 //---------------------------------------------------------------------------
+
3887 
+
3888 static const extended::ZoneRule kZoneRulesKyrgyz[] ACE_TIME_PROGMEM = {
+
3889  // Rule Kyrgyz 1992 1996 - Sep lastSun 0:00 0 -
+
3890  {
+
3891  -8 /*fromYearTiny*/,
+
3892  -4 /*toYearTiny*/,
+
3893  9 /*inMonth*/,
+
3894  7 /*onDayOfWeek*/,
+
3895  0 /*onDayOfMonth*/,
+
3896  0 /*atTimeCode*/,
+
3897  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3898  (0 + 4) /*deltaCode*/,
+
3899  '-' /*letter*/,
+
3900  },
+
3901  // Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 -
+
3902  {
+
3903  -3 /*fromYearTiny*/,
+
3904  5 /*toYearTiny*/,
+
3905  3 /*inMonth*/,
+
3906  7 /*onDayOfWeek*/,
+
3907  0 /*onDayOfMonth*/,
+
3908  10 /*atTimeCode*/,
+
3909  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3910  (4 + 4) /*deltaCode*/,
+
3911  '-' /*letter*/,
+
3912  },
+
3913  // Rule Kyrgyz 1997 2004 - Oct lastSun 2:30 0 -
+
3914  {
+
3915  -3 /*fromYearTiny*/,
+
3916  4 /*toYearTiny*/,
+
3917  10 /*inMonth*/,
+
3918  7 /*onDayOfWeek*/,
+
3919  0 /*onDayOfMonth*/,
+
3920  10 /*atTimeCode*/,
+
3921  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3922  (0 + 4) /*deltaCode*/,
+
3923  '-' /*letter*/,
+
3924  },
+
3925 
+
3926 };
+
3927 
+
3928 
+
3929 
+
3930 const extended::ZonePolicy kPolicyKyrgyz ACE_TIME_PROGMEM = {
+
3931  kZoneRulesKyrgyz /*rules*/,
+
3932  nullptr /* letters */,
+
3933  3 /*numRules*/,
+
3934  0 /* numLetters */,
+
3935 };
+
3936 
+
3937 //---------------------------------------------------------------------------
+
3938 // Policy name: LH
+
3939 // Rules: 9
+
3940 // Memory (8-bit): 87
+
3941 // Memory (32-bit): 120
+
3942 //---------------------------------------------------------------------------
+
3943 
+
3944 static const extended::ZoneRule kZoneRulesLH[] ACE_TIME_PROGMEM = {
+
3945  // Rule LH 1987 1999 - Oct lastSun 2:00 0:30 -
+
3946  {
+
3947  -13 /*fromYearTiny*/,
+
3948  -1 /*toYearTiny*/,
+
3949  10 /*inMonth*/,
+
3950  7 /*onDayOfWeek*/,
+
3951  0 /*onDayOfMonth*/,
+
3952  8 /*atTimeCode*/,
+
3953  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3954  (2 + 4) /*deltaCode*/,
+
3955  '-' /*letter*/,
+
3956  },
+
3957  // Rule LH 1990 1995 - Mar Sun>=1 2:00 0 -
+
3958  {
+
3959  -10 /*fromYearTiny*/,
+
3960  -5 /*toYearTiny*/,
+
3961  3 /*inMonth*/,
+
3962  7 /*onDayOfWeek*/,
+
3963  1 /*onDayOfMonth*/,
+
3964  8 /*atTimeCode*/,
+
3965  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3966  (0 + 4) /*deltaCode*/,
+
3967  '-' /*letter*/,
+
3968  },
+
3969  // Rule LH 1996 2005 - Mar lastSun 2:00 0 -
+
3970  {
+
3971  -4 /*fromYearTiny*/,
+
3972  5 /*toYearTiny*/,
+
3973  3 /*inMonth*/,
+
3974  7 /*onDayOfWeek*/,
+
3975  0 /*onDayOfMonth*/,
+
3976  8 /*atTimeCode*/,
+
3977  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3978  (0 + 4) /*deltaCode*/,
+
3979  '-' /*letter*/,
+
3980  },
+
3981  // Rule LH 2000 only - Aug lastSun 2:00 0:30 -
+
3982  {
+
3983  0 /*fromYearTiny*/,
+
3984  0 /*toYearTiny*/,
+
3985  8 /*inMonth*/,
+
3986  7 /*onDayOfWeek*/,
+
3987  0 /*onDayOfMonth*/,
+
3988  8 /*atTimeCode*/,
+
3989  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
3990  (2 + 4) /*deltaCode*/,
+
3991  '-' /*letter*/,
+
3992  },
+
3993  // Rule LH 2001 2007 - Oct lastSun 2:00 0:30 -
+
3994  {
+
3995  1 /*fromYearTiny*/,
+
3996  7 /*toYearTiny*/,
+
3997  10 /*inMonth*/,
+
3998  7 /*onDayOfWeek*/,
+
3999  0 /*onDayOfMonth*/,
+
4000  8 /*atTimeCode*/,
+
4001  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4002  (2 + 4) /*deltaCode*/,
+
4003  '-' /*letter*/,
+
4004  },
+
4005  // Rule LH 2006 only - Apr Sun>=1 2:00 0 -
+
4006  {
+
4007  6 /*fromYearTiny*/,
+
4008  6 /*toYearTiny*/,
+
4009  4 /*inMonth*/,
+
4010  7 /*onDayOfWeek*/,
+
4011  1 /*onDayOfMonth*/,
+
4012  8 /*atTimeCode*/,
+
4013  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4014  (0 + 4) /*deltaCode*/,
+
4015  '-' /*letter*/,
+
4016  },
+
4017  // Rule LH 2007 only - Mar lastSun 2:00 0 -
+
4018  {
+
4019  7 /*fromYearTiny*/,
+
4020  7 /*toYearTiny*/,
+
4021  3 /*inMonth*/,
+
4022  7 /*onDayOfWeek*/,
+
4023  0 /*onDayOfMonth*/,
+
4024  8 /*atTimeCode*/,
+
4025  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4026  (0 + 4) /*deltaCode*/,
+
4027  '-' /*letter*/,
+
4028  },
+
4029  // Rule LH 2008 max - Apr Sun>=1 2:00 0 -
+
4030  {
+
4031  8 /*fromYearTiny*/,
+
4032  126 /*toYearTiny*/,
+
4033  4 /*inMonth*/,
+
4034  7 /*onDayOfWeek*/,
+
4035  1 /*onDayOfMonth*/,
+
4036  8 /*atTimeCode*/,
+
4037  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4038  (0 + 4) /*deltaCode*/,
+
4039  '-' /*letter*/,
+
4040  },
+
4041  // Rule LH 2008 max - Oct Sun>=1 2:00 0:30 -
+
4042  {
+
4043  8 /*fromYearTiny*/,
+
4044  126 /*toYearTiny*/,
+
4045  10 /*inMonth*/,
+
4046  7 /*onDayOfWeek*/,
+
4047  1 /*onDayOfMonth*/,
+
4048  8 /*atTimeCode*/,
+
4049  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4050  (2 + 4) /*deltaCode*/,
+
4051  '-' /*letter*/,
+
4052  },
+
4053 
+
4054 };
+
4055 
+
4056 
+
4057 
+
4058 const extended::ZonePolicy kPolicyLH ACE_TIME_PROGMEM = {
+
4059  kZoneRulesLH /*rules*/,
+
4060  nullptr /* letters */,
+
4061  9 /*numRules*/,
+
4062  0 /* numLetters */,
+
4063 };
+
4064 
+
4065 //---------------------------------------------------------------------------
+
4066 // Policy name: Lebanon
+
4067 // Rules: 3
+
4068 // Memory (8-bit): 33
+
4069 // Memory (32-bit): 48
+
4070 //---------------------------------------------------------------------------
+
4071 
+
4072 static const extended::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = {
+
4073  // Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
+
4074  {
+
4075  -7 /*fromYearTiny*/,
+
4076  126 /*toYearTiny*/,
+
4077  3 /*inMonth*/,
+
4078  7 /*onDayOfWeek*/,
+
4079  0 /*onDayOfMonth*/,
+
4080  0 /*atTimeCode*/,
+
4081  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4082  (4 + 4) /*deltaCode*/,
+
4083  'S' /*letter*/,
+
4084  },
+
4085  // Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
+
4086  {
+
4087  -7 /*fromYearTiny*/,
+
4088  -2 /*toYearTiny*/,
+
4089  9 /*inMonth*/,
+
4090  7 /*onDayOfWeek*/,
+
4091  0 /*onDayOfMonth*/,
+
4092  0 /*atTimeCode*/,
+
4093  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4094  (0 + 4) /*deltaCode*/,
+
4095  '-' /*letter*/,
+
4096  },
+
4097  // Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
+
4098  {
+
4099  -1 /*fromYearTiny*/,
+
4100  126 /*toYearTiny*/,
+
4101  10 /*inMonth*/,
+
4102  7 /*onDayOfWeek*/,
+
4103  0 /*onDayOfMonth*/,
+
4104  0 /*atTimeCode*/,
+
4105  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4106  (0 + 4) /*deltaCode*/,
+
4107  '-' /*letter*/,
+
4108  },
+
4109 
+
4110 };
+
4111 
+
4112 
+
4113 
+
4114 const extended::ZonePolicy kPolicyLebanon ACE_TIME_PROGMEM = {
+
4115  kZoneRulesLebanon /*rules*/,
+
4116  nullptr /* letters */,
+
4117  3 /*numRules*/,
+
4118  0 /* numLetters */,
+
4119 };
+
4120 
+
4121 //---------------------------------------------------------------------------
+
4122 // Policy name: Libya
+
4123 // Rules: 3
+
4124 // Memory (8-bit): 33
+
4125 // Memory (32-bit): 48
+
4126 //---------------------------------------------------------------------------
+
4127 
+
4128 static const extended::ZoneRule kZoneRulesLibya[] ACE_TIME_PROGMEM = {
+
4129  // Rule Libya 1997 only - Oct 4 0:00 0 -
+
4130  {
+
4131  -3 /*fromYearTiny*/,
+
4132  -3 /*toYearTiny*/,
+
4133  10 /*inMonth*/,
+
4134  0 /*onDayOfWeek*/,
+
4135  4 /*onDayOfMonth*/,
+
4136  0 /*atTimeCode*/,
+
4137  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4138  (0 + 4) /*deltaCode*/,
+
4139  '-' /*letter*/,
+
4140  },
+
4141  // Rule Libya 2013 only - Mar lastFri 1:00 1:00 S
+
4142  {
+
4143  13 /*fromYearTiny*/,
+
4144  13 /*toYearTiny*/,
+
4145  3 /*inMonth*/,
+
4146  5 /*onDayOfWeek*/,
+
4147  0 /*onDayOfMonth*/,
+
4148  4 /*atTimeCode*/,
+
4149  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4150  (4 + 4) /*deltaCode*/,
+
4151  'S' /*letter*/,
+
4152  },
+
4153  // Rule Libya 2013 only - Oct lastFri 2:00 0 -
+
4154  {
+
4155  13 /*fromYearTiny*/,
+
4156  13 /*toYearTiny*/,
+
4157  10 /*inMonth*/,
+
4158  5 /*onDayOfWeek*/,
+
4159  0 /*onDayOfMonth*/,
+
4160  8 /*atTimeCode*/,
+
4161  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4162  (0 + 4) /*deltaCode*/,
+
4163  '-' /*letter*/,
+
4164  },
+
4165 
+
4166 };
+
4167 
+
4168 
+
4169 
+
4170 const extended::ZonePolicy kPolicyLibya ACE_TIME_PROGMEM = {
+
4171  kZoneRulesLibya /*rules*/,
+
4172  nullptr /* letters */,
+
4173  3 /*numRules*/,
+
4174  0 /* numLetters */,
+
4175 };
+
4176 
+
4177 //---------------------------------------------------------------------------
+
4178 // Policy name: Macau
+
4179 // Rules: 1
+
4180 // Memory (8-bit): 15
+
4181 // Memory (32-bit): 24
+
4182 //---------------------------------------------------------------------------
+
4183 
+
4184 static const extended::ZoneRule kZoneRulesMacau[] ACE_TIME_PROGMEM = {
+
4185  // Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
+
4186  {
+
4187  -21 /*fromYearTiny*/,
+
4188  -21 /*toYearTiny*/,
+
4189  10 /*inMonth*/,
+
4190  7 /*onDayOfWeek*/,
+
4191  16 /*onDayOfMonth*/,
+
4192  14 /*atTimeCode*/,
+
4193  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4194  (0 + 4) /*deltaCode*/,
+
4195  'S' /*letter*/,
+
4196  },
+
4197 
+
4198 };
+
4199 
+
4200 
+
4201 
+
4202 const extended::ZonePolicy kPolicyMacau ACE_TIME_PROGMEM = {
+
4203  kZoneRulesMacau /*rules*/,
+
4204  nullptr /* letters */,
+
4205  1 /*numRules*/,
+
4206  0 /* numLetters */,
+
4207 };
+
4208 
+
4209 //---------------------------------------------------------------------------
+
4210 // Policy name: Mauritius
+
4211 // Rules: 3
+
4212 // Memory (8-bit): 33
+
4213 // Memory (32-bit): 48
+
4214 //---------------------------------------------------------------------------
+
4215 
+
4216 static const extended::ZoneRule kZoneRulesMauritius[] ACE_TIME_PROGMEM = {
+
4217  // Rule Mauritius 1983 only - Mar 21 0:00 0 -
+
4218  {
+
4219  -17 /*fromYearTiny*/,
+
4220  -17 /*toYearTiny*/,
+
4221  3 /*inMonth*/,
+
4222  0 /*onDayOfWeek*/,
+
4223  21 /*onDayOfMonth*/,
+
4224  0 /*atTimeCode*/,
+
4225  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4226  (0 + 4) /*deltaCode*/,
+
4227  '-' /*letter*/,
+
4228  },
+
4229  // Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
+
4230  {
+
4231  8 /*fromYearTiny*/,
+
4232  8 /*toYearTiny*/,
+
4233  10 /*inMonth*/,
+
4234  7 /*onDayOfWeek*/,
+
4235  0 /*onDayOfMonth*/,
+
4236  8 /*atTimeCode*/,
+
4237  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4238  (4 + 4) /*deltaCode*/,
+
4239  '-' /*letter*/,
+
4240  },
+
4241  // Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
+
4242  {
+
4243  9 /*fromYearTiny*/,
+
4244  9 /*toYearTiny*/,
+
4245  3 /*inMonth*/,
+
4246  7 /*onDayOfWeek*/,
+
4247  0 /*onDayOfMonth*/,
+
4248  8 /*atTimeCode*/,
+
4249  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4250  (0 + 4) /*deltaCode*/,
+
4251  '-' /*letter*/,
+
4252  },
+
4253 
+
4254 };
+
4255 
+
4256 
+
4257 
+
4258 const extended::ZonePolicy kPolicyMauritius ACE_TIME_PROGMEM = {
+
4259  kZoneRulesMauritius /*rules*/,
+
4260  nullptr /* letters */,
+
4261  3 /*numRules*/,
+
4262  0 /* numLetters */,
+
4263 };
+
4264 
+
4265 //---------------------------------------------------------------------------
+
4266 // Policy name: Mexico
+
4267 // Rules: 7
+
4268 // Memory (8-bit): 69
+
4269 // Memory (32-bit): 96
+
4270 //---------------------------------------------------------------------------
+
4271 
+
4272 static const extended::ZoneRule kZoneRulesMexico[] ACE_TIME_PROGMEM = {
+
4273  // Rule Mexico 1950 only - Jul 30 0:00 0 S
+
4274  {
+
4275  -50 /*fromYearTiny*/,
+
4276  -50 /*toYearTiny*/,
+
4277  7 /*inMonth*/,
+
4278  0 /*onDayOfWeek*/,
+
4279  30 /*onDayOfMonth*/,
+
4280  0 /*atTimeCode*/,
+
4281  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4282  (0 + 4) /*deltaCode*/,
+
4283  'S' /*letter*/,
+
4284  },
+
4285  // Rule Mexico 1996 2000 - Apr Sun>=1 2:00 1:00 D
+
4286  {
+
4287  -4 /*fromYearTiny*/,
+
4288  0 /*toYearTiny*/,
+
4289  4 /*inMonth*/,
+
4290  7 /*onDayOfWeek*/,
+
4291  1 /*onDayOfMonth*/,
+
4292  8 /*atTimeCode*/,
+
4293  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4294  (4 + 4) /*deltaCode*/,
+
4295  'D' /*letter*/,
+
4296  },
+
4297  // Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S
+
4298  {
+
4299  -4 /*fromYearTiny*/,
+
4300  0 /*toYearTiny*/,
+
4301  10 /*inMonth*/,
+
4302  7 /*onDayOfWeek*/,
+
4303  0 /*onDayOfMonth*/,
+
4304  8 /*atTimeCode*/,
+
4305  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4306  (0 + 4) /*deltaCode*/,
+
4307  'S' /*letter*/,
+
4308  },
+
4309  // Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
+
4310  {
+
4311  1 /*fromYearTiny*/,
+
4312  1 /*toYearTiny*/,
+
4313  5 /*inMonth*/,
+
4314  7 /*onDayOfWeek*/,
+
4315  1 /*onDayOfMonth*/,
+
4316  8 /*atTimeCode*/,
+
4317  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4318  (4 + 4) /*deltaCode*/,
+
4319  'D' /*letter*/,
+
4320  },
+
4321  // Rule Mexico 2001 only - Sep lastSun 2:00 0 S
+
4322  {
+
4323  1 /*fromYearTiny*/,
+
4324  1 /*toYearTiny*/,
+
4325  9 /*inMonth*/,
+
4326  7 /*onDayOfWeek*/,
+
4327  0 /*onDayOfMonth*/,
+
4328  8 /*atTimeCode*/,
+
4329  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4330  (0 + 4) /*deltaCode*/,
+
4331  'S' /*letter*/,
+
4332  },
+
4333  // Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
+
4334  {
+
4335  2 /*fromYearTiny*/,
+
4336  126 /*toYearTiny*/,
+
4337  4 /*inMonth*/,
+
4338  7 /*onDayOfWeek*/,
+
4339  1 /*onDayOfMonth*/,
+
4340  8 /*atTimeCode*/,
+
4341  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4342  (4 + 4) /*deltaCode*/,
+
4343  'D' /*letter*/,
+
4344  },
+
4345  // Rule Mexico 2002 max - Oct lastSun 2:00 0 S
+
4346  {
+
4347  2 /*fromYearTiny*/,
+
4348  126 /*toYearTiny*/,
+
4349  10 /*inMonth*/,
+
4350  7 /*onDayOfWeek*/,
+
4351  0 /*onDayOfMonth*/,
+
4352  8 /*atTimeCode*/,
+
4353  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4354  (0 + 4) /*deltaCode*/,
+
4355  'S' /*letter*/,
+
4356  },
+
4357 
+
4358 };
+
4359 
+
4360 
+
4361 
+
4362 const extended::ZonePolicy kPolicyMexico ACE_TIME_PROGMEM = {
+
4363  kZoneRulesMexico /*rules*/,
+
4364  nullptr /* letters */,
+
4365  7 /*numRules*/,
+
4366  0 /* numLetters */,
+
4367 };
+
4368 
+
4369 //---------------------------------------------------------------------------
+
4370 // Policy name: Moldova
+
4371 // Rules: 2
+
4372 // Memory (8-bit): 24
+
4373 // Memory (32-bit): 36
+
4374 //---------------------------------------------------------------------------
+
4375 
+
4376 static const extended::ZoneRule kZoneRulesMoldova[] ACE_TIME_PROGMEM = {
+
4377  // Rule Moldova 1997 max - Mar lastSun 2:00 1:00 S
+
4378  {
+
4379  -3 /*fromYearTiny*/,
+
4380  126 /*toYearTiny*/,
+
4381  3 /*inMonth*/,
+
4382  7 /*onDayOfWeek*/,
+
4383  0 /*onDayOfMonth*/,
+
4384  8 /*atTimeCode*/,
+
4385  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4386  (4 + 4) /*deltaCode*/,
+
4387  'S' /*letter*/,
+
4388  },
+
4389  // Rule Moldova 1997 max - Oct lastSun 3:00 0 -
+
4390  {
+
4391  -3 /*fromYearTiny*/,
+
4392  126 /*toYearTiny*/,
+
4393  10 /*inMonth*/,
+
4394  7 /*onDayOfWeek*/,
+
4395  0 /*onDayOfMonth*/,
+
4396  12 /*atTimeCode*/,
+
4397  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4398  (0 + 4) /*deltaCode*/,
+
4399  '-' /*letter*/,
+
4400  },
+
4401 
+
4402 };
+
4403 
+
4404 
+
4405 
+
4406 const extended::ZonePolicy kPolicyMoldova ACE_TIME_PROGMEM = {
+
4407  kZoneRulesMoldova /*rules*/,
+
4408  nullptr /* letters */,
+
4409  2 /*numRules*/,
+
4410  0 /* numLetters */,
+
4411 };
+
4412 
+
4413 //---------------------------------------------------------------------------
+
4414 // Policy name: Moncton
+
4415 // Rules: 3
+
4416 // Memory (8-bit): 33
+
4417 // Memory (32-bit): 48
+
4418 //---------------------------------------------------------------------------
+
4419 
+
4420 static const extended::ZoneRule kZoneRulesMoncton[] ACE_TIME_PROGMEM = {
+
4421  // Rule Moncton 1957 1972 - Oct lastSun 2:00 0 S
+
4422  {
+
4423  -43 /*fromYearTiny*/,
+
4424  -28 /*toYearTiny*/,
+
4425  10 /*inMonth*/,
+
4426  7 /*onDayOfWeek*/,
+
4427  0 /*onDayOfMonth*/,
+
4428  8 /*atTimeCode*/,
+
4429  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4430  (0 + 4) /*deltaCode*/,
+
4431  'S' /*letter*/,
+
4432  },
+
4433  // Rule Moncton 1993 2006 - Apr Sun>=1 0:01 1:00 D
+
4434  {
+
4435  -7 /*fromYearTiny*/,
+
4436  6 /*toYearTiny*/,
+
4437  4 /*inMonth*/,
+
4438  7 /*onDayOfWeek*/,
+
4439  1 /*onDayOfMonth*/,
+
4440  0 /*atTimeCode*/,
+
4441  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
4442  (4 + 4) /*deltaCode*/,
+
4443  'D' /*letter*/,
+
4444  },
+
4445  // Rule Moncton 1993 2006 - Oct lastSun 0:01 0 S
+
4446  {
+
4447  -7 /*fromYearTiny*/,
+
4448  6 /*toYearTiny*/,
+
4449  10 /*inMonth*/,
+
4450  7 /*onDayOfWeek*/,
+
4451  0 /*onDayOfMonth*/,
+
4452  0 /*atTimeCode*/,
+
4453  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
4454  (0 + 4) /*deltaCode*/,
+
4455  'S' /*letter*/,
+
4456  },
+
4457 
+
4458 };
+
4459 
+
4460 
+
4461 
+
4462 const extended::ZonePolicy kPolicyMoncton ACE_TIME_PROGMEM = {
+
4463  kZoneRulesMoncton /*rules*/,
+
4464  nullptr /* letters */,
+
4465  3 /*numRules*/,
+
4466  0 /* numLetters */,
+
4467 };
+
4468 
+
4469 //---------------------------------------------------------------------------
+
4470 // Policy name: Mongol
+
4471 // Rules: 6
+
4472 // Memory (8-bit): 60
+
4473 // Memory (32-bit): 84
+
4474 //---------------------------------------------------------------------------
+
4475 
+
4476 static const extended::ZoneRule kZoneRulesMongol[] ACE_TIME_PROGMEM = {
+
4477  // Rule Mongol 1984 1998 - Sep lastSun 0:00 0 -
+
4478  {
+
4479  -16 /*fromYearTiny*/,
+
4480  -2 /*toYearTiny*/,
+
4481  9 /*inMonth*/,
+
4482  7 /*onDayOfWeek*/,
+
4483  0 /*onDayOfMonth*/,
+
4484  0 /*atTimeCode*/,
+
4485  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4486  (0 + 4) /*deltaCode*/,
+
4487  '-' /*letter*/,
+
4488  },
+
4489  // Rule Mongol 2001 only - Apr lastSat 2:00 1:00 -
+
4490  {
+
4491  1 /*fromYearTiny*/,
+
4492  1 /*toYearTiny*/,
+
4493  4 /*inMonth*/,
+
4494  6 /*onDayOfWeek*/,
+
4495  0 /*onDayOfMonth*/,
+
4496  8 /*atTimeCode*/,
+
4497  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4498  (4 + 4) /*deltaCode*/,
+
4499  '-' /*letter*/,
+
4500  },
+
4501  // Rule Mongol 2001 2006 - Sep lastSat 2:00 0 -
+
4502  {
+
4503  1 /*fromYearTiny*/,
+
4504  6 /*toYearTiny*/,
+
4505  9 /*inMonth*/,
+
4506  6 /*onDayOfWeek*/,
+
4507  0 /*onDayOfMonth*/,
+
4508  8 /*atTimeCode*/,
+
4509  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4510  (0 + 4) /*deltaCode*/,
+
4511  '-' /*letter*/,
+
4512  },
+
4513  // Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 -
+
4514  {
+
4515  2 /*fromYearTiny*/,
+
4516  6 /*toYearTiny*/,
+
4517  3 /*inMonth*/,
+
4518  6 /*onDayOfWeek*/,
+
4519  0 /*onDayOfMonth*/,
+
4520  8 /*atTimeCode*/,
+
4521  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4522  (4 + 4) /*deltaCode*/,
+
4523  '-' /*letter*/,
+
4524  },
+
4525  // Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 -
+
4526  {
+
4527  15 /*fromYearTiny*/,
+
4528  16 /*toYearTiny*/,
+
4529  3 /*inMonth*/,
+
4530  6 /*onDayOfWeek*/,
+
4531  0 /*onDayOfMonth*/,
+
4532  8 /*atTimeCode*/,
+
4533  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4534  (4 + 4) /*deltaCode*/,
+
4535  '-' /*letter*/,
+
4536  },
+
4537  // Rule Mongol 2015 2016 - Sep lastSat 0:00 0 -
+
4538  {
+
4539  15 /*fromYearTiny*/,
+
4540  16 /*toYearTiny*/,
+
4541  9 /*inMonth*/,
+
4542  6 /*onDayOfWeek*/,
+
4543  0 /*onDayOfMonth*/,
+
4544  0 /*atTimeCode*/,
+
4545  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4546  (0 + 4) /*deltaCode*/,
+
4547  '-' /*letter*/,
+
4548  },
+
4549 
+
4550 };
+
4551 
+
4552 
+
4553 
+
4554 const extended::ZonePolicy kPolicyMongol ACE_TIME_PROGMEM = {
+
4555  kZoneRulesMongol /*rules*/,
+
4556  nullptr /* letters */,
+
4557  6 /*numRules*/,
+
4558  0 /* numLetters */,
+
4559 };
+
4560 
+
4561 //---------------------------------------------------------------------------
+
4562 // Policy name: Morocco
+
4563 // Rules: 94
+
4564 // Memory (8-bit): 852
+
4565 // Memory (32-bit): 1140
+
4566 //---------------------------------------------------------------------------
+
4567 
+
4568 static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = {
+
4569  // Rule Morocco 1978 only - Aug 4 0:00 0 -
+
4570  {
+
4571  -22 /*fromYearTiny*/,
+
4572  -22 /*toYearTiny*/,
+
4573  8 /*inMonth*/,
+
4574  0 /*onDayOfWeek*/,
+
4575  4 /*onDayOfMonth*/,
+
4576  0 /*atTimeCode*/,
+
4577  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4578  (0 + 4) /*deltaCode*/,
+
4579  '-' /*letter*/,
+
4580  },
+
4581  // Rule Morocco 2008 only - Jun 1 0:00 1:00 -
+
4582  {
+
4583  8 /*fromYearTiny*/,
+
4584  8 /*toYearTiny*/,
+
4585  6 /*inMonth*/,
+
4586  0 /*onDayOfWeek*/,
+
4587  1 /*onDayOfMonth*/,
+
4588  0 /*atTimeCode*/,
+
4589  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4590  (4 + 4) /*deltaCode*/,
+
4591  '-' /*letter*/,
+
4592  },
+
4593  // Rule Morocco 2008 only - Sep 1 0:00 0 -
+
4594  {
+
4595  8 /*fromYearTiny*/,
+
4596  8 /*toYearTiny*/,
+
4597  9 /*inMonth*/,
+
4598  0 /*onDayOfWeek*/,
+
4599  1 /*onDayOfMonth*/,
+
4600  0 /*atTimeCode*/,
+
4601  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4602  (0 + 4) /*deltaCode*/,
+
4603  '-' /*letter*/,
+
4604  },
+
4605  // Rule Morocco 2009 only - Jun 1 0:00 1:00 -
+
4606  {
+
4607  9 /*fromYearTiny*/,
+
4608  9 /*toYearTiny*/,
+
4609  6 /*inMonth*/,
+
4610  0 /*onDayOfWeek*/,
+
4611  1 /*onDayOfMonth*/,
+
4612  0 /*atTimeCode*/,
+
4613  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4614  (4 + 4) /*deltaCode*/,
+
4615  '-' /*letter*/,
+
4616  },
+
4617  // Rule Morocco 2009 only - Aug 21 0:00 0 -
+
4618  {
+
4619  9 /*fromYearTiny*/,
+
4620  9 /*toYearTiny*/,
+
4621  8 /*inMonth*/,
+
4622  0 /*onDayOfWeek*/,
+
4623  21 /*onDayOfMonth*/,
+
4624  0 /*atTimeCode*/,
+
4625  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4626  (0 + 4) /*deltaCode*/,
+
4627  '-' /*letter*/,
+
4628  },
+
4629  // Rule Morocco 2010 only - May 2 0:00 1:00 -
+
4630  {
+
4631  10 /*fromYearTiny*/,
+
4632  10 /*toYearTiny*/,
+
4633  5 /*inMonth*/,
+
4634  0 /*onDayOfWeek*/,
+
4635  2 /*onDayOfMonth*/,
+
4636  0 /*atTimeCode*/,
+
4637  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4638  (4 + 4) /*deltaCode*/,
+
4639  '-' /*letter*/,
+
4640  },
+
4641  // Rule Morocco 2010 only - Aug 8 0:00 0 -
+
4642  {
+
4643  10 /*fromYearTiny*/,
+
4644  10 /*toYearTiny*/,
+
4645  8 /*inMonth*/,
+
4646  0 /*onDayOfWeek*/,
+
4647  8 /*onDayOfMonth*/,
+
4648  0 /*atTimeCode*/,
+
4649  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4650  (0 + 4) /*deltaCode*/,
+
4651  '-' /*letter*/,
+
4652  },
+
4653  // Rule Morocco 2011 only - Apr 3 0:00 1:00 -
+
4654  {
+
4655  11 /*fromYearTiny*/,
+
4656  11 /*toYearTiny*/,
+
4657  4 /*inMonth*/,
+
4658  0 /*onDayOfWeek*/,
+
4659  3 /*onDayOfMonth*/,
+
4660  0 /*atTimeCode*/,
+
4661  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4662  (4 + 4) /*deltaCode*/,
+
4663  '-' /*letter*/,
+
4664  },
+
4665  // Rule Morocco 2011 only - Jul 31 0:00 0 -
+
4666  {
+
4667  11 /*fromYearTiny*/,
+
4668  11 /*toYearTiny*/,
+
4669  7 /*inMonth*/,
+
4670  0 /*onDayOfWeek*/,
+
4671  31 /*onDayOfMonth*/,
+
4672  0 /*atTimeCode*/,
+
4673  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4674  (0 + 4) /*deltaCode*/,
+
4675  '-' /*letter*/,
+
4676  },
+
4677  // Rule Morocco 2012 2013 - Apr lastSun 2:00 1:00 -
+
4678  {
+
4679  12 /*fromYearTiny*/,
+
4680  13 /*toYearTiny*/,
+
4681  4 /*inMonth*/,
+
4682  7 /*onDayOfWeek*/,
+
4683  0 /*onDayOfMonth*/,
+
4684  8 /*atTimeCode*/,
+
4685  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4686  (4 + 4) /*deltaCode*/,
+
4687  '-' /*letter*/,
+
4688  },
+
4689  // Rule Morocco 2012 only - Jul 20 3:00 0 -
+
4690  {
+
4691  12 /*fromYearTiny*/,
+
4692  12 /*toYearTiny*/,
+
4693  7 /*inMonth*/,
+
4694  0 /*onDayOfWeek*/,
+
4695  20 /*onDayOfMonth*/,
+
4696  12 /*atTimeCode*/,
+
4697  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4698  (0 + 4) /*deltaCode*/,
+
4699  '-' /*letter*/,
+
4700  },
+
4701  // Rule Morocco 2012 only - Aug 20 2:00 1:00 -
+
4702  {
+
4703  12 /*fromYearTiny*/,
+
4704  12 /*toYearTiny*/,
+
4705  8 /*inMonth*/,
+
4706  0 /*onDayOfWeek*/,
+
4707  20 /*onDayOfMonth*/,
+
4708  8 /*atTimeCode*/,
+
4709  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4710  (4 + 4) /*deltaCode*/,
+
4711  '-' /*letter*/,
+
4712  },
+
4713  // Rule Morocco 2012 only - Sep 30 3:00 0 -
+
4714  {
+
4715  12 /*fromYearTiny*/,
+
4716  12 /*toYearTiny*/,
+
4717  9 /*inMonth*/,
+
4718  0 /*onDayOfWeek*/,
+
4719  30 /*onDayOfMonth*/,
+
4720  12 /*atTimeCode*/,
+
4721  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4722  (0 + 4) /*deltaCode*/,
+
4723  '-' /*letter*/,
+
4724  },
+
4725  // Rule Morocco 2013 only - Jul 7 3:00 0 -
+
4726  {
+
4727  13 /*fromYearTiny*/,
+
4728  13 /*toYearTiny*/,
+
4729  7 /*inMonth*/,
+
4730  0 /*onDayOfWeek*/,
+
4731  7 /*onDayOfMonth*/,
+
4732  12 /*atTimeCode*/,
+
4733  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4734  (0 + 4) /*deltaCode*/,
+
4735  '-' /*letter*/,
+
4736  },
+
4737  // Rule Morocco 2013 only - Aug 10 2:00 1:00 -
+
4738  {
+
4739  13 /*fromYearTiny*/,
+
4740  13 /*toYearTiny*/,
+
4741  8 /*inMonth*/,
+
4742  0 /*onDayOfWeek*/,
+
4743  10 /*onDayOfMonth*/,
+
4744  8 /*atTimeCode*/,
+
4745  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4746  (4 + 4) /*deltaCode*/,
+
4747  '-' /*letter*/,
+
4748  },
+
4749  // Rule Morocco 2013 2018 - Oct lastSun 3:00 0 -
+
4750  {
+
4751  13 /*fromYearTiny*/,
+
4752  18 /*toYearTiny*/,
+
4753  10 /*inMonth*/,
+
4754  7 /*onDayOfWeek*/,
+
4755  0 /*onDayOfMonth*/,
+
4756  12 /*atTimeCode*/,
+
4757  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4758  (0 + 4) /*deltaCode*/,
+
4759  '-' /*letter*/,
+
4760  },
+
4761  // Rule Morocco 2014 2018 - Mar lastSun 2:00 1:00 -
+
4762  {
+
4763  14 /*fromYearTiny*/,
+
4764  18 /*toYearTiny*/,
+
4765  3 /*inMonth*/,
+
4766  7 /*onDayOfWeek*/,
+
4767  0 /*onDayOfMonth*/,
+
4768  8 /*atTimeCode*/,
+
4769  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4770  (4 + 4) /*deltaCode*/,
+
4771  '-' /*letter*/,
+
4772  },
+
4773  // Rule Morocco 2014 only - Jun 28 3:00 0 -
+
4774  {
+
4775  14 /*fromYearTiny*/,
+
4776  14 /*toYearTiny*/,
+
4777  6 /*inMonth*/,
+
4778  0 /*onDayOfWeek*/,
+
4779  28 /*onDayOfMonth*/,
+
4780  12 /*atTimeCode*/,
+
4781  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4782  (0 + 4) /*deltaCode*/,
+
4783  '-' /*letter*/,
+
4784  },
+
4785  // Rule Morocco 2014 only - Aug 2 2:00 1:00 -
+
4786  {
+
4787  14 /*fromYearTiny*/,
+
4788  14 /*toYearTiny*/,
+
4789  8 /*inMonth*/,
+
4790  0 /*onDayOfWeek*/,
+
4791  2 /*onDayOfMonth*/,
+
4792  8 /*atTimeCode*/,
+
4793  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4794  (4 + 4) /*deltaCode*/,
+
4795  '-' /*letter*/,
+
4796  },
+
4797  // Rule Morocco 2015 only - Jun 14 3:00 0 -
+
4798  {
+
4799  15 /*fromYearTiny*/,
+
4800  15 /*toYearTiny*/,
+
4801  6 /*inMonth*/,
+
4802  0 /*onDayOfWeek*/,
+
4803  14 /*onDayOfMonth*/,
+
4804  12 /*atTimeCode*/,
+
4805  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4806  (0 + 4) /*deltaCode*/,
+
4807  '-' /*letter*/,
+
4808  },
+
4809  // Rule Morocco 2015 only - Jul 19 2:00 1:00 -
+
4810  {
+
4811  15 /*fromYearTiny*/,
+
4812  15 /*toYearTiny*/,
+
4813  7 /*inMonth*/,
+
4814  0 /*onDayOfWeek*/,
+
4815  19 /*onDayOfMonth*/,
+
4816  8 /*atTimeCode*/,
+
4817  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4818  (4 + 4) /*deltaCode*/,
+
4819  '-' /*letter*/,
+
4820  },
+
4821  // Rule Morocco 2016 only - Jun 5 3:00 0 -
+
4822  {
+
4823  16 /*fromYearTiny*/,
+
4824  16 /*toYearTiny*/,
+
4825  6 /*inMonth*/,
+
4826  0 /*onDayOfWeek*/,
+
4827  5 /*onDayOfMonth*/,
+
4828  12 /*atTimeCode*/,
+
4829  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4830  (0 + 4) /*deltaCode*/,
+
4831  '-' /*letter*/,
+
4832  },
+
4833  // Rule Morocco 2016 only - Jul 10 2:00 1:00 -
+
4834  {
+
4835  16 /*fromYearTiny*/,
+
4836  16 /*toYearTiny*/,
+
4837  7 /*inMonth*/,
+
4838  0 /*onDayOfWeek*/,
+
4839  10 /*onDayOfMonth*/,
+
4840  8 /*atTimeCode*/,
+
4841  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4842  (4 + 4) /*deltaCode*/,
+
4843  '-' /*letter*/,
+
4844  },
+
4845  // Rule Morocco 2017 only - May 21 3:00 0 -
+
4846  {
+
4847  17 /*fromYearTiny*/,
+
4848  17 /*toYearTiny*/,
+
4849  5 /*inMonth*/,
+
4850  0 /*onDayOfWeek*/,
+
4851  21 /*onDayOfMonth*/,
+
4852  12 /*atTimeCode*/,
+
4853  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4854  (0 + 4) /*deltaCode*/,
+
4855  '-' /*letter*/,
+
4856  },
+
4857  // Rule Morocco 2017 only - Jul 2 2:00 1:00 -
+
4858  {
+
4859  17 /*fromYearTiny*/,
+
4860  17 /*toYearTiny*/,
+
4861  7 /*inMonth*/,
+
4862  0 /*onDayOfWeek*/,
+
4863  2 /*onDayOfMonth*/,
+
4864  8 /*atTimeCode*/,
+
4865  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4866  (4 + 4) /*deltaCode*/,
+
4867  '-' /*letter*/,
+
4868  },
+
4869  // Rule Morocco 2018 only - May 13 3:00 0 -
+
4870  {
+
4871  18 /*fromYearTiny*/,
+
4872  18 /*toYearTiny*/,
+
4873  5 /*inMonth*/,
+
4874  0 /*onDayOfWeek*/,
+
4875  13 /*onDayOfMonth*/,
+
4876  12 /*atTimeCode*/,
+
4877  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4878  (0 + 4) /*deltaCode*/,
+
4879  '-' /*letter*/,
+
4880  },
+
4881  // Rule Morocco 2018 only - Jun 17 2:00 1:00 -
+
4882  {
+
4883  18 /*fromYearTiny*/,
+
4884  18 /*toYearTiny*/,
+
4885  6 /*inMonth*/,
+
4886  0 /*onDayOfWeek*/,
+
4887  17 /*onDayOfMonth*/,
+
4888  8 /*atTimeCode*/,
+
4889  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4890  (4 + 4) /*deltaCode*/,
+
4891  '-' /*letter*/,
+
4892  },
+
4893  // Rule Morocco 2019 only - May 5 3:00 -1:00 -
+
4894  {
+
4895  19 /*fromYearTiny*/,
+
4896  19 /*toYearTiny*/,
+
4897  5 /*inMonth*/,
+
4898  0 /*onDayOfWeek*/,
+
4899  5 /*onDayOfMonth*/,
+
4900  12 /*atTimeCode*/,
+
4901  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4902  (-4 + 4) /*deltaCode*/,
+
4903  '-' /*letter*/,
+
4904  },
+
4905  // Rule Morocco 2019 only - Jun 9 2:00 0 -
+
4906  {
+
4907  19 /*fromYearTiny*/,
+
4908  19 /*toYearTiny*/,
+
4909  6 /*inMonth*/,
+
4910  0 /*onDayOfWeek*/,
+
4911  9 /*onDayOfMonth*/,
+
4912  8 /*atTimeCode*/,
+
4913  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4914  (0 + 4) /*deltaCode*/,
+
4915  '-' /*letter*/,
+
4916  },
+
4917  // Rule Morocco 2020 only - Apr 19 3:00 -1:00 -
+
4918  {
+
4919  20 /*fromYearTiny*/,
+
4920  20 /*toYearTiny*/,
+
4921  4 /*inMonth*/,
+
4922  0 /*onDayOfWeek*/,
+
4923  19 /*onDayOfMonth*/,
+
4924  12 /*atTimeCode*/,
+
4925  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4926  (-4 + 4) /*deltaCode*/,
+
4927  '-' /*letter*/,
+
4928  },
+
4929  // Rule Morocco 2020 only - May 31 2:00 0 -
+
4930  {
+
4931  20 /*fromYearTiny*/,
+
4932  20 /*toYearTiny*/,
+
4933  5 /*inMonth*/,
+
4934  0 /*onDayOfWeek*/,
+
4935  31 /*onDayOfMonth*/,
+
4936  8 /*atTimeCode*/,
+
4937  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4938  (0 + 4) /*deltaCode*/,
+
4939  '-' /*letter*/,
+
4940  },
+
4941  // Rule Morocco 2021 only - Apr 11 3:00 -1:00 -
+
4942  {
+
4943  21 /*fromYearTiny*/,
+
4944  21 /*toYearTiny*/,
+
4945  4 /*inMonth*/,
+
4946  0 /*onDayOfWeek*/,
+
4947  11 /*onDayOfMonth*/,
+
4948  12 /*atTimeCode*/,
+
4949  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4950  (-4 + 4) /*deltaCode*/,
+
4951  '-' /*letter*/,
+
4952  },
+
4953  // Rule Morocco 2021 only - May 16 2:00 0 -
+
4954  {
+
4955  21 /*fromYearTiny*/,
+
4956  21 /*toYearTiny*/,
+
4957  5 /*inMonth*/,
+
4958  0 /*onDayOfWeek*/,
+
4959  16 /*onDayOfMonth*/,
+
4960  8 /*atTimeCode*/,
+
4961  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4962  (0 + 4) /*deltaCode*/,
+
4963  '-' /*letter*/,
+
4964  },
+
4965  // Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
+
4966  {
+
4967  22 /*fromYearTiny*/,
+
4968  22 /*toYearTiny*/,
+
4969  3 /*inMonth*/,
+
4970  0 /*onDayOfWeek*/,
+
4971  27 /*onDayOfMonth*/,
+
4972  12 /*atTimeCode*/,
+
4973  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4974  (-4 + 4) /*deltaCode*/,
+
4975  '-' /*letter*/,
+
4976  },
+
4977  // Rule Morocco 2022 only - May 8 2:00 0 -
+
4978  {
+
4979  22 /*fromYearTiny*/,
+
4980  22 /*toYearTiny*/,
+
4981  5 /*inMonth*/,
+
4982  0 /*onDayOfWeek*/,
+
4983  8 /*onDayOfMonth*/,
+
4984  8 /*atTimeCode*/,
+
4985  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4986  (0 + 4) /*deltaCode*/,
+
4987  '-' /*letter*/,
+
4988  },
+
4989  // Rule Morocco 2023 only - Mar 19 3:00 -1:00 -
+
4990  {
+
4991  23 /*fromYearTiny*/,
+
4992  23 /*toYearTiny*/,
+
4993  3 /*inMonth*/,
+
4994  0 /*onDayOfWeek*/,
+
4995  19 /*onDayOfMonth*/,
+
4996  12 /*atTimeCode*/,
+
4997  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
4998  (-4 + 4) /*deltaCode*/,
+
4999  '-' /*letter*/,
+
5000  },
+
5001  // Rule Morocco 2023 only - Apr 30 2:00 0 -
+
5002  {
+
5003  23 /*fromYearTiny*/,
+
5004  23 /*toYearTiny*/,
+
5005  4 /*inMonth*/,
+
5006  0 /*onDayOfWeek*/,
+
5007  30 /*onDayOfMonth*/,
+
5008  8 /*atTimeCode*/,
+
5009  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5010  (0 + 4) /*deltaCode*/,
+
5011  '-' /*letter*/,
+
5012  },
+
5013  // Rule Morocco 2024 only - Mar 10 3:00 -1:00 -
+
5014  {
+
5015  24 /*fromYearTiny*/,
+
5016  24 /*toYearTiny*/,
+
5017  3 /*inMonth*/,
+
5018  0 /*onDayOfWeek*/,
+
5019  10 /*onDayOfMonth*/,
+
5020  12 /*atTimeCode*/,
+
5021  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5022  (-4 + 4) /*deltaCode*/,
+
5023  '-' /*letter*/,
+
5024  },
+
5025  // Rule Morocco 2024 only - Apr 14 2:00 0 -
+
5026  {
+
5027  24 /*fromYearTiny*/,
+
5028  24 /*toYearTiny*/,
+
5029  4 /*inMonth*/,
+
5030  0 /*onDayOfWeek*/,
+
5031  14 /*onDayOfMonth*/,
+
5032  8 /*atTimeCode*/,
+
5033  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5034  (0 + 4) /*deltaCode*/,
+
5035  '-' /*letter*/,
+
5036  },
+
5037  // Rule Morocco 2025 only - Feb 23 3:00 -1:00 -
+
5038  {
+
5039  25 /*fromYearTiny*/,
+
5040  25 /*toYearTiny*/,
+
5041  2 /*inMonth*/,
+
5042  0 /*onDayOfWeek*/,
+
5043  23 /*onDayOfMonth*/,
+
5044  12 /*atTimeCode*/,
+
5045  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5046  (-4 + 4) /*deltaCode*/,
+
5047  '-' /*letter*/,
+
5048  },
+
5049  // Rule Morocco 2025 only - Apr 6 2:00 0 -
+
5050  {
+
5051  25 /*fromYearTiny*/,
+
5052  25 /*toYearTiny*/,
+
5053  4 /*inMonth*/,
+
5054  0 /*onDayOfWeek*/,
+
5055  6 /*onDayOfMonth*/,
+
5056  8 /*atTimeCode*/,
+
5057  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5058  (0 + 4) /*deltaCode*/,
+
5059  '-' /*letter*/,
+
5060  },
+
5061  // Rule Morocco 2026 only - Feb 15 3:00 -1:00 -
+
5062  {
+
5063  26 /*fromYearTiny*/,
+
5064  26 /*toYearTiny*/,
+
5065  2 /*inMonth*/,
+
5066  0 /*onDayOfWeek*/,
+
5067  15 /*onDayOfMonth*/,
+
5068  12 /*atTimeCode*/,
+
5069  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5070  (-4 + 4) /*deltaCode*/,
+
5071  '-' /*letter*/,
+
5072  },
+
5073  // Rule Morocco 2026 only - Mar 22 2:00 0 -
+
5074  {
+
5075  26 /*fromYearTiny*/,
+
5076  26 /*toYearTiny*/,
+
5077  3 /*inMonth*/,
+
5078  0 /*onDayOfWeek*/,
+
5079  22 /*onDayOfMonth*/,
+
5080  8 /*atTimeCode*/,
+
5081  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5082  (0 + 4) /*deltaCode*/,
+
5083  '-' /*letter*/,
+
5084  },
+
5085  // Rule Morocco 2027 only - Feb 7 3:00 -1:00 -
+
5086  {
+
5087  27 /*fromYearTiny*/,
+
5088  27 /*toYearTiny*/,
+
5089  2 /*inMonth*/,
+
5090  0 /*onDayOfWeek*/,
+
5091  7 /*onDayOfMonth*/,
+
5092  12 /*atTimeCode*/,
+
5093  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5094  (-4 + 4) /*deltaCode*/,
+
5095  '-' /*letter*/,
+
5096  },
+
5097  // Rule Morocco 2027 only - Mar 14 2:00 0 -
+
5098  {
+
5099  27 /*fromYearTiny*/,
+
5100  27 /*toYearTiny*/,
+
5101  3 /*inMonth*/,
+
5102  0 /*onDayOfWeek*/,
+
5103  14 /*onDayOfMonth*/,
+
5104  8 /*atTimeCode*/,
+
5105  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5106  (0 + 4) /*deltaCode*/,
+
5107  '-' /*letter*/,
+
5108  },
+
5109  // Rule Morocco 2028 only - Jan 23 3:00 -1:00 -
+
5110  {
+
5111  28 /*fromYearTiny*/,
+
5112  28 /*toYearTiny*/,
+
5113  1 /*inMonth*/,
+
5114  0 /*onDayOfWeek*/,
+
5115  23 /*onDayOfMonth*/,
+
5116  12 /*atTimeCode*/,
+
5117  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5118  (-4 + 4) /*deltaCode*/,
+
5119  '-' /*letter*/,
+
5120  },
+
5121  // Rule Morocco 2028 only - Mar 5 2:00 0 -
+
5122  {
+
5123  28 /*fromYearTiny*/,
+
5124  28 /*toYearTiny*/,
+
5125  3 /*inMonth*/,
+
5126  0 /*onDayOfWeek*/,
+
5127  5 /*onDayOfMonth*/,
+
5128  8 /*atTimeCode*/,
+
5129  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5130  (0 + 4) /*deltaCode*/,
+
5131  '-' /*letter*/,
+
5132  },
+
5133  // Rule Morocco 2029 only - Jan 14 3:00 -1:00 -
+
5134  {
+
5135  29 /*fromYearTiny*/,
+
5136  29 /*toYearTiny*/,
+
5137  1 /*inMonth*/,
+
5138  0 /*onDayOfWeek*/,
+
5139  14 /*onDayOfMonth*/,
+
5140  12 /*atTimeCode*/,
+
5141  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5142  (-4 + 4) /*deltaCode*/,
+
5143  '-' /*letter*/,
+
5144  },
+
5145  // Rule Morocco 2029 only - Feb 18 2:00 0 -
+
5146  {
+
5147  29 /*fromYearTiny*/,
+
5148  29 /*toYearTiny*/,
+
5149  2 /*inMonth*/,
+
5150  0 /*onDayOfWeek*/,
+
5151  18 /*onDayOfMonth*/,
+
5152  8 /*atTimeCode*/,
+
5153  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5154  (0 + 4) /*deltaCode*/,
+
5155  '-' /*letter*/,
+
5156  },
+
5157  // Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
+
5158  {
+
5159  29 /*fromYearTiny*/,
+
5160  29 /*toYearTiny*/,
+
5161  12 /*inMonth*/,
+
5162  0 /*onDayOfWeek*/,
+
5163  30 /*onDayOfMonth*/,
+
5164  12 /*atTimeCode*/,
+
5165  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5166  (-4 + 4) /*deltaCode*/,
+
5167  '-' /*letter*/,
+
5168  },
+
5169  // Rule Morocco 2030 only - Feb 10 2:00 0 -
+
5170  {
+
5171  30 /*fromYearTiny*/,
+
5172  30 /*toYearTiny*/,
+
5173  2 /*inMonth*/,
+
5174  0 /*onDayOfWeek*/,
+
5175  10 /*onDayOfMonth*/,
+
5176  8 /*atTimeCode*/,
+
5177  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5178  (0 + 4) /*deltaCode*/,
+
5179  '-' /*letter*/,
+
5180  },
+
5181  // Rule Morocco 2030 only - Dec 22 3:00 -1:00 -
+
5182  {
+
5183  30 /*fromYearTiny*/,
+
5184  30 /*toYearTiny*/,
+
5185  12 /*inMonth*/,
+
5186  0 /*onDayOfWeek*/,
+
5187  22 /*onDayOfMonth*/,
+
5188  12 /*atTimeCode*/,
+
5189  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5190  (-4 + 4) /*deltaCode*/,
+
5191  '-' /*letter*/,
+
5192  },
+
5193  // Rule Morocco 2031 only - Feb 2 2:00 0 -
+
5194  {
+
5195  31 /*fromYearTiny*/,
+
5196  31 /*toYearTiny*/,
+
5197  2 /*inMonth*/,
+
5198  0 /*onDayOfWeek*/,
+
5199  2 /*onDayOfMonth*/,
+
5200  8 /*atTimeCode*/,
+
5201  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5202  (0 + 4) /*deltaCode*/,
+
5203  '-' /*letter*/,
+
5204  },
+
5205  // Rule Morocco 2031 only - Dec 14 3:00 -1:00 -
+
5206  {
+
5207  31 /*fromYearTiny*/,
+
5208  31 /*toYearTiny*/,
+
5209  12 /*inMonth*/,
+
5210  0 /*onDayOfWeek*/,
+
5211  14 /*onDayOfMonth*/,
+
5212  12 /*atTimeCode*/,
+
5213  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5214  (-4 + 4) /*deltaCode*/,
+
5215  '-' /*letter*/,
+
5216  },
+
5217  // Rule Morocco 2032 only - Jan 18 2:00 0 -
+
5218  {
+
5219  32 /*fromYearTiny*/,
+
5220  32 /*toYearTiny*/,
+
5221  1 /*inMonth*/,
+
5222  0 /*onDayOfWeek*/,
+
5223  18 /*onDayOfMonth*/,
+
5224  8 /*atTimeCode*/,
+
5225  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5226  (0 + 4) /*deltaCode*/,
+
5227  '-' /*letter*/,
+
5228  },
+
5229  // Rule Morocco 2032 only - Nov 28 3:00 -1:00 -
+
5230  {
+
5231  32 /*fromYearTiny*/,
+
5232  32 /*toYearTiny*/,
+
5233  11 /*inMonth*/,
+
5234  0 /*onDayOfWeek*/,
+
5235  28 /*onDayOfMonth*/,
+
5236  12 /*atTimeCode*/,
+
5237  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5238  (-4 + 4) /*deltaCode*/,
+
5239  '-' /*letter*/,
+
5240  },
+
5241  // Rule Morocco 2033 only - Jan 9 2:00 0 -
+
5242  {
+
5243  33 /*fromYearTiny*/,
+
5244  33 /*toYearTiny*/,
+
5245  1 /*inMonth*/,
+
5246  0 /*onDayOfWeek*/,
+
5247  9 /*onDayOfMonth*/,
+
5248  8 /*atTimeCode*/,
+
5249  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5250  (0 + 4) /*deltaCode*/,
+
5251  '-' /*letter*/,
+
5252  },
+
5253  // Rule Morocco 2033 only - Nov 20 3:00 -1:00 -
+
5254  {
+
5255  33 /*fromYearTiny*/,
+
5256  33 /*toYearTiny*/,
+
5257  11 /*inMonth*/,
+
5258  0 /*onDayOfWeek*/,
+
5259  20 /*onDayOfMonth*/,
+
5260  12 /*atTimeCode*/,
+
5261  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5262  (-4 + 4) /*deltaCode*/,
+
5263  '-' /*letter*/,
+
5264  },
+
5265  // Rule Morocco 2033 only - Dec 25 2:00 0 -
+
5266  {
+
5267  33 /*fromYearTiny*/,
+
5268  33 /*toYearTiny*/,
+
5269  12 /*inMonth*/,
+
5270  0 /*onDayOfWeek*/,
+
5271  25 /*onDayOfMonth*/,
+
5272  8 /*atTimeCode*/,
+
5273  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5274  (0 + 4) /*deltaCode*/,
+
5275  '-' /*letter*/,
+
5276  },
+
5277  // Rule Morocco 2034 only - Nov 5 3:00 -1:00 -
+
5278  {
+
5279  34 /*fromYearTiny*/,
+
5280  34 /*toYearTiny*/,
+
5281  11 /*inMonth*/,
+
5282  0 /*onDayOfWeek*/,
+
5283  5 /*onDayOfMonth*/,
+
5284  12 /*atTimeCode*/,
+
5285  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5286  (-4 + 4) /*deltaCode*/,
+
5287  '-' /*letter*/,
+
5288  },
+
5289  // Rule Morocco 2034 only - Dec 17 2:00 0 -
+
5290  {
+
5291  34 /*fromYearTiny*/,
+
5292  34 /*toYearTiny*/,
+
5293  12 /*inMonth*/,
+
5294  0 /*onDayOfWeek*/,
+
5295  17 /*onDayOfMonth*/,
+
5296  8 /*atTimeCode*/,
+
5297  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5298  (0 + 4) /*deltaCode*/,
+
5299  '-' /*letter*/,
+
5300  },
+
5301  // Rule Morocco 2035 only - Oct 28 3:00 -1:00 -
+
5302  {
+
5303  35 /*fromYearTiny*/,
+
5304  35 /*toYearTiny*/,
+
5305  10 /*inMonth*/,
+
5306  0 /*onDayOfWeek*/,
+
5307  28 /*onDayOfMonth*/,
+
5308  12 /*atTimeCode*/,
+
5309  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5310  (-4 + 4) /*deltaCode*/,
+
5311  '-' /*letter*/,
+
5312  },
+
5313  // Rule Morocco 2035 only - Dec 9 2:00 0 -
+
5314  {
+
5315  35 /*fromYearTiny*/,
+
5316  35 /*toYearTiny*/,
+
5317  12 /*inMonth*/,
+
5318  0 /*onDayOfWeek*/,
+
5319  9 /*onDayOfMonth*/,
+
5320  8 /*atTimeCode*/,
+
5321  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5322  (0 + 4) /*deltaCode*/,
+
5323  '-' /*letter*/,
+
5324  },
+
5325  // Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
+
5326  {
+
5327  36 /*fromYearTiny*/,
+
5328  36 /*toYearTiny*/,
+
5329  10 /*inMonth*/,
+
5330  0 /*onDayOfWeek*/,
+
5331  19 /*onDayOfMonth*/,
+
5332  12 /*atTimeCode*/,
+
5333  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5334  (-4 + 4) /*deltaCode*/,
+
5335  '-' /*letter*/,
+
5336  },
+
5337  // Rule Morocco 2036 only - Nov 23 2:00 0 -
+
5338  {
+
5339  36 /*fromYearTiny*/,
+
5340  36 /*toYearTiny*/,
+
5341  11 /*inMonth*/,
+
5342  0 /*onDayOfWeek*/,
+
5343  23 /*onDayOfMonth*/,
+
5344  8 /*atTimeCode*/,
+
5345  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5346  (0 + 4) /*deltaCode*/,
+
5347  '-' /*letter*/,
+
5348  },
+
5349  // Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
+
5350  {
+
5351  37 /*fromYearTiny*/,
+
5352  37 /*toYearTiny*/,
+
5353  10 /*inMonth*/,
+
5354  0 /*onDayOfWeek*/,
+
5355  4 /*onDayOfMonth*/,
+
5356  12 /*atTimeCode*/,
+
5357  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5358  (-4 + 4) /*deltaCode*/,
+
5359  '-' /*letter*/,
+
5360  },
+
5361  // Rule Morocco 2037 only - Nov 15 2:00 0 -
+
5362  {
+
5363  37 /*fromYearTiny*/,
+
5364  37 /*toYearTiny*/,
+
5365  11 /*inMonth*/,
+
5366  0 /*onDayOfWeek*/,
+
5367  15 /*onDayOfMonth*/,
+
5368  8 /*atTimeCode*/,
+
5369  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5370  (0 + 4) /*deltaCode*/,
+
5371  '-' /*letter*/,
+
5372  },
+
5373  // Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
+
5374  {
+
5375  38 /*fromYearTiny*/,
+
5376  38 /*toYearTiny*/,
+
5377  9 /*inMonth*/,
+
5378  0 /*onDayOfWeek*/,
+
5379  26 /*onDayOfMonth*/,
+
5380  12 /*atTimeCode*/,
+
5381  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5382  (-4 + 4) /*deltaCode*/,
+
5383  '-' /*letter*/,
+
5384  },
+
5385  // Rule Morocco 2038 only - Nov 7 2:00 0 -
+
5386  {
+
5387  38 /*fromYearTiny*/,
+
5388  38 /*toYearTiny*/,
+
5389  11 /*inMonth*/,
+
5390  0 /*onDayOfWeek*/,
+
5391  7 /*onDayOfMonth*/,
+
5392  8 /*atTimeCode*/,
+
5393  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5394  (0 + 4) /*deltaCode*/,
+
5395  '-' /*letter*/,
+
5396  },
+
5397  // Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
+
5398  {
+
5399  39 /*fromYearTiny*/,
+
5400  39 /*toYearTiny*/,
+
5401  9 /*inMonth*/,
+
5402  0 /*onDayOfWeek*/,
+
5403  18 /*onDayOfMonth*/,
+
5404  12 /*atTimeCode*/,
+
5405  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5406  (-4 + 4) /*deltaCode*/,
+
5407  '-' /*letter*/,
+
5408  },
+
5409  // Rule Morocco 2039 only - Oct 23 2:00 0 -
+
5410  {
+
5411  39 /*fromYearTiny*/,
+
5412  39 /*toYearTiny*/,
+
5413  10 /*inMonth*/,
+
5414  0 /*onDayOfWeek*/,
+
5415  23 /*onDayOfMonth*/,
+
5416  8 /*atTimeCode*/,
+
5417  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5418  (0 + 4) /*deltaCode*/,
+
5419  '-' /*letter*/,
+
5420  },
+
5421  // Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
+
5422  {
+
5423  40 /*fromYearTiny*/,
+
5424  40 /*toYearTiny*/,
+
5425  9 /*inMonth*/,
+
5426  0 /*onDayOfWeek*/,
+
5427  2 /*onDayOfMonth*/,
+
5428  12 /*atTimeCode*/,
+
5429  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5430  (-4 + 4) /*deltaCode*/,
+
5431  '-' /*letter*/,
+
5432  },
+
5433  // Rule Morocco 2040 only - Oct 14 2:00 0 -
+
5434  {
+
5435  40 /*fromYearTiny*/,
+
5436  40 /*toYearTiny*/,
+
5437  10 /*inMonth*/,
+
5438  0 /*onDayOfWeek*/,
+
5439  14 /*onDayOfMonth*/,
+
5440  8 /*atTimeCode*/,
+
5441  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5442  (0 + 4) /*deltaCode*/,
+
5443  '-' /*letter*/,
+
5444  },
+
5445  // Rule Morocco 2041 only - Aug 25 3:00 -1:00 -
+
5446  {
+
5447  41 /*fromYearTiny*/,
+
5448  41 /*toYearTiny*/,
+
5449  8 /*inMonth*/,
+
5450  0 /*onDayOfWeek*/,
+
5451  25 /*onDayOfMonth*/,
+
5452  12 /*atTimeCode*/,
+
5453  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5454  (-4 + 4) /*deltaCode*/,
+
5455  '-' /*letter*/,
+
5456  },
+
5457  // Rule Morocco 2041 only - Sep 29 2:00 0 -
+
5458  {
+
5459  41 /*fromYearTiny*/,
+
5460  41 /*toYearTiny*/,
+
5461  9 /*inMonth*/,
+
5462  0 /*onDayOfWeek*/,
+
5463  29 /*onDayOfMonth*/,
+
5464  8 /*atTimeCode*/,
+
5465  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5466  (0 + 4) /*deltaCode*/,
+
5467  '-' /*letter*/,
+
5468  },
+
5469  // Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
+
5470  {
+
5471  42 /*fromYearTiny*/,
+
5472  42 /*toYearTiny*/,
+
5473  8 /*inMonth*/,
+
5474  0 /*onDayOfWeek*/,
+
5475  10 /*onDayOfMonth*/,
+
5476  12 /*atTimeCode*/,
+
5477  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5478  (-4 + 4) /*deltaCode*/,
+
5479  '-' /*letter*/,
+
5480  },
+
5481  // Rule Morocco 2042 only - Sep 21 2:00 0 -
+
5482  {
+
5483  42 /*fromYearTiny*/,
+
5484  42 /*toYearTiny*/,
+
5485  9 /*inMonth*/,
+
5486  0 /*onDayOfWeek*/,
+
5487  21 /*onDayOfMonth*/,
+
5488  8 /*atTimeCode*/,
+
5489  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5490  (0 + 4) /*deltaCode*/,
+
5491  '-' /*letter*/,
+
5492  },
+
5493  // Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
+
5494  {
+
5495  43 /*fromYearTiny*/,
+
5496  43 /*toYearTiny*/,
+
5497  8 /*inMonth*/,
+
5498  0 /*onDayOfWeek*/,
+
5499  2 /*onDayOfMonth*/,
+
5500  12 /*atTimeCode*/,
+
5501  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5502  (-4 + 4) /*deltaCode*/,
+
5503  '-' /*letter*/,
+
5504  },
+
5505  // Rule Morocco 2043 only - Sep 13 2:00 0 -
+
5506  {
+
5507  43 /*fromYearTiny*/,
+
5508  43 /*toYearTiny*/,
+
5509  9 /*inMonth*/,
+
5510  0 /*onDayOfWeek*/,
+
5511  13 /*onDayOfMonth*/,
+
5512  8 /*atTimeCode*/,
+
5513  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5514  (0 + 4) /*deltaCode*/,
+
5515  '-' /*letter*/,
+
5516  },
+
5517  // Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
+
5518  {
+
5519  44 /*fromYearTiny*/,
+
5520  44 /*toYearTiny*/,
+
5521  7 /*inMonth*/,
+
5522  0 /*onDayOfWeek*/,
+
5523  24 /*onDayOfMonth*/,
+
5524  12 /*atTimeCode*/,
+
5525  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5526  (-4 + 4) /*deltaCode*/,
+
5527  '-' /*letter*/,
+
5528  },
+
5529  // Rule Morocco 2044 only - Aug 28 2:00 0 -
+
5530  {
+
5531  44 /*fromYearTiny*/,
+
5532  44 /*toYearTiny*/,
+
5533  8 /*inMonth*/,
+
5534  0 /*onDayOfWeek*/,
+
5535  28 /*onDayOfMonth*/,
+
5536  8 /*atTimeCode*/,
+
5537  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5538  (0 + 4) /*deltaCode*/,
+
5539  '-' /*letter*/,
+
5540  },
+
5541  // Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
+
5542  {
+
5543  45 /*fromYearTiny*/,
+
5544  45 /*toYearTiny*/,
+
5545  7 /*inMonth*/,
+
5546  0 /*onDayOfWeek*/,
+
5547  9 /*onDayOfMonth*/,
+
5548  12 /*atTimeCode*/,
+
5549  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5550  (-4 + 4) /*deltaCode*/,
+
5551  '-' /*letter*/,
+
5552  },
+
5553  // Rule Morocco 2045 only - Aug 20 2:00 0 -
+
5554  {
+
5555  45 /*fromYearTiny*/,
+
5556  45 /*toYearTiny*/,
+
5557  8 /*inMonth*/,
+
5558  0 /*onDayOfWeek*/,
+
5559  20 /*onDayOfMonth*/,
+
5560  8 /*atTimeCode*/,
+
5561  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5562  (0 + 4) /*deltaCode*/,
+
5563  '-' /*letter*/,
+
5564  },
+
5565  // Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
+
5566  {
+
5567  46 /*fromYearTiny*/,
+
5568  46 /*toYearTiny*/,
+
5569  7 /*inMonth*/,
+
5570  0 /*onDayOfWeek*/,
+
5571  1 /*onDayOfMonth*/,
+
5572  12 /*atTimeCode*/,
+
5573  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5574  (-4 + 4) /*deltaCode*/,
+
5575  '-' /*letter*/,
+
5576  },
+
5577  // Rule Morocco 2046 only - Aug 12 2:00 0 -
+
5578  {
+
5579  46 /*fromYearTiny*/,
+
5580  46 /*toYearTiny*/,
+
5581  8 /*inMonth*/,
+
5582  0 /*onDayOfWeek*/,
+
5583  12 /*onDayOfMonth*/,
+
5584  8 /*atTimeCode*/,
+
5585  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5586  (0 + 4) /*deltaCode*/,
+
5587  '-' /*letter*/,
+
5588  },
+
5589  // Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
+
5590  {
+
5591  47 /*fromYearTiny*/,
+
5592  47 /*toYearTiny*/,
+
5593  6 /*inMonth*/,
+
5594  0 /*onDayOfWeek*/,
+
5595  23 /*onDayOfMonth*/,
+
5596  12 /*atTimeCode*/,
+
5597  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5598  (-4 + 4) /*deltaCode*/,
+
5599  '-' /*letter*/,
+
5600  },
+
5601  // Rule Morocco 2047 only - Jul 28 2:00 0 -
+
5602  {
+
5603  47 /*fromYearTiny*/,
+
5604  47 /*toYearTiny*/,
+
5605  7 /*inMonth*/,
+
5606  0 /*onDayOfWeek*/,
+
5607  28 /*onDayOfMonth*/,
+
5608  8 /*atTimeCode*/,
+
5609  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5610  (0 + 4) /*deltaCode*/,
+
5611  '-' /*letter*/,
+
5612  },
+
5613  // Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
+
5614  {
+
5615  48 /*fromYearTiny*/,
+
5616  48 /*toYearTiny*/,
+
5617  6 /*inMonth*/,
+
5618  0 /*onDayOfWeek*/,
+
5619  7 /*onDayOfMonth*/,
+
5620  12 /*atTimeCode*/,
+
5621  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5622  (-4 + 4) /*deltaCode*/,
+
5623  '-' /*letter*/,
+
5624  },
+
5625  // Rule Morocco 2048 only - Jul 19 2:00 0 -
+
5626  {
+
5627  48 /*fromYearTiny*/,
+
5628  48 /*toYearTiny*/,
+
5629  7 /*inMonth*/,
+
5630  0 /*onDayOfWeek*/,
+
5631  19 /*onDayOfMonth*/,
+
5632  8 /*atTimeCode*/,
+
5633  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5634  (0 + 4) /*deltaCode*/,
+
5635  '-' /*letter*/,
+
5636  },
+
5637  // Rule Morocco 2049 only - May 30 3:00 -1:00 -
+
5638  {
+
5639  49 /*fromYearTiny*/,
+
5640  49 /*toYearTiny*/,
+
5641  5 /*inMonth*/,
+
5642  0 /*onDayOfWeek*/,
+
5643  30 /*onDayOfMonth*/,
+
5644  12 /*atTimeCode*/,
+
5645  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5646  (-4 + 4) /*deltaCode*/,
+
5647  '-' /*letter*/,
+
5648  },
+
5649  // Rule Morocco 2049 only - Jul 4 2:00 0 -
+
5650  {
+
5651  49 /*fromYearTiny*/,
+
5652  49 /*toYearTiny*/,
+
5653  7 /*inMonth*/,
+
5654  0 /*onDayOfWeek*/,
+
5655  4 /*onDayOfMonth*/,
+
5656  8 /*atTimeCode*/,
+
5657  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5658  (0 + 4) /*deltaCode*/,
+
5659  '-' /*letter*/,
+
5660  },
+
5661  // Rule Morocco 2050 only - May 15 3:00 -1:00 -
+
5662  {
+
5663  50 /*fromYearTiny*/,
+
5664  50 /*toYearTiny*/,
+
5665  5 /*inMonth*/,
+
5666  0 /*onDayOfWeek*/,
+
5667  15 /*onDayOfMonth*/,
+
5668  12 /*atTimeCode*/,
+
5669  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5670  (-4 + 4) /*deltaCode*/,
+
5671  '-' /*letter*/,
+
5672  },
+
5673  // Rule Morocco 2050 only - Jun 26 2:00 0 -
+
5674  {
+
5675  50 /*fromYearTiny*/,
+
5676  50 /*toYearTiny*/,
+
5677  6 /*inMonth*/,
+
5678  0 /*onDayOfWeek*/,
+
5679  26 /*onDayOfMonth*/,
+
5680  8 /*atTimeCode*/,
+
5681  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5682  (0 + 4) /*deltaCode*/,
+
5683  '-' /*letter*/,
+
5684  },
+
5685  // Rule Morocco 2051 only - May 7 3:00 -1:00 -
+
5686  {
+
5687  51 /*fromYearTiny*/,
+
5688  51 /*toYearTiny*/,
+
5689  5 /*inMonth*/,
+
5690  0 /*onDayOfWeek*/,
+
5691  7 /*onDayOfMonth*/,
+
5692  12 /*atTimeCode*/,
+
5693  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5694  (-4 + 4) /*deltaCode*/,
+
5695  '-' /*letter*/,
+
5696  },
+
5697 
+
5698 };
+
5699 
+
5700 
+
5701 
+
5702 const extended::ZonePolicy kPolicyMorocco ACE_TIME_PROGMEM = {
+
5703  kZoneRulesMorocco /*rules*/,
+
5704  nullptr /* letters */,
+
5705  94 /*numRules*/,
+
5706  0 /* numLetters */,
+
5707 };
+
5708 
+
5709 //---------------------------------------------------------------------------
+
5710 // Policy name: NC
+
5711 // Rules: 1
+
5712 // Memory (8-bit): 15
+
5713 // Memory (32-bit): 24
+
5714 //---------------------------------------------------------------------------
+
5715 
+
5716 static const extended::ZoneRule kZoneRulesNC[] ACE_TIME_PROGMEM = {
+
5717  // Rule NC 1997 only - Mar 2 2:00s 0 -
+
5718  {
+
5719  -3 /*fromYearTiny*/,
+
5720  -3 /*toYearTiny*/,
+
5721  3 /*inMonth*/,
+
5722  0 /*onDayOfWeek*/,
+
5723  2 /*onDayOfMonth*/,
+
5724  8 /*atTimeCode*/,
+
5725  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
5726  (0 + 4) /*deltaCode*/,
+
5727  '-' /*letter*/,
+
5728  },
+
5729 
+
5730 };
+
5731 
+
5732 
+
5733 
+
5734 const extended::ZonePolicy kPolicyNC ACE_TIME_PROGMEM = {
+
5735  kZoneRulesNC /*rules*/,
+
5736  nullptr /* letters */,
+
5737  1 /*numRules*/,
+
5738  0 /* numLetters */,
+
5739 };
+
5740 
+
5741 //---------------------------------------------------------------------------
+
5742 // Policy name: NT_YK
+
5743 // Rules: 3
+
5744 // Memory (8-bit): 33
+
5745 // Memory (32-bit): 48
+
5746 //---------------------------------------------------------------------------
+
5747 
+
5748 static const extended::ZoneRule kZoneRulesNT_YK[] ACE_TIME_PROGMEM = {
+
5749  // Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
+
5750  {
+
5751  -20 /*fromYearTiny*/,
+
5752  -14 /*toYearTiny*/,
+
5753  4 /*inMonth*/,
+
5754  7 /*onDayOfWeek*/,
+
5755  0 /*onDayOfMonth*/,
+
5756  8 /*atTimeCode*/,
+
5757  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5758  (4 + 4) /*deltaCode*/,
+
5759  'D' /*letter*/,
+
5760  },
+
5761  // Rule NT_YK 1980 2006 - Oct lastSun 2:00 0 S
+
5762  {
+
5763  -20 /*fromYearTiny*/,
+
5764  6 /*toYearTiny*/,
+
5765  10 /*inMonth*/,
+
5766  7 /*onDayOfWeek*/,
+
5767  0 /*onDayOfMonth*/,
+
5768  8 /*atTimeCode*/,
+
5769  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5770  (0 + 4) /*deltaCode*/,
+
5771  'S' /*letter*/,
+
5772  },
+
5773  // Rule NT_YK 1987 2006 - Apr Sun>=1 2:00 1:00 D
+
5774  {
+
5775  -13 /*fromYearTiny*/,
+
5776  6 /*toYearTiny*/,
+
5777  4 /*inMonth*/,
+
5778  7 /*onDayOfWeek*/,
+
5779  1 /*onDayOfMonth*/,
+
5780  8 /*atTimeCode*/,
+
5781  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5782  (4 + 4) /*deltaCode*/,
+
5783  'D' /*letter*/,
+
5784  },
+
5785 
+
5786 };
+
5787 
+
5788 
+
5789 
+
5790 const extended::ZonePolicy kPolicyNT_YK ACE_TIME_PROGMEM = {
+
5791  kZoneRulesNT_YK /*rules*/,
+
5792  nullptr /* letters */,
+
5793  3 /*numRules*/,
+
5794  0 /* numLetters */,
+
5795 };
+
5796 
+
5797 //---------------------------------------------------------------------------
+
5798 // Policy name: NZ
+
5799 // Rules: 5
+
5800 // Memory (8-bit): 51
+
5801 // Memory (32-bit): 72
+
5802 //---------------------------------------------------------------------------
+
5803 
+
5804 static const extended::ZoneRule kZoneRulesNZ[] ACE_TIME_PROGMEM = {
+
5805  // Rule NZ 1989 only - Oct Sun>=8 2:00s 1:00 D
+
5806  {
+
5807  -11 /*fromYearTiny*/,
+
5808  -11 /*toYearTiny*/,
+
5809  10 /*inMonth*/,
+
5810  7 /*onDayOfWeek*/,
+
5811  8 /*onDayOfMonth*/,
+
5812  8 /*atTimeCode*/,
+
5813  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
5814  (4 + 4) /*deltaCode*/,
+
5815  'D' /*letter*/,
+
5816  },
+
5817  // Rule NZ 1990 2006 - Oct Sun>=1 2:00s 1:00 D
+
5818  {
+
5819  -10 /*fromYearTiny*/,
+
5820  6 /*toYearTiny*/,
+
5821  10 /*inMonth*/,
+
5822  7 /*onDayOfWeek*/,
+
5823  1 /*onDayOfMonth*/,
+
5824  8 /*atTimeCode*/,
+
5825  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
5826  (4 + 4) /*deltaCode*/,
+
5827  'D' /*letter*/,
+
5828  },
+
5829  // Rule NZ 1990 2007 - Mar Sun>=15 2:00s 0 S
+
5830  {
+
5831  -10 /*fromYearTiny*/,
+
5832  7 /*toYearTiny*/,
+
5833  3 /*inMonth*/,
+
5834  7 /*onDayOfWeek*/,
+
5835  15 /*onDayOfMonth*/,
+
5836  8 /*atTimeCode*/,
+
5837  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
5838  (0 + 4) /*deltaCode*/,
+
5839  'S' /*letter*/,
+
5840  },
+
5841  // Rule NZ 2007 max - Sep lastSun 2:00s 1:00 D
+
5842  {
+
5843  7 /*fromYearTiny*/,
+
5844  126 /*toYearTiny*/,
+
5845  9 /*inMonth*/,
+
5846  7 /*onDayOfWeek*/,
+
5847  0 /*onDayOfMonth*/,
+
5848  8 /*atTimeCode*/,
+
5849  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
5850  (4 + 4) /*deltaCode*/,
+
5851  'D' /*letter*/,
+
5852  },
+
5853  // Rule NZ 2008 max - Apr Sun>=1 2:00s 0 S
+
5854  {
+
5855  8 /*fromYearTiny*/,
+
5856  126 /*toYearTiny*/,
+
5857  4 /*inMonth*/,
+
5858  7 /*onDayOfWeek*/,
+
5859  1 /*onDayOfMonth*/,
+
5860  8 /*atTimeCode*/,
+
5861  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
5862  (0 + 4) /*deltaCode*/,
+
5863  'S' /*letter*/,
+
5864  },
+
5865 
+
5866 };
+
5867 
+
5868 
+
5869 
+
5870 const extended::ZonePolicy kPolicyNZ ACE_TIME_PROGMEM = {
+
5871  kZoneRulesNZ /*rules*/,
+
5872  nullptr /* letters */,
+
5873  5 /*numRules*/,
+
5874  0 /* numLetters */,
+
5875 };
+
5876 
+
5877 //---------------------------------------------------------------------------
+
5878 // Policy name: Namibia
+
5879 // Rules: 3
+
5880 // Memory (8-bit): 45
+
5881 // Memory (32-bit): 64
+
5882 //---------------------------------------------------------------------------
+
5883 
+
5884 static const extended::ZoneRule kZoneRulesNamibia[] ACE_TIME_PROGMEM = {
+
5885  // Rule Namibia 1994 only - Mar 21 0:00 -1:00 WAT
+
5886  {
+
5887  -6 /*fromYearTiny*/,
+
5888  -6 /*toYearTiny*/,
+
5889  3 /*inMonth*/,
+
5890  0 /*onDayOfWeek*/,
+
5891  21 /*onDayOfMonth*/,
+
5892  0 /*atTimeCode*/,
+
5893  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5894  (-4 + 4) /*deltaCode*/,
+
5895  1 /*letter; "WAT"*/,
+
5896  },
+
5897  // Rule Namibia 1994 2017 - Sep Sun>=1 2:00 0 CAT
+
5898  {
+
5899  -6 /*fromYearTiny*/,
+
5900  17 /*toYearTiny*/,
+
5901  9 /*inMonth*/,
+
5902  7 /*onDayOfWeek*/,
+
5903  1 /*onDayOfMonth*/,
+
5904  8 /*atTimeCode*/,
+
5905  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5906  (0 + 4) /*deltaCode*/,
+
5907  0 /*letter; "CAT"*/,
+
5908  },
+
5909  // Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
+
5910  {
+
5911  -5 /*fromYearTiny*/,
+
5912  17 /*toYearTiny*/,
+
5913  4 /*inMonth*/,
+
5914  7 /*onDayOfWeek*/,
+
5915  1 /*onDayOfMonth*/,
+
5916  8 /*atTimeCode*/,
+
5917  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5918  (-4 + 4) /*deltaCode*/,
+
5919  1 /*letter; "WAT"*/,
+
5920  },
+
5921 
+
5922 };
+
5923 
+
5924 static const char* const kLettersNamibia[] ACE_TIME_PROGMEM = {
+
5925  /*0*/ "CAT",
+
5926  /*1*/ "WAT",
+
5927 
+
5928 };
+
5929 
+
5930 
+
5931 const extended::ZonePolicy kPolicyNamibia ACE_TIME_PROGMEM = {
+
5932  kZoneRulesNamibia /*rules*/,
+
5933  kLettersNamibia /* letters */,
+
5934  3 /*numRules*/,
+
5935  2 /* numLetters */,
+
5936 };
+
5937 
+
5938 //---------------------------------------------------------------------------
+
5939 // Policy name: Nic
+
5940 // Rules: 5
+
5941 // Memory (8-bit): 51
+
5942 // Memory (32-bit): 72
+
5943 //---------------------------------------------------------------------------
+
5944 
+
5945 static const extended::ZoneRule kZoneRulesNic[] ACE_TIME_PROGMEM = {
+
5946  // Rule Nic 1979 1980 - Jun Mon>=23 0:00 0 S
+
5947  {
+
5948  -21 /*fromYearTiny*/,
+
5949  -20 /*toYearTiny*/,
+
5950  6 /*inMonth*/,
+
5951  1 /*onDayOfWeek*/,
+
5952  23 /*onDayOfMonth*/,
+
5953  0 /*atTimeCode*/,
+
5954  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5955  (0 + 4) /*deltaCode*/,
+
5956  'S' /*letter*/,
+
5957  },
+
5958  // Rule Nic 2005 only - Apr 10 0:00 1:00 D
+
5959  {
+
5960  5 /*fromYearTiny*/,
+
5961  5 /*toYearTiny*/,
+
5962  4 /*inMonth*/,
+
5963  0 /*onDayOfWeek*/,
+
5964  10 /*onDayOfMonth*/,
+
5965  0 /*atTimeCode*/,
+
5966  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5967  (4 + 4) /*deltaCode*/,
+
5968  'D' /*letter*/,
+
5969  },
+
5970  // Rule Nic 2005 only - Oct Sun>=1 0:00 0 S
+
5971  {
+
5972  5 /*fromYearTiny*/,
+
5973  5 /*toYearTiny*/,
+
5974  10 /*inMonth*/,
+
5975  7 /*onDayOfWeek*/,
+
5976  1 /*onDayOfMonth*/,
+
5977  0 /*atTimeCode*/,
+
5978  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5979  (0 + 4) /*deltaCode*/,
+
5980  'S' /*letter*/,
+
5981  },
+
5982  // Rule Nic 2006 only - Apr 30 2:00 1:00 D
+
5983  {
+
5984  6 /*fromYearTiny*/,
+
5985  6 /*toYearTiny*/,
+
5986  4 /*inMonth*/,
+
5987  0 /*onDayOfWeek*/,
+
5988  30 /*onDayOfMonth*/,
+
5989  8 /*atTimeCode*/,
+
5990  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
5991  (4 + 4) /*deltaCode*/,
+
5992  'D' /*letter*/,
+
5993  },
+
5994  // Rule Nic 2006 only - Oct Sun>=1 1:00 0 S
+
5995  {
+
5996  6 /*fromYearTiny*/,
+
5997  6 /*toYearTiny*/,
+
5998  10 /*inMonth*/,
+
5999  7 /*onDayOfWeek*/,
+
6000  1 /*onDayOfMonth*/,
+
6001  4 /*atTimeCode*/,
+
6002  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6003  (0 + 4) /*deltaCode*/,
+
6004  'S' /*letter*/,
+
6005  },
+
6006 
+
6007 };
+
6008 
+
6009 
+
6010 
+
6011 const extended::ZonePolicy kPolicyNic ACE_TIME_PROGMEM = {
+
6012  kZoneRulesNic /*rules*/,
+
6013  nullptr /* letters */,
+
6014  5 /*numRules*/,
+
6015  0 /* numLetters */,
+
6016 };
+
6017 
+
6018 //---------------------------------------------------------------------------
+
6019 // Policy name: PRC
+
6020 // Rules: 1
+
6021 // Memory (8-bit): 15
+
6022 // Memory (32-bit): 24
+
6023 //---------------------------------------------------------------------------
+
6024 
+
6025 static const extended::ZoneRule kZoneRulesPRC[] ACE_TIME_PROGMEM = {
+
6026  // Rule PRC 1986 1991 - Sep Sun>=11 2:00 0 S
+
6027  {
+
6028  -14 /*fromYearTiny*/,
+
6029  -9 /*toYearTiny*/,
+
6030  9 /*inMonth*/,
+
6031  7 /*onDayOfWeek*/,
+
6032  11 /*onDayOfMonth*/,
+
6033  8 /*atTimeCode*/,
+
6034  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6035  (0 + 4) /*deltaCode*/,
+
6036  'S' /*letter*/,
+
6037  },
+
6038 
+
6039 };
+
6040 
+
6041 
+
6042 
+
6043 const extended::ZonePolicy kPolicyPRC ACE_TIME_PROGMEM = {
+
6044  kZoneRulesPRC /*rules*/,
+
6045  nullptr /* letters */,
+
6046  1 /*numRules*/,
+
6047  0 /* numLetters */,
+
6048 };
+
6049 
+
6050 //---------------------------------------------------------------------------
+
6051 // Policy name: Pakistan
+
6052 // Rules: 6
+
6053 // Memory (8-bit): 60
+
6054 // Memory (32-bit): 84
+
6055 //---------------------------------------------------------------------------
+
6056 
+
6057 static const extended::ZoneRule kZoneRulesPakistan[] ACE_TIME_PROGMEM = {
+
6058  // Anchor: Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
+
6059  {
+
6060  -127 /*fromYearTiny*/,
+
6061  -127 /*toYearTiny*/,
+
6062  1 /*inMonth*/,
+
6063  0 /*onDayOfWeek*/,
+
6064  1 /*onDayOfMonth*/,
+
6065  0 /*atTimeCode*/,
+
6066  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6067  (0 + 4) /*deltaCode*/,
+
6068  '-' /*letter*/,
+
6069  },
+
6070  // Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
+
6071  {
+
6072  2 /*fromYearTiny*/,
+
6073  2 /*toYearTiny*/,
+
6074  4 /*inMonth*/,
+
6075  7 /*onDayOfWeek*/,
+
6076  2 /*onDayOfMonth*/,
+
6077  0 /*atTimeCode*/,
+
6078  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6079  (4 + 4) /*deltaCode*/,
+
6080  'S' /*letter*/,
+
6081  },
+
6082  // Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
+
6083  {
+
6084  2 /*fromYearTiny*/,
+
6085  2 /*toYearTiny*/,
+
6086  10 /*inMonth*/,
+
6087  7 /*onDayOfWeek*/,
+
6088  2 /*onDayOfMonth*/,
+
6089  0 /*atTimeCode*/,
+
6090  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6091  (0 + 4) /*deltaCode*/,
+
6092  '-' /*letter*/,
+
6093  },
+
6094  // Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
+
6095  {
+
6096  8 /*fromYearTiny*/,
+
6097  8 /*toYearTiny*/,
+
6098  6 /*inMonth*/,
+
6099  0 /*onDayOfWeek*/,
+
6100  1 /*onDayOfMonth*/,
+
6101  0 /*atTimeCode*/,
+
6102  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6103  (4 + 4) /*deltaCode*/,
+
6104  'S' /*letter*/,
+
6105  },
+
6106  // Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
+
6107  {
+
6108  8 /*fromYearTiny*/,
+
6109  9 /*toYearTiny*/,
+
6110  11 /*inMonth*/,
+
6111  0 /*onDayOfWeek*/,
+
6112  1 /*onDayOfMonth*/,
+
6113  0 /*atTimeCode*/,
+
6114  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6115  (0 + 4) /*deltaCode*/,
+
6116  '-' /*letter*/,
+
6117  },
+
6118  // Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
+
6119  {
+
6120  9 /*fromYearTiny*/,
+
6121  9 /*toYearTiny*/,
+
6122  4 /*inMonth*/,
+
6123  0 /*onDayOfWeek*/,
+
6124  15 /*onDayOfMonth*/,
+
6125  0 /*atTimeCode*/,
+
6126  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6127  (4 + 4) /*deltaCode*/,
+
6128  'S' /*letter*/,
+
6129  },
+
6130 
+
6131 };
+
6132 
+
6133 
+
6134 
+
6135 const extended::ZonePolicy kPolicyPakistan ACE_TIME_PROGMEM = {
+
6136  kZoneRulesPakistan /*rules*/,
+
6137  nullptr /* letters */,
+
6138  6 /*numRules*/,
+
6139  0 /* numLetters */,
+
6140 };
+
6141 
+
6142 //---------------------------------------------------------------------------
+
6143 // Policy name: Palestine
+
6144 // Rules: 25
+
6145 // Memory (8-bit): 231
+
6146 // Memory (32-bit): 312
+
6147 //---------------------------------------------------------------------------
+
6148 
+
6149 static const extended::ZoneRule kZoneRulesPalestine[] ACE_TIME_PROGMEM = {
+
6150  // Anchor: Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 -
+
6151  {
+
6152  -127 /*fromYearTiny*/,
+
6153  -127 /*toYearTiny*/,
+
6154  1 /*inMonth*/,
+
6155  0 /*onDayOfWeek*/,
+
6156  1 /*onDayOfMonth*/,
+
6157  0 /*atTimeCode*/,
+
6158  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6159  (0 + 4) /*deltaCode*/,
+
6160  '-' /*letter*/,
+
6161  },
+
6162  // Rule Palestine 1999 2005 - Apr Fri>=15 0:00 1:00 S
+
6163  {
+
6164  -1 /*fromYearTiny*/,
+
6165  5 /*toYearTiny*/,
+
6166  4 /*inMonth*/,
+
6167  5 /*onDayOfWeek*/,
+
6168  15 /*onDayOfMonth*/,
+
6169  0 /*atTimeCode*/,
+
6170  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6171  (4 + 4) /*deltaCode*/,
+
6172  'S' /*letter*/,
+
6173  },
+
6174  // Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 -
+
6175  {
+
6176  -1 /*fromYearTiny*/,
+
6177  3 /*toYearTiny*/,
+
6178  10 /*inMonth*/,
+
6179  5 /*onDayOfWeek*/,
+
6180  15 /*onDayOfMonth*/,
+
6181  0 /*atTimeCode*/,
+
6182  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6183  (0 + 4) /*deltaCode*/,
+
6184  '-' /*letter*/,
+
6185  },
+
6186  // Rule Palestine 2004 only - Oct 1 1:00 0 -
+
6187  {
+
6188  4 /*fromYearTiny*/,
+
6189  4 /*toYearTiny*/,
+
6190  10 /*inMonth*/,
+
6191  0 /*onDayOfWeek*/,
+
6192  1 /*onDayOfMonth*/,
+
6193  4 /*atTimeCode*/,
+
6194  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6195  (0 + 4) /*deltaCode*/,
+
6196  '-' /*letter*/,
+
6197  },
+
6198  // Rule Palestine 2005 only - Oct 4 2:00 0 -
+
6199  {
+
6200  5 /*fromYearTiny*/,
+
6201  5 /*toYearTiny*/,
+
6202  10 /*inMonth*/,
+
6203  0 /*onDayOfWeek*/,
+
6204  4 /*onDayOfMonth*/,
+
6205  8 /*atTimeCode*/,
+
6206  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6207  (0 + 4) /*deltaCode*/,
+
6208  '-' /*letter*/,
+
6209  },
+
6210  // Rule Palestine 2006 2007 - Apr 1 0:00 1:00 S
+
6211  {
+
6212  6 /*fromYearTiny*/,
+
6213  7 /*toYearTiny*/,
+
6214  4 /*inMonth*/,
+
6215  0 /*onDayOfWeek*/,
+
6216  1 /*onDayOfMonth*/,
+
6217  0 /*atTimeCode*/,
+
6218  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6219  (4 + 4) /*deltaCode*/,
+
6220  'S' /*letter*/,
+
6221  },
+
6222  // Rule Palestine 2006 only - Sep 22 0:00 0 -
+
6223  {
+
6224  6 /*fromYearTiny*/,
+
6225  6 /*toYearTiny*/,
+
6226  9 /*inMonth*/,
+
6227  0 /*onDayOfWeek*/,
+
6228  22 /*onDayOfMonth*/,
+
6229  0 /*atTimeCode*/,
+
6230  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6231  (0 + 4) /*deltaCode*/,
+
6232  '-' /*letter*/,
+
6233  },
+
6234  // Rule Palestine 2007 only - Sep Thu>=8 2:00 0 -
+
6235  {
+
6236  7 /*fromYearTiny*/,
+
6237  7 /*toYearTiny*/,
+
6238  9 /*inMonth*/,
+
6239  4 /*onDayOfWeek*/,
+
6240  8 /*onDayOfMonth*/,
+
6241  8 /*atTimeCode*/,
+
6242  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6243  (0 + 4) /*deltaCode*/,
+
6244  '-' /*letter*/,
+
6245  },
+
6246  // Rule Palestine 2008 2009 - Mar lastFri 0:00 1:00 S
+
6247  {
+
6248  8 /*fromYearTiny*/,
+
6249  9 /*toYearTiny*/,
+
6250  3 /*inMonth*/,
+
6251  5 /*onDayOfWeek*/,
+
6252  0 /*onDayOfMonth*/,
+
6253  0 /*atTimeCode*/,
+
6254  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6255  (4 + 4) /*deltaCode*/,
+
6256  'S' /*letter*/,
+
6257  },
+
6258  // Rule Palestine 2008 only - Sep 1 0:00 0 -
+
6259  {
+
6260  8 /*fromYearTiny*/,
+
6261  8 /*toYearTiny*/,
+
6262  9 /*inMonth*/,
+
6263  0 /*onDayOfWeek*/,
+
6264  1 /*onDayOfMonth*/,
+
6265  0 /*atTimeCode*/,
+
6266  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6267  (0 + 4) /*deltaCode*/,
+
6268  '-' /*letter*/,
+
6269  },
+
6270  // Rule Palestine 2009 only - Sep Fri>=1 1:00 0 -
+
6271  {
+
6272  9 /*fromYearTiny*/,
+
6273  9 /*toYearTiny*/,
+
6274  9 /*inMonth*/,
+
6275  5 /*onDayOfWeek*/,
+
6276  1 /*onDayOfMonth*/,
+
6277  4 /*atTimeCode*/,
+
6278  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6279  (0 + 4) /*deltaCode*/,
+
6280  '-' /*letter*/,
+
6281  },
+
6282  // Rule Palestine 2010 only - Mar 26 0:00 1:00 S
+
6283  {
+
6284  10 /*fromYearTiny*/,
+
6285  10 /*toYearTiny*/,
+
6286  3 /*inMonth*/,
+
6287  0 /*onDayOfWeek*/,
+
6288  26 /*onDayOfMonth*/,
+
6289  0 /*atTimeCode*/,
+
6290  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6291  (4 + 4) /*deltaCode*/,
+
6292  'S' /*letter*/,
+
6293  },
+
6294  // Rule Palestine 2010 only - Aug 11 0:00 0 -
+
6295  {
+
6296  10 /*fromYearTiny*/,
+
6297  10 /*toYearTiny*/,
+
6298  8 /*inMonth*/,
+
6299  0 /*onDayOfWeek*/,
+
6300  11 /*onDayOfMonth*/,
+
6301  0 /*atTimeCode*/,
+
6302  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6303  (0 + 4) /*deltaCode*/,
+
6304  '-' /*letter*/,
+
6305  },
+
6306  // Rule Palestine 2011 only - Apr 1 0:01 1:00 S
+
6307  {
+
6308  11 /*fromYearTiny*/,
+
6309  11 /*toYearTiny*/,
+
6310  4 /*inMonth*/,
+
6311  0 /*onDayOfWeek*/,
+
6312  1 /*onDayOfMonth*/,
+
6313  0 /*atTimeCode*/,
+
6314  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
6315  (4 + 4) /*deltaCode*/,
+
6316  'S' /*letter*/,
+
6317  },
+
6318  // Rule Palestine 2011 only - Aug 1 0:00 0 -
+
6319  {
+
6320  11 /*fromYearTiny*/,
+
6321  11 /*toYearTiny*/,
+
6322  8 /*inMonth*/,
+
6323  0 /*onDayOfWeek*/,
+
6324  1 /*onDayOfMonth*/,
+
6325  0 /*atTimeCode*/,
+
6326  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6327  (0 + 4) /*deltaCode*/,
+
6328  '-' /*letter*/,
+
6329  },
+
6330  // Rule Palestine 2011 only - Aug 30 0:00 1:00 S
+
6331  {
+
6332  11 /*fromYearTiny*/,
+
6333  11 /*toYearTiny*/,
+
6334  8 /*inMonth*/,
+
6335  0 /*onDayOfWeek*/,
+
6336  30 /*onDayOfMonth*/,
+
6337  0 /*atTimeCode*/,
+
6338  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6339  (4 + 4) /*deltaCode*/,
+
6340  'S' /*letter*/,
+
6341  },
+
6342  // Rule Palestine 2011 only - Sep 30 0:00 0 -
+
6343  {
+
6344  11 /*fromYearTiny*/,
+
6345  11 /*toYearTiny*/,
+
6346  9 /*inMonth*/,
+
6347  0 /*onDayOfWeek*/,
+
6348  30 /*onDayOfMonth*/,
+
6349  0 /*atTimeCode*/,
+
6350  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6351  (0 + 4) /*deltaCode*/,
+
6352  '-' /*letter*/,
+
6353  },
+
6354  // Rule Palestine 2012 2014 - Mar lastThu 24:00 1:00 S
+
6355  {
+
6356  12 /*fromYearTiny*/,
+
6357  14 /*toYearTiny*/,
+
6358  3 /*inMonth*/,
+
6359  4 /*onDayOfWeek*/,
+
6360  0 /*onDayOfMonth*/,
+
6361  96 /*atTimeCode*/,
+
6362  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6363  (4 + 4) /*deltaCode*/,
+
6364  'S' /*letter*/,
+
6365  },
+
6366  // Rule Palestine 2012 only - Sep 21 1:00 0 -
+
6367  {
+
6368  12 /*fromYearTiny*/,
+
6369  12 /*toYearTiny*/,
+
6370  9 /*inMonth*/,
+
6371  0 /*onDayOfWeek*/,
+
6372  21 /*onDayOfMonth*/,
+
6373  4 /*atTimeCode*/,
+
6374  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6375  (0 + 4) /*deltaCode*/,
+
6376  '-' /*letter*/,
+
6377  },
+
6378  // Rule Palestine 2013 only - Sep Fri>=21 0:00 0 -
+
6379  {
+
6380  13 /*fromYearTiny*/,
+
6381  13 /*toYearTiny*/,
+
6382  9 /*inMonth*/,
+
6383  5 /*onDayOfWeek*/,
+
6384  21 /*onDayOfMonth*/,
+
6385  0 /*atTimeCode*/,
+
6386  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6387  (0 + 4) /*deltaCode*/,
+
6388  '-' /*letter*/,
+
6389  },
+
6390  // Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 -
+
6391  {
+
6392  14 /*fromYearTiny*/,
+
6393  15 /*toYearTiny*/,
+
6394  10 /*inMonth*/,
+
6395  5 /*onDayOfWeek*/,
+
6396  21 /*onDayOfMonth*/,
+
6397  0 /*atTimeCode*/,
+
6398  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6399  (0 + 4) /*deltaCode*/,
+
6400  '-' /*letter*/,
+
6401  },
+
6402  // Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S
+
6403  {
+
6404  15 /*fromYearTiny*/,
+
6405  15 /*toYearTiny*/,
+
6406  3 /*inMonth*/,
+
6407  5 /*onDayOfWeek*/,
+
6408  0 /*onDayOfMonth*/,
+
6409  96 /*atTimeCode*/,
+
6410  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6411  (4 + 4) /*deltaCode*/,
+
6412  'S' /*letter*/,
+
6413  },
+
6414  // Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
+
6415  {
+
6416  16 /*fromYearTiny*/,
+
6417  18 /*toYearTiny*/,
+
6418  3 /*inMonth*/,
+
6419  6 /*onDayOfWeek*/,
+
6420  24 /*onDayOfMonth*/,
+
6421  4 /*atTimeCode*/,
+
6422  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6423  (4 + 4) /*deltaCode*/,
+
6424  'S' /*letter*/,
+
6425  },
+
6426  // Rule Palestine 2016 max - Oct lastSat 1:00 0 -
+
6427  {
+
6428  16 /*fromYearTiny*/,
+
6429  126 /*toYearTiny*/,
+
6430  10 /*inMonth*/,
+
6431  6 /*onDayOfWeek*/,
+
6432  0 /*onDayOfMonth*/,
+
6433  4 /*atTimeCode*/,
+
6434  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6435  (0 + 4) /*deltaCode*/,
+
6436  '-' /*letter*/,
+
6437  },
+
6438  // Rule Palestine 2019 max - Mar lastFri 0:00 1:00 S
+
6439  {
+
6440  19 /*fromYearTiny*/,
+
6441  126 /*toYearTiny*/,
+
6442  3 /*inMonth*/,
+
6443  5 /*onDayOfWeek*/,
+
6444  0 /*onDayOfMonth*/,
+
6445  0 /*atTimeCode*/,
+
6446  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6447  (4 + 4) /*deltaCode*/,
+
6448  'S' /*letter*/,
+
6449  },
+
6450 
+
6451 };
+
6452 
+
6453 
+
6454 
+
6455 const extended::ZonePolicy kPolicyPalestine ACE_TIME_PROGMEM = {
+
6456  kZoneRulesPalestine /*rules*/,
+
6457  nullptr /* letters */,
+
6458  25 /*numRules*/,
+
6459  0 /* numLetters */,
+
6460 };
+
6461 
+
6462 //---------------------------------------------------------------------------
+
6463 // Policy name: Para
+
6464 // Rules: 10
+
6465 // Memory (8-bit): 96
+
6466 // Memory (32-bit): 132
+
6467 //---------------------------------------------------------------------------
+
6468 
+
6469 static const extended::ZoneRule kZoneRulesPara[] ACE_TIME_PROGMEM = {
+
6470  // Rule Para 1996 2001 - Oct Sun>=1 0:00 1:00 -
+
6471  {
+
6472  -4 /*fromYearTiny*/,
+
6473  1 /*toYearTiny*/,
+
6474  10 /*inMonth*/,
+
6475  7 /*onDayOfWeek*/,
+
6476  1 /*onDayOfMonth*/,
+
6477  0 /*atTimeCode*/,
+
6478  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6479  (4 + 4) /*deltaCode*/,
+
6480  '-' /*letter*/,
+
6481  },
+
6482  // Rule Para 1997 only - Feb lastSun 0:00 0 -
+
6483  {
+
6484  -3 /*fromYearTiny*/,
+
6485  -3 /*toYearTiny*/,
+
6486  2 /*inMonth*/,
+
6487  7 /*onDayOfWeek*/,
+
6488  0 /*onDayOfMonth*/,
+
6489  0 /*atTimeCode*/,
+
6490  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6491  (0 + 4) /*deltaCode*/,
+
6492  '-' /*letter*/,
+
6493  },
+
6494  // Rule Para 1998 2001 - Mar Sun>=1 0:00 0 -
+
6495  {
+
6496  -2 /*fromYearTiny*/,
+
6497  1 /*toYearTiny*/,
+
6498  3 /*inMonth*/,
+
6499  7 /*onDayOfWeek*/,
+
6500  1 /*onDayOfMonth*/,
+
6501  0 /*atTimeCode*/,
+
6502  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6503  (0 + 4) /*deltaCode*/,
+
6504  '-' /*letter*/,
+
6505  },
+
6506  // Rule Para 2002 2004 - Apr Sun>=1 0:00 0 -
+
6507  {
+
6508  2 /*fromYearTiny*/,
+
6509  4 /*toYearTiny*/,
+
6510  4 /*inMonth*/,
+
6511  7 /*onDayOfWeek*/,
+
6512  1 /*onDayOfMonth*/,
+
6513  0 /*atTimeCode*/,
+
6514  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6515  (0 + 4) /*deltaCode*/,
+
6516  '-' /*letter*/,
+
6517  },
+
6518  // Rule Para 2002 2003 - Sep Sun>=1 0:00 1:00 -
+
6519  {
+
6520  2 /*fromYearTiny*/,
+
6521  3 /*toYearTiny*/,
+
6522  9 /*inMonth*/,
+
6523  7 /*onDayOfWeek*/,
+
6524  1 /*onDayOfMonth*/,
+
6525  0 /*atTimeCode*/,
+
6526  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6527  (4 + 4) /*deltaCode*/,
+
6528  '-' /*letter*/,
+
6529  },
+
6530  // Rule Para 2004 2009 - Oct Sun>=15 0:00 1:00 -
+
6531  {
+
6532  4 /*fromYearTiny*/,
+
6533  9 /*toYearTiny*/,
+
6534  10 /*inMonth*/,
+
6535  7 /*onDayOfWeek*/,
+
6536  15 /*onDayOfMonth*/,
+
6537  0 /*atTimeCode*/,
+
6538  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6539  (4 + 4) /*deltaCode*/,
+
6540  '-' /*letter*/,
+
6541  },
+
6542  // Rule Para 2005 2009 - Mar Sun>=8 0:00 0 -
+
6543  {
+
6544  5 /*fromYearTiny*/,
+
6545  9 /*toYearTiny*/,
+
6546  3 /*inMonth*/,
+
6547  7 /*onDayOfWeek*/,
+
6548  8 /*onDayOfMonth*/,
+
6549  0 /*atTimeCode*/,
+
6550  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6551  (0 + 4) /*deltaCode*/,
+
6552  '-' /*letter*/,
+
6553  },
+
6554  // Rule Para 2010 max - Oct Sun>=1 0:00 1:00 -
+
6555  {
+
6556  10 /*fromYearTiny*/,
+
6557  126 /*toYearTiny*/,
+
6558  10 /*inMonth*/,
+
6559  7 /*onDayOfWeek*/,
+
6560  1 /*onDayOfMonth*/,
+
6561  0 /*atTimeCode*/,
+
6562  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6563  (4 + 4) /*deltaCode*/,
+
6564  '-' /*letter*/,
+
6565  },
+
6566  // Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
+
6567  {
+
6568  10 /*fromYearTiny*/,
+
6569  12 /*toYearTiny*/,
+
6570  4 /*inMonth*/,
+
6571  7 /*onDayOfWeek*/,
+
6572  8 /*onDayOfMonth*/,
+
6573  0 /*atTimeCode*/,
+
6574  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6575  (0 + 4) /*deltaCode*/,
+
6576  '-' /*letter*/,
+
6577  },
+
6578  // Rule Para 2013 max - Mar Sun>=22 0:00 0 -
+
6579  {
+
6580  13 /*fromYearTiny*/,
+
6581  126 /*toYearTiny*/,
+
6582  3 /*inMonth*/,
+
6583  7 /*onDayOfWeek*/,
+
6584  22 /*onDayOfMonth*/,
+
6585  0 /*atTimeCode*/,
+
6586  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6587  (0 + 4) /*deltaCode*/,
+
6588  '-' /*letter*/,
+
6589  },
+
6590 
+
6591 };
+
6592 
+
6593 
+
6594 
+
6595 const extended::ZonePolicy kPolicyPara ACE_TIME_PROGMEM = {
+
6596  kZoneRulesPara /*rules*/,
+
6597  nullptr /* letters */,
+
6598  10 /*numRules*/,
+
6599  0 /* numLetters */,
+
6600 };
+
6601 
+
6602 //---------------------------------------------------------------------------
+
6603 // Policy name: Peru
+
6604 // Rules: 1
+
6605 // Memory (8-bit): 15
+
6606 // Memory (32-bit): 24
+
6607 //---------------------------------------------------------------------------
+
6608 
+
6609 static const extended::ZoneRule kZoneRulesPeru[] ACE_TIME_PROGMEM = {
+
6610  // Rule Peru 1994 only - Apr 1 0:00 0 -
+
6611  {
+
6612  -6 /*fromYearTiny*/,
+
6613  -6 /*toYearTiny*/,
+
6614  4 /*inMonth*/,
+
6615  0 /*onDayOfWeek*/,
+
6616  1 /*onDayOfMonth*/,
+
6617  0 /*atTimeCode*/,
+
6618  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6619  (0 + 4) /*deltaCode*/,
+
6620  '-' /*letter*/,
+
6621  },
+
6622 
+
6623 };
+
6624 
+
6625 
+
6626 
+
6627 const extended::ZonePolicy kPolicyPeru ACE_TIME_PROGMEM = {
+
6628  kZoneRulesPeru /*rules*/,
+
6629  nullptr /* letters */,
+
6630  1 /*numRules*/,
+
6631  0 /* numLetters */,
+
6632 };
+
6633 
+
6634 //---------------------------------------------------------------------------
+
6635 // Policy name: Phil
+
6636 // Rules: 1
+
6637 // Memory (8-bit): 15
+
6638 // Memory (32-bit): 24
+
6639 //---------------------------------------------------------------------------
+
6640 
+
6641 static const extended::ZoneRule kZoneRulesPhil[] ACE_TIME_PROGMEM = {
+
6642  // Rule Phil 1978 only - Sep 21 0:00 0 S
+
6643  {
+
6644  -22 /*fromYearTiny*/,
+
6645  -22 /*toYearTiny*/,
+
6646  9 /*inMonth*/,
+
6647  0 /*onDayOfWeek*/,
+
6648  21 /*onDayOfMonth*/,
+
6649  0 /*atTimeCode*/,
+
6650  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6651  (0 + 4) /*deltaCode*/,
+
6652  'S' /*letter*/,
+
6653  },
+
6654 
+
6655 };
+
6656 
+
6657 
+
6658 
+
6659 const extended::ZonePolicy kPolicyPhil ACE_TIME_PROGMEM = {
+
6660  kZoneRulesPhil /*rules*/,
+
6661  nullptr /* letters */,
+
6662  1 /*numRules*/,
+
6663  0 /* numLetters */,
+
6664 };
+
6665 
+
6666 //---------------------------------------------------------------------------
+
6667 // Policy name: ROK
+
6668 // Rules: 1
+
6669 // Memory (8-bit): 15
+
6670 // Memory (32-bit): 24
+
6671 //---------------------------------------------------------------------------
+
6672 
+
6673 static const extended::ZoneRule kZoneRulesROK[] ACE_TIME_PROGMEM = {
+
6674  // Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
+
6675  {
+
6676  -13 /*fromYearTiny*/,
+
6677  -12 /*toYearTiny*/,
+
6678  10 /*inMonth*/,
+
6679  7 /*onDayOfWeek*/,
+
6680  8 /*onDayOfMonth*/,
+
6681  12 /*atTimeCode*/,
+
6682  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6683  (0 + 4) /*deltaCode*/,
+
6684  'S' /*letter*/,
+
6685  },
+
6686 
+
6687 };
+
6688 
+
6689 
+
6690 
+
6691 const extended::ZonePolicy kPolicyROK ACE_TIME_PROGMEM = {
+
6692  kZoneRulesROK /*rules*/,
+
6693  nullptr /* letters */,
+
6694  1 /*numRules*/,
+
6695  0 /* numLetters */,
+
6696 };
+
6697 
+
6698 //---------------------------------------------------------------------------
+
6699 // Policy name: Russia
+
6700 // Rules: 3
+
6701 // Memory (8-bit): 33
+
6702 // Memory (32-bit): 48
+
6703 //---------------------------------------------------------------------------
+
6704 
+
6705 static const extended::ZoneRule kZoneRulesRussia[] ACE_TIME_PROGMEM = {
+
6706  // Rule Russia 1984 1995 - Sep lastSun 2:00s 0 -
+
6707  {
+
6708  -16 /*fromYearTiny*/,
+
6709  -5 /*toYearTiny*/,
+
6710  9 /*inMonth*/,
+
6711  7 /*onDayOfWeek*/,
+
6712  0 /*onDayOfMonth*/,
+
6713  8 /*atTimeCode*/,
+
6714  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
6715  (0 + 4) /*deltaCode*/,
+
6716  '-' /*letter*/,
+
6717  },
+
6718  // Rule Russia 1985 2010 - Mar lastSun 2:00s 1:00 S
+
6719  {
+
6720  -15 /*fromYearTiny*/,
+
6721  10 /*toYearTiny*/,
+
6722  3 /*inMonth*/,
+
6723  7 /*onDayOfWeek*/,
+
6724  0 /*onDayOfMonth*/,
+
6725  8 /*atTimeCode*/,
+
6726  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
6727  (4 + 4) /*deltaCode*/,
+
6728  'S' /*letter*/,
+
6729  },
+
6730  // Rule Russia 1996 2010 - Oct lastSun 2:00s 0 -
+
6731  {
+
6732  -4 /*fromYearTiny*/,
+
6733  10 /*toYearTiny*/,
+
6734  10 /*inMonth*/,
+
6735  7 /*onDayOfWeek*/,
+
6736  0 /*onDayOfMonth*/,
+
6737  8 /*atTimeCode*/,
+
6738  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
6739  (0 + 4) /*deltaCode*/,
+
6740  '-' /*letter*/,
+
6741  },
+
6742 
+
6743 };
+
6744 
+
6745 
+
6746 
+
6747 const extended::ZonePolicy kPolicyRussia ACE_TIME_PROGMEM = {
+
6748  kZoneRulesRussia /*rules*/,
+
6749  nullptr /* letters */,
+
6750  3 /*numRules*/,
+
6751  0 /* numLetters */,
+
6752 };
+
6753 
+
6754 //---------------------------------------------------------------------------
+
6755 // Policy name: RussiaAsia
+
6756 // Rules: 3
+
6757 // Memory (8-bit): 33
+
6758 // Memory (32-bit): 48
+
6759 //---------------------------------------------------------------------------
+
6760 
+
6761 static const extended::ZoneRule kZoneRulesRussiaAsia[] ACE_TIME_PROGMEM = {
+
6762  // Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 -
+
6763  {
+
6764  -16 /*fromYearTiny*/,
+
6765  -5 /*toYearTiny*/,
+
6766  9 /*inMonth*/,
+
6767  7 /*onDayOfWeek*/,
+
6768  0 /*onDayOfMonth*/,
+
6769  8 /*atTimeCode*/,
+
6770  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
6771  (0 + 4) /*deltaCode*/,
+
6772  '-' /*letter*/,
+
6773  },
+
6774  // Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 -
+
6775  {
+
6776  -15 /*fromYearTiny*/,
+
6777  10 /*toYearTiny*/,
+
6778  3 /*inMonth*/,
+
6779  7 /*onDayOfWeek*/,
+
6780  0 /*onDayOfMonth*/,
+
6781  8 /*atTimeCode*/,
+
6782  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
6783  (4 + 4) /*deltaCode*/,
+
6784  '-' /*letter*/,
+
6785  },
+
6786  // Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 -
+
6787  {
+
6788  -4 /*fromYearTiny*/,
+
6789  10 /*toYearTiny*/,
+
6790  10 /*inMonth*/,
+
6791  7 /*onDayOfWeek*/,
+
6792  0 /*onDayOfMonth*/,
+
6793  8 /*atTimeCode*/,
+
6794  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
6795  (0 + 4) /*deltaCode*/,
+
6796  '-' /*letter*/,
+
6797  },
+
6798 
+
6799 };
+
6800 
+
6801 
+
6802 
+
6803 const extended::ZonePolicy kPolicyRussiaAsia ACE_TIME_PROGMEM = {
+
6804  kZoneRulesRussiaAsia /*rules*/,
+
6805  nullptr /* letters */,
+
6806  3 /*numRules*/,
+
6807  0 /* numLetters */,
+
6808 };
+
6809 
+
6810 //---------------------------------------------------------------------------
+
6811 // Policy name: SA
+
6812 // Rules: 1
+
6813 // Memory (8-bit): 15
+
6814 // Memory (32-bit): 24
+
6815 //---------------------------------------------------------------------------
+
6816 
+
6817 static const extended::ZoneRule kZoneRulesSA[] ACE_TIME_PROGMEM = {
+
6818  // Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
+
6819  {
+
6820  -57 /*fromYearTiny*/,
+
6821  -56 /*toYearTiny*/,
+
6822  3 /*inMonth*/,
+
6823  7 /*onDayOfWeek*/,
+
6824  15 /*onDayOfMonth*/,
+
6825  8 /*atTimeCode*/,
+
6826  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6827  (0 + 4) /*deltaCode*/,
+
6828  '-' /*letter*/,
+
6829  },
+
6830 
+
6831 };
+
6832 
+
6833 
+
6834 
+
6835 const extended::ZonePolicy kPolicySA ACE_TIME_PROGMEM = {
+
6836  kZoneRulesSA /*rules*/,
+
6837  nullptr /* letters */,
+
6838  1 /*numRules*/,
+
6839  0 /* numLetters */,
+
6840 };
+
6841 
+
6842 //---------------------------------------------------------------------------
+
6843 // Policy name: Salv
+
6844 // Rules: 1
+
6845 // Memory (8-bit): 15
+
6846 // Memory (32-bit): 24
+
6847 //---------------------------------------------------------------------------
+
6848 
+
6849 static const extended::ZoneRule kZoneRulesSalv[] ACE_TIME_PROGMEM = {
+
6850  // Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
+
6851  {
+
6852  -13 /*fromYearTiny*/,
+
6853  -12 /*toYearTiny*/,
+
6854  9 /*inMonth*/,
+
6855  7 /*onDayOfWeek*/,
+
6856  0 /*onDayOfMonth*/,
+
6857  0 /*atTimeCode*/,
+
6858  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6859  (0 + 4) /*deltaCode*/,
+
6860  'S' /*letter*/,
+
6861  },
+
6862 
+
6863 };
+
6864 
+
6865 
+
6866 
+
6867 const extended::ZonePolicy kPolicySalv ACE_TIME_PROGMEM = {
+
6868  kZoneRulesSalv /*rules*/,
+
6869  nullptr /* letters */,
+
6870  1 /*numRules*/,
+
6871  0 /* numLetters */,
+
6872 };
+
6873 
+
6874 //---------------------------------------------------------------------------
+
6875 // Policy name: SanLuis
+
6876 // Rules: 3
+
6877 // Memory (8-bit): 33
+
6878 // Memory (32-bit): 48
+
6879 //---------------------------------------------------------------------------
+
6880 
+
6881 static const extended::ZoneRule kZoneRulesSanLuis[] ACE_TIME_PROGMEM = {
+
6882  // Anchor: Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
+
6883  {
+
6884  -127 /*fromYearTiny*/,
+
6885  -127 /*toYearTiny*/,
+
6886  1 /*inMonth*/,
+
6887  0 /*onDayOfWeek*/,
+
6888  1 /*onDayOfMonth*/,
+
6889  0 /*atTimeCode*/,
+
6890  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6891  (0 + 4) /*deltaCode*/,
+
6892  '-' /*letter*/,
+
6893  },
+
6894  // Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
+
6895  {
+
6896  8 /*fromYearTiny*/,
+
6897  9 /*toYearTiny*/,
+
6898  3 /*inMonth*/,
+
6899  7 /*onDayOfWeek*/,
+
6900  8 /*onDayOfMonth*/,
+
6901  0 /*atTimeCode*/,
+
6902  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6903  (0 + 4) /*deltaCode*/,
+
6904  '-' /*letter*/,
+
6905  },
+
6906  // Rule SanLuis 2007 2008 - Oct Sun>=8 0:00 1:00 -
+
6907  {
+
6908  7 /*fromYearTiny*/,
+
6909  8 /*toYearTiny*/,
+
6910  10 /*inMonth*/,
+
6911  7 /*onDayOfWeek*/,
+
6912  8 /*onDayOfMonth*/,
+
6913  0 /*atTimeCode*/,
+
6914  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
6915  (4 + 4) /*deltaCode*/,
+
6916  '-' /*letter*/,
+
6917  },
+
6918 
+
6919 };
+
6920 
+
6921 
+
6922 
+
6923 const extended::ZonePolicy kPolicySanLuis ACE_TIME_PROGMEM = {
+
6924  kZoneRulesSanLuis /*rules*/,
+
6925  nullptr /* letters */,
+
6926  3 /*numRules*/,
+
6927  0 /* numLetters */,
+
6928 };
+
6929 
+
6930 //---------------------------------------------------------------------------
+
6931 // Policy name: StJohns
+
6932 // Rules: 5
+
6933 // Memory (8-bit): 56
+
6934 // Memory (32-bit): 79
+
6935 //---------------------------------------------------------------------------
+
6936 
+
6937 static const extended::ZoneRule kZoneRulesStJohns[] ACE_TIME_PROGMEM = {
+
6938  // Rule StJohns 1987 2006 - Oct lastSun 0:01 0 S
+
6939  {
+
6940  -13 /*fromYearTiny*/,
+
6941  6 /*toYearTiny*/,
+
6942  10 /*inMonth*/,
+
6943  7 /*onDayOfWeek*/,
+
6944  0 /*onDayOfMonth*/,
+
6945  0 /*atTimeCode*/,
+
6946  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
6947  (0 + 4) /*deltaCode*/,
+
6948  'S' /*letter*/,
+
6949  },
+
6950  // Rule StJohns 1988 only - Apr Sun>=1 0:01 2:00 DD
+
6951  {
+
6952  -12 /*fromYearTiny*/,
+
6953  -12 /*toYearTiny*/,
+
6954  4 /*inMonth*/,
+
6955  7 /*onDayOfWeek*/,
+
6956  1 /*onDayOfMonth*/,
+
6957  0 /*atTimeCode*/,
+
6958  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
6959  (8 + 4) /*deltaCode*/,
+
6960  0 /*letter; "DD"*/,
+
6961  },
+
6962  // Rule StJohns 1989 2006 - Apr Sun>=1 0:01 1:00 D
+
6963  {
+
6964  -11 /*fromYearTiny*/,
+
6965  6 /*toYearTiny*/,
+
6966  4 /*inMonth*/,
+
6967  7 /*onDayOfWeek*/,
+
6968  1 /*onDayOfMonth*/,
+
6969  0 /*atTimeCode*/,
+
6970  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
6971  (4 + 4) /*deltaCode*/,
+
6972  'D' /*letter*/,
+
6973  },
+
6974  // Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D
+
6975  {
+
6976  7 /*fromYearTiny*/,
+
6977  11 /*toYearTiny*/,
+
6978  3 /*inMonth*/,
+
6979  7 /*onDayOfWeek*/,
+
6980  8 /*onDayOfMonth*/,
+
6981  0 /*atTimeCode*/,
+
6982  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
6983  (4 + 4) /*deltaCode*/,
+
6984  'D' /*letter*/,
+
6985  },
+
6986  // Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S
+
6987  {
+
6988  7 /*fromYearTiny*/,
+
6989  10 /*toYearTiny*/,
+
6990  11 /*inMonth*/,
+
6991  7 /*onDayOfWeek*/,
+
6992  1 /*onDayOfMonth*/,
+
6993  0 /*atTimeCode*/,
+
6994  extended::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
+
6995  (0 + 4) /*deltaCode*/,
+
6996  'S' /*letter*/,
+
6997  },
+
6998 
+
6999 };
+
7000 
+
7001 static const char* const kLettersStJohns[] ACE_TIME_PROGMEM = {
+
7002  /*0*/ "DD",
+
7003 
+
7004 };
+
7005 
+
7006 
+
7007 const extended::ZonePolicy kPolicyStJohns ACE_TIME_PROGMEM = {
+
7008  kZoneRulesStJohns /*rules*/,
+
7009  kLettersStJohns /* letters */,
+
7010  5 /*numRules*/,
+
7011  1 /* numLetters */,
+
7012 };
+
7013 
+
7014 //---------------------------------------------------------------------------
+
7015 // Policy name: Sudan
+
7016 // Rules: 1
+
7017 // Memory (8-bit): 15
+
7018 // Memory (32-bit): 24
+
7019 //---------------------------------------------------------------------------
+
7020 
+
7021 static const extended::ZoneRule kZoneRulesSudan[] ACE_TIME_PROGMEM = {
+
7022  // Rule Sudan 1970 1985 - Oct 15 0:00 0 -
+
7023  {
+
7024  -30 /*fromYearTiny*/,
+
7025  -15 /*toYearTiny*/,
+
7026  10 /*inMonth*/,
+
7027  0 /*onDayOfWeek*/,
+
7028  15 /*onDayOfMonth*/,
+
7029  0 /*atTimeCode*/,
+
7030  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7031  (0 + 4) /*deltaCode*/,
+
7032  '-' /*letter*/,
+
7033  },
+
7034 
+
7035 };
+
7036 
+
7037 
+
7038 
+
7039 const extended::ZonePolicy kPolicySudan ACE_TIME_PROGMEM = {
+
7040  kZoneRulesSudan /*rules*/,
+
7041  nullptr /* letters */,
+
7042  1 /*numRules*/,
+
7043  0 /* numLetters */,
+
7044 };
+
7045 
+
7046 //---------------------------------------------------------------------------
+
7047 // Policy name: Syria
+
7048 // Rules: 12
+
7049 // Memory (8-bit): 114
+
7050 // Memory (32-bit): 156
+
7051 //---------------------------------------------------------------------------
+
7052 
+
7053 static const extended::ZoneRule kZoneRulesSyria[] ACE_TIME_PROGMEM = {
+
7054  // Rule Syria 1994 2005 - Oct 1 0:00 0 -
+
7055  {
+
7056  -6 /*fromYearTiny*/,
+
7057  5 /*toYearTiny*/,
+
7058  10 /*inMonth*/,
+
7059  0 /*onDayOfWeek*/,
+
7060  1 /*onDayOfMonth*/,
+
7061  0 /*atTimeCode*/,
+
7062  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7063  (0 + 4) /*deltaCode*/,
+
7064  '-' /*letter*/,
+
7065  },
+
7066  // Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S
+
7067  {
+
7068  -3 /*fromYearTiny*/,
+
7069  -2 /*toYearTiny*/,
+
7070  3 /*inMonth*/,
+
7071  1 /*onDayOfWeek*/,
+
7072  0 /*onDayOfMonth*/,
+
7073  0 /*atTimeCode*/,
+
7074  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7075  (4 + 4) /*deltaCode*/,
+
7076  'S' /*letter*/,
+
7077  },
+
7078  // Rule Syria 1999 2006 - Apr 1 0:00 1:00 S
+
7079  {
+
7080  -1 /*fromYearTiny*/,
+
7081  6 /*toYearTiny*/,
+
7082  4 /*inMonth*/,
+
7083  0 /*onDayOfWeek*/,
+
7084  1 /*onDayOfMonth*/,
+
7085  0 /*atTimeCode*/,
+
7086  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7087  (4 + 4) /*deltaCode*/,
+
7088  'S' /*letter*/,
+
7089  },
+
7090  // Rule Syria 2006 only - Sep 22 0:00 0 -
+
7091  {
+
7092  6 /*fromYearTiny*/,
+
7093  6 /*toYearTiny*/,
+
7094  9 /*inMonth*/,
+
7095  0 /*onDayOfWeek*/,
+
7096  22 /*onDayOfMonth*/,
+
7097  0 /*atTimeCode*/,
+
7098  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7099  (0 + 4) /*deltaCode*/,
+
7100  '-' /*letter*/,
+
7101  },
+
7102  // Rule Syria 2007 only - Mar lastFri 0:00 1:00 S
+
7103  {
+
7104  7 /*fromYearTiny*/,
+
7105  7 /*toYearTiny*/,
+
7106  3 /*inMonth*/,
+
7107  5 /*onDayOfWeek*/,
+
7108  0 /*onDayOfMonth*/,
+
7109  0 /*atTimeCode*/,
+
7110  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7111  (4 + 4) /*deltaCode*/,
+
7112  'S' /*letter*/,
+
7113  },
+
7114  // Rule Syria 2007 only - Nov Fri>=1 0:00 0 -
+
7115  {
+
7116  7 /*fromYearTiny*/,
+
7117  7 /*toYearTiny*/,
+
7118  11 /*inMonth*/,
+
7119  5 /*onDayOfWeek*/,
+
7120  1 /*onDayOfMonth*/,
+
7121  0 /*atTimeCode*/,
+
7122  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7123  (0 + 4) /*deltaCode*/,
+
7124  '-' /*letter*/,
+
7125  },
+
7126  // Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
+
7127  {
+
7128  8 /*fromYearTiny*/,
+
7129  8 /*toYearTiny*/,
+
7130  4 /*inMonth*/,
+
7131  5 /*onDayOfWeek*/,
+
7132  1 /*onDayOfMonth*/,
+
7133  0 /*atTimeCode*/,
+
7134  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7135  (4 + 4) /*deltaCode*/,
+
7136  'S' /*letter*/,
+
7137  },
+
7138  // Rule Syria 2008 only - Nov 1 0:00 0 -
+
7139  {
+
7140  8 /*fromYearTiny*/,
+
7141  8 /*toYearTiny*/,
+
7142  11 /*inMonth*/,
+
7143  0 /*onDayOfWeek*/,
+
7144  1 /*onDayOfMonth*/,
+
7145  0 /*atTimeCode*/,
+
7146  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7147  (0 + 4) /*deltaCode*/,
+
7148  '-' /*letter*/,
+
7149  },
+
7150  // Rule Syria 2009 only - Mar lastFri 0:00 1:00 S
+
7151  {
+
7152  9 /*fromYearTiny*/,
+
7153  9 /*toYearTiny*/,
+
7154  3 /*inMonth*/,
+
7155  5 /*onDayOfWeek*/,
+
7156  0 /*onDayOfMonth*/,
+
7157  0 /*atTimeCode*/,
+
7158  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7159  (4 + 4) /*deltaCode*/,
+
7160  'S' /*letter*/,
+
7161  },
+
7162  // Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
+
7163  {
+
7164  10 /*fromYearTiny*/,
+
7165  11 /*toYearTiny*/,
+
7166  4 /*inMonth*/,
+
7167  5 /*onDayOfWeek*/,
+
7168  1 /*onDayOfMonth*/,
+
7169  0 /*atTimeCode*/,
+
7170  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7171  (4 + 4) /*deltaCode*/,
+
7172  'S' /*letter*/,
+
7173  },
+
7174  // Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
+
7175  {
+
7176  12 /*fromYearTiny*/,
+
7177  126 /*toYearTiny*/,
+
7178  3 /*inMonth*/,
+
7179  5 /*onDayOfWeek*/,
+
7180  0 /*onDayOfMonth*/,
+
7181  0 /*atTimeCode*/,
+
7182  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7183  (4 + 4) /*deltaCode*/,
+
7184  'S' /*letter*/,
+
7185  },
+
7186  // Rule Syria 2009 max - Oct lastFri 0:00 0 -
+
7187  {
+
7188  9 /*fromYearTiny*/,
+
7189  126 /*toYearTiny*/,
+
7190  10 /*inMonth*/,
+
7191  5 /*onDayOfWeek*/,
+
7192  0 /*onDayOfMonth*/,
+
7193  0 /*atTimeCode*/,
+
7194  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7195  (0 + 4) /*deltaCode*/,
+
7196  '-' /*letter*/,
+
7197  },
+
7198 
+
7199 };
+
7200 
+
7201 
+
7202 
+
7203 const extended::ZonePolicy kPolicySyria ACE_TIME_PROGMEM = {
+
7204  kZoneRulesSyria /*rules*/,
+
7205  nullptr /* letters */,
+
7206  12 /*numRules*/,
+
7207  0 /* numLetters */,
+
7208 };
+
7209 
+
7210 //---------------------------------------------------------------------------
+
7211 // Policy name: Taiwan
+
7212 // Rules: 1
+
7213 // Memory (8-bit): 15
+
7214 // Memory (32-bit): 24
+
7215 //---------------------------------------------------------------------------
+
7216 
+
7217 static const extended::ZoneRule kZoneRulesTaiwan[] ACE_TIME_PROGMEM = {
+
7218  // Rule Taiwan 1979 only - Oct 1 0:00 0 S
+
7219  {
+
7220  -21 /*fromYearTiny*/,
+
7221  -21 /*toYearTiny*/,
+
7222  10 /*inMonth*/,
+
7223  0 /*onDayOfWeek*/,
+
7224  1 /*onDayOfMonth*/,
+
7225  0 /*atTimeCode*/,
+
7226  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7227  (0 + 4) /*deltaCode*/,
+
7228  'S' /*letter*/,
+
7229  },
+
7230 
+
7231 };
+
7232 
+
7233 
+
7234 
+
7235 const extended::ZonePolicy kPolicyTaiwan ACE_TIME_PROGMEM = {
+
7236  kZoneRulesTaiwan /*rules*/,
+
7237  nullptr /* letters */,
+
7238  1 /*numRules*/,
+
7239  0 /* numLetters */,
+
7240 };
+
7241 
+
7242 //---------------------------------------------------------------------------
+
7243 // Policy name: Thule
+
7244 // Rules: 5
+
7245 // Memory (8-bit): 51
+
7246 // Memory (32-bit): 72
+
7247 //---------------------------------------------------------------------------
+
7248 
+
7249 static const extended::ZoneRule kZoneRulesThule[] ACE_TIME_PROGMEM = {
+
7250  // Rule Thule 1991 1992 - Sep lastSun 2:00 0 S
+
7251  {
+
7252  -9 /*fromYearTiny*/,
+
7253  -8 /*toYearTiny*/,
+
7254  9 /*inMonth*/,
+
7255  7 /*onDayOfWeek*/,
+
7256  0 /*onDayOfMonth*/,
+
7257  8 /*atTimeCode*/,
+
7258  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7259  (0 + 4) /*deltaCode*/,
+
7260  'S' /*letter*/,
+
7261  },
+
7262  // Rule Thule 1993 2006 - Apr Sun>=1 2:00 1:00 D
+
7263  {
+
7264  -7 /*fromYearTiny*/,
+
7265  6 /*toYearTiny*/,
+
7266  4 /*inMonth*/,
+
7267  7 /*onDayOfWeek*/,
+
7268  1 /*onDayOfMonth*/,
+
7269  8 /*atTimeCode*/,
+
7270  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7271  (4 + 4) /*deltaCode*/,
+
7272  'D' /*letter*/,
+
7273  },
+
7274  // Rule Thule 1993 2006 - Oct lastSun 2:00 0 S
+
7275  {
+
7276  -7 /*fromYearTiny*/,
+
7277  6 /*toYearTiny*/,
+
7278  10 /*inMonth*/,
+
7279  7 /*onDayOfWeek*/,
+
7280  0 /*onDayOfMonth*/,
+
7281  8 /*atTimeCode*/,
+
7282  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7283  (0 + 4) /*deltaCode*/,
+
7284  'S' /*letter*/,
+
7285  },
+
7286  // Rule Thule 2007 max - Mar Sun>=8 2:00 1:00 D
+
7287  {
+
7288  7 /*fromYearTiny*/,
+
7289  126 /*toYearTiny*/,
+
7290  3 /*inMonth*/,
+
7291  7 /*onDayOfWeek*/,
+
7292  8 /*onDayOfMonth*/,
+
7293  8 /*atTimeCode*/,
+
7294  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7295  (4 + 4) /*deltaCode*/,
+
7296  'D' /*letter*/,
+
7297  },
+
7298  // Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
+
7299  {
+
7300  7 /*fromYearTiny*/,
+
7301  126 /*toYearTiny*/,
+
7302  11 /*inMonth*/,
+
7303  7 /*onDayOfWeek*/,
+
7304  1 /*onDayOfMonth*/,
+
7305  8 /*atTimeCode*/,
+
7306  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7307  (0 + 4) /*deltaCode*/,
+
7308  'S' /*letter*/,
+
7309  },
+
7310 
+
7311 };
+
7312 
+
7313 
+
7314 
+
7315 const extended::ZonePolicy kPolicyThule ACE_TIME_PROGMEM = {
+
7316  kZoneRulesThule /*rules*/,
+
7317  nullptr /* letters */,
+
7318  5 /*numRules*/,
+
7319  0 /* numLetters */,
+
7320 };
+
7321 
+
7322 //---------------------------------------------------------------------------
+
7323 // Policy name: Tonga
+
7324 // Rules: 7
+
7325 // Memory (8-bit): 69
+
7326 // Memory (32-bit): 96
+
7327 //---------------------------------------------------------------------------
+
7328 
+
7329 static const extended::ZoneRule kZoneRulesTonga[] ACE_TIME_PROGMEM = {
+
7330  // Anchor: Rule Tonga 2000 only - Mar 19 2:00s 0 -
+
7331  {
+
7332  -127 /*fromYearTiny*/,
+
7333  -127 /*toYearTiny*/,
+
7334  1 /*inMonth*/,
+
7335  0 /*onDayOfWeek*/,
+
7336  1 /*onDayOfMonth*/,
+
7337  0 /*atTimeCode*/,
+
7338  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7339  (0 + 4) /*deltaCode*/,
+
7340  '-' /*letter*/,
+
7341  },
+
7342  // Rule Tonga 1999 only - Oct 7 2:00s 1:00 -
+
7343  {
+
7344  -1 /*fromYearTiny*/,
+
7345  -1 /*toYearTiny*/,
+
7346  10 /*inMonth*/,
+
7347  0 /*onDayOfWeek*/,
+
7348  7 /*onDayOfMonth*/,
+
7349  8 /*atTimeCode*/,
+
7350  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7351  (4 + 4) /*deltaCode*/,
+
7352  '-' /*letter*/,
+
7353  },
+
7354  // Rule Tonga 2000 only - Mar 19 2:00s 0 -
+
7355  {
+
7356  0 /*fromYearTiny*/,
+
7357  0 /*toYearTiny*/,
+
7358  3 /*inMonth*/,
+
7359  0 /*onDayOfWeek*/,
+
7360  19 /*onDayOfMonth*/,
+
7361  8 /*atTimeCode*/,
+
7362  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7363  (0 + 4) /*deltaCode*/,
+
7364  '-' /*letter*/,
+
7365  },
+
7366  // Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 -
+
7367  {
+
7368  0 /*fromYearTiny*/,
+
7369  1 /*toYearTiny*/,
+
7370  11 /*inMonth*/,
+
7371  7 /*onDayOfWeek*/,
+
7372  1 /*onDayOfMonth*/,
+
7373  8 /*atTimeCode*/,
+
7374  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7375  (4 + 4) /*deltaCode*/,
+
7376  '-' /*letter*/,
+
7377  },
+
7378  // Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
+
7379  {
+
7380  1 /*fromYearTiny*/,
+
7381  2 /*toYearTiny*/,
+
7382  1 /*inMonth*/,
+
7383  7 /*onDayOfWeek*/,
+
7384  0 /*onDayOfMonth*/,
+
7385  8 /*atTimeCode*/,
+
7386  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7387  (0 + 4) /*deltaCode*/,
+
7388  '-' /*letter*/,
+
7389  },
+
7390  // Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
+
7391  {
+
7392  16 /*fromYearTiny*/,
+
7393  16 /*toYearTiny*/,
+
7394  11 /*inMonth*/,
+
7395  7 /*onDayOfWeek*/,
+
7396  1 /*onDayOfMonth*/,
+
7397  8 /*atTimeCode*/,
+
7398  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7399  (4 + 4) /*deltaCode*/,
+
7400  '-' /*letter*/,
+
7401  },
+
7402  // Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
+
7403  {
+
7404  17 /*fromYearTiny*/,
+
7405  17 /*toYearTiny*/,
+
7406  1 /*inMonth*/,
+
7407  7 /*onDayOfWeek*/,
+
7408  15 /*onDayOfMonth*/,
+
7409  12 /*atTimeCode*/,
+
7410  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7411  (0 + 4) /*deltaCode*/,
+
7412  '-' /*letter*/,
+
7413  },
+
7414 
+
7415 };
+
7416 
+
7417 
+
7418 
+
7419 const extended::ZonePolicy kPolicyTonga ACE_TIME_PROGMEM = {
+
7420  kZoneRulesTonga /*rules*/,
+
7421  nullptr /* letters */,
+
7422  7 /*numRules*/,
+
7423  0 /* numLetters */,
+
7424 };
+
7425 
+
7426 //---------------------------------------------------------------------------
+
7427 // Policy name: Troll
+
7428 // Rules: 3
+
7429 // Memory (8-bit): 45
+
7430 // Memory (32-bit): 64
+
7431 //---------------------------------------------------------------------------
+
7432 
+
7433 static const extended::ZoneRule kZoneRulesTroll[] ACE_TIME_PROGMEM = {
+
7434  // Anchor: Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
+
7435  {
+
7436  -127 /*fromYearTiny*/,
+
7437  -127 /*toYearTiny*/,
+
7438  1 /*inMonth*/,
+
7439  0 /*onDayOfWeek*/,
+
7440  1 /*onDayOfMonth*/,
+
7441  0 /*atTimeCode*/,
+
7442  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7443  (0 + 4) /*deltaCode*/,
+
7444  0 /*letter; "+00"*/,
+
7445  },
+
7446  // Rule Troll 2005 max - Mar lastSun 1:00u 2:00 +02
+
7447  {
+
7448  5 /*fromYearTiny*/,
+
7449  126 /*toYearTiny*/,
+
7450  3 /*inMonth*/,
+
7451  7 /*onDayOfWeek*/,
+
7452  0 /*onDayOfMonth*/,
+
7453  4 /*atTimeCode*/,
+
7454  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
7455  (8 + 4) /*deltaCode*/,
+
7456  1 /*letter; "+02"*/,
+
7457  },
+
7458  // Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
+
7459  {
+
7460  4 /*fromYearTiny*/,
+
7461  126 /*toYearTiny*/,
+
7462  10 /*inMonth*/,
+
7463  7 /*onDayOfWeek*/,
+
7464  0 /*onDayOfMonth*/,
+
7465  4 /*atTimeCode*/,
+
7466  extended::ZoneContext::kSuffixU /*atTimeModifier*/,
+
7467  (0 + 4) /*deltaCode*/,
+
7468  0 /*letter; "+00"*/,
+
7469  },
+
7470 
+
7471 };
+
7472 
+
7473 static const char* const kLettersTroll[] ACE_TIME_PROGMEM = {
+
7474  /*0*/ "+00",
+
7475  /*1*/ "+02",
+
7476 
+
7477 };
+
7478 
+
7479 
+
7480 const extended::ZonePolicy kPolicyTroll ACE_TIME_PROGMEM = {
+
7481  kZoneRulesTroll /*rules*/,
+
7482  kLettersTroll /* letters */,
+
7483  3 /*numRules*/,
+
7484  2 /* numLetters */,
+
7485 };
+
7486 
+
7487 //---------------------------------------------------------------------------
+
7488 // Policy name: Tunisia
+
7489 // Rules: 5
+
7490 // Memory (8-bit): 51
+
7491 // Memory (32-bit): 72
+
7492 //---------------------------------------------------------------------------
+
7493 
+
7494 static const extended::ZoneRule kZoneRulesTunisia[] ACE_TIME_PROGMEM = {
+
7495  // Rule Tunisia 1988 1990 - Sep lastSun 0:00s 0 -
+
7496  {
+
7497  -12 /*fromYearTiny*/,
+
7498  -10 /*toYearTiny*/,
+
7499  9 /*inMonth*/,
+
7500  7 /*onDayOfWeek*/,
+
7501  0 /*onDayOfMonth*/,
+
7502  0 /*atTimeCode*/,
+
7503  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7504  (0 + 4) /*deltaCode*/,
+
7505  '-' /*letter*/,
+
7506  },
+
7507  // Rule Tunisia 2005 only - May 1 0:00s 1:00 S
+
7508  {
+
7509  5 /*fromYearTiny*/,
+
7510  5 /*toYearTiny*/,
+
7511  5 /*inMonth*/,
+
7512  0 /*onDayOfWeek*/,
+
7513  1 /*onDayOfMonth*/,
+
7514  0 /*atTimeCode*/,
+
7515  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7516  (4 + 4) /*deltaCode*/,
+
7517  'S' /*letter*/,
+
7518  },
+
7519  // Rule Tunisia 2005 only - Sep 30 1:00s 0 -
+
7520  {
+
7521  5 /*fromYearTiny*/,
+
7522  5 /*toYearTiny*/,
+
7523  9 /*inMonth*/,
+
7524  0 /*onDayOfWeek*/,
+
7525  30 /*onDayOfMonth*/,
+
7526  4 /*atTimeCode*/,
+
7527  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7528  (0 + 4) /*deltaCode*/,
+
7529  '-' /*letter*/,
+
7530  },
+
7531  // Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
+
7532  {
+
7533  6 /*fromYearTiny*/,
+
7534  8 /*toYearTiny*/,
+
7535  3 /*inMonth*/,
+
7536  7 /*onDayOfWeek*/,
+
7537  0 /*onDayOfMonth*/,
+
7538  8 /*atTimeCode*/,
+
7539  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7540  (4 + 4) /*deltaCode*/,
+
7541  'S' /*letter*/,
+
7542  },
+
7543  // Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
+
7544  {
+
7545  6 /*fromYearTiny*/,
+
7546  8 /*toYearTiny*/,
+
7547  10 /*inMonth*/,
+
7548  7 /*onDayOfWeek*/,
+
7549  0 /*onDayOfMonth*/,
+
7550  8 /*atTimeCode*/,
+
7551  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7552  (0 + 4) /*deltaCode*/,
+
7553  '-' /*letter*/,
+
7554  },
+
7555 
+
7556 };
+
7557 
+
7558 
+
7559 
+
7560 const extended::ZonePolicy kPolicyTunisia ACE_TIME_PROGMEM = {
+
7561  kZoneRulesTunisia /*rules*/,
+
7562  nullptr /* letters */,
+
7563  5 /*numRules*/,
+
7564  0 /* numLetters */,
+
7565 };
+
7566 
+
7567 //---------------------------------------------------------------------------
+
7568 // Policy name: Turkey
+
7569 // Rules: 3
+
7570 // Memory (8-bit): 33
+
7571 // Memory (32-bit): 48
+
7572 //---------------------------------------------------------------------------
+
7573 
+
7574 static const extended::ZoneRule kZoneRulesTurkey[] ACE_TIME_PROGMEM = {
+
7575  // Rule Turkey 1986 1995 - Sep lastSun 1:00s 0 -
+
7576  {
+
7577  -14 /*fromYearTiny*/,
+
7578  -5 /*toYearTiny*/,
+
7579  9 /*inMonth*/,
+
7580  7 /*onDayOfWeek*/,
+
7581  0 /*onDayOfMonth*/,
+
7582  4 /*atTimeCode*/,
+
7583  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7584  (0 + 4) /*deltaCode*/,
+
7585  '-' /*letter*/,
+
7586  },
+
7587  // Rule Turkey 1995 2006 - Mar lastSun 1:00s 1:00 S
+
7588  {
+
7589  -5 /*fromYearTiny*/,
+
7590  6 /*toYearTiny*/,
+
7591  3 /*inMonth*/,
+
7592  7 /*onDayOfWeek*/,
+
7593  0 /*onDayOfMonth*/,
+
7594  4 /*atTimeCode*/,
+
7595  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7596  (4 + 4) /*deltaCode*/,
+
7597  'S' /*letter*/,
+
7598  },
+
7599  // Rule Turkey 1996 2006 - Oct lastSun 1:00s 0 -
+
7600  {
+
7601  -4 /*fromYearTiny*/,
+
7602  6 /*toYearTiny*/,
+
7603  10 /*inMonth*/,
+
7604  7 /*onDayOfWeek*/,
+
7605  0 /*onDayOfMonth*/,
+
7606  4 /*atTimeCode*/,
+
7607  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7608  (0 + 4) /*deltaCode*/,
+
7609  '-' /*letter*/,
+
7610  },
+
7611 
+
7612 };
+
7613 
+
7614 
+
7615 
+
7616 const extended::ZonePolicy kPolicyTurkey ACE_TIME_PROGMEM = {
+
7617  kZoneRulesTurkey /*rules*/,
+
7618  nullptr /* letters */,
+
7619  3 /*numRules*/,
+
7620  0 /* numLetters */,
+
7621 };
+
7622 
+
7623 //---------------------------------------------------------------------------
+
7624 // Policy name: US
+
7625 // Rules: 5
+
7626 // Memory (8-bit): 51
+
7627 // Memory (32-bit): 72
+
7628 //---------------------------------------------------------------------------
+
7629 
+
7630 static const extended::ZoneRule kZoneRulesUS[] ACE_TIME_PROGMEM = {
+
7631  // Rule US 1967 2006 - Oct lastSun 2:00 0 S
+
7632  {
+
7633  -33 /*fromYearTiny*/,
+
7634  6 /*toYearTiny*/,
+
7635  10 /*inMonth*/,
+
7636  7 /*onDayOfWeek*/,
+
7637  0 /*onDayOfMonth*/,
+
7638  8 /*atTimeCode*/,
+
7639  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7640  (0 + 4) /*deltaCode*/,
+
7641  'S' /*letter*/,
+
7642  },
+
7643  // Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
+
7644  {
+
7645  -24 /*fromYearTiny*/,
+
7646  -14 /*toYearTiny*/,
+
7647  4 /*inMonth*/,
+
7648  7 /*onDayOfWeek*/,
+
7649  0 /*onDayOfMonth*/,
+
7650  8 /*atTimeCode*/,
+
7651  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7652  (4 + 4) /*deltaCode*/,
+
7653  'D' /*letter*/,
+
7654  },
+
7655  // Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
+
7656  {
+
7657  -13 /*fromYearTiny*/,
+
7658  6 /*toYearTiny*/,
+
7659  4 /*inMonth*/,
+
7660  7 /*onDayOfWeek*/,
+
7661  1 /*onDayOfMonth*/,
+
7662  8 /*atTimeCode*/,
+
7663  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7664  (4 + 4) /*deltaCode*/,
+
7665  'D' /*letter*/,
+
7666  },
+
7667  // Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
+
7668  {
+
7669  7 /*fromYearTiny*/,
+
7670  126 /*toYearTiny*/,
+
7671  3 /*inMonth*/,
+
7672  7 /*onDayOfWeek*/,
+
7673  8 /*onDayOfMonth*/,
+
7674  8 /*atTimeCode*/,
+
7675  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7676  (4 + 4) /*deltaCode*/,
+
7677  'D' /*letter*/,
+
7678  },
+
7679  // Rule US 2007 max - Nov Sun>=1 2:00 0 S
+
7680  {
+
7681  7 /*fromYearTiny*/,
+
7682  126 /*toYearTiny*/,
+
7683  11 /*inMonth*/,
+
7684  7 /*onDayOfWeek*/,
+
7685  1 /*onDayOfMonth*/,
+
7686  8 /*atTimeCode*/,
+
7687  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7688  (0 + 4) /*deltaCode*/,
+
7689  'S' /*letter*/,
+
7690  },
+
7691 
+
7692 };
+
7693 
+
7694 
+
7695 
+
7696 const extended::ZonePolicy kPolicyUS ACE_TIME_PROGMEM = {
+
7697  kZoneRulesUS /*rules*/,
+
7698  nullptr /* letters */,
+
7699  5 /*numRules*/,
+
7700  0 /* numLetters */,
+
7701 };
+
7702 
+
7703 //---------------------------------------------------------------------------
+
7704 // Policy name: Uruguay
+
7705 // Rules: 6
+
7706 // Memory (8-bit): 60
+
7707 // Memory (32-bit): 84
+
7708 //---------------------------------------------------------------------------
+
7709 
+
7710 static const extended::ZoneRule kZoneRulesUruguay[] ACE_TIME_PROGMEM = {
+
7711  // Rule Uruguay 1993 only - Feb 28 0:00 0 -
+
7712  {
+
7713  -7 /*fromYearTiny*/,
+
7714  -7 /*toYearTiny*/,
+
7715  2 /*inMonth*/,
+
7716  0 /*onDayOfWeek*/,
+
7717  28 /*onDayOfMonth*/,
+
7718  0 /*atTimeCode*/,
+
7719  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7720  (0 + 4) /*deltaCode*/,
+
7721  '-' /*letter*/,
+
7722  },
+
7723  // Rule Uruguay 2004 only - Sep 19 0:00 1:00 -
+
7724  {
+
7725  4 /*fromYearTiny*/,
+
7726  4 /*toYearTiny*/,
+
7727  9 /*inMonth*/,
+
7728  0 /*onDayOfWeek*/,
+
7729  19 /*onDayOfMonth*/,
+
7730  0 /*atTimeCode*/,
+
7731  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7732  (4 + 4) /*deltaCode*/,
+
7733  '-' /*letter*/,
+
7734  },
+
7735  // Rule Uruguay 2005 only - Mar 27 2:00 0 -
+
7736  {
+
7737  5 /*fromYearTiny*/,
+
7738  5 /*toYearTiny*/,
+
7739  3 /*inMonth*/,
+
7740  0 /*onDayOfWeek*/,
+
7741  27 /*onDayOfMonth*/,
+
7742  8 /*atTimeCode*/,
+
7743  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7744  (0 + 4) /*deltaCode*/,
+
7745  '-' /*letter*/,
+
7746  },
+
7747  // Rule Uruguay 2005 only - Oct 9 2:00 1:00 -
+
7748  {
+
7749  5 /*fromYearTiny*/,
+
7750  5 /*toYearTiny*/,
+
7751  10 /*inMonth*/,
+
7752  0 /*onDayOfWeek*/,
+
7753  9 /*onDayOfMonth*/,
+
7754  8 /*atTimeCode*/,
+
7755  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7756  (4 + 4) /*deltaCode*/,
+
7757  '-' /*letter*/,
+
7758  },
+
7759  // Rule Uruguay 2006 2015 - Mar Sun>=8 2:00 0 -
+
7760  {
+
7761  6 /*fromYearTiny*/,
+
7762  15 /*toYearTiny*/,
+
7763  3 /*inMonth*/,
+
7764  7 /*onDayOfWeek*/,
+
7765  8 /*onDayOfMonth*/,
+
7766  8 /*atTimeCode*/,
+
7767  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7768  (0 + 4) /*deltaCode*/,
+
7769  '-' /*letter*/,
+
7770  },
+
7771  // Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 -
+
7772  {
+
7773  6 /*fromYearTiny*/,
+
7774  14 /*toYearTiny*/,
+
7775  10 /*inMonth*/,
+
7776  7 /*onDayOfWeek*/,
+
7777  1 /*onDayOfMonth*/,
+
7778  8 /*atTimeCode*/,
+
7779  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7780  (4 + 4) /*deltaCode*/,
+
7781  '-' /*letter*/,
+
7782  },
+
7783 
+
7784 };
+
7785 
+
7786 
+
7787 
+
7788 const extended::ZonePolicy kPolicyUruguay ACE_TIME_PROGMEM = {
+
7789  kZoneRulesUruguay /*rules*/,
+
7790  nullptr /* letters */,
+
7791  6 /*numRules*/,
+
7792  0 /* numLetters */,
+
7793 };
+
7794 
+
7795 //---------------------------------------------------------------------------
+
7796 // Policy name: Vanuatu
+
7797 // Rules: 1
+
7798 // Memory (8-bit): 15
+
7799 // Memory (32-bit): 24
+
7800 //---------------------------------------------------------------------------
+
7801 
+
7802 static const extended::ZoneRule kZoneRulesVanuatu[] ACE_TIME_PROGMEM = {
+
7803  // Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
+
7804  {
+
7805  -8 /*fromYearTiny*/,
+
7806  -7 /*toYearTiny*/,
+
7807  1 /*inMonth*/,
+
7808  7 /*onDayOfWeek*/,
+
7809  23 /*onDayOfMonth*/,
+
7810  0 /*atTimeCode*/,
+
7811  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7812  (0 + 4) /*deltaCode*/,
+
7813  '-' /*letter*/,
+
7814  },
+
7815 
+
7816 };
+
7817 
+
7818 
+
7819 
+
7820 const extended::ZonePolicy kPolicyVanuatu ACE_TIME_PROGMEM = {
+
7821  kZoneRulesVanuatu /*rules*/,
+
7822  nullptr /* letters */,
+
7823  1 /*numRules*/,
+
7824  0 /* numLetters */,
+
7825 };
+
7826 
+
7827 //---------------------------------------------------------------------------
+
7828 // Policy name: WS
+
7829 // Rules: 6
+
7830 // Memory (8-bit): 60
+
7831 // Memory (32-bit): 84
+
7832 //---------------------------------------------------------------------------
+
7833 
+
7834 static const extended::ZoneRule kZoneRulesWS[] ACE_TIME_PROGMEM = {
+
7835  // Anchor: Rule WS 2011 only - Apr Sat>=1 4:00 0 -
+
7836  {
+
7837  -127 /*fromYearTiny*/,
+
7838  -127 /*toYearTiny*/,
+
7839  1 /*inMonth*/,
+
7840  0 /*onDayOfWeek*/,
+
7841  1 /*onDayOfMonth*/,
+
7842  0 /*atTimeCode*/,
+
7843  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7844  (0 + 4) /*deltaCode*/,
+
7845  '-' /*letter*/,
+
7846  },
+
7847  // Rule WS 2010 only - Sep lastSun 0:00 1 -
+
7848  {
+
7849  10 /*fromYearTiny*/,
+
7850  10 /*toYearTiny*/,
+
7851  9 /*inMonth*/,
+
7852  7 /*onDayOfWeek*/,
+
7853  0 /*onDayOfMonth*/,
+
7854  0 /*atTimeCode*/,
+
7855  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7856  (4 + 4) /*deltaCode*/,
+
7857  '-' /*letter*/,
+
7858  },
+
7859  // Rule WS 2011 only - Apr Sat>=1 4:00 0 -
+
7860  {
+
7861  11 /*fromYearTiny*/,
+
7862  11 /*toYearTiny*/,
+
7863  4 /*inMonth*/,
+
7864  6 /*onDayOfWeek*/,
+
7865  1 /*onDayOfMonth*/,
+
7866  16 /*atTimeCode*/,
+
7867  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7868  (0 + 4) /*deltaCode*/,
+
7869  '-' /*letter*/,
+
7870  },
+
7871  // Rule WS 2011 only - Sep lastSat 3:00 1 -
+
7872  {
+
7873  11 /*fromYearTiny*/,
+
7874  11 /*toYearTiny*/,
+
7875  9 /*inMonth*/,
+
7876  6 /*onDayOfWeek*/,
+
7877  0 /*onDayOfMonth*/,
+
7878  12 /*atTimeCode*/,
+
7879  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7880  (4 + 4) /*deltaCode*/,
+
7881  '-' /*letter*/,
+
7882  },
+
7883  // Rule WS 2012 max - Apr Sun>=1 4:00 0 -
+
7884  {
+
7885  12 /*fromYearTiny*/,
+
7886  126 /*toYearTiny*/,
+
7887  4 /*inMonth*/,
+
7888  7 /*onDayOfWeek*/,
+
7889  1 /*onDayOfMonth*/,
+
7890  16 /*atTimeCode*/,
+
7891  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7892  (0 + 4) /*deltaCode*/,
+
7893  '-' /*letter*/,
+
7894  },
+
7895  // Rule WS 2012 max - Sep lastSun 3:00 1 -
+
7896  {
+
7897  12 /*fromYearTiny*/,
+
7898  126 /*toYearTiny*/,
+
7899  9 /*inMonth*/,
+
7900  7 /*onDayOfWeek*/,
+
7901  0 /*onDayOfMonth*/,
+
7902  12 /*atTimeCode*/,
+
7903  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7904  (4 + 4) /*deltaCode*/,
+
7905  '-' /*letter*/,
+
7906  },
+
7907 
+
7908 };
+
7909 
+
7910 
+
7911 
+
7912 const extended::ZonePolicy kPolicyWS ACE_TIME_PROGMEM = {
+
7913  kZoneRulesWS /*rules*/,
+
7914  nullptr /* letters */,
+
7915  6 /*numRules*/,
+
7916  0 /* numLetters */,
+
7917 };
+
7918 
+
7919 //---------------------------------------------------------------------------
+
7920 // Policy name: Winn
+
7921 // Rules: 3
+
7922 // Memory (8-bit): 33
+
7923 // Memory (32-bit): 48
+
7924 //---------------------------------------------------------------------------
+
7925 
+
7926 static const extended::ZoneRule kZoneRulesWinn[] ACE_TIME_PROGMEM = {
+
7927  // Rule Winn 1966 1986 - Apr lastSun 2:00s 1:00 D
+
7928  {
+
7929  -34 /*fromYearTiny*/,
+
7930  -14 /*toYearTiny*/,
+
7931  4 /*inMonth*/,
+
7932  7 /*onDayOfWeek*/,
+
7933  0 /*onDayOfMonth*/,
+
7934  8 /*atTimeCode*/,
+
7935  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7936  (4 + 4) /*deltaCode*/,
+
7937  'D' /*letter*/,
+
7938  },
+
7939  // Rule Winn 1966 2005 - Oct lastSun 2:00s 0 S
+
7940  {
+
7941  -34 /*fromYearTiny*/,
+
7942  5 /*toYearTiny*/,
+
7943  10 /*inMonth*/,
+
7944  7 /*onDayOfWeek*/,
+
7945  0 /*onDayOfMonth*/,
+
7946  8 /*atTimeCode*/,
+
7947  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7948  (0 + 4) /*deltaCode*/,
+
7949  'S' /*letter*/,
+
7950  },
+
7951  // Rule Winn 1987 2005 - Apr Sun>=1 2:00s 1:00 D
+
7952  {
+
7953  -13 /*fromYearTiny*/,
+
7954  5 /*toYearTiny*/,
+
7955  4 /*inMonth*/,
+
7956  7 /*onDayOfWeek*/,
+
7957  1 /*onDayOfMonth*/,
+
7958  8 /*atTimeCode*/,
+
7959  extended::ZoneContext::kSuffixS /*atTimeModifier*/,
+
7960  (4 + 4) /*deltaCode*/,
+
7961  'D' /*letter*/,
+
7962  },
+
7963 
+
7964 };
+
7965 
+
7966 
+
7967 
+
7968 const extended::ZonePolicy kPolicyWinn ACE_TIME_PROGMEM = {
+
7969  kZoneRulesWinn /*rules*/,
+
7970  nullptr /* letters */,
+
7971  3 /*numRules*/,
+
7972  0 /* numLetters */,
+
7973 };
+
7974 
+
7975 //---------------------------------------------------------------------------
+
7976 // Policy name: Zion
+
7977 // Rules: 24
+
7978 // Memory (8-bit): 222
+
7979 // Memory (32-bit): 300
+
7980 //---------------------------------------------------------------------------
+
7981 
+
7982 static const extended::ZoneRule kZoneRulesZion[] ACE_TIME_PROGMEM = {
+
7983  // Rule Zion 1998 only - Sep 6 0:00 0 S
+
7984  {
+
7985  -2 /*fromYearTiny*/,
+
7986  -2 /*toYearTiny*/,
+
7987  9 /*inMonth*/,
+
7988  0 /*onDayOfWeek*/,
+
7989  6 /*onDayOfMonth*/,
+
7990  0 /*atTimeCode*/,
+
7991  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
7992  (0 + 4) /*deltaCode*/,
+
7993  'S' /*letter*/,
+
7994  },
+
7995  // Rule Zion 1999 only - Apr 2 2:00 1:00 D
+
7996  {
+
7997  -1 /*fromYearTiny*/,
+
7998  -1 /*toYearTiny*/,
+
7999  4 /*inMonth*/,
+
8000  0 /*onDayOfWeek*/,
+
8001  2 /*onDayOfMonth*/,
+
8002  8 /*atTimeCode*/,
+
8003  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8004  (4 + 4) /*deltaCode*/,
+
8005  'D' /*letter*/,
+
8006  },
+
8007  // Rule Zion 1999 only - Sep 3 2:00 0 S
+
8008  {
+
8009  -1 /*fromYearTiny*/,
+
8010  -1 /*toYearTiny*/,
+
8011  9 /*inMonth*/,
+
8012  0 /*onDayOfWeek*/,
+
8013  3 /*onDayOfMonth*/,
+
8014  8 /*atTimeCode*/,
+
8015  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8016  (0 + 4) /*deltaCode*/,
+
8017  'S' /*letter*/,
+
8018  },
+
8019  // Rule Zion 2000 only - Apr 14 2:00 1:00 D
+
8020  {
+
8021  0 /*fromYearTiny*/,
+
8022  0 /*toYearTiny*/,
+
8023  4 /*inMonth*/,
+
8024  0 /*onDayOfWeek*/,
+
8025  14 /*onDayOfMonth*/,
+
8026  8 /*atTimeCode*/,
+
8027  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8028  (4 + 4) /*deltaCode*/,
+
8029  'D' /*letter*/,
+
8030  },
+
8031  // Rule Zion 2000 only - Oct 6 1:00 0 S
+
8032  {
+
8033  0 /*fromYearTiny*/,
+
8034  0 /*toYearTiny*/,
+
8035  10 /*inMonth*/,
+
8036  0 /*onDayOfWeek*/,
+
8037  6 /*onDayOfMonth*/,
+
8038  4 /*atTimeCode*/,
+
8039  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8040  (0 + 4) /*deltaCode*/,
+
8041  'S' /*letter*/,
+
8042  },
+
8043  // Rule Zion 2001 only - Apr 9 1:00 1:00 D
+
8044  {
+
8045  1 /*fromYearTiny*/,
+
8046  1 /*toYearTiny*/,
+
8047  4 /*inMonth*/,
+
8048  0 /*onDayOfWeek*/,
+
8049  9 /*onDayOfMonth*/,
+
8050  4 /*atTimeCode*/,
+
8051  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8052  (4 + 4) /*deltaCode*/,
+
8053  'D' /*letter*/,
+
8054  },
+
8055  // Rule Zion 2001 only - Sep 24 1:00 0 S
+
8056  {
+
8057  1 /*fromYearTiny*/,
+
8058  1 /*toYearTiny*/,
+
8059  9 /*inMonth*/,
+
8060  0 /*onDayOfWeek*/,
+
8061  24 /*onDayOfMonth*/,
+
8062  4 /*atTimeCode*/,
+
8063  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8064  (0 + 4) /*deltaCode*/,
+
8065  'S' /*letter*/,
+
8066  },
+
8067  // Rule Zion 2002 only - Mar 29 1:00 1:00 D
+
8068  {
+
8069  2 /*fromYearTiny*/,
+
8070  2 /*toYearTiny*/,
+
8071  3 /*inMonth*/,
+
8072  0 /*onDayOfWeek*/,
+
8073  29 /*onDayOfMonth*/,
+
8074  4 /*atTimeCode*/,
+
8075  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8076  (4 + 4) /*deltaCode*/,
+
8077  'D' /*letter*/,
+
8078  },
+
8079  // Rule Zion 2002 only - Oct 7 1:00 0 S
+
8080  {
+
8081  2 /*fromYearTiny*/,
+
8082  2 /*toYearTiny*/,
+
8083  10 /*inMonth*/,
+
8084  0 /*onDayOfWeek*/,
+
8085  7 /*onDayOfMonth*/,
+
8086  4 /*atTimeCode*/,
+
8087  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8088  (0 + 4) /*deltaCode*/,
+
8089  'S' /*letter*/,
+
8090  },
+
8091  // Rule Zion 2003 only - Mar 28 1:00 1:00 D
+
8092  {
+
8093  3 /*fromYearTiny*/,
+
8094  3 /*toYearTiny*/,
+
8095  3 /*inMonth*/,
+
8096  0 /*onDayOfWeek*/,
+
8097  28 /*onDayOfMonth*/,
+
8098  4 /*atTimeCode*/,
+
8099  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8100  (4 + 4) /*deltaCode*/,
+
8101  'D' /*letter*/,
+
8102  },
+
8103  // Rule Zion 2003 only - Oct 3 1:00 0 S
+
8104  {
+
8105  3 /*fromYearTiny*/,
+
8106  3 /*toYearTiny*/,
+
8107  10 /*inMonth*/,
+
8108  0 /*onDayOfWeek*/,
+
8109  3 /*onDayOfMonth*/,
+
8110  4 /*atTimeCode*/,
+
8111  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8112  (0 + 4) /*deltaCode*/,
+
8113  'S' /*letter*/,
+
8114  },
+
8115  // Rule Zion 2004 only - Apr 7 1:00 1:00 D
+
8116  {
+
8117  4 /*fromYearTiny*/,
+
8118  4 /*toYearTiny*/,
+
8119  4 /*inMonth*/,
+
8120  0 /*onDayOfWeek*/,
+
8121  7 /*onDayOfMonth*/,
+
8122  4 /*atTimeCode*/,
+
8123  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8124  (4 + 4) /*deltaCode*/,
+
8125  'D' /*letter*/,
+
8126  },
+
8127  // Rule Zion 2004 only - Sep 22 1:00 0 S
+
8128  {
+
8129  4 /*fromYearTiny*/,
+
8130  4 /*toYearTiny*/,
+
8131  9 /*inMonth*/,
+
8132  0 /*onDayOfWeek*/,
+
8133  22 /*onDayOfMonth*/,
+
8134  4 /*atTimeCode*/,
+
8135  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8136  (0 + 4) /*deltaCode*/,
+
8137  'S' /*letter*/,
+
8138  },
+
8139  // Rule Zion 2005 2012 - Apr Fri<=1 2:00 1:00 D
+
8140  {
+
8141  5 /*fromYearTiny*/,
+
8142  12 /*toYearTiny*/,
+
8143  4 /*inMonth*/,
+
8144  5 /*onDayOfWeek*/,
+
8145  -1 /*onDayOfMonth*/,
+
8146  8 /*atTimeCode*/,
+
8147  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8148  (4 + 4) /*deltaCode*/,
+
8149  'D' /*letter*/,
+
8150  },
+
8151  // Rule Zion 2005 only - Oct 9 2:00 0 S
+
8152  {
+
8153  5 /*fromYearTiny*/,
+
8154  5 /*toYearTiny*/,
+
8155  10 /*inMonth*/,
+
8156  0 /*onDayOfWeek*/,
+
8157  9 /*onDayOfMonth*/,
+
8158  8 /*atTimeCode*/,
+
8159  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8160  (0 + 4) /*deltaCode*/,
+
8161  'S' /*letter*/,
+
8162  },
+
8163  // Rule Zion 2006 only - Oct 1 2:00 0 S
+
8164  {
+
8165  6 /*fromYearTiny*/,
+
8166  6 /*toYearTiny*/,
+
8167  10 /*inMonth*/,
+
8168  0 /*onDayOfWeek*/,
+
8169  1 /*onDayOfMonth*/,
+
8170  8 /*atTimeCode*/,
+
8171  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8172  (0 + 4) /*deltaCode*/,
+
8173  'S' /*letter*/,
+
8174  },
+
8175  // Rule Zion 2007 only - Sep 16 2:00 0 S
+
8176  {
+
8177  7 /*fromYearTiny*/,
+
8178  7 /*toYearTiny*/,
+
8179  9 /*inMonth*/,
+
8180  0 /*onDayOfWeek*/,
+
8181  16 /*onDayOfMonth*/,
+
8182  8 /*atTimeCode*/,
+
8183  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8184  (0 + 4) /*deltaCode*/,
+
8185  'S' /*letter*/,
+
8186  },
+
8187  // Rule Zion 2008 only - Oct 5 2:00 0 S
+
8188  {
+
8189  8 /*fromYearTiny*/,
+
8190  8 /*toYearTiny*/,
+
8191  10 /*inMonth*/,
+
8192  0 /*onDayOfWeek*/,
+
8193  5 /*onDayOfMonth*/,
+
8194  8 /*atTimeCode*/,
+
8195  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8196  (0 + 4) /*deltaCode*/,
+
8197  'S' /*letter*/,
+
8198  },
+
8199  // Rule Zion 2009 only - Sep 27 2:00 0 S
+
8200  {
+
8201  9 /*fromYearTiny*/,
+
8202  9 /*toYearTiny*/,
+
8203  9 /*inMonth*/,
+
8204  0 /*onDayOfWeek*/,
+
8205  27 /*onDayOfMonth*/,
+
8206  8 /*atTimeCode*/,
+
8207  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8208  (0 + 4) /*deltaCode*/,
+
8209  'S' /*letter*/,
+
8210  },
+
8211  // Rule Zion 2010 only - Sep 12 2:00 0 S
+
8212  {
+
8213  10 /*fromYearTiny*/,
+
8214  10 /*toYearTiny*/,
+
8215  9 /*inMonth*/,
+
8216  0 /*onDayOfWeek*/,
+
8217  12 /*onDayOfMonth*/,
+
8218  8 /*atTimeCode*/,
+
8219  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8220  (0 + 4) /*deltaCode*/,
+
8221  'S' /*letter*/,
+
8222  },
+
8223  // Rule Zion 2011 only - Oct 2 2:00 0 S
+
8224  {
+
8225  11 /*fromYearTiny*/,
+
8226  11 /*toYearTiny*/,
+
8227  10 /*inMonth*/,
+
8228  0 /*onDayOfWeek*/,
+
8229  2 /*onDayOfMonth*/,
+
8230  8 /*atTimeCode*/,
+
8231  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8232  (0 + 4) /*deltaCode*/,
+
8233  'S' /*letter*/,
+
8234  },
+
8235  // Rule Zion 2012 only - Sep 23 2:00 0 S
+
8236  {
+
8237  12 /*fromYearTiny*/,
+
8238  12 /*toYearTiny*/,
+
8239  9 /*inMonth*/,
+
8240  0 /*onDayOfWeek*/,
+
8241  23 /*onDayOfMonth*/,
+
8242  8 /*atTimeCode*/,
+
8243  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8244  (0 + 4) /*deltaCode*/,
+
8245  'S' /*letter*/,
+
8246  },
+
8247  // Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D
+
8248  {
+
8249  13 /*fromYearTiny*/,
+
8250  126 /*toYearTiny*/,
+
8251  3 /*inMonth*/,
+
8252  5 /*onDayOfWeek*/,
+
8253  23 /*onDayOfMonth*/,
+
8254  8 /*atTimeCode*/,
+
8255  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8256  (4 + 4) /*deltaCode*/,
+
8257  'D' /*letter*/,
+
8258  },
+
8259  // Rule Zion 2013 max - Oct lastSun 2:00 0 S
+
8260  {
+
8261  13 /*fromYearTiny*/,
+
8262  126 /*toYearTiny*/,
+
8263  10 /*inMonth*/,
+
8264  7 /*onDayOfWeek*/,
+
8265  0 /*onDayOfMonth*/,
+
8266  8 /*atTimeCode*/,
+
8267  extended::ZoneContext::kSuffixW /*atTimeModifier*/,
+
8268  (0 + 4) /*deltaCode*/,
+
8269  'S' /*letter*/,
+
8270  },
+
8271 
+
8272 };
+
8273 
+
8274 
+
8275 
+
8276 const extended::ZonePolicy kPolicyZion ACE_TIME_PROGMEM = {
+
8277  kZoneRulesZion /*rules*/,
+
8278  nullptr /* letters */,
+
8279  24 /*numRules*/,
+
8280  0 /* numLetters */,
+
8281 };
+
8282 
+
8283 
+
8284 
+
8285 }
+
8286 }
+ diff --git a/docs/html/_2zone__policies_8h_source.html b/docs/html/_2zone__policies_8h_source.html index 5f3859bff..e29daefcc 100644 --- a/docs/html/_2zone__policies_8h_source.html +++ b/docs/html/_2zone__policies_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx/zone_policies.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx/zone_policies.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
zone_policies.h
-
1 // This file was generated by the following script:
2 //
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
4 //
5 // using the TZ Database files
6 //
7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
8 //
9 // from https://github.com/eggert/tz/releases/tag/2020a
10 //
11 // DO NOT EDIT
12 
13 #ifndef ACE_TIME_ZONEDBX_ZONE_POLICIES_H
14 #define ACE_TIME_ZONEDBX_ZONE_POLICIES_H
15 
16 #include <ace_time/internal/ZonePolicy.h>
17 
18 namespace ace_time {
19 namespace zonedbx {
20 
21 //---------------------------------------------------------------------------
22 // Supported zone policies: 84
23 //
24 extern const extended::ZonePolicy kPolicyAN;
25 extern const extended::ZonePolicy kPolicyAQ;
26 extern const extended::ZonePolicy kPolicyAS;
27 extern const extended::ZonePolicy kPolicyAT;
28 extern const extended::ZonePolicy kPolicyAV;
29 extern const extended::ZonePolicy kPolicyAW;
30 extern const extended::ZonePolicy kPolicyArg;
31 extern const extended::ZonePolicy kPolicyArmenia;
32 extern const extended::ZonePolicy kPolicyAus;
33 extern const extended::ZonePolicy kPolicyAzer;
34 extern const extended::ZonePolicy kPolicyBarb;
35 extern const extended::ZonePolicy kPolicyBelize;
36 extern const extended::ZonePolicy kPolicyBrazil;
37 extern const extended::ZonePolicy kPolicyC_Eur;
38 extern const extended::ZonePolicy kPolicyCO;
39 extern const extended::ZonePolicy kPolicyCR;
40 extern const extended::ZonePolicy kPolicyCanada;
41 extern const extended::ZonePolicy kPolicyChatham;
42 extern const extended::ZonePolicy kPolicyChile;
43 extern const extended::ZonePolicy kPolicyCook;
44 extern const extended::ZonePolicy kPolicyCuba;
45 extern const extended::ZonePolicy kPolicyDhaka;
46 extern const extended::ZonePolicy kPolicyE_EurAsia;
47 extern const extended::ZonePolicy kPolicyEU;
48 extern const extended::ZonePolicy kPolicyEUAsia;
49 extern const extended::ZonePolicy kPolicyEcuador;
50 extern const extended::ZonePolicy kPolicyEgypt;
51 extern const extended::ZonePolicy kPolicyEire;
52 extern const extended::ZonePolicy kPolicyFalk;
53 extern const extended::ZonePolicy kPolicyFiji;
54 extern const extended::ZonePolicy kPolicyGhana;
55 extern const extended::ZonePolicy kPolicyGuam;
56 extern const extended::ZonePolicy kPolicyGuat;
57 extern const extended::ZonePolicy kPolicyHK;
58 extern const extended::ZonePolicy kPolicyHaiti;
59 extern const extended::ZonePolicy kPolicyHoliday;
60 extern const extended::ZonePolicy kPolicyHond;
61 extern const extended::ZonePolicy kPolicyIran;
62 extern const extended::ZonePolicy kPolicyIraq;
63 extern const extended::ZonePolicy kPolicyJapan;
64 extern const extended::ZonePolicy kPolicyJordan;
65 extern const extended::ZonePolicy kPolicyKyrgyz;
66 extern const extended::ZonePolicy kPolicyLH;
67 extern const extended::ZonePolicy kPolicyLebanon;
68 extern const extended::ZonePolicy kPolicyLibya;
69 extern const extended::ZonePolicy kPolicyMacau;
70 extern const extended::ZonePolicy kPolicyMauritius;
71 extern const extended::ZonePolicy kPolicyMexico;
72 extern const extended::ZonePolicy kPolicyMoldova;
73 extern const extended::ZonePolicy kPolicyMoncton;
74 extern const extended::ZonePolicy kPolicyMongol;
75 extern const extended::ZonePolicy kPolicyMorocco;
76 extern const extended::ZonePolicy kPolicyNC;
77 extern const extended::ZonePolicy kPolicyNT_YK;
78 extern const extended::ZonePolicy kPolicyNZ;
79 extern const extended::ZonePolicy kPolicyNamibia;
80 extern const extended::ZonePolicy kPolicyNic;
81 extern const extended::ZonePolicy kPolicyPRC;
82 extern const extended::ZonePolicy kPolicyPakistan;
83 extern const extended::ZonePolicy kPolicyPalestine;
84 extern const extended::ZonePolicy kPolicyPara;
85 extern const extended::ZonePolicy kPolicyPeru;
86 extern const extended::ZonePolicy kPolicyPhil;
87 extern const extended::ZonePolicy kPolicyROK;
88 extern const extended::ZonePolicy kPolicyRussia;
89 extern const extended::ZonePolicy kPolicyRussiaAsia;
90 extern const extended::ZonePolicy kPolicySA;
91 extern const extended::ZonePolicy kPolicySalv;
92 extern const extended::ZonePolicy kPolicySanLuis;
93 extern const extended::ZonePolicy kPolicyStJohns;
94 extern const extended::ZonePolicy kPolicySudan;
95 extern const extended::ZonePolicy kPolicySyria;
96 extern const extended::ZonePolicy kPolicyTaiwan;
97 extern const extended::ZonePolicy kPolicyThule;
98 extern const extended::ZonePolicy kPolicyTonga;
99 extern const extended::ZonePolicy kPolicyTroll;
100 extern const extended::ZonePolicy kPolicyTunisia;
101 extern const extended::ZonePolicy kPolicyTurkey;
102 extern const extended::ZonePolicy kPolicyUS;
103 extern const extended::ZonePolicy kPolicyUruguay;
104 extern const extended::ZonePolicy kPolicyVanuatu;
105 extern const extended::ZonePolicy kPolicyWS;
106 extern const extended::ZonePolicy kPolicyWinn;
107 extern const extended::ZonePolicy kPolicyZion;
108 
109 
110 //---------------------------------------------------------------------------
111 // Unsupported zone policies: 55
112 //
113 // kPolicyAlbania (unused)
114 // kPolicyAlgeria (unused)
115 // kPolicyAustria (unused)
116 // kPolicyBahamas (unused)
117 // kPolicyBelgium (unused)
118 // kPolicyBulg (unused)
119 // kPolicyCA (unused)
120 // kPolicyChicago (unused)
121 // kPolicyCyprus (unused)
122 // kPolicyCzech (unused)
123 // kPolicyDR (unused)
124 // kPolicyDenmark (unused)
125 // kPolicyDenver (unused)
126 // kPolicyDetroit (unused)
127 // kPolicyE-Eur (unused)
128 // kPolicyEdm (unused)
129 // kPolicyEgyptAsia (unused)
130 // kPolicyFinland (unused)
131 // kPolicyFrance (unused)
132 // kPolicyGB-Eire (unused)
133 // kPolicyGermany (unused)
134 // kPolicyGreece (unused)
135 // kPolicyHalifax (unused)
136 // kPolicyHungary (unused)
137 // kPolicyIceland (unused)
138 // kPolicyIndianapolis (unused)
139 // kPolicyItaly (unused)
140 // kPolicyLatvia (unused)
141 // kPolicyLouisville (unused)
142 // kPolicyLux (unused)
143 // kPolicyMalta (unused)
144 // kPolicyMarengo (unused)
145 // kPolicyMenominee (unused)
146 // kPolicyNBorneo (unused)
147 // kPolicyNYC (unused)
148 // kPolicyNeth (unused)
149 // kPolicyNorway (unused)
150 // kPolicyPerry (unused)
151 // kPolicyPike (unused)
152 // kPolicyPoland (unused)
153 // kPolicyPort (unused)
154 // kPolicyPulaski (unused)
155 // kPolicyRegina (unused)
156 // kPolicyRomania (unused)
157 // kPolicyShang (unused)
158 // kPolicySovietZone (unused)
159 // kPolicySpain (unused)
160 // kPolicySpainAfrica (unused)
161 // kPolicyStarke (unused)
162 // kPolicySwift (unused)
163 // kPolicySwiss (unused)
164 // kPolicyToronto (unused)
165 // kPolicyVanc (unused)
166 // kPolicyVincennes (unused)
167 // kPolicyW-Eur (unused)
168 
169 
170 // Notable zone policies: 0
171 //
172 
173 
174 }
175 }
176 
177 #endif
+
1 // This file was generated by the following script:
+
2 //
+
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
+
4 //
+
5 // using the TZ Database files
+
6 //
+
7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
+
8 //
+
9 // from https://github.com/eggert/tz/releases/tag/2020c
+
10 //
+
11 // DO NOT EDIT
+
12 
+
13 #ifndef ACE_TIME_ZONEDBX_ZONE_POLICIES_H
+
14 #define ACE_TIME_ZONEDBX_ZONE_POLICIES_H
+
15 
+
16 #include <ace_time/internal/ZonePolicy.h>
+
17 
+
18 namespace ace_time {
+
19 namespace zonedbx {
+
20 
+
21 //---------------------------------------------------------------------------
+
22 // Supported zone policies: 84
+
23 //
+
24 extern const extended::ZonePolicy kPolicyAN;
+
25 extern const extended::ZonePolicy kPolicyAQ;
+
26 extern const extended::ZonePolicy kPolicyAS;
+
27 extern const extended::ZonePolicy kPolicyAT;
+
28 extern const extended::ZonePolicy kPolicyAV;
+
29 extern const extended::ZonePolicy kPolicyAW;
+
30 extern const extended::ZonePolicy kPolicyArg;
+
31 extern const extended::ZonePolicy kPolicyArmenia;
+
32 extern const extended::ZonePolicy kPolicyAus;
+
33 extern const extended::ZonePolicy kPolicyAzer;
+
34 extern const extended::ZonePolicy kPolicyBarb;
+
35 extern const extended::ZonePolicy kPolicyBelize;
+
36 extern const extended::ZonePolicy kPolicyBrazil;
+
37 extern const extended::ZonePolicy kPolicyC_Eur;
+
38 extern const extended::ZonePolicy kPolicyCO;
+
39 extern const extended::ZonePolicy kPolicyCR;
+
40 extern const extended::ZonePolicy kPolicyCanada;
+
41 extern const extended::ZonePolicy kPolicyChatham;
+
42 extern const extended::ZonePolicy kPolicyChile;
+
43 extern const extended::ZonePolicy kPolicyCook;
+
44 extern const extended::ZonePolicy kPolicyCuba;
+
45 extern const extended::ZonePolicy kPolicyDhaka;
+
46 extern const extended::ZonePolicy kPolicyE_EurAsia;
+
47 extern const extended::ZonePolicy kPolicyEU;
+
48 extern const extended::ZonePolicy kPolicyEUAsia;
+
49 extern const extended::ZonePolicy kPolicyEcuador;
+
50 extern const extended::ZonePolicy kPolicyEgypt;
+
51 extern const extended::ZonePolicy kPolicyEire;
+
52 extern const extended::ZonePolicy kPolicyFalk;
+
53 extern const extended::ZonePolicy kPolicyFiji;
+
54 extern const extended::ZonePolicy kPolicyGhana;
+
55 extern const extended::ZonePolicy kPolicyGuam;
+
56 extern const extended::ZonePolicy kPolicyGuat;
+
57 extern const extended::ZonePolicy kPolicyHK;
+
58 extern const extended::ZonePolicy kPolicyHaiti;
+
59 extern const extended::ZonePolicy kPolicyHoliday;
+
60 extern const extended::ZonePolicy kPolicyHond;
+
61 extern const extended::ZonePolicy kPolicyIran;
+
62 extern const extended::ZonePolicy kPolicyIraq;
+
63 extern const extended::ZonePolicy kPolicyJapan;
+
64 extern const extended::ZonePolicy kPolicyJordan;
+
65 extern const extended::ZonePolicy kPolicyKyrgyz;
+
66 extern const extended::ZonePolicy kPolicyLH;
+
67 extern const extended::ZonePolicy kPolicyLebanon;
+
68 extern const extended::ZonePolicy kPolicyLibya;
+
69 extern const extended::ZonePolicy kPolicyMacau;
+
70 extern const extended::ZonePolicy kPolicyMauritius;
+
71 extern const extended::ZonePolicy kPolicyMexico;
+
72 extern const extended::ZonePolicy kPolicyMoldova;
+
73 extern const extended::ZonePolicy kPolicyMoncton;
+
74 extern const extended::ZonePolicy kPolicyMongol;
+
75 extern const extended::ZonePolicy kPolicyMorocco;
+
76 extern const extended::ZonePolicy kPolicyNC;
+
77 extern const extended::ZonePolicy kPolicyNT_YK;
+
78 extern const extended::ZonePolicy kPolicyNZ;
+
79 extern const extended::ZonePolicy kPolicyNamibia;
+
80 extern const extended::ZonePolicy kPolicyNic;
+
81 extern const extended::ZonePolicy kPolicyPRC;
+
82 extern const extended::ZonePolicy kPolicyPakistan;
+
83 extern const extended::ZonePolicy kPolicyPalestine;
+
84 extern const extended::ZonePolicy kPolicyPara;
+
85 extern const extended::ZonePolicy kPolicyPeru;
+
86 extern const extended::ZonePolicy kPolicyPhil;
+
87 extern const extended::ZonePolicy kPolicyROK;
+
88 extern const extended::ZonePolicy kPolicyRussia;
+
89 extern const extended::ZonePolicy kPolicyRussiaAsia;
+
90 extern const extended::ZonePolicy kPolicySA;
+
91 extern const extended::ZonePolicy kPolicySalv;
+
92 extern const extended::ZonePolicy kPolicySanLuis;
+
93 extern const extended::ZonePolicy kPolicyStJohns;
+
94 extern const extended::ZonePolicy kPolicySudan;
+
95 extern const extended::ZonePolicy kPolicySyria;
+
96 extern const extended::ZonePolicy kPolicyTaiwan;
+
97 extern const extended::ZonePolicy kPolicyThule;
+
98 extern const extended::ZonePolicy kPolicyTonga;
+
99 extern const extended::ZonePolicy kPolicyTroll;
+
100 extern const extended::ZonePolicy kPolicyTunisia;
+
101 extern const extended::ZonePolicy kPolicyTurkey;
+
102 extern const extended::ZonePolicy kPolicyUS;
+
103 extern const extended::ZonePolicy kPolicyUruguay;
+
104 extern const extended::ZonePolicy kPolicyVanuatu;
+
105 extern const extended::ZonePolicy kPolicyWS;
+
106 extern const extended::ZonePolicy kPolicyWinn;
+
107 extern const extended::ZonePolicy kPolicyZion;
+
108 
+
109 
+
110 //---------------------------------------------------------------------------
+
111 // Unsupported zone policies: 55
+
112 //
+
113 // kPolicyAlbania (unused)
+
114 // kPolicyAlgeria (unused)
+
115 // kPolicyAustria (unused)
+
116 // kPolicyBahamas (unused)
+
117 // kPolicyBelgium (unused)
+
118 // kPolicyBulg (unused)
+
119 // kPolicyCA (unused)
+
120 // kPolicyChicago (unused)
+
121 // kPolicyCyprus (unused)
+
122 // kPolicyCzech (unused)
+
123 // kPolicyDR (unused)
+
124 // kPolicyDenmark (unused)
+
125 // kPolicyDenver (unused)
+
126 // kPolicyDetroit (unused)
+
127 // kPolicyE-Eur (unused)
+
128 // kPolicyEdm (unused)
+
129 // kPolicyEgyptAsia (unused)
+
130 // kPolicyFinland (unused)
+
131 // kPolicyFrance (unused)
+
132 // kPolicyGB-Eire (unused)
+
133 // kPolicyGermany (unused)
+
134 // kPolicyGreece (unused)
+
135 // kPolicyHalifax (unused)
+
136 // kPolicyHungary (unused)
+
137 // kPolicyIceland (unused)
+
138 // kPolicyIndianapolis (unused)
+
139 // kPolicyItaly (unused)
+
140 // kPolicyLatvia (unused)
+
141 // kPolicyLouisville (unused)
+
142 // kPolicyLux (unused)
+
143 // kPolicyMalta (unused)
+
144 // kPolicyMarengo (unused)
+
145 // kPolicyMenominee (unused)
+
146 // kPolicyNBorneo (unused)
+
147 // kPolicyNYC (unused)
+
148 // kPolicyNeth (unused)
+
149 // kPolicyNorway (unused)
+
150 // kPolicyPerry (unused)
+
151 // kPolicyPike (unused)
+
152 // kPolicyPoland (unused)
+
153 // kPolicyPort (unused)
+
154 // kPolicyPulaski (unused)
+
155 // kPolicyRegina (unused)
+
156 // kPolicyRomania (unused)
+
157 // kPolicyShang (unused)
+
158 // kPolicySovietZone (unused)
+
159 // kPolicySpain (unused)
+
160 // kPolicySpainAfrica (unused)
+
161 // kPolicyStarke (unused)
+
162 // kPolicySwift (unused)
+
163 // kPolicySwiss (unused)
+
164 // kPolicyToronto (unused)
+
165 // kPolicyVanc (unused)
+
166 // kPolicyVincennes (unused)
+
167 // kPolicyW-Eur (unused)
+
168 
+
169 
+
170 // Notable zone policies: 0
+
171 //
+
172 
+
173 
+
174 }
+
175 }
+
176 
+
177 #endif
diff --git a/docs/html/_2zone__registry_8cpp_source.html b/docs/html/_2zone__registry_8cpp_source.html index deadfe998..49c7dd5c2 100644 --- a/docs/html/_2zone__registry_8cpp_source.html +++ b/docs/html/_2zone__registry_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx/zone_registry.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx/zone_registry.cpp Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
zone_registry.cpp
-
1 // This file was generated by the following script:
2 //
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
4 //
5 // using the TZ Database files from
6 // https://github.com/eggert/tz/releases/tag/2020a
7 //
8 // DO NOT EDIT
9 
10 #include <ace_time/common/compat.h>
11 #include "zone_infos.h"
12 #include "zone_registry.h"
13 
14 namespace ace_time {
15 namespace zonedbx {
16 
17 //---------------------------------------------------------------------------
18 // Zone registry. Sorted by zone name.
19 //---------------------------------------------------------------------------
20 const extended::ZoneInfo* const kZoneRegistry[387] ACE_TIME_PROGMEM = {
21  &kZoneAfrica_Abidjan, // Africa/Abidjan
22  &kZoneAfrica_Accra, // Africa/Accra
23  &kZoneAfrica_Algiers, // Africa/Algiers
24  &kZoneAfrica_Bissau, // Africa/Bissau
25  &kZoneAfrica_Cairo, // Africa/Cairo
26  &kZoneAfrica_Casablanca, // Africa/Casablanca
27  &kZoneAfrica_Ceuta, // Africa/Ceuta
28  &kZoneAfrica_El_Aaiun, // Africa/El_Aaiun
29  &kZoneAfrica_Johannesburg, // Africa/Johannesburg
30  &kZoneAfrica_Juba, // Africa/Juba
31  &kZoneAfrica_Khartoum, // Africa/Khartoum
32  &kZoneAfrica_Lagos, // Africa/Lagos
33  &kZoneAfrica_Maputo, // Africa/Maputo
34  &kZoneAfrica_Monrovia, // Africa/Monrovia
35  &kZoneAfrica_Nairobi, // Africa/Nairobi
36  &kZoneAfrica_Ndjamena, // Africa/Ndjamena
37  &kZoneAfrica_Sao_Tome, // Africa/Sao_Tome
38  &kZoneAfrica_Tripoli, // Africa/Tripoli
39  &kZoneAfrica_Tunis, // Africa/Tunis
40  &kZoneAfrica_Windhoek, // Africa/Windhoek
41  &kZoneAmerica_Adak, // America/Adak
42  &kZoneAmerica_Anchorage, // America/Anchorage
43  &kZoneAmerica_Araguaina, // America/Araguaina
44  &kZoneAmerica_Argentina_Buenos_Aires, // America/Argentina/Buenos_Aires
45  &kZoneAmerica_Argentina_Catamarca, // America/Argentina/Catamarca
46  &kZoneAmerica_Argentina_Cordoba, // America/Argentina/Cordoba
47  &kZoneAmerica_Argentina_Jujuy, // America/Argentina/Jujuy
48  &kZoneAmerica_Argentina_La_Rioja, // America/Argentina/La_Rioja
49  &kZoneAmerica_Argentina_Mendoza, // America/Argentina/Mendoza
50  &kZoneAmerica_Argentina_Rio_Gallegos, // America/Argentina/Rio_Gallegos
51  &kZoneAmerica_Argentina_Salta, // America/Argentina/Salta
52  &kZoneAmerica_Argentina_San_Juan, // America/Argentina/San_Juan
53  &kZoneAmerica_Argentina_San_Luis, // America/Argentina/San_Luis
54  &kZoneAmerica_Argentina_Tucuman, // America/Argentina/Tucuman
55  &kZoneAmerica_Argentina_Ushuaia, // America/Argentina/Ushuaia
56  &kZoneAmerica_Asuncion, // America/Asuncion
57  &kZoneAmerica_Atikokan, // America/Atikokan
58  &kZoneAmerica_Bahia, // America/Bahia
59  &kZoneAmerica_Bahia_Banderas, // America/Bahia_Banderas
60  &kZoneAmerica_Barbados, // America/Barbados
61  &kZoneAmerica_Belem, // America/Belem
62  &kZoneAmerica_Belize, // America/Belize
63  &kZoneAmerica_Blanc_Sablon, // America/Blanc-Sablon
64  &kZoneAmerica_Boa_Vista, // America/Boa_Vista
65  &kZoneAmerica_Bogota, // America/Bogota
66  &kZoneAmerica_Boise, // America/Boise
67  &kZoneAmerica_Cambridge_Bay, // America/Cambridge_Bay
68  &kZoneAmerica_Campo_Grande, // America/Campo_Grande
69  &kZoneAmerica_Cancun, // America/Cancun
70  &kZoneAmerica_Caracas, // America/Caracas
71  &kZoneAmerica_Cayenne, // America/Cayenne
72  &kZoneAmerica_Chicago, // America/Chicago
73  &kZoneAmerica_Chihuahua, // America/Chihuahua
74  &kZoneAmerica_Costa_Rica, // America/Costa_Rica
75  &kZoneAmerica_Creston, // America/Creston
76  &kZoneAmerica_Cuiaba, // America/Cuiaba
77  &kZoneAmerica_Curacao, // America/Curacao
78  &kZoneAmerica_Danmarkshavn, // America/Danmarkshavn
79  &kZoneAmerica_Dawson, // America/Dawson
80  &kZoneAmerica_Dawson_Creek, // America/Dawson_Creek
81  &kZoneAmerica_Denver, // America/Denver
82  &kZoneAmerica_Detroit, // America/Detroit
83  &kZoneAmerica_Edmonton, // America/Edmonton
84  &kZoneAmerica_Eirunepe, // America/Eirunepe
85  &kZoneAmerica_El_Salvador, // America/El_Salvador
86  &kZoneAmerica_Fort_Nelson, // America/Fort_Nelson
87  &kZoneAmerica_Fortaleza, // America/Fortaleza
88  &kZoneAmerica_Glace_Bay, // America/Glace_Bay
89  &kZoneAmerica_Goose_Bay, // America/Goose_Bay
90  &kZoneAmerica_Grand_Turk, // America/Grand_Turk
91  &kZoneAmerica_Guatemala, // America/Guatemala
92  &kZoneAmerica_Guayaquil, // America/Guayaquil
93  &kZoneAmerica_Guyana, // America/Guyana
94  &kZoneAmerica_Halifax, // America/Halifax
95  &kZoneAmerica_Havana, // America/Havana
96  &kZoneAmerica_Hermosillo, // America/Hermosillo
97  &kZoneAmerica_Indiana_Indianapolis, // America/Indiana/Indianapolis
98  &kZoneAmerica_Indiana_Knox, // America/Indiana/Knox
99  &kZoneAmerica_Indiana_Marengo, // America/Indiana/Marengo
100  &kZoneAmerica_Indiana_Petersburg, // America/Indiana/Petersburg
101  &kZoneAmerica_Indiana_Tell_City, // America/Indiana/Tell_City
102  &kZoneAmerica_Indiana_Vevay, // America/Indiana/Vevay
103  &kZoneAmerica_Indiana_Vincennes, // America/Indiana/Vincennes
104  &kZoneAmerica_Indiana_Winamac, // America/Indiana/Winamac
105  &kZoneAmerica_Inuvik, // America/Inuvik
106  &kZoneAmerica_Iqaluit, // America/Iqaluit
107  &kZoneAmerica_Jamaica, // America/Jamaica
108  &kZoneAmerica_Juneau, // America/Juneau
109  &kZoneAmerica_Kentucky_Louisville, // America/Kentucky/Louisville
110  &kZoneAmerica_Kentucky_Monticello, // America/Kentucky/Monticello
111  &kZoneAmerica_La_Paz, // America/La_Paz
112  &kZoneAmerica_Lima, // America/Lima
113  &kZoneAmerica_Los_Angeles, // America/Los_Angeles
114  &kZoneAmerica_Maceio, // America/Maceio
115  &kZoneAmerica_Managua, // America/Managua
116  &kZoneAmerica_Manaus, // America/Manaus
117  &kZoneAmerica_Martinique, // America/Martinique
118  &kZoneAmerica_Matamoros, // America/Matamoros
119  &kZoneAmerica_Mazatlan, // America/Mazatlan
120  &kZoneAmerica_Menominee, // America/Menominee
121  &kZoneAmerica_Merida, // America/Merida
122  &kZoneAmerica_Metlakatla, // America/Metlakatla
123  &kZoneAmerica_Mexico_City, // America/Mexico_City
124  &kZoneAmerica_Miquelon, // America/Miquelon
125  &kZoneAmerica_Moncton, // America/Moncton
126  &kZoneAmerica_Monterrey, // America/Monterrey
127  &kZoneAmerica_Montevideo, // America/Montevideo
128  &kZoneAmerica_Nassau, // America/Nassau
129  &kZoneAmerica_New_York, // America/New_York
130  &kZoneAmerica_Nipigon, // America/Nipigon
131  &kZoneAmerica_Nome, // America/Nome
132  &kZoneAmerica_Noronha, // America/Noronha
133  &kZoneAmerica_North_Dakota_Beulah, // America/North_Dakota/Beulah
134  &kZoneAmerica_North_Dakota_Center, // America/North_Dakota/Center
135  &kZoneAmerica_North_Dakota_New_Salem, // America/North_Dakota/New_Salem
136  &kZoneAmerica_Nuuk, // America/Nuuk
137  &kZoneAmerica_Ojinaga, // America/Ojinaga
138  &kZoneAmerica_Panama, // America/Panama
139  &kZoneAmerica_Pangnirtung, // America/Pangnirtung
140  &kZoneAmerica_Paramaribo, // America/Paramaribo
141  &kZoneAmerica_Phoenix, // America/Phoenix
142  &kZoneAmerica_Port_au_Prince, // America/Port-au-Prince
143  &kZoneAmerica_Port_of_Spain, // America/Port_of_Spain
144  &kZoneAmerica_Porto_Velho, // America/Porto_Velho
145  &kZoneAmerica_Puerto_Rico, // America/Puerto_Rico
146  &kZoneAmerica_Punta_Arenas, // America/Punta_Arenas
147  &kZoneAmerica_Rainy_River, // America/Rainy_River
148  &kZoneAmerica_Rankin_Inlet, // America/Rankin_Inlet
149  &kZoneAmerica_Recife, // America/Recife
150  &kZoneAmerica_Regina, // America/Regina
151  &kZoneAmerica_Resolute, // America/Resolute
152  &kZoneAmerica_Rio_Branco, // America/Rio_Branco
153  &kZoneAmerica_Santarem, // America/Santarem
154  &kZoneAmerica_Santiago, // America/Santiago
155  &kZoneAmerica_Santo_Domingo, // America/Santo_Domingo
156  &kZoneAmerica_Sao_Paulo, // America/Sao_Paulo
157  &kZoneAmerica_Scoresbysund, // America/Scoresbysund
158  &kZoneAmerica_Sitka, // America/Sitka
159  &kZoneAmerica_St_Johns, // America/St_Johns
160  &kZoneAmerica_Swift_Current, // America/Swift_Current
161  &kZoneAmerica_Tegucigalpa, // America/Tegucigalpa
162  &kZoneAmerica_Thule, // America/Thule
163  &kZoneAmerica_Thunder_Bay, // America/Thunder_Bay
164  &kZoneAmerica_Tijuana, // America/Tijuana
165  &kZoneAmerica_Toronto, // America/Toronto
166  &kZoneAmerica_Vancouver, // America/Vancouver
167  &kZoneAmerica_Whitehorse, // America/Whitehorse
168  &kZoneAmerica_Winnipeg, // America/Winnipeg
169  &kZoneAmerica_Yakutat, // America/Yakutat
170  &kZoneAmerica_Yellowknife, // America/Yellowknife
171  &kZoneAntarctica_Casey, // Antarctica/Casey
172  &kZoneAntarctica_Davis, // Antarctica/Davis
173  &kZoneAntarctica_DumontDUrville, // Antarctica/DumontDUrville
174  &kZoneAntarctica_Macquarie, // Antarctica/Macquarie
175  &kZoneAntarctica_Mawson, // Antarctica/Mawson
176  &kZoneAntarctica_Palmer, // Antarctica/Palmer
177  &kZoneAntarctica_Rothera, // Antarctica/Rothera
178  &kZoneAntarctica_Syowa, // Antarctica/Syowa
179  &kZoneAntarctica_Troll, // Antarctica/Troll
180  &kZoneAntarctica_Vostok, // Antarctica/Vostok
181  &kZoneAsia_Almaty, // Asia/Almaty
182  &kZoneAsia_Amman, // Asia/Amman
183  &kZoneAsia_Anadyr, // Asia/Anadyr
184  &kZoneAsia_Aqtau, // Asia/Aqtau
185  &kZoneAsia_Aqtobe, // Asia/Aqtobe
186  &kZoneAsia_Ashgabat, // Asia/Ashgabat
187  &kZoneAsia_Atyrau, // Asia/Atyrau
188  &kZoneAsia_Baghdad, // Asia/Baghdad
189  &kZoneAsia_Baku, // Asia/Baku
190  &kZoneAsia_Bangkok, // Asia/Bangkok
191  &kZoneAsia_Barnaul, // Asia/Barnaul
192  &kZoneAsia_Beirut, // Asia/Beirut
193  &kZoneAsia_Bishkek, // Asia/Bishkek
194  &kZoneAsia_Brunei, // Asia/Brunei
195  &kZoneAsia_Chita, // Asia/Chita
196  &kZoneAsia_Choibalsan, // Asia/Choibalsan
197  &kZoneAsia_Colombo, // Asia/Colombo
198  &kZoneAsia_Damascus, // Asia/Damascus
199  &kZoneAsia_Dhaka, // Asia/Dhaka
200  &kZoneAsia_Dili, // Asia/Dili
201  &kZoneAsia_Dubai, // Asia/Dubai
202  &kZoneAsia_Dushanbe, // Asia/Dushanbe
203  &kZoneAsia_Famagusta, // Asia/Famagusta
204  &kZoneAsia_Gaza, // Asia/Gaza
205  &kZoneAsia_Hebron, // Asia/Hebron
206  &kZoneAsia_Ho_Chi_Minh, // Asia/Ho_Chi_Minh
207  &kZoneAsia_Hong_Kong, // Asia/Hong_Kong
208  &kZoneAsia_Hovd, // Asia/Hovd
209  &kZoneAsia_Irkutsk, // Asia/Irkutsk
210  &kZoneAsia_Jakarta, // Asia/Jakarta
211  &kZoneAsia_Jayapura, // Asia/Jayapura
212  &kZoneAsia_Jerusalem, // Asia/Jerusalem
213  &kZoneAsia_Kabul, // Asia/Kabul
214  &kZoneAsia_Kamchatka, // Asia/Kamchatka
215  &kZoneAsia_Karachi, // Asia/Karachi
216  &kZoneAsia_Kathmandu, // Asia/Kathmandu
217  &kZoneAsia_Khandyga, // Asia/Khandyga
218  &kZoneAsia_Kolkata, // Asia/Kolkata
219  &kZoneAsia_Krasnoyarsk, // Asia/Krasnoyarsk
220  &kZoneAsia_Kuala_Lumpur, // Asia/Kuala_Lumpur
221  &kZoneAsia_Kuching, // Asia/Kuching
222  &kZoneAsia_Macau, // Asia/Macau
223  &kZoneAsia_Magadan, // Asia/Magadan
224  &kZoneAsia_Makassar, // Asia/Makassar
225  &kZoneAsia_Manila, // Asia/Manila
226  &kZoneAsia_Nicosia, // Asia/Nicosia
227  &kZoneAsia_Novokuznetsk, // Asia/Novokuznetsk
228  &kZoneAsia_Novosibirsk, // Asia/Novosibirsk
229  &kZoneAsia_Omsk, // Asia/Omsk
230  &kZoneAsia_Oral, // Asia/Oral
231  &kZoneAsia_Pontianak, // Asia/Pontianak
232  &kZoneAsia_Pyongyang, // Asia/Pyongyang
233  &kZoneAsia_Qatar, // Asia/Qatar
234  &kZoneAsia_Qostanay, // Asia/Qostanay
235  &kZoneAsia_Qyzylorda, // Asia/Qyzylorda
236  &kZoneAsia_Riyadh, // Asia/Riyadh
237  &kZoneAsia_Sakhalin, // Asia/Sakhalin
238  &kZoneAsia_Samarkand, // Asia/Samarkand
239  &kZoneAsia_Seoul, // Asia/Seoul
240  &kZoneAsia_Shanghai, // Asia/Shanghai
241  &kZoneAsia_Singapore, // Asia/Singapore
242  &kZoneAsia_Srednekolymsk, // Asia/Srednekolymsk
243  &kZoneAsia_Taipei, // Asia/Taipei
244  &kZoneAsia_Tashkent, // Asia/Tashkent
245  &kZoneAsia_Tbilisi, // Asia/Tbilisi
246  &kZoneAsia_Tehran, // Asia/Tehran
247  &kZoneAsia_Thimphu, // Asia/Thimphu
248  &kZoneAsia_Tokyo, // Asia/Tokyo
249  &kZoneAsia_Tomsk, // Asia/Tomsk
250  &kZoneAsia_Ulaanbaatar, // Asia/Ulaanbaatar
251  &kZoneAsia_Urumqi, // Asia/Urumqi
252  &kZoneAsia_Ust_Nera, // Asia/Ust-Nera
253  &kZoneAsia_Vladivostok, // Asia/Vladivostok
254  &kZoneAsia_Yakutsk, // Asia/Yakutsk
255  &kZoneAsia_Yangon, // Asia/Yangon
256  &kZoneAsia_Yekaterinburg, // Asia/Yekaterinburg
257  &kZoneAsia_Yerevan, // Asia/Yerevan
258  &kZoneAtlantic_Azores, // Atlantic/Azores
259  &kZoneAtlantic_Bermuda, // Atlantic/Bermuda
260  &kZoneAtlantic_Canary, // Atlantic/Canary
261  &kZoneAtlantic_Cape_Verde, // Atlantic/Cape_Verde
262  &kZoneAtlantic_Faroe, // Atlantic/Faroe
263  &kZoneAtlantic_Madeira, // Atlantic/Madeira
264  &kZoneAtlantic_Reykjavik, // Atlantic/Reykjavik
265  &kZoneAtlantic_South_Georgia, // Atlantic/South_Georgia
266  &kZoneAtlantic_Stanley, // Atlantic/Stanley
267  &kZoneAustralia_Adelaide, // Australia/Adelaide
268  &kZoneAustralia_Brisbane, // Australia/Brisbane
269  &kZoneAustralia_Broken_Hill, // Australia/Broken_Hill
270  &kZoneAustralia_Currie, // Australia/Currie
271  &kZoneAustralia_Darwin, // Australia/Darwin
272  &kZoneAustralia_Eucla, // Australia/Eucla
273  &kZoneAustralia_Hobart, // Australia/Hobart
274  &kZoneAustralia_Lindeman, // Australia/Lindeman
275  &kZoneAustralia_Lord_Howe, // Australia/Lord_Howe
276  &kZoneAustralia_Melbourne, // Australia/Melbourne
277  &kZoneAustralia_Perth, // Australia/Perth
278  &kZoneAustralia_Sydney, // Australia/Sydney
279  &kZoneCET, // CET
280  &kZoneCST6CDT, // CST6CDT
281  &kZoneEET, // EET
282  &kZoneEST, // EST
283  &kZoneEST5EDT, // EST5EDT
284  &kZoneEtc_GMT, // Etc/GMT
285  &kZoneEtc_GMT_PLUS_1, // Etc/GMT+1
286  &kZoneEtc_GMT_PLUS_10, // Etc/GMT+10
287  &kZoneEtc_GMT_PLUS_11, // Etc/GMT+11
288  &kZoneEtc_GMT_PLUS_12, // Etc/GMT+12
289  &kZoneEtc_GMT_PLUS_2, // Etc/GMT+2
290  &kZoneEtc_GMT_PLUS_3, // Etc/GMT+3
291  &kZoneEtc_GMT_PLUS_4, // Etc/GMT+4
292  &kZoneEtc_GMT_PLUS_5, // Etc/GMT+5
293  &kZoneEtc_GMT_PLUS_6, // Etc/GMT+6
294  &kZoneEtc_GMT_PLUS_7, // Etc/GMT+7
295  &kZoneEtc_GMT_PLUS_8, // Etc/GMT+8
296  &kZoneEtc_GMT_PLUS_9, // Etc/GMT+9
297  &kZoneEtc_GMT_1, // Etc/GMT-1
298  &kZoneEtc_GMT_10, // Etc/GMT-10
299  &kZoneEtc_GMT_11, // Etc/GMT-11
300  &kZoneEtc_GMT_12, // Etc/GMT-12
301  &kZoneEtc_GMT_13, // Etc/GMT-13
302  &kZoneEtc_GMT_14, // Etc/GMT-14
303  &kZoneEtc_GMT_2, // Etc/GMT-2
304  &kZoneEtc_GMT_3, // Etc/GMT-3
305  &kZoneEtc_GMT_4, // Etc/GMT-4
306  &kZoneEtc_GMT_5, // Etc/GMT-5
307  &kZoneEtc_GMT_6, // Etc/GMT-6
308  &kZoneEtc_GMT_7, // Etc/GMT-7
309  &kZoneEtc_GMT_8, // Etc/GMT-8
310  &kZoneEtc_GMT_9, // Etc/GMT-9
311  &kZoneEtc_UTC, // Etc/UTC
312  &kZoneEurope_Amsterdam, // Europe/Amsterdam
313  &kZoneEurope_Andorra, // Europe/Andorra
314  &kZoneEurope_Astrakhan, // Europe/Astrakhan
315  &kZoneEurope_Athens, // Europe/Athens
316  &kZoneEurope_Belgrade, // Europe/Belgrade
317  &kZoneEurope_Berlin, // Europe/Berlin
318  &kZoneEurope_Brussels, // Europe/Brussels
319  &kZoneEurope_Bucharest, // Europe/Bucharest
320  &kZoneEurope_Budapest, // Europe/Budapest
321  &kZoneEurope_Chisinau, // Europe/Chisinau
322  &kZoneEurope_Copenhagen, // Europe/Copenhagen
323  &kZoneEurope_Dublin, // Europe/Dublin
324  &kZoneEurope_Gibraltar, // Europe/Gibraltar
325  &kZoneEurope_Helsinki, // Europe/Helsinki
326  &kZoneEurope_Istanbul, // Europe/Istanbul
327  &kZoneEurope_Kaliningrad, // Europe/Kaliningrad
328  &kZoneEurope_Kiev, // Europe/Kiev
329  &kZoneEurope_Kirov, // Europe/Kirov
330  &kZoneEurope_Lisbon, // Europe/Lisbon
331  &kZoneEurope_London, // Europe/London
332  &kZoneEurope_Luxembourg, // Europe/Luxembourg
333  &kZoneEurope_Madrid, // Europe/Madrid
334  &kZoneEurope_Malta, // Europe/Malta
335  &kZoneEurope_Minsk, // Europe/Minsk
336  &kZoneEurope_Monaco, // Europe/Monaco
337  &kZoneEurope_Moscow, // Europe/Moscow
338  &kZoneEurope_Oslo, // Europe/Oslo
339  &kZoneEurope_Paris, // Europe/Paris
340  &kZoneEurope_Prague, // Europe/Prague
341  &kZoneEurope_Riga, // Europe/Riga
342  &kZoneEurope_Rome, // Europe/Rome
343  &kZoneEurope_Samara, // Europe/Samara
344  &kZoneEurope_Saratov, // Europe/Saratov
345  &kZoneEurope_Simferopol, // Europe/Simferopol
346  &kZoneEurope_Sofia, // Europe/Sofia
347  &kZoneEurope_Stockholm, // Europe/Stockholm
348  &kZoneEurope_Tallinn, // Europe/Tallinn
349  &kZoneEurope_Tirane, // Europe/Tirane
350  &kZoneEurope_Ulyanovsk, // Europe/Ulyanovsk
351  &kZoneEurope_Uzhgorod, // Europe/Uzhgorod
352  &kZoneEurope_Vienna, // Europe/Vienna
353  &kZoneEurope_Vilnius, // Europe/Vilnius
354  &kZoneEurope_Volgograd, // Europe/Volgograd
355  &kZoneEurope_Warsaw, // Europe/Warsaw
356  &kZoneEurope_Zaporozhye, // Europe/Zaporozhye
357  &kZoneEurope_Zurich, // Europe/Zurich
358  &kZoneHST, // HST
359  &kZoneIndian_Chagos, // Indian/Chagos
360  &kZoneIndian_Christmas, // Indian/Christmas
361  &kZoneIndian_Cocos, // Indian/Cocos
362  &kZoneIndian_Kerguelen, // Indian/Kerguelen
363  &kZoneIndian_Mahe, // Indian/Mahe
364  &kZoneIndian_Maldives, // Indian/Maldives
365  &kZoneIndian_Mauritius, // Indian/Mauritius
366  &kZoneIndian_Reunion, // Indian/Reunion
367  &kZoneMET, // MET
368  &kZoneMST, // MST
369  &kZoneMST7MDT, // MST7MDT
370  &kZonePST8PDT, // PST8PDT
371  &kZonePacific_Apia, // Pacific/Apia
372  &kZonePacific_Auckland, // Pacific/Auckland
373  &kZonePacific_Bougainville, // Pacific/Bougainville
374  &kZonePacific_Chatham, // Pacific/Chatham
375  &kZonePacific_Chuuk, // Pacific/Chuuk
376  &kZonePacific_Easter, // Pacific/Easter
377  &kZonePacific_Efate, // Pacific/Efate
378  &kZonePacific_Enderbury, // Pacific/Enderbury
379  &kZonePacific_Fakaofo, // Pacific/Fakaofo
380  &kZonePacific_Fiji, // Pacific/Fiji
381  &kZonePacific_Funafuti, // Pacific/Funafuti
382  &kZonePacific_Galapagos, // Pacific/Galapagos
383  &kZonePacific_Gambier, // Pacific/Gambier
384  &kZonePacific_Guadalcanal, // Pacific/Guadalcanal
385  &kZonePacific_Guam, // Pacific/Guam
386  &kZonePacific_Honolulu, // Pacific/Honolulu
387  &kZonePacific_Kiritimati, // Pacific/Kiritimati
388  &kZonePacific_Kosrae, // Pacific/Kosrae
389  &kZonePacific_Kwajalein, // Pacific/Kwajalein
390  &kZonePacific_Majuro, // Pacific/Majuro
391  &kZonePacific_Marquesas, // Pacific/Marquesas
392  &kZonePacific_Nauru, // Pacific/Nauru
393  &kZonePacific_Niue, // Pacific/Niue
394  &kZonePacific_Norfolk, // Pacific/Norfolk
395  &kZonePacific_Noumea, // Pacific/Noumea
396  &kZonePacific_Pago_Pago, // Pacific/Pago_Pago
397  &kZonePacific_Palau, // Pacific/Palau
398  &kZonePacific_Pitcairn, // Pacific/Pitcairn
399  &kZonePacific_Pohnpei, // Pacific/Pohnpei
400  &kZonePacific_Port_Moresby, // Pacific/Port_Moresby
401  &kZonePacific_Rarotonga, // Pacific/Rarotonga
402  &kZonePacific_Tahiti, // Pacific/Tahiti
403  &kZonePacific_Tarawa, // Pacific/Tarawa
404  &kZonePacific_Tongatapu, // Pacific/Tongatapu
405  &kZonePacific_Wake, // Pacific/Wake
406  &kZonePacific_Wallis, // Pacific/Wallis
407  &kZoneWET, // WET
408 
409 };
410 
411 }
412 }
-
Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
+
1 // This file was generated by the following script:
+
2 //
+
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
+
4 //
+
5 // using the TZ Database files from
+
6 // https://github.com/eggert/tz/releases/tag/2020c
+
7 //
+
8 // DO NOT EDIT
+
9 
+
10 #include <ace_time/common/compat.h>
+
11 #include "zone_infos.h"
+
12 #include "zone_registry.h"
+
13 
+
14 namespace ace_time {
+
15 namespace zonedbx {
+
16 
+
17 //---------------------------------------------------------------------------
+
18 // Zone registry. Sorted by zone name.
+
19 //---------------------------------------------------------------------------
+
20 const extended::ZoneInfo* const kZoneRegistry[387] ACE_TIME_PROGMEM = {
+
21  &kZoneAfrica_Abidjan, // Africa/Abidjan
+
22  &kZoneAfrica_Accra, // Africa/Accra
+
23  &kZoneAfrica_Algiers, // Africa/Algiers
+
24  &kZoneAfrica_Bissau, // Africa/Bissau
+
25  &kZoneAfrica_Cairo, // Africa/Cairo
+
26  &kZoneAfrica_Casablanca, // Africa/Casablanca
+
27  &kZoneAfrica_Ceuta, // Africa/Ceuta
+
28  &kZoneAfrica_El_Aaiun, // Africa/El_Aaiun
+
29  &kZoneAfrica_Johannesburg, // Africa/Johannesburg
+
30  &kZoneAfrica_Juba, // Africa/Juba
+
31  &kZoneAfrica_Khartoum, // Africa/Khartoum
+
32  &kZoneAfrica_Lagos, // Africa/Lagos
+
33  &kZoneAfrica_Maputo, // Africa/Maputo
+
34  &kZoneAfrica_Monrovia, // Africa/Monrovia
+
35  &kZoneAfrica_Nairobi, // Africa/Nairobi
+
36  &kZoneAfrica_Ndjamena, // Africa/Ndjamena
+
37  &kZoneAfrica_Sao_Tome, // Africa/Sao_Tome
+
38  &kZoneAfrica_Tripoli, // Africa/Tripoli
+
39  &kZoneAfrica_Tunis, // Africa/Tunis
+
40  &kZoneAfrica_Windhoek, // Africa/Windhoek
+
41  &kZoneAmerica_Adak, // America/Adak
+
42  &kZoneAmerica_Anchorage, // America/Anchorage
+
43  &kZoneAmerica_Araguaina, // America/Araguaina
+
44  &kZoneAmerica_Argentina_Buenos_Aires, // America/Argentina/Buenos_Aires
+
45  &kZoneAmerica_Argentina_Catamarca, // America/Argentina/Catamarca
+
46  &kZoneAmerica_Argentina_Cordoba, // America/Argentina/Cordoba
+
47  &kZoneAmerica_Argentina_Jujuy, // America/Argentina/Jujuy
+
48  &kZoneAmerica_Argentina_La_Rioja, // America/Argentina/La_Rioja
+
49  &kZoneAmerica_Argentina_Mendoza, // America/Argentina/Mendoza
+
50  &kZoneAmerica_Argentina_Rio_Gallegos, // America/Argentina/Rio_Gallegos
+
51  &kZoneAmerica_Argentina_Salta, // America/Argentina/Salta
+
52  &kZoneAmerica_Argentina_San_Juan, // America/Argentina/San_Juan
+
53  &kZoneAmerica_Argentina_San_Luis, // America/Argentina/San_Luis
+
54  &kZoneAmerica_Argentina_Tucuman, // America/Argentina/Tucuman
+
55  &kZoneAmerica_Argentina_Ushuaia, // America/Argentina/Ushuaia
+
56  &kZoneAmerica_Asuncion, // America/Asuncion
+
57  &kZoneAmerica_Atikokan, // America/Atikokan
+
58  &kZoneAmerica_Bahia, // America/Bahia
+
59  &kZoneAmerica_Bahia_Banderas, // America/Bahia_Banderas
+
60  &kZoneAmerica_Barbados, // America/Barbados
+
61  &kZoneAmerica_Belem, // America/Belem
+
62  &kZoneAmerica_Belize, // America/Belize
+
63  &kZoneAmerica_Blanc_Sablon, // America/Blanc-Sablon
+
64  &kZoneAmerica_Boa_Vista, // America/Boa_Vista
+
65  &kZoneAmerica_Bogota, // America/Bogota
+
66  &kZoneAmerica_Boise, // America/Boise
+
67  &kZoneAmerica_Cambridge_Bay, // America/Cambridge_Bay
+
68  &kZoneAmerica_Campo_Grande, // America/Campo_Grande
+
69  &kZoneAmerica_Cancun, // America/Cancun
+
70  &kZoneAmerica_Caracas, // America/Caracas
+
71  &kZoneAmerica_Cayenne, // America/Cayenne
+
72  &kZoneAmerica_Chicago, // America/Chicago
+
73  &kZoneAmerica_Chihuahua, // America/Chihuahua
+
74  &kZoneAmerica_Costa_Rica, // America/Costa_Rica
+
75  &kZoneAmerica_Creston, // America/Creston
+
76  &kZoneAmerica_Cuiaba, // America/Cuiaba
+
77  &kZoneAmerica_Curacao, // America/Curacao
+
78  &kZoneAmerica_Danmarkshavn, // America/Danmarkshavn
+
79  &kZoneAmerica_Dawson, // America/Dawson
+
80  &kZoneAmerica_Dawson_Creek, // America/Dawson_Creek
+
81  &kZoneAmerica_Denver, // America/Denver
+
82  &kZoneAmerica_Detroit, // America/Detroit
+
83  &kZoneAmerica_Edmonton, // America/Edmonton
+
84  &kZoneAmerica_Eirunepe, // America/Eirunepe
+
85  &kZoneAmerica_El_Salvador, // America/El_Salvador
+
86  &kZoneAmerica_Fort_Nelson, // America/Fort_Nelson
+
87  &kZoneAmerica_Fortaleza, // America/Fortaleza
+
88  &kZoneAmerica_Glace_Bay, // America/Glace_Bay
+
89  &kZoneAmerica_Goose_Bay, // America/Goose_Bay
+
90  &kZoneAmerica_Grand_Turk, // America/Grand_Turk
+
91  &kZoneAmerica_Guatemala, // America/Guatemala
+
92  &kZoneAmerica_Guayaquil, // America/Guayaquil
+
93  &kZoneAmerica_Guyana, // America/Guyana
+
94  &kZoneAmerica_Halifax, // America/Halifax
+
95  &kZoneAmerica_Havana, // America/Havana
+
96  &kZoneAmerica_Hermosillo, // America/Hermosillo
+
97  &kZoneAmerica_Indiana_Indianapolis, // America/Indiana/Indianapolis
+
98  &kZoneAmerica_Indiana_Knox, // America/Indiana/Knox
+
99  &kZoneAmerica_Indiana_Marengo, // America/Indiana/Marengo
+
100  &kZoneAmerica_Indiana_Petersburg, // America/Indiana/Petersburg
+
101  &kZoneAmerica_Indiana_Tell_City, // America/Indiana/Tell_City
+
102  &kZoneAmerica_Indiana_Vevay, // America/Indiana/Vevay
+
103  &kZoneAmerica_Indiana_Vincennes, // America/Indiana/Vincennes
+
104  &kZoneAmerica_Indiana_Winamac, // America/Indiana/Winamac
+
105  &kZoneAmerica_Inuvik, // America/Inuvik
+
106  &kZoneAmerica_Iqaluit, // America/Iqaluit
+
107  &kZoneAmerica_Jamaica, // America/Jamaica
+
108  &kZoneAmerica_Juneau, // America/Juneau
+
109  &kZoneAmerica_Kentucky_Louisville, // America/Kentucky/Louisville
+
110  &kZoneAmerica_Kentucky_Monticello, // America/Kentucky/Monticello
+
111  &kZoneAmerica_La_Paz, // America/La_Paz
+
112  &kZoneAmerica_Lima, // America/Lima
+
113  &kZoneAmerica_Los_Angeles, // America/Los_Angeles
+
114  &kZoneAmerica_Maceio, // America/Maceio
+
115  &kZoneAmerica_Managua, // America/Managua
+
116  &kZoneAmerica_Manaus, // America/Manaus
+
117  &kZoneAmerica_Martinique, // America/Martinique
+
118  &kZoneAmerica_Matamoros, // America/Matamoros
+
119  &kZoneAmerica_Mazatlan, // America/Mazatlan
+
120  &kZoneAmerica_Menominee, // America/Menominee
+
121  &kZoneAmerica_Merida, // America/Merida
+
122  &kZoneAmerica_Metlakatla, // America/Metlakatla
+
123  &kZoneAmerica_Mexico_City, // America/Mexico_City
+
124  &kZoneAmerica_Miquelon, // America/Miquelon
+
125  &kZoneAmerica_Moncton, // America/Moncton
+
126  &kZoneAmerica_Monterrey, // America/Monterrey
+
127  &kZoneAmerica_Montevideo, // America/Montevideo
+
128  &kZoneAmerica_Nassau, // America/Nassau
+
129  &kZoneAmerica_New_York, // America/New_York
+
130  &kZoneAmerica_Nipigon, // America/Nipigon
+
131  &kZoneAmerica_Nome, // America/Nome
+
132  &kZoneAmerica_Noronha, // America/Noronha
+
133  &kZoneAmerica_North_Dakota_Beulah, // America/North_Dakota/Beulah
+
134  &kZoneAmerica_North_Dakota_Center, // America/North_Dakota/Center
+
135  &kZoneAmerica_North_Dakota_New_Salem, // America/North_Dakota/New_Salem
+
136  &kZoneAmerica_Nuuk, // America/Nuuk
+
137  &kZoneAmerica_Ojinaga, // America/Ojinaga
+
138  &kZoneAmerica_Panama, // America/Panama
+
139  &kZoneAmerica_Pangnirtung, // America/Pangnirtung
+
140  &kZoneAmerica_Paramaribo, // America/Paramaribo
+
141  &kZoneAmerica_Phoenix, // America/Phoenix
+
142  &kZoneAmerica_Port_au_Prince, // America/Port-au-Prince
+
143  &kZoneAmerica_Port_of_Spain, // America/Port_of_Spain
+
144  &kZoneAmerica_Porto_Velho, // America/Porto_Velho
+
145  &kZoneAmerica_Puerto_Rico, // America/Puerto_Rico
+
146  &kZoneAmerica_Punta_Arenas, // America/Punta_Arenas
+
147  &kZoneAmerica_Rainy_River, // America/Rainy_River
+
148  &kZoneAmerica_Rankin_Inlet, // America/Rankin_Inlet
+
149  &kZoneAmerica_Recife, // America/Recife
+
150  &kZoneAmerica_Regina, // America/Regina
+
151  &kZoneAmerica_Resolute, // America/Resolute
+
152  &kZoneAmerica_Rio_Branco, // America/Rio_Branco
+
153  &kZoneAmerica_Santarem, // America/Santarem
+
154  &kZoneAmerica_Santiago, // America/Santiago
+
155  &kZoneAmerica_Santo_Domingo, // America/Santo_Domingo
+
156  &kZoneAmerica_Sao_Paulo, // America/Sao_Paulo
+
157  &kZoneAmerica_Scoresbysund, // America/Scoresbysund
+
158  &kZoneAmerica_Sitka, // America/Sitka
+
159  &kZoneAmerica_St_Johns, // America/St_Johns
+
160  &kZoneAmerica_Swift_Current, // America/Swift_Current
+
161  &kZoneAmerica_Tegucigalpa, // America/Tegucigalpa
+
162  &kZoneAmerica_Thule, // America/Thule
+
163  &kZoneAmerica_Thunder_Bay, // America/Thunder_Bay
+
164  &kZoneAmerica_Tijuana, // America/Tijuana
+
165  &kZoneAmerica_Toronto, // America/Toronto
+
166  &kZoneAmerica_Vancouver, // America/Vancouver
+
167  &kZoneAmerica_Whitehorse, // America/Whitehorse
+
168  &kZoneAmerica_Winnipeg, // America/Winnipeg
+
169  &kZoneAmerica_Yakutat, // America/Yakutat
+
170  &kZoneAmerica_Yellowknife, // America/Yellowknife
+
171  &kZoneAntarctica_Casey, // Antarctica/Casey
+
172  &kZoneAntarctica_Davis, // Antarctica/Davis
+
173  &kZoneAntarctica_DumontDUrville, // Antarctica/DumontDUrville
+
174  &kZoneAntarctica_Macquarie, // Antarctica/Macquarie
+
175  &kZoneAntarctica_Mawson, // Antarctica/Mawson
+
176  &kZoneAntarctica_Palmer, // Antarctica/Palmer
+
177  &kZoneAntarctica_Rothera, // Antarctica/Rothera
+
178  &kZoneAntarctica_Syowa, // Antarctica/Syowa
+
179  &kZoneAntarctica_Troll, // Antarctica/Troll
+
180  &kZoneAntarctica_Vostok, // Antarctica/Vostok
+
181  &kZoneAsia_Almaty, // Asia/Almaty
+
182  &kZoneAsia_Amman, // Asia/Amman
+
183  &kZoneAsia_Anadyr, // Asia/Anadyr
+
184  &kZoneAsia_Aqtau, // Asia/Aqtau
+
185  &kZoneAsia_Aqtobe, // Asia/Aqtobe
+
186  &kZoneAsia_Ashgabat, // Asia/Ashgabat
+
187  &kZoneAsia_Atyrau, // Asia/Atyrau
+
188  &kZoneAsia_Baghdad, // Asia/Baghdad
+
189  &kZoneAsia_Baku, // Asia/Baku
+
190  &kZoneAsia_Bangkok, // Asia/Bangkok
+
191  &kZoneAsia_Barnaul, // Asia/Barnaul
+
192  &kZoneAsia_Beirut, // Asia/Beirut
+
193  &kZoneAsia_Bishkek, // Asia/Bishkek
+
194  &kZoneAsia_Brunei, // Asia/Brunei
+
195  &kZoneAsia_Chita, // Asia/Chita
+
196  &kZoneAsia_Choibalsan, // Asia/Choibalsan
+
197  &kZoneAsia_Colombo, // Asia/Colombo
+
198  &kZoneAsia_Damascus, // Asia/Damascus
+
199  &kZoneAsia_Dhaka, // Asia/Dhaka
+
200  &kZoneAsia_Dili, // Asia/Dili
+
201  &kZoneAsia_Dubai, // Asia/Dubai
+
202  &kZoneAsia_Dushanbe, // Asia/Dushanbe
+
203  &kZoneAsia_Famagusta, // Asia/Famagusta
+
204  &kZoneAsia_Gaza, // Asia/Gaza
+
205  &kZoneAsia_Hebron, // Asia/Hebron
+
206  &kZoneAsia_Ho_Chi_Minh, // Asia/Ho_Chi_Minh
+
207  &kZoneAsia_Hong_Kong, // Asia/Hong_Kong
+
208  &kZoneAsia_Hovd, // Asia/Hovd
+
209  &kZoneAsia_Irkutsk, // Asia/Irkutsk
+
210  &kZoneAsia_Jakarta, // Asia/Jakarta
+
211  &kZoneAsia_Jayapura, // Asia/Jayapura
+
212  &kZoneAsia_Jerusalem, // Asia/Jerusalem
+
213  &kZoneAsia_Kabul, // Asia/Kabul
+
214  &kZoneAsia_Kamchatka, // Asia/Kamchatka
+
215  &kZoneAsia_Karachi, // Asia/Karachi
+
216  &kZoneAsia_Kathmandu, // Asia/Kathmandu
+
217  &kZoneAsia_Khandyga, // Asia/Khandyga
+
218  &kZoneAsia_Kolkata, // Asia/Kolkata
+
219  &kZoneAsia_Krasnoyarsk, // Asia/Krasnoyarsk
+
220  &kZoneAsia_Kuala_Lumpur, // Asia/Kuala_Lumpur
+
221  &kZoneAsia_Kuching, // Asia/Kuching
+
222  &kZoneAsia_Macau, // Asia/Macau
+
223  &kZoneAsia_Magadan, // Asia/Magadan
+
224  &kZoneAsia_Makassar, // Asia/Makassar
+
225  &kZoneAsia_Manila, // Asia/Manila
+
226  &kZoneAsia_Nicosia, // Asia/Nicosia
+
227  &kZoneAsia_Novokuznetsk, // Asia/Novokuznetsk
+
228  &kZoneAsia_Novosibirsk, // Asia/Novosibirsk
+
229  &kZoneAsia_Omsk, // Asia/Omsk
+
230  &kZoneAsia_Oral, // Asia/Oral
+
231  &kZoneAsia_Pontianak, // Asia/Pontianak
+
232  &kZoneAsia_Pyongyang, // Asia/Pyongyang
+
233  &kZoneAsia_Qatar, // Asia/Qatar
+
234  &kZoneAsia_Qostanay, // Asia/Qostanay
+
235  &kZoneAsia_Qyzylorda, // Asia/Qyzylorda
+
236  &kZoneAsia_Riyadh, // Asia/Riyadh
+
237  &kZoneAsia_Sakhalin, // Asia/Sakhalin
+
238  &kZoneAsia_Samarkand, // Asia/Samarkand
+
239  &kZoneAsia_Seoul, // Asia/Seoul
+
240  &kZoneAsia_Shanghai, // Asia/Shanghai
+
241  &kZoneAsia_Singapore, // Asia/Singapore
+
242  &kZoneAsia_Srednekolymsk, // Asia/Srednekolymsk
+
243  &kZoneAsia_Taipei, // Asia/Taipei
+
244  &kZoneAsia_Tashkent, // Asia/Tashkent
+
245  &kZoneAsia_Tbilisi, // Asia/Tbilisi
+
246  &kZoneAsia_Tehran, // Asia/Tehran
+
247  &kZoneAsia_Thimphu, // Asia/Thimphu
+
248  &kZoneAsia_Tokyo, // Asia/Tokyo
+
249  &kZoneAsia_Tomsk, // Asia/Tomsk
+
250  &kZoneAsia_Ulaanbaatar, // Asia/Ulaanbaatar
+
251  &kZoneAsia_Urumqi, // Asia/Urumqi
+
252  &kZoneAsia_Ust_Nera, // Asia/Ust-Nera
+
253  &kZoneAsia_Vladivostok, // Asia/Vladivostok
+
254  &kZoneAsia_Yakutsk, // Asia/Yakutsk
+
255  &kZoneAsia_Yangon, // Asia/Yangon
+
256  &kZoneAsia_Yekaterinburg, // Asia/Yekaterinburg
+
257  &kZoneAsia_Yerevan, // Asia/Yerevan
+
258  &kZoneAtlantic_Azores, // Atlantic/Azores
+
259  &kZoneAtlantic_Bermuda, // Atlantic/Bermuda
+
260  &kZoneAtlantic_Canary, // Atlantic/Canary
+
261  &kZoneAtlantic_Cape_Verde, // Atlantic/Cape_Verde
+
262  &kZoneAtlantic_Faroe, // Atlantic/Faroe
+
263  &kZoneAtlantic_Madeira, // Atlantic/Madeira
+
264  &kZoneAtlantic_Reykjavik, // Atlantic/Reykjavik
+
265  &kZoneAtlantic_South_Georgia, // Atlantic/South_Georgia
+
266  &kZoneAtlantic_Stanley, // Atlantic/Stanley
+
267  &kZoneAustralia_Adelaide, // Australia/Adelaide
+
268  &kZoneAustralia_Brisbane, // Australia/Brisbane
+
269  &kZoneAustralia_Broken_Hill, // Australia/Broken_Hill
+
270  &kZoneAustralia_Currie, // Australia/Currie
+
271  &kZoneAustralia_Darwin, // Australia/Darwin
+
272  &kZoneAustralia_Eucla, // Australia/Eucla
+
273  &kZoneAustralia_Hobart, // Australia/Hobart
+
274  &kZoneAustralia_Lindeman, // Australia/Lindeman
+
275  &kZoneAustralia_Lord_Howe, // Australia/Lord_Howe
+
276  &kZoneAustralia_Melbourne, // Australia/Melbourne
+
277  &kZoneAustralia_Perth, // Australia/Perth
+
278  &kZoneAustralia_Sydney, // Australia/Sydney
+
279  &kZoneCET, // CET
+
280  &kZoneCST6CDT, // CST6CDT
+
281  &kZoneEET, // EET
+
282  &kZoneEST, // EST
+
283  &kZoneEST5EDT, // EST5EDT
+
284  &kZoneEtc_GMT, // Etc/GMT
+
285  &kZoneEtc_GMT_PLUS_1, // Etc/GMT+1
+
286  &kZoneEtc_GMT_PLUS_10, // Etc/GMT+10
+
287  &kZoneEtc_GMT_PLUS_11, // Etc/GMT+11
+
288  &kZoneEtc_GMT_PLUS_12, // Etc/GMT+12
+
289  &kZoneEtc_GMT_PLUS_2, // Etc/GMT+2
+
290  &kZoneEtc_GMT_PLUS_3, // Etc/GMT+3
+
291  &kZoneEtc_GMT_PLUS_4, // Etc/GMT+4
+
292  &kZoneEtc_GMT_PLUS_5, // Etc/GMT+5
+
293  &kZoneEtc_GMT_PLUS_6, // Etc/GMT+6
+
294  &kZoneEtc_GMT_PLUS_7, // Etc/GMT+7
+
295  &kZoneEtc_GMT_PLUS_8, // Etc/GMT+8
+
296  &kZoneEtc_GMT_PLUS_9, // Etc/GMT+9
+
297  &kZoneEtc_GMT_1, // Etc/GMT-1
+
298  &kZoneEtc_GMT_10, // Etc/GMT-10
+
299  &kZoneEtc_GMT_11, // Etc/GMT-11
+
300  &kZoneEtc_GMT_12, // Etc/GMT-12
+
301  &kZoneEtc_GMT_13, // Etc/GMT-13
+
302  &kZoneEtc_GMT_14, // Etc/GMT-14
+
303  &kZoneEtc_GMT_2, // Etc/GMT-2
+
304  &kZoneEtc_GMT_3, // Etc/GMT-3
+
305  &kZoneEtc_GMT_4, // Etc/GMT-4
+
306  &kZoneEtc_GMT_5, // Etc/GMT-5
+
307  &kZoneEtc_GMT_6, // Etc/GMT-6
+
308  &kZoneEtc_GMT_7, // Etc/GMT-7
+
309  &kZoneEtc_GMT_8, // Etc/GMT-8
+
310  &kZoneEtc_GMT_9, // Etc/GMT-9
+
311  &kZoneEtc_UTC, // Etc/UTC
+
312  &kZoneEurope_Amsterdam, // Europe/Amsterdam
+
313  &kZoneEurope_Andorra, // Europe/Andorra
+
314  &kZoneEurope_Astrakhan, // Europe/Astrakhan
+
315  &kZoneEurope_Athens, // Europe/Athens
+
316  &kZoneEurope_Belgrade, // Europe/Belgrade
+
317  &kZoneEurope_Berlin, // Europe/Berlin
+
318  &kZoneEurope_Brussels, // Europe/Brussels
+
319  &kZoneEurope_Bucharest, // Europe/Bucharest
+
320  &kZoneEurope_Budapest, // Europe/Budapest
+
321  &kZoneEurope_Chisinau, // Europe/Chisinau
+
322  &kZoneEurope_Copenhagen, // Europe/Copenhagen
+
323  &kZoneEurope_Dublin, // Europe/Dublin
+
324  &kZoneEurope_Gibraltar, // Europe/Gibraltar
+
325  &kZoneEurope_Helsinki, // Europe/Helsinki
+
326  &kZoneEurope_Istanbul, // Europe/Istanbul
+
327  &kZoneEurope_Kaliningrad, // Europe/Kaliningrad
+
328  &kZoneEurope_Kiev, // Europe/Kiev
+
329  &kZoneEurope_Kirov, // Europe/Kirov
+
330  &kZoneEurope_Lisbon, // Europe/Lisbon
+
331  &kZoneEurope_London, // Europe/London
+
332  &kZoneEurope_Luxembourg, // Europe/Luxembourg
+
333  &kZoneEurope_Madrid, // Europe/Madrid
+
334  &kZoneEurope_Malta, // Europe/Malta
+
335  &kZoneEurope_Minsk, // Europe/Minsk
+
336  &kZoneEurope_Monaco, // Europe/Monaco
+
337  &kZoneEurope_Moscow, // Europe/Moscow
+
338  &kZoneEurope_Oslo, // Europe/Oslo
+
339  &kZoneEurope_Paris, // Europe/Paris
+
340  &kZoneEurope_Prague, // Europe/Prague
+
341  &kZoneEurope_Riga, // Europe/Riga
+
342  &kZoneEurope_Rome, // Europe/Rome
+
343  &kZoneEurope_Samara, // Europe/Samara
+
344  &kZoneEurope_Saratov, // Europe/Saratov
+
345  &kZoneEurope_Simferopol, // Europe/Simferopol
+
346  &kZoneEurope_Sofia, // Europe/Sofia
+
347  &kZoneEurope_Stockholm, // Europe/Stockholm
+
348  &kZoneEurope_Tallinn, // Europe/Tallinn
+
349  &kZoneEurope_Tirane, // Europe/Tirane
+
350  &kZoneEurope_Ulyanovsk, // Europe/Ulyanovsk
+
351  &kZoneEurope_Uzhgorod, // Europe/Uzhgorod
+
352  &kZoneEurope_Vienna, // Europe/Vienna
+
353  &kZoneEurope_Vilnius, // Europe/Vilnius
+
354  &kZoneEurope_Volgograd, // Europe/Volgograd
+
355  &kZoneEurope_Warsaw, // Europe/Warsaw
+
356  &kZoneEurope_Zaporozhye, // Europe/Zaporozhye
+
357  &kZoneEurope_Zurich, // Europe/Zurich
+
358  &kZoneHST, // HST
+
359  &kZoneIndian_Chagos, // Indian/Chagos
+
360  &kZoneIndian_Christmas, // Indian/Christmas
+
361  &kZoneIndian_Cocos, // Indian/Cocos
+
362  &kZoneIndian_Kerguelen, // Indian/Kerguelen
+
363  &kZoneIndian_Mahe, // Indian/Mahe
+
364  &kZoneIndian_Maldives, // Indian/Maldives
+
365  &kZoneIndian_Mauritius, // Indian/Mauritius
+
366  &kZoneIndian_Reunion, // Indian/Reunion
+
367  &kZoneMET, // MET
+
368  &kZoneMST, // MST
+
369  &kZoneMST7MDT, // MST7MDT
+
370  &kZonePST8PDT, // PST8PDT
+
371  &kZonePacific_Apia, // Pacific/Apia
+
372  &kZonePacific_Auckland, // Pacific/Auckland
+
373  &kZonePacific_Bougainville, // Pacific/Bougainville
+
374  &kZonePacific_Chatham, // Pacific/Chatham
+
375  &kZonePacific_Chuuk, // Pacific/Chuuk
+
376  &kZonePacific_Easter, // Pacific/Easter
+
377  &kZonePacific_Efate, // Pacific/Efate
+
378  &kZonePacific_Enderbury, // Pacific/Enderbury
+
379  &kZonePacific_Fakaofo, // Pacific/Fakaofo
+
380  &kZonePacific_Fiji, // Pacific/Fiji
+
381  &kZonePacific_Funafuti, // Pacific/Funafuti
+
382  &kZonePacific_Galapagos, // Pacific/Galapagos
+
383  &kZonePacific_Gambier, // Pacific/Gambier
+
384  &kZonePacific_Guadalcanal, // Pacific/Guadalcanal
+
385  &kZonePacific_Guam, // Pacific/Guam
+
386  &kZonePacific_Honolulu, // Pacific/Honolulu
+
387  &kZonePacific_Kiritimati, // Pacific/Kiritimati
+
388  &kZonePacific_Kosrae, // Pacific/Kosrae
+
389  &kZonePacific_Kwajalein, // Pacific/Kwajalein
+
390  &kZonePacific_Majuro, // Pacific/Majuro
+
391  &kZonePacific_Marquesas, // Pacific/Marquesas
+
392  &kZonePacific_Nauru, // Pacific/Nauru
+
393  &kZonePacific_Niue, // Pacific/Niue
+
394  &kZonePacific_Norfolk, // Pacific/Norfolk
+
395  &kZonePacific_Noumea, // Pacific/Noumea
+
396  &kZonePacific_Pago_Pago, // Pacific/Pago_Pago
+
397  &kZonePacific_Palau, // Pacific/Palau
+
398  &kZonePacific_Pitcairn, // Pacific/Pitcairn
+
399  &kZonePacific_Pohnpei, // Pacific/Pohnpei
+
400  &kZonePacific_Port_Moresby, // Pacific/Port_Moresby
+
401  &kZonePacific_Rarotonga, // Pacific/Rarotonga
+
402  &kZonePacific_Tahiti, // Pacific/Tahiti
+
403  &kZonePacific_Tarawa, // Pacific/Tarawa
+
404  &kZonePacific_Tongatapu, // Pacific/Tongatapu
+
405  &kZonePacific_Wake, // Pacific/Wake
+
406  &kZonePacific_Wallis, // Pacific/Wallis
+
407  &kZoneWET, // WET
+
408 
+
409 };
+
410 
+
411 }
+
412 }
+ diff --git a/docs/html/_2zone__registry_8h_source.html b/docs/html/_2zone__registry_8h_source.html index 35124c8a3..af84efafc 100644 --- a/docs/html/_2zone__registry_8h_source.html +++ b/docs/html/_2zone__registry_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx/zone_registry.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx/zone_registry.h Source File @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */
zone_registry.h
-
1 // This file was generated by the following script:
2 //
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
4 //
5 // using the TZ Database files from
6 // https://github.com/eggert/tz/releases/tag/2020a
7 //
8 // DO NOT EDIT
9 
10 #ifndef ACE_TIME_ZONEDBX_ZONE_REGISTRY_H
11 #define ACE_TIME_ZONEDBX_ZONE_REGISTRY_H
12 
13 #include <ace_time/internal/ZoneInfo.h>
14 
15 namespace ace_time {
16 namespace zonedbx {
17 
18 const uint16_t kZoneRegistrySize = 387;
19 
20 extern const extended::ZoneInfo* const kZoneRegistry[387];
21 
22 }
23 }
24 #endif
+
1 // This file was generated by the following script:
+
2 //
+
3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050
+
4 //
+
5 // using the TZ Database files from
+
6 // https://github.com/eggert/tz/releases/tag/2020c
+
7 //
+
8 // DO NOT EDIT
+
9 
+
10 #ifndef ACE_TIME_ZONEDBX_ZONE_REGISTRY_H
+
11 #define ACE_TIME_ZONEDBX_ZONE_REGISTRY_H
+
12 
+
13 #include <ace_time/internal/ZoneInfo.h>
+
14 
+
15 namespace ace_time {
+
16 namespace zonedbx {
+
17 
+
18 const uint16_t kZoneRegistrySize = 387;
+
19 
+
20 extern const extended::ZoneInfo* const kZoneRegistry[387];
+
21 
+
22 }
+
23 }
+
24 #endif
diff --git a/docs/html/annotated.html b/docs/html/annotated.html index 6d4ff3bf3..6a8657a1b 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -1,9 +1,9 @@ - + - + AceTime: Class List @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */ @@ -69,55 +72,45 @@  Nace_time  Nbasic  CMonthDayThe result of calcStartDayOfMonth() - CTransitionData structure that defines the start of a specific UTC offset as described by the matching ZoneEra and its ZoneRule for a given year - CZoneContextMetadata about the zone database - CZoneEraAn entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period - CZoneEraBrokerData broker for accessing ZoneEra - CZoneInfoRepresentation of a given time zone, implemented as an array of ZoneEra records - CZoneInfoBrokerData broker for accessing ZoneInfo - CZonePolicyA collection of transition rules which describe the DST rules of a given administrative region - CZonePolicyBrokerData broker for accessing ZonePolicy - CZoneRegistryBrokerData broker for accessing the ZoneRegistry - CZoneRuleA time zone transition rule - CZoneRuleBrokerData broker for accessing ZoneRule - Nclock - CClockBase class for objects that provide and store time - CDS3231ClockAn implementation of Clock that uses a DS3231 RTC chip - CNtpClockA Clock that retrieves the time from an NTP server - CSystemClockA Clock that uses the Arduino millis() function to advance the time returned to the user - CSystemClockCoroutineA version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called - CSystemClockLoopA subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call - Ncommon - CTimingStatsHelper class to collect timing statistics such as min, max, average - Nextended - CDateTupleA tuple that represents a date and time - CTransitionRepresents an interval of time where the time zone obeyed a certain UTC offset and DST delta - CTransitionStorageA heap manager which is specialized and tuned to manage a collection of Transitions, keeping track of unused, used, and active states, using a fixed array of Transitions - CYearMonthTupleA simple tuple to represent a year/month pair - CZoneContextMetadata about the zone database - CZoneEraAn entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period - CZoneEraBrokerData broker for accessing ZoneEra - CZoneInfoRepresentation of a given time zone, implemented as an array of ZoneEra records - CZoneInfoBrokerData broker for accessing ZoneInfo - CZoneMatchData structure that captures the matching ZoneEra and its ZoneRule transitions for a given year - CZonePolicyA collection of transition rules which describe the DST rules of a given administrative region - CZonePolicyBrokerData broker for accessing ZonePolicy - CZoneRegistryBrokerData broker for accessing the ZoneRegistry - CZoneRuleA time zone transition rule - CZoneRuleBrokerData broker for accessing ZoneRule + CTransitionData structure that defines the start of a specific UTC offset as described by the matching ZoneEra and its ZoneRule for a given year + CZoneEraBrokerData broker for accessing ZoneEra + CZoneInfoBrokerData broker for accessing ZoneInfo + CZonePolicyBrokerData broker for accessing ZonePolicy + CZoneRegistryBrokerData broker for accessing the ZoneRegistry + CZoneRuleBrokerData broker for accessing ZoneRule + Nclock + CClockBase class for objects that provide and store time + CDS3231ClockAn implementation of Clock that uses a DS3231 RTC chip + CNtpClockA Clock that retrieves the time from an NTP server + CSystemClockA Clock that uses the Arduino millis() function to advance the time returned to the user + CSystemClockCoroutineA version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called + CSystemClockLoopA subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call + Ncommon + CTimingStatsHelper class to collect timing statistics such as min, max, average + Nextended + CDateTupleA tuple that represents a date and time + CTransitionRepresents an interval of time where the time zone obeyed a certain UTC offset and DST delta + CTransitionStorageA heap manager which is specialized and tuned to manage a collection of Transitions, keeping track of unused, used, and active states, using a fixed array of Transitions + CYearMonthTupleA simple tuple to represent a year/month pair + CZoneEraBrokerData broker for accessing ZoneEra + CZoneInfoBrokerData broker for accessing ZoneInfo + CZoneMatchData structure that captures the matching ZoneEra and its ZoneRule transitions for a given year + CZonePolicyBrokerData broker for accessing ZonePolicy + CZoneRegistryBrokerData broker for accessing the ZoneRegistry + CZoneRuleBrokerData broker for accessing ZoneRule  Nhw  CCrcEepromThin wrapper around the EEPROM object (from the the built-in EEPROM library) to read and write a given block of data along with its CRC check - CDS3231A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip - CHardwareDateTimeThe date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip + CDS3231A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip + CHardwareDateTimeThe date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip  CHardwareTemperatureThe temperature in Celcius as a signed (8.8) fixed-point integer - CBasicZoneA thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data + CBasicZoneA thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data  CBasicZoneManager - CBasicZoneProcessorAn implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database + CBasicZoneProcessorAn implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database  CBasicZoneProcessorCache  CDateStringsClass that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string - CExtendedZoneA thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data + CExtendedZoneA thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data  CExtendedZoneManager - CExtendedZoneProcessorAn implementation of ZoneProcessor that supports for all zones defined by the TZ Database + CExtendedZoneProcessorAn implementation of ZoneProcessor that supports for all zones defined by the TZ Database  CExtendedZoneProcessorCache  CLocalDateThe date (year, month, day) representing the date without regards to time zone  CLocalDateTimeClass that holds the date-time as the components (year, month, day, hour, minute, second) without regards to the time zone @@ -126,12 +119,12 @@  CTimeOffsetA thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC, but not always  CTimePeriodRepresents a period of time relative to some known point in time, potentially represented by a DateTime  CTimeZoneClass that describes a time zone - CTimeZoneDataData structure that captures the internal state of a TimeZone object with enough information so that it can be serialized using TimeZone::toTimeZoneData() then reconstructed using ZoneManager::createForTimeZoneData() + CTimeZoneDataData structure that captures the internal state of a TimeZone object with enough information so that it can be serialized using TimeZone::toTimeZoneData() then reconstructed using ZoneManager::createForTimeZoneData()  CZonedDateTimeThe date (year, month, day), time (hour, minute, second), and a timeZone representing an instant in time - CZoneManagerReturns the TimeZone given the zoneInfo, zoneName, or zoneId - CZoneProcessorBase interface for ZoneProcessor classes + CZoneManagerReturns the TimeZone given the zoneInfo, zoneName, or zoneId + CZoneProcessorBase interface for ZoneProcessor classes  CZoneProcessorCacheCommon interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache - CZoneProcessorCacheImplA cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request + CZoneProcessorCacheImplA cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request  CZoneRegistrarClass that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g @@ -140,7 +133,7 @@ diff --git a/docs/html/classace__time_1_1BasicZone-members.html b/docs/html/classace__time_1_1BasicZone-members.html index fc1f02330..993db1447 100644 --- a/docs/html/classace__time_1_1BasicZone-members.html +++ b/docs/html/classace__time_1_1BasicZone-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
-

A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data. +

A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data. More...

#include <BasicZone.h>

@@ -80,7 +83,7 @@

Public Member Functions

BasicZone (const basic::ZoneInfo *zoneInfo) + BasicZone (const basic::ZoneInfo *zoneInfo)    BasicZone (const BasicZone &)=default @@ -99,19 +102,19 @@  

Detailed Description

-

A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data.

-

The basic::ZoneInfo data struct is intended to be an opaque type to the users of this library.

+

A thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data.

+

The basic::ZoneInfo data struct is intended to be an opaque type to the users of this library.

Definition at line 22 of file BasicZone.h.


The documentation for this class was generated from the following file:
diff --git a/docs/html/classace__time_1_1BasicZoneManager-members.html b/docs/html/classace__time_1_1BasicZoneManager-members.html index 0bb9431b0..ace48e4db 100644 --- a/docs/html/classace__time_1_1BasicZoneManager-members.html +++ b/docs/html/classace__time_1_1BasicZoneManager-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@
- + +/* @license-end */ - + +/* @license-end */
Inheritance graph
- + +
[legend]
@@ -86,21 +90,22 @@
Collaboration graph
- + +
[legend]
+  +TimeZone  @@ -125,7 +130,7 @@ Additional Inherited Members + 

Public Member Functions

BasicZoneManager (uint16_t registrySize, const basic::ZoneInfo *const *zoneRegistry)
BasicZoneManager (uint16_t registrySize, const basic::ZoneInfo *const *zoneRegistry)
 
- Public Member Functions inherited from ace_time::ZoneManager< basic::ZoneInfo, BasicZoneRegistrar, BasicZoneProcessorCache< SIZE > >
const BasicZoneRegistrargetRegistrar () const
 
-TimeZone createForZoneInfo (const basic::ZoneInfo *zoneInfo)
createForZoneInfo (const basic::ZoneInfo *zoneInfo)
 
TimeZone createForZoneName (const char *name)
- Protected Member Functions inherited from ace_time::ZoneManager< basic::ZoneInfo, BasicZoneRegistrar, BasicZoneProcessorCache< SIZE > >
ZoneManager (uint16_t registrySize, const basic::ZoneInfo *const *zoneRegistry)
ZoneManager (uint16_t registrySize, const basic::ZoneInfo *const *zoneRegistry)
 

Detailed Description

@@ -141,14 +146,14 @@

Definition at line 106 of file ZoneManager.h.


The documentation for this class was generated from the following file:
diff --git a/docs/html/classace__time_1_1BasicZoneManager__coll__graph.map b/docs/html/classace__time_1_1BasicZoneManager__coll__graph.map index eecef4ddf..ec34239dc 100644 --- a/docs/html/classace__time_1_1BasicZoneManager__coll__graph.map +++ b/docs/html/classace__time_1_1BasicZoneManager__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1BasicZoneManager__coll__graph.md5 b/docs/html/classace__time_1_1BasicZoneManager__coll__graph.md5 index e49840911..8e08ad43c 100644 --- a/docs/html/classace__time_1_1BasicZoneManager__coll__graph.md5 +++ b/docs/html/classace__time_1_1BasicZoneManager__coll__graph.md5 @@ -1 +1 @@ -b8c14438ec524806f65bd5a1893148bf \ No newline at end of file +383482b44d4cdf0a445af5de1f5426ec \ No newline at end of file diff --git a/docs/html/classace__time_1_1BasicZoneManager__coll__graph.png b/docs/html/classace__time_1_1BasicZoneManager__coll__graph.png index 74bdb9024..7b059cf8f 100644 Binary files a/docs/html/classace__time_1_1BasicZoneManager__coll__graph.png and b/docs/html/classace__time_1_1BasicZoneManager__coll__graph.png differ diff --git a/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.map b/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.map index eecef4ddf..ec34239dc 100644 --- a/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.map +++ b/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.md5 b/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.md5 index 43b49c7fe..8e08ad43c 100644 --- a/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.md5 +++ b/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.md5 @@ -1 +1 @@ -8e382f1ca479b4f25e2f40b9ed811d37 \ No newline at end of file +383482b44d4cdf0a445af5de1f5426ec \ No newline at end of file diff --git a/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.png b/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.png index 74bdb9024..7b059cf8f 100644 Binary files a/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.png and b/docs/html/classace__time_1_1BasicZoneManager__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1BasicZoneProcessor-members.html b/docs/html/classace__time_1_1BasicZoneProcessor-members.html index 9fd8a5ad5..88d313c1f 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessor-members.html +++ b/docs/html/classace__time_1_1BasicZoneProcessor-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
AceTime -  1.1 +  1.1.1
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
@@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
-

An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database. +

An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database. More...

#include <BasicZoneProcessor.h>

@@ -83,7 +86,8 @@
Inheritance graph
- + +
[legend]
@@ -91,50 +95,55 @@
Collaboration graph
- + +
[legend]
- - + + - - + + - - + + - + - + - + - + - + - - + + - - + +

Public Member Functions

 BasicZoneProcessor (const basic::ZoneInfo *zoneInfo=nullptr)
 Constructor. More...
 BasicZoneProcessor (const basic::ZoneInfo *zoneInfo=nullptr)
 Constructor. More...
 
const void * getZoneInfo () const override
 Return the underlying ZoneInfo. More...
+const void * getZoneInfo () const override
 Return the underlying ZoneInfo.
 
uint32_t getZoneId () const override
 Return the unique stable zoneId. More...
+uint32_t getZoneId () const override
 Return the unique stable zoneId.
 
TimeOffset getUtcOffset (acetime_t epochSeconds) const override
 Return the total UTC offset at epochSeconds, including DST offset. More...
 Return the total UTC offset at epochSeconds, including DST offset. More...
 
TimeOffset getDeltaOffset (acetime_t epochSeconds) const override
 Return the DST delta offset at epochSeconds. More...
 Return the DST delta offset at epochSeconds. More...
 
const char * getAbbrev (acetime_t epochSeconds) const override
 Return the time zone abbreviation at epochSeconds. More...
 Return the time zone abbreviation at epochSeconds. More...
 
OffsetDateTime getOffsetDateTime (const LocalDateTime &ldt) const override
 
void printTo (Print &printer) const override
 Print a human-readable identifier (e.g. More...
 Print a human-readable identifier (e.g. More...
 
void printShortTo (Print &printer) const override
 Print a short human-readable identifier (e.g. More...
 Print a short human-readable identifier (e.g. More...
 
void log () const
 Used only for debugging. More...
+void log () const
 Used only for debugging.
 
- Public Member Functions inherited from ace_time::ZoneProcessor
uint8_t getType () const
 Return the kTypeXxx of the current instance. More...
+uint8_t getType () const
 Return the kTypeXxx of the current instance.
 
- +

Static Public Member Functions

static basic::MonthDay calcStartDayOfMonth (int16_t year, uint8_t month, uint8_t onDayOfWeek, int8_t onDayOfMonth)
 Calculate the actual (month, day) of the expresssion (onDayOfWeek >= onDayOfMonth) or (onDayOfWeek <= onDayOfMonth). More...
 Calculate the actual (month, day) of the expresssion (onDayOfWeek >= onDayOfMonth) or (onDayOfWeek <= onDayOfMonth). More...
 
- + - + - - + +

@@ -178,10 +187,10 @@ Additional Inherited Members

- Static Public Attributes inherited from ace_time::ZoneProcessor
static const uint8_t kTypeBasic = 2
 Indicate BasicZoneProcessor. More...
 Indicate BasicZoneProcessor. More...
 
static const uint8_t kTypeExtended = 3
 Indicate ExtendedZoneProcessor. More...
 Indicate ExtendedZoneProcessor. More...
 
- Protected Member Functions inherited from ace_time::ZoneProcessor
@@ -190,8 +199,9 @@
ZoneProcessoroperator= (const ZoneProcessor &)=delete
 
 ZoneProcessor (uint8_t type)
 Constructor. More...
ZoneProcessor (uint8_t type)
 Constructor.
 
- Protected Attributes inherited from ace_time::ZoneProcessor
@@ -199,13 +209,13 @@
 

Detailed Description

-

An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.

+

An implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database.

The supported list of zones, as well as the list of unsupported zones, are is listed in the zonedb/zone_info.h header file. The constructor expects a pointer to one of the ZoneInfo structures declared in the zone_infos.h file.

The internal ZoneRule and ZoneEra records that match the year of the given epochSeconds are cached for performance. The expectation is that repeated calls to the various methods will have epochSeconds which do not vary too greatly and will occur in the same year.

The Rule records are transition points which look like this:

* Rule  NAME  FROM    TO  TYPE    IN     ON        AT      SAVE    LETTER/S
-* 

Each record is represented by basic::ZoneRule and the entire collection is represented by basic::ZonePolicy.

+*

Each record is represented by basic::ZoneRule and the entire collection is represented by basic::ZonePolicy.

The Zone records define the region which follows a specific set of Rules for certain time periods (given by UNTIL below):

* Zone NAME              GMTOFF    RULES FORMAT  [UNTIL]
-* 

Each record is represented by basic::ZoneEra and the entire collection is represented by basic::ZoneInfo.

+*

Each record is represented by basic::ZoneEra and the entire collection is represented by basic::ZoneInfo.

This class assumes that the various components of ZoneInfo, ZoneEra, and ZonePolicy, ZoneRule have a number of limitations and constraints which simplify the implementation of this class. The tzcompiler.py script will remove zones which do not meet these constraints when generating the structs defined by zonedb/zone_infos.h. The constraints are at least the following (see tools/transformer.py for the authoratative algorithm):

  • ZoneInfo UNTIL field must contain only the full year; cannot contain month, day, or time components
  • @@ -215,7 +225,7 @@
  • ZoneRule atTimeSuffix can be any of ('w', 's', and 'u')
  • ZoneRule LETTER must contain only a single letter (not "WAT" or "CST")
-

Even with these limitations, zonedb/zone_info.h shows that 270 out of a total of 387 zones are supported by BasicZoneProcessor (as of v0.8).

+

Even with these limitations, zonedb/zone_info.h shows that 270 out of a total of 387 zones are supported by BasicZoneProcessor (as of v0.8).

Not thread-safe.

Definition at line 204 of file BasicZoneProcessor.h.

@@ -232,7 +242,7 @@

ace_time::BasicZoneProcessor::BasicZoneProcessor ( - const basic::ZoneInfo *  + const basic::ZoneInfo *  zoneInfo = nullptr) @@ -310,7 +320,7 @@

ExtendedZoneProcessor.

+

Not private, used by ExtendedZoneProcessor.

Definition at line 352 of file BasicZoneProcessor.h.

@@ -375,7 +385,7 @@

Return the DST delta offset at epochSeconds.

-

This is an experimental method that has not been tested thoroughly. Use with caution. Returns TimeOffset::forError() if an error occurs.

+

This is an experimental method that has not been tested thoroughly. Use with caution. Returns TimeOffset::forError() if an error occurs.

Implements ace_time::ZoneProcessor.

@@ -408,10 +418,10 @@

-

The Transitions calculated by BasicZoneProcessor contain only the epochSeconds when each transition occurs. They do not contain the local date/time components of the transition. This design reduces the amount of memory required by BasicZoneProcessor, but this means that the information needed to implement this method correctly does not exist.

+

The Transitions calculated by BasicZoneProcessor contain only the epochSeconds when each transition occurs. They do not contain the local date/time components of the transition. This design reduces the amount of memory required by BasicZoneProcessor, but this means that the information needed to implement this method correctly does not exist.

The implementation is somewhat of a hack:

0) Use the localDateTime to extract the offset, assuming that the localDatetime is UTC. This will get us within 12-14h of the correct UTC offset. 1) Use (localDateTime, offset0) to determine offset1. 2) Use (localdateTime, offset1) to determine offset2. 3) Finally, check if offset1 and offset2 are equal. If they are we reached equilibrium so we can just return (localDateTime, offset1). If they are not equal, then we have a cycle because the localDateTime occurred in a DST gap (STD->DST transition) or overlap (DST->STD transition). We arbitrarily pick the offset of the later epochSeconds since that seems to match closely to what most people would expect to happen in a gap or overlap (e.g. In the gap of 2am->3am, a 2:30am would get shifted to 3:30am.)

-

The code is written slightly ackwardly to try to encourage the compiler to perform Return Value Optimization. For example, I use only a single OffsetDateTime instance, and I don't use early return.

+

The code is written slightly ackwardly to try to encourage the compiler to perform Return Value Optimization. For example, I use only a single OffsetDateTime instance, and I don't use early return.

Implements ace_time::ZoneProcessor.

@@ -444,103 +454,12 @@

Return the total UTC offset at epochSeconds, including DST offset.

-

Returns TimeOffset::forError() if an error occurs.

+

Returns TimeOffset::forError() if an error occurs.

Implements ace_time::ZoneProcessor.

Definition at line 221 of file BasicZoneProcessor.h.

-

-
- -

◆ getZoneId()

- -
-
- - - - - -
- - - - - - - -
uint32_t ace_time::BasicZoneProcessor::getZoneId () const
-
-inlineoverridevirtual
-
- -

Return the unique stable zoneId.

- -

Implements ace_time::ZoneProcessor.

- -

Definition at line 219 of file BasicZoneProcessor.h.

- -
-
- -

◆ getZoneInfo()

- -
-
- - - - - -
- - - - - - - -
const void* ace_time::BasicZoneProcessor::getZoneInfo () const
-
-inlineoverridevirtual
-
- -

Return the underlying ZoneInfo.

- -

Implements ace_time::ZoneProcessor.

- -

Definition at line 215 of file BasicZoneProcessor.h.

- -
-
- -

◆ log()

- -
-
- - - - - -
- - - - - - - -
void ace_time::BasicZoneProcessor::log () const
-
-inline
-
- -

Used only for debugging.

- -

Definition at line 318 of file BasicZoneProcessor.h.

-
@@ -610,15 +529,15 @@

BasicZoneProcessor.h -
  • /home/brian/dev/AceTime/src/ace_time/BasicZoneProcessor.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/BasicZoneProcessor.h
  • +
  • /home/brian/src/AceTime/src/ace_time/BasicZoneProcessor.cpp
  • diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache-members.html b/docs/html/classace__time_1_1BasicZoneProcessorCache-members.html index 2f5bc083e..5d965fb14 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessorCache-members.html +++ b/docs/html/classace__time_1_1BasicZoneProcessorCache-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    This is the complete list of members for ace_time::BasicZoneProcessorCache< SIZE >, including all inherited members.

    - - - - + +
    getType() overrideace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >inlinevirtual
    getZoneProcessor(const void *zoneInfo) overrideace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >inlinevirtual
    kTypeBasicManaged (defined in ace_time::ZoneProcessorCache)ace_time::ZoneProcessorCachestatic
    kTypeExtendedManaged (defined in ace_time::ZoneProcessorCache)ace_time::ZoneProcessorCachestatic
    getType() override (defined in ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >)ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >inline
    getZoneProcessor(const void *zoneInfo) overrideace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >inline
    ZoneProcessorCacheImpl() (defined in ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >)ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >inline
    diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache.html b/docs/html/classace__time_1_1BasicZoneProcessorCache.html index ab024124c..0b7b9297a 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessorCache.html +++ b/docs/html/classace__time_1_1BasicZoneProcessorCache.html @@ -1,9 +1,9 @@ - + - + AceTime: ace_time::BasicZoneProcessorCache< SIZE > Class Template Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    Inheritance graph
    - - + +
    [legend]
    @@ -84,26 +87,20 @@
    Collaboration graph
    - - + +
    [legend]
    - - + - - - - -

    Additional Inherited Members

    - Public Member Functions inherited from ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >
    uint8_t getType () override
     Return the type of this cache. More...
    +uint8_t getType () override
     
    ZoneProcessorgetZoneProcessor (const void *zoneInfo) override
     Get the ZoneProcessor from the zoneInfo. More...
     
    - Static Public Attributes inherited from ace_time::ZoneProcessorCache
    -static const uint8_t kTypeBasicManaged = ZoneProcessor::kTypeBasic + 2
     
    static const uint8_t kTypeExtendedManaged
     

    Detailed Description

    template<uint8_t SIZE>
    @@ -112,14 +109,14 @@

    Definition at line 102 of file ZoneProcessorCache.h.


    The documentation for this class was generated from the following file:
    diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.map b/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.map index 57f105a1d..9ba28718d 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.map +++ b/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.md5 b/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.md5 index 7112779a1..c1c74006a 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.md5 +++ b/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.md5 @@ -1 +1 @@ -06f00d6e1568c4d910373509a3e9e499 \ No newline at end of file +a5638c48eea9c0c56e893243aba78d16 \ No newline at end of file diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.png b/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.png index 4122d0bac..7c527f9e8 100644 Binary files a/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.png and b/docs/html/classace__time_1_1BasicZoneProcessorCache__coll__graph.png differ diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.map b/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.map index 57f105a1d..9ba28718d 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.map +++ b/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.md5 b/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.md5 index 7ff45aefc..c1c74006a 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.md5 +++ b/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.md5 @@ -1 +1 @@ -db63bccc3bdada443a3cf250b2e7daaa \ No newline at end of file +a5638c48eea9c0c56e893243aba78d16 \ No newline at end of file diff --git a/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.png b/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.png index 4122d0bac..7c527f9e8 100644 Binary files a/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.png and b/docs/html/classace__time_1_1BasicZoneProcessorCache__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.map b/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.map index eadc20943..19127f4d1 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.map +++ b/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.md5 b/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.md5 index 6b8dabc29..9ffd9e212 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.md5 +++ b/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.md5 @@ -1 +1 @@ -0881014c2b2c86c18037d7ce3a916c18 \ No newline at end of file +ffb098228db805b71f7cf809a69eeb45 \ No newline at end of file diff --git a/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.png b/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.png index 557247c8b..5adee5c2c 100644 Binary files a/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.png and b/docs/html/classace__time_1_1BasicZoneProcessor__coll__graph.png differ diff --git a/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.map b/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.map index eadc20943..19127f4d1 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.map +++ b/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.md5 b/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.md5 index 398935715..9ffd9e212 100644 --- a/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.md5 +++ b/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.md5 @@ -1 +1 @@ -fcf52692059bdfebf2ee3d81fb060466 \ No newline at end of file +ffb098228db805b71f7cf809a69eeb45 \ No newline at end of file diff --git a/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.png b/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.png index 557247c8b..5adee5c2c 100644 Binary files a/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.png and b/docs/html/classace__time_1_1BasicZoneProcessor__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1DateStrings-members.html b/docs/html/classace__time_1_1DateStrings-members.html index d5af907b4..839f47906 100644 --- a/docs/html/classace__time_1_1DateStrings-members.html +++ b/docs/html/classace__time_1_1DateStrings-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    const char * monthLongString (uint8_t month) - Return the long month name. More...
    + Return the long month name. More...
      const char * monthShortString (uint8_t month) - Return the short month name. More...
    + Return the short month name. More...
      const char * dayOfWeekLongString (uint8_t dayOfWeek) - Return the short dayOfWeek name. More...
    + Return the short dayOfWeek name. More...
      const char * dayOfWeekShortString (uint8_t dayOfWeek) - Return the short dayOfWeek name. More...
    + Return the short dayOfWeek name. More...
      - +

    @@ -100,12 +103,12 @@

     Length of the longest month or week name, including the '\0' terminator.
     
    static const uint8_t kShortNameLength = 3
     Number of prefix characters to use to create a short name. More...
     Number of prefix characters to use to create a short name. More...
     

    Detailed Description

    Class that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string.

    -

    Both long and short versions can be retrieved. The object uses an internal char[] buffer to store the result strings, so the strings must be used before DateStrings object is destroyed. This also means that the object is not thread-safe but Arduino boards are single-threaded currently so we don't have to worry about this.

    +

    Both long and short versions can be retrieved. The object uses an internal char[] buffer to store the result strings, so the strings must be used before DateStrings object is destroyed. This also means that the object is not thread-safe but Arduino boards are single-threaded currently so we don't have to worry about this.

    Inspired by the DateStrings.cpp file in https://github.com/PaulStoffregen/Time/blob/master/DateStrings.cpp.

    Definition at line 26 of file DateStrings.h.

    @@ -263,15 +266,15 @@

    DateStrings.h -
  • /home/brian/dev/AceTime/src/ace_time/common/DateStrings.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/common/DateStrings.h
  • +
  • /home/brian/src/AceTime/src/ace_time/common/DateStrings.cpp
  • diff --git a/docs/html/classace__time_1_1ExtendedZone-members.html b/docs/html/classace__time_1_1ExtendedZone-members.html index 10765fe09..4c5ae0dc2 100644 --- a/docs/html/classace__time_1_1ExtendedZone-members.html +++ b/docs/html/classace__time_1_1ExtendedZone-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data. +

    A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data. More...

    #include <ExtendedZone.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ExtendedZone (const extended::ZoneInfo *zoneInfo) + ExtendedZone (const extended::ZoneInfo *zoneInfo)    ExtendedZone (const ExtendedZone &)=default @@ -99,19 +102,19 @@  

    Detailed Description

    -

    A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data.

    -

    The extended::ZoneInfo data struct is intended to be an opaque type to the users of this library.

    +

    A thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data.

    +

    The extended::ZoneInfo data struct is intended to be an opaque type to the users of this library.

    Definition at line 23 of file ExtendedZone.h.


    The documentation for this class was generated from the following file:
    diff --git a/docs/html/classace__time_1_1ExtendedZoneManager-members.html b/docs/html/classace__time_1_1ExtendedZoneManager-members.html index 72f46f0cf..69314e67b 100644 --- a/docs/html/classace__time_1_1ExtendedZoneManager-members.html +++ b/docs/html/classace__time_1_1ExtendedZoneManager-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    Inheritance graph
    - + +
    [legend]
    @@ -86,21 +90,22 @@
    Collaboration graph
    - + +
    [legend]
    +  +TimeZone  @@ -125,7 +130,7 @@ Additional Inherited Members + 

    Public Member Functions

    ExtendedZoneManager (uint16_t registrySize, const extended::ZoneInfo *const *zoneRegistry)
    ExtendedZoneManager (uint16_t registrySize, const extended::ZoneInfo *const *zoneRegistry)
     
    - Public Member Functions inherited from ace_time::ZoneManager< extended::ZoneInfo, ExtendedZoneRegistrar, ExtendedZoneProcessorCache< SIZE > >
    const ExtendedZoneRegistrargetRegistrar () const
     
    -TimeZone createForZoneInfo (const extended::ZoneInfo *zoneInfo)
    createForZoneInfo (const extended::ZoneInfo *zoneInfo)
     
    TimeZone createForZoneName (const char *name)
    - Protected Member Functions inherited from ace_time::ZoneManager< extended::ZoneInfo, ExtendedZoneRegistrar, ExtendedZoneProcessorCache< SIZE > >
    ZoneManager (uint16_t registrySize, const extended::ZoneInfo *const *zoneRegistry)
    ZoneManager (uint16_t registrySize, const extended::ZoneInfo *const *zoneRegistry)
     

    Detailed Description

    @@ -141,14 +146,14 @@

    Definition at line 119 of file ZoneManager.h.


    The documentation for this class was generated from the following file:
    diff --git a/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.map b/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.map index 4c82185ac..9283bae2a 100644 --- a/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.map +++ b/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.md5 b/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.md5 index d0a5abccb..7ffad99c5 100644 --- a/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.md5 +++ b/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.md5 @@ -1 +1 @@ -8763cf0cae227260463fbda1a4dbe45c \ No newline at end of file +1cc044c82d7c89a00cc60d78938df7ea \ No newline at end of file diff --git a/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.png b/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.png index 8ac956899..81ecd43f5 100644 Binary files a/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.png and b/docs/html/classace__time_1_1ExtendedZoneManager__coll__graph.png differ diff --git a/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.map b/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.map index 4c82185ac..9283bae2a 100644 --- a/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.map +++ b/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.md5 b/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.md5 index 41dffe973..7ffad99c5 100644 --- a/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.md5 +++ b/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.md5 @@ -1 +1 @@ -df5babf58f92fe70d1965a215b3000b3 \ No newline at end of file +1cc044c82d7c89a00cc60d78938df7ea \ No newline at end of file diff --git a/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.png b/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.png index 8ac956899..81ecd43f5 100644 Binary files a/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.png and b/docs/html/classace__time_1_1ExtendedZoneManager__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor-members.html b/docs/html/classace__time_1_1ExtendedZoneProcessor-members.html index f36c7dd28..c15834b83 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessor-members.html +++ b/docs/html/classace__time_1_1ExtendedZoneProcessor-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
    -

    An implementation of ZoneProcessor that supports for all zones defined by the TZ Database. +

    An implementation of ZoneProcessor that supports for all zones defined by the TZ Database. More...

    #include <ExtendedZoneProcessor.h>

    @@ -82,7 +85,8 @@
    Inheritance graph
    - + +
    [legend]
    @@ -90,51 +94,56 @@
    Collaboration graph
    - + +
    [legend]
    - - + + - - + + - - + + - + - + - + - + - + - + - - + + - + - + - - + +

    Public Member Functions

     ExtendedZoneProcessor (const extended::ZoneInfo *zoneInfo=nullptr)
     Constructor. More...
     ExtendedZoneProcessor (const extended::ZoneInfo *zoneInfo=nullptr)
     Constructor. More...
     
    const void * getZoneInfo () const override
     Return the underlying ZoneInfo. More...
    +const void * getZoneInfo () const override
     Return the underlying ZoneInfo.
     
    uint32_t getZoneId () const override
     Return the unique stable zoneId. More...
    +uint32_t getZoneId () const override
     Return the unique stable zoneId.
     
    TimeOffset getUtcOffset (acetime_t epochSeconds) const override
     Return the total UTC offset at epochSeconds, including DST offset. More...
     Return the total UTC offset at epochSeconds, including DST offset. More...
     
    TimeOffset getDeltaOffset (acetime_t epochSeconds) const override
     Return the DST delta offset at epochSeconds. More...
     Return the DST delta offset at epochSeconds. More...
     
    const char * getAbbrev (acetime_t epochSeconds) const override
     Return the time zone abbreviation at epochSeconds. More...
     Return the time zone abbreviation at epochSeconds. More...
     
    OffsetDateTime getOffsetDateTime (const LocalDateTime &ldt) const override
     Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the current ZoneProcessor. More...
     Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the current ZoneProcessor. More...
     
    void printTo (Print &printer) const override
     Print a human-readable identifier (e.g. More...
     Print a human-readable identifier (e.g. More...
     
    void printShortTo (Print &printer) const override
     Print a short human-readable identifier (e.g. More...
     Print a short human-readable identifier (e.g. More...
     
    void log () const
     Used only for debugging. More...
    +void log () const
     Used only for debugging.
     
    void resetTransitionHighWater ()
     Reset the TransitionStorage high water mark. More...
     Reset the TransitionStorage high water mark. More...
     
    uint8_t getTransitionHighWater () const
     Get the TransitionStorage high water mark. More...
     Get the TransitionStorage high water mark. More...
     
    - Public Member Functions inherited from ace_time::ZoneProcessor
    uint8_t getType () const
     Return the kTypeXxx of the current instance. More...
    +uint8_t getType () const
     Return the kTypeXxx of the current instance.
     
    - + - + - - + +

    @@ -208,10 +217,10 @@ Additional Inherited Members

    - Static Public Attributes inherited from ace_time::ZoneProcessor
    static const uint8_t kTypeBasic = 2
     Indicate BasicZoneProcessor. More...
     Indicate BasicZoneProcessor. More...
     
    static const uint8_t kTypeExtended = 3
     Indicate ExtendedZoneProcessor. More...
     Indicate ExtendedZoneProcessor. More...
     
    - Protected Member Functions inherited from ace_time::ZoneProcessor
    @@ -220,8 +229,9 @@
    ZoneProcessoroperator= (const ZoneProcessor &)=delete
     
     ZoneProcessor (uint8_t type)
     Constructor. More...
    ZoneProcessor (uint8_t type)
     Constructor.
     
    - Protected Attributes inherited from ace_time::ZoneProcessor
    @@ -229,9 +239,9 @@
     

    Detailed Description

    -

    An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.

    +

    An implementation of ZoneProcessor that supports for all zones defined by the TZ Database.

    The supported zones are defined in the zonedbx/zone_infos.h header file. The constructor expects a pointer to one of the ZoneInfo structures declared in the zonedbx/zone_infos.h file. The zone_specifier.py file is the initial Python implementation of this class, which got translated into C++.

    -

    Currently (as of v0.7), the underlying zoneinfo files (extended::ZoneInfo, etc) store the UTC and DST offsets of a timezone as a single signed byte in 15-minute increments. This is sufficient to accurate describe all time zones from the year 2000 until 2050. The AT and UNTIL transition times are stored using a 1-minute resolution, which correctly handles the 5 timezones whose DST transition times occur at 00:01. Those zones are:

    +

    Currently (as of v0.7), the underlying zoneinfo files (extended::ZoneInfo, etc) store the UTC and DST offsets of a timezone as a single signed byte in 15-minute increments. This is sufficient to accurate describe all time zones from the year 2000 until 2050. The AT and UNTIL transition times are stored using a 1-minute resolution, which correctly handles the 5 timezones whose DST transition times occur at 00:01. Those zones are:

    -
    - -

    ◆ getZoneId()

    - -
    -
    - - - - - -
    - - - - - - - -
    uint32_t ace_time::ExtendedZoneProcessor::getZoneId () const
    -
    -inlineoverridevirtual
    -
    - -

    Return the unique stable zoneId.

    - -

    Implements ace_time::ZoneProcessor.

    - -

    Definition at line 674 of file ExtendedZoneProcessor.h.

    - -
    -
    - -

    ◆ getZoneInfo()

    - -
    -
    - - - - - -
    - - - - - - - -
    const void* ace_time::ExtendedZoneProcessor::getZoneInfo () const
    -
    -inlineoverridevirtual
    -
    - -

    Return the underlying ZoneInfo.

    - -

    Implements ace_time::ZoneProcessor.

    - -

    Definition at line 670 of file ExtendedZoneProcessor.h.

    - -
    -
    - -

    ◆ log()

    - -
    -
    - - - - - -
    - - - - - - - -
    void ace_time::ExtendedZoneProcessor::log () const
    -
    -inline
    -
    - -

    Used only for debugging.

    - -

    Definition at line 763 of file ExtendedZoneProcessor.h.

    -
    @@ -631,15 +550,15 @@

    ExtendedZoneProcessor.h -
  • /home/brian/dev/AceTime/src/ace_time/ExtendedZoneProcessor.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/ExtendedZoneProcessor.h
  • +
  • /home/brian/src/AceTime/src/ace_time/ExtendedZoneProcessor.cpp
  • diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache-members.html b/docs/html/classace__time_1_1ExtendedZoneProcessorCache-members.html index 318741d1c..1f4f2f2cd 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessorCache-members.html +++ b/docs/html/classace__time_1_1ExtendedZoneProcessorCache-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    This is the complete list of members for ace_time::ExtendedZoneProcessorCache< SIZE >, including all inherited members.

    - - - - + +
    getType() overrideace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >inlinevirtual
    getZoneProcessor(const void *zoneInfo) overrideace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >inlinevirtual
    kTypeBasicManaged (defined in ace_time::ZoneProcessorCache)ace_time::ZoneProcessorCachestatic
    kTypeExtendedManaged (defined in ace_time::ZoneProcessorCache)ace_time::ZoneProcessorCachestatic
    getType() override (defined in ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >)ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >inline
    getZoneProcessor(const void *zoneInfo) overrideace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >inline
    ZoneProcessorCacheImpl() (defined in ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >)ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >inline
    diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache.html b/docs/html/classace__time_1_1ExtendedZoneProcessorCache.html index a229aba0a..fc3233015 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessorCache.html +++ b/docs/html/classace__time_1_1ExtendedZoneProcessorCache.html @@ -1,9 +1,9 @@ - + - + AceTime: ace_time::ExtendedZoneProcessorCache< SIZE > Class Template Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    Inheritance graph
    - - + +
    [legend]
    @@ -84,26 +87,20 @@
    Collaboration graph
    - - + +
    [legend]
    - - + - - - - -

    Additional Inherited Members

    - Public Member Functions inherited from ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >
    uint8_t getType () override
     Return the type of this cache. More...
    +uint8_t getType () override
     
    ZoneProcessorgetZoneProcessor (const void *zoneInfo) override
     Get the ZoneProcessor from the zoneInfo. More...
     
    - Static Public Attributes inherited from ace_time::ZoneProcessorCache
    -static const uint8_t kTypeBasicManaged = ZoneProcessor::kTypeBasic + 2
     
    static const uint8_t kTypeExtendedManaged
     

    Detailed Description

    template<uint8_t SIZE>
    @@ -112,14 +109,14 @@

    Definition at line 108 of file ZoneProcessorCache.h.


    The documentation for this class was generated from the following file:
    diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.map b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.map index 38b2ab963..1e23f3f3b 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.map +++ b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.md5 b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.md5 index 3f0da9e6d..6d5a32148 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.md5 +++ b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.md5 @@ -1 +1 @@ -9e7973985587539607aa4b41a0596a7d \ No newline at end of file +6e18788f39a123a3eb28c90469b73bd0 \ No newline at end of file diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.png b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.png index 1d0c027f0..ae071771d 100644 Binary files a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.png and b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__coll__graph.png differ diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.map b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.map index 38b2ab963..1e23f3f3b 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.map +++ b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.md5 b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.md5 index 1ed9e3f6e..6d5a32148 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.md5 +++ b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.md5 @@ -1 +1 @@ -c8810b31a0e37a96b52412e92f079a5e \ No newline at end of file +6e18788f39a123a3eb28c90469b73bd0 \ No newline at end of file diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.png b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.png index 1d0c027f0..ae071771d 100644 Binary files a/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.png and b/docs/html/classace__time_1_1ExtendedZoneProcessorCache__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.map b/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.map index 7dae790b4..7e4104974 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.map +++ b/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.md5 b/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.md5 index 49ce05ddf..f59564d96 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.md5 +++ b/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.md5 @@ -1 +1 @@ -6029dd83134cb45d8ad58a46e225f80d \ No newline at end of file +0d58ca1975ad2da6ad6d7484debbd284 \ No newline at end of file diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.png b/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.png index 9d94d181f..78ccec45f 100644 Binary files a/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.png and b/docs/html/classace__time_1_1ExtendedZoneProcessor__coll__graph.png differ diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.map b/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.map index 7dae790b4..7e4104974 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.map +++ b/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.md5 b/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.md5 index 17fd5c3ec..f59564d96 100644 --- a/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.md5 +++ b/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.md5 @@ -1 +1 @@ -bbcd831ef9d2750f7af208bd2f22fdd2 \ No newline at end of file +0d58ca1975ad2da6ad6d7484debbd284 \ No newline at end of file diff --git a/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.png b/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.png index 9d94d181f..78ccec45f 100644 Binary files a/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.png and b/docs/html/classace__time_1_1ExtendedZoneProcessor__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1LocalDate-members.html b/docs/html/classace__time_1_1LocalDate-members.html index 7d8b321dc..f88eba126 100644 --- a/docs/html/classace__time_1_1LocalDate-members.html +++ b/docs/html/classace__time_1_1LocalDate-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    LocalDate () - Default constructor does nothing. More...
    +LocalDate () + Default constructor does nothing.
      -int16_t year () const - Return the full year instead of just the last 2 digits. More...
    + +int16_t year () const + Return the full year instead of just the last 2 digits.
      -void year (int16_t year) - Set the year given the full year. More...
    + +void year (int16_t year) + Set the year given the full year.
      int8_t yearTiny () const - Return the single-byte year offset from year 2000. More...
    + Return the single-byte year offset from year 2000. More...
      void yearTiny (int8_t yearTiny) - Set the single-byte year offset from year 2000. More...
    + Set the single-byte year offset from year 2000. More...
      -uint8_t month () const - Return the month with January=1, December=12. More...
    + +uint8_t month () const + Return the month with January=1, December=12.
      -void month (uint8_t month) - Set the month. More...
    + +void month (uint8_t month) + Set the month.
      -uint8_t day () const - Return the day of the month. More...
    + +uint8_t day () const + Return the day of the month.
      -void day (uint8_t day) - Set the day of the month. More...
    + +void day (uint8_t day) + Set the day of the month.
      uint8_t dayOfWeek () const - Calculate the day of week given the (year, month, day). More...
    + Calculate the day of week given the (year, month, day). More...
      -bool isError () const - Return true if any component indicates an error condition. More...
    + +bool isError () const + Return true if any component indicates an error condition.
      acetime_t toEpochDays () const - Return number of days since AceTime epoch (2000-01-01 00:00:00Z). More...
    + Return number of days since AceTime epoch (2000-01-01 00:00:00Z). More...
      -acetime_t toUnixDays () const - Return the number of days since Unix epoch (1970-01-01 00:00:00). More...
    + +acetime_t toUnixDays () const + Return the number of days since Unix epoch (1970-01-01 00:00:00).
      acetime_t toEpochSeconds () const - Return the number of seconds since AceTime epoch (2000-01-01 00:00:00). More...
    + Return the number of seconds since AceTime epoch (2000-01-01 00:00:00). More...
      acetime_t toUnixSeconds () const  Return the number of seconds since Unix epoch (1970-01-01 00:00:00).
      int8_t compareTo (const LocalDate &that) const - Compare this LocalDate to that LocalDate, returning (<0, 0, >0) according to whether the epochSeconds is (this<that, this==this, this>that). More...
    + Compare this LocalDate to that LocalDate, returning (<0, 0, >0) according to whether the epochSeconds is (this<that, this==this, this>that). More...
      void printTo (Print &printer) const - Print LocalDate to 'printer' in ISO 8601 format, along with the day of week. More...
    + Print LocalDate to 'printer' in ISO 8601 format, along with the day of week. More...
       LocalDate (const LocalDate &)=default @@ -144,46 +156,52 @@

    Static Public Member Functions

    static LocalDate forComponents (int16_t year, uint8_t month, uint8_t day) - Factory method using separated year, month and day fields. More...
    + Factory method using separated year, month and day fields. More...
      -static LocalDate forTinyComponents (int8_t yearTiny, uint8_t month, uint8_t day) - Factory method using components with an int8_t yearTiny. More...
    + +static LocalDate forTinyComponents (int8_t yearTiny, uint8_t month, uint8_t day) + Factory method using components with an int8_t yearTiny.
      static LocalDate forEpochDays (acetime_t epochDays) - Factory method using the number of days since AceTime epoch of 2000-01-01. More...
    + Factory method using the number of days since AceTime epoch of 2000-01-01. More...
      -static LocalDate forUnixDays (acetime_t unixDays) - Factory method using the number of days since Unix epoch 1970-01-1. More...
    + +static LocalDate forUnixDays (acetime_t unixDays) + Factory method using the number of days since Unix epoch 1970-01-1.
      static LocalDate forEpochSeconds (acetime_t epochSeconds) - Factory method using the number of seconds since AceTime epoch of 2000-01-01. More...
    + Factory method using the number of seconds since AceTime epoch of 2000-01-01. More...
      static LocalDate forUnixSeconds (acetime_t unixSeconds) - Factory method that takes the number of seconds since Unix Epoch of 1970-01-01. More...
    + Factory method that takes the number of seconds since Unix Epoch of 1970-01-01. More...
      static LocalDate forDateString (const char *dateString) - Factory method. More...
    + Factory method. More...
      static LocalDate forDateStringChainable (const char *&dateString) - Variant of forDateString() that updates the pointer to the next unprocessed character. More...
    + Variant of forDateString() that updates the pointer to the next unprocessed character. More...
      static LocalDate forError () - Factory method that returns a LocalDate which represents an error condition. More...
    + Factory method that returns a LocalDate which represents an error condition. More...
      -static bool isLeapYear (int16_t year) - True if year is a leap year. More...
    + +static bool isLeapYear (int16_t year) + True if year is a leap year.
      -static bool isYearValid (int16_t year) - Return true if year is within valid range of [1873, 2127]. More...
    + +static bool isYearValid (int16_t year) + Return true if year is within valid range of [1873, 2127].
      -static uint8_t daysInMonth (int16_t year, uint8_t month) - Return the number of days in the current month. More...
    + +static uint8_t daysInMonth (int16_t year, uint8_t month) + Return the number of days in the current month.
      - - + + @@ -195,13 +213,15 @@ - + - - + + - - + + @@ -211,32 +231,40 @@ static const acetime_t  - - + + - - + + - - + + - - + + - - + + - - + + - - + +

    Static Public Attributes

    static const int16_t kEpochYear = 2000
     Base year of epoch. More...
    +static const int16_t kEpochYear = 2000
     Base year of epoch.
     
    static const int8_t kInvalidYearTiny = INT8_MIN
     
    static const int8_t kMaxYearTiny = INT8_MAX
     Sentinel yearTiny which represents the largest year, effectively -Infinity.
     Sentinel yearTiny which represents the largest year, effectively +Infinity.
     
    static const acetime_t kInvalidEpochDays = INT32_MIN
     Sentinel epochDays which indicates an error. More...
    +static const acetime_t kInvalidEpochDays = INT32_MIN
     Sentinel epochDays which indicates an error.
     
    static const acetime_t kInvalidEpochSeconds = LocalTime::kInvalidSeconds
     Sentinel epochSeconds which indicates an error. More...
    +static const acetime_t kInvalidEpochSeconds = LocalTime::kInvalidSeconds
     Sentinel epochSeconds which indicates an error.
     
    static const acetime_t kSecondsSinceUnixEpoch = 946684800
    kDaysSinceUnixEpoch = 10957
     Number of days from Unix epoch (1970-01-01 00:00:00Z) to the AceTime epoch (2000-01-01 00:00:00Z).
     
    static const uint8_t kMonday = 1
     Monday ISO 8601 number. More...
    +static const uint8_t kMonday = 1
     Monday ISO 8601 number.
     
    static const uint8_t kTuesday = 2
     Tuesday ISO 8601 number. More...
    +static const uint8_t kTuesday = 2
     Tuesday ISO 8601 number.
     
    static const uint8_t kWednesday = 3
     Wednesday ISO 8601 number. More...
    +static const uint8_t kWednesday = 3
     Wednesday ISO 8601 number.
     
    static const uint8_t kThursday = 4
     Thursday ISO 8601 number. More...
    +static const uint8_t kThursday = 4
     Thursday ISO 8601 number.
     
    static const uint8_t kFriday = 5
     Friday ISO 8601 number. More...
    +static const uint8_t kFriday = 5
     Friday ISO 8601 number.
     
    static const uint8_t kSaturday = 6
     Saturday ISO 8601 number. More...
    +static const uint8_t kSaturday = 6
     Saturday ISO 8601 number.
     
    static const uint8_t kSunday = 7
     Sunday ISO 8601 number. More...
    +static const uint8_t kSunday = 7
     Sunday ISO 8601 number.
     
    - - + +

    Friends

    bool operator== (const LocalDate &a, const LocalDate &b)
     Return true if two LocalDate objects are equal in all components. More...
    +bool operator== (const LocalDate &a, const LocalDate &b)
     Return true if two LocalDate objects are equal in all components.
     

    Detailed Description

    @@ -249,37 +277,7 @@

    Parts of this class were inspired by the java.time.LocalDate class of Java 11 (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/LocalDate.html).

    Definition at line 36 of file LocalDate.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ LocalDate()

    - -
    -
    - - - - - -
    - - - - - - - -
    ace_time::LocalDate::LocalDate ()
    -
    -inlineexplicit
    -
    - -

    Default constructor does nothing.

    - -

    Definition at line 228 of file LocalDate.h.

    - -
    -
    -

    Member Function Documentation

    +

    Member Function Documentation

    ◆ compareTo()

    @@ -304,70 +302,11 @@

    -

    Compare this LocalDate to that LocalDate, returning (<0, 0, >0) according to whether the epochSeconds is (this<that, this==this, this>that).

    -

    If isError() is true, the behavior is undefined.

    +

    Compare this LocalDate to that LocalDate, returning (<0, 0, >0) according to whether the epochSeconds is (this<that, this==this, this>that).

    +

    If isError() is true, the behavior is undefined.

    Definition at line 358 of file LocalDate.h.

    - - - -

    ◆ day() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalDate::day () const
    -
    -inline
    -
    - -

    Return the day of the month.

    - -

    Definition at line 257 of file LocalDate.h.

    - -
    -
    - -

    ◆ day() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDate::day (uint8_t day)
    -
    -inline
    -
    - -

    Set the day of the month.

    - -

    Definition at line 260 of file LocalDate.h.

    -
    @@ -398,46 +337,6 @@

    Definition at line 268 of file LocalDate.h.

    - - - -

    ◆ daysInMonth()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    static uint8_t ace_time::LocalDate::daysInMonth (int16_t year,
    uint8_t month 
    )
    -
    -inlinestatic
    -
    - -

    Return the number of days in the current month.

    - -

    Definition at line 222 of file LocalDate.h.

    -
    @@ -481,7 +380,7 @@

    Factory method using separated year, month and day fields.

    -

    Returns LocalDate::forError() if the parameters are out of range.

    +

    Returns LocalDate::forError() if the parameters are out of range.

    Parameters
    @@ -520,7 +419,7 @@

    Factory method.

    -

    Create a LocalDate from the ISO 8601 date string. If the string cannot be parsed, then isError() on the constructed object returns true, but the data validation is very weak. Year should probably be between 1872 and 2127. Created for debugging purposes not for production use.

    +

    Create a LocalDate from the ISO 8601 date string. If the string cannot be parsed, then isError() on the constructed object returns true, but the data validation is very weak. Year should probably be between 1872 and 2127. Created for debugging purposes not for production use.

    Parameters

    year[1873-2127]
    @@ -556,7 +455,7 @@

    -

    Variant of forDateString() that updates the pointer to the next unprocessed character.

    +

    Variant of forDateString() that updates the pointer to the next unprocessed character.

    This allows chaining to another forXxxStringChainable() method.

    This method assumes that the dateString is sufficiently long.

    @@ -589,7 +488,7 @@

    Factory method using the number of days since AceTime epoch of 2000-01-01.

    -

    If epochDays is kInvalidEpochDays, isError() will return true.

    +

    If epochDays is kInvalidEpochDays, isError() will return true.

    Parameters

    dateStringthe date in ISO 8601 format (yyyy-mm-dd)
    @@ -627,7 +526,7 @@

    isError() will return true.

    +

    If epochSeconds is kInvalidEpochSeconds, isError() will return true.

    Parameters

    epochDaysnumber of days since AceTime epoch (2000-01-01)
    @@ -662,87 +561,11 @@

    -

    Factory method that returns a LocalDate which represents an error condition.

    -

    The isError() method will return true.

    +

    Factory method that returns a LocalDate which represents an error condition.

    +

    The isError() method will return true.

    Definition at line 206 of file LocalDate.h.

    - - - -

    ◆ forTinyComponents()

    - -
    -
    -

    epochSecondsnumber of seconds since AceTime epoch (2000-01-01)
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    static LocalDate ace_time::LocalDate::forTinyComponents (int8_t yearTiny,
    uint8_t month,
    uint8_t day 
    )
    -
    -inlinestatic
    -
    - -

    Factory method using components with an int8_t yearTiny.

    - -

    Definition at line 113 of file LocalDate.h.

    - -
    - - -

    ◆ forUnixDays()

    - -
    -
    - - - - - -
    - - - - - - - - -
    static LocalDate ace_time::LocalDate::forUnixDays (acetime_t unixDays)
    -
    -inlinestatic
    -
    - -

    Factory method using the number of days since Unix epoch 1970-01-1.

    - -

    Definition at line 138 of file LocalDate.h.

    -
    @@ -770,43 +593,37 @@

    Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.

    -

    Similar to forEpochSeconds(), the seconds corresponding to the partial day are truncated down towards the smallest whole day.

    +

    Similar to forEpochSeconds(), the seconds corresponding to the partial day are truncated down towards the smallest whole day.

    Definition at line 174 of file LocalDate.h.

    - -

    ◆ isError()

    + +

    ◆ printTo()

    - - - - - -
    - + - + +
    bool ace_time::LocalDate::isError void ace_time::LocalDate::printTo ()Print & printer) const
    -
    -inline
    -

    Return true if any component indicates an error condition.

    +

    Print LocalDate to 'printer' in ISO 8601 format, along with the day of week.

    +

    This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.

    -

    Definition at line 278 of file LocalDate.h.

    +

    Definition at line 47 of file LocalDate.cpp.

    - -

    ◆ isLeapYear()

    + +

    ◆ toEpochDays()

    -

    True if year is a leap year.

    +

    Return number of days since AceTime epoch (2000-01-01 00:00:00Z).

    +

    Returns kInvalidEpochDays if isError() is true, which allows round trip conversions of forEpochDays() and toEpochDays() even when isError() is true.

    +

    In an 8-bit implementation:

      +
    • the largest date 2127-12-31 returns 46751
    • +
    • the smallest date 1872-01-01 returns -46751
    • +
    +

    Uses Julian days which normally start at 12:00:00. But this method returns the delta number of days since 00:00:00, so we can interpret the Gregorian calendar day to start at 00:00:00.

    +

    See https://en.wikipedia.org/wiki/Julian_day

    -

    Definition at line 211 of file LocalDate.h.

    +

    Definition at line 300 of file LocalDate.h.

    - -

    ◆ isYearValid()

    + +

    ◆ toEpochSeconds()

    -

    Return true if year is within valid range of [1873, 2127].

    +

    Return the number of seconds since AceTime epoch (2000-01-01 00:00:00).

    +

    Returns kInvalidEpochSeconds if isError() is true. This is a convenience method that returns (86400 * toEpochDays()). Since acetime_t is a 32-bit signed integer, the limits are different:

    +
      +
    • the smallest date corresponding to INT32_MIN is 1931-12-13 20:45:52 so this method supports dates as small as 1931-12-14.
    • +
    • the largest date corresponding to INT32_MAX is 2068-01-19 03:14:07.
    • +
    -

    Definition at line 216 of file LocalDate.h.

    +

    Definition at line 340 of file LocalDate.h.

    - -

    ◆ month() [1/2]

    + +

    ◆ yearTiny() [1/2]

    - -

    ◆ printTo()

    - -
    -
    - - - - - - - - -
    void ace_time::LocalDate::printTo (Print & printer) const
    -
    - -

    Print LocalDate to 'printer' in ISO 8601 format, along with the day of week.

    -

    This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.

    - -

    Definition at line 47 of file LocalDate.cpp.

    - -
    -
    - -

    ◆ toEpochDays()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::LocalDate::toEpochDays () const
    -
    -inline
    -
    - -

    Return number of days since AceTime epoch (2000-01-01 00:00:00Z).

    -

    Returns kInvalidEpochDays if isError() is true, which allows round trip conversions of forEpochDays() and toEpochDays() even when isError() is true.

    -

    In an 8-bit implementation:

      -
    • the largest date 2127-12-31 returns 46751
    • -
    • the smallest date 1872-01-01 returns -46751
    • -
    -

    Uses Julian days which normally start at 12:00:00. But this method returns the delta number of days since 00:00:00, so we can interpret the Gregorian calendar day to start at 00:00:00.

    -

    See https://en.wikipedia.org/wiki/Julian_day

    - -

    Definition at line 300 of file LocalDate.h.

    - -
    -
    - -

    ◆ toEpochSeconds()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::LocalDate::toEpochSeconds () const
    -
    -inline
    -
    - -

    Return the number of seconds since AceTime epoch (2000-01-01 00:00:00).

    -

    Returns kInvalidEpochSeconds if isError() is true. This is a convenience method that returns (86400 * toEpochDays()). Since acetime_t is a 32-bit signed integer, the limits are different:

    -
      -
    • the smallest date corresponding to INT32_MIN is 1931-12-13 20:45:52 so this method supports dates as small as 1931-12-14.
    • -
    • the largest date corresponding to INT32_MAX is 2068-01-19 03:14:07.
    • -
    - -

    Definition at line 340 of file LocalDate.h.

    - -
    -
    - -

    ◆ toUnixDays()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::LocalDate::toUnixDays () const
    -
    -inline
    -
    - -

    Return the number of days since Unix epoch (1970-01-01 00:00:00).

    - -

    Definition at line 325 of file LocalDate.h.

    - -
    -
    - -

    ◆ year() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    int16_t ace_time::LocalDate::year () const
    -
    -inline
    -
    - -

    Return the full year instead of just the last 2 digits.

    - -

    Definition at line 231 of file LocalDate.h.

    - -
    -
    - -

    ◆ year() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDate::year (int16_t year)
    -
    -inline
    -
    - -

    Set the year given the full year.

    - -

    Definition at line 234 of file LocalDate.h.

    - -
    -
    - -

    ◆ yearTiny() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    int8_t ace_time::LocalDate::yearTiny () const
    -
    -inline
    -
    - -

    Return the single-byte year offset from year 2000.

    -

    Intended for memory constrained or performance critical code. May be deprecated in the future.

    - -

    Definition at line 241 of file LocalDate.h.

    - -
    -
    - -

    ◆ yearTiny() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDate::yearTiny (int8_t yearTiny)
    -
    -inline
    -
    - -

    Set the single-byte year offset from year 2000.

    -

    Intended for memory constrained or performance critical code. May be deprecated in the future.

    +

    Set the single-byte year offset from year 2000.

    +

    Intended for memory constrained or performance critical code. May be deprecated in the future.

    Definition at line 248 of file LocalDate.h.

    -
    -
    -

    Friends And Related Function Documentation

    - -

    ◆ operator==

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    bool operator== (const LocalDatea,
    const LocalDateb 
    )
    -
    -friend
    -
    - -

    Return true if two LocalDate objects are equal in all components.

    - -

    Definition at line 439 of file LocalDate.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ kEpochYear

    - -
    -
    - - - - - -
    - - - - -
    const int16_t ace_time::LocalDate::kEpochYear = 2000
    -
    -static
    -
    - -

    Base year of epoch.

    - -

    Definition at line 39 of file LocalDate.h.

    - -
    -
    - -

    ◆ kFriday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kFriday = 5
    -
    -static
    -
    - -

    Friday ISO 8601 number.

    - -

    Definition at line 90 of file LocalDate.h.

    - -
    -
    - -

    ◆ kInvalidEpochDays

    - -
    -
    - - - - - -
    - - - - -
    const acetime_t ace_time::LocalDate::kInvalidEpochDays = INT32_MIN
    -
    -static
    -
    - -

    Sentinel epochDays which indicates an error.

    - -

    Definition at line 60 of file LocalDate.h.

    - -
    -
    - -

    ◆ kInvalidEpochSeconds

    - -
    -
    - - - - - -
    - - - - -
    const acetime_t ace_time::LocalDate::kInvalidEpochSeconds = LocalTime::kInvalidSeconds
    -
    -static
    -
    - -

    Sentinel epochSeconds which indicates an error.

    - -

    Definition at line 63 of file LocalDate.h.

    - -
    -
    - -

    ◆ kMonday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kMonday = 1
    -
    -static
    -
    - -

    Monday ISO 8601 number.

    - -

    Definition at line 78 of file LocalDate.h.

    - -
    -
    - -

    ◆ kSaturday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kSaturday = 6
    -
    -static
    -
    - -

    Saturday ISO 8601 number.

    - -

    Definition at line 93 of file LocalDate.h.

    - -
    -
    - -

    ◆ kSunday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kSunday = 7
    -
    -static
    -
    - -

    Sunday ISO 8601 number.

    - -

    Definition at line 96 of file LocalDate.h.

    - -
    -
    - -

    ◆ kThursday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kThursday = 4
    -
    -static
    -
    - -

    Thursday ISO 8601 number.

    - -

    Definition at line 87 of file LocalDate.h.

    - -
    -
    - -

    ◆ kTuesday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kTuesday = 2
    -
    -static
    -
    - -

    Tuesday ISO 8601 number.

    - -

    Definition at line 81 of file LocalDate.h.

    - -
    -
    - -

    ◆ kWednesday

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::LocalDate::kWednesday = 3
    -
    -static
    -
    - -

    Wednesday ISO 8601 number.

    - -

    Definition at line 84 of file LocalDate.h.

    -

    The documentation for this class was generated from the following files: diff --git a/docs/html/classace__time_1_1LocalDateTime-members.html b/docs/html/classace__time_1_1LocalDateTime-members.html index 5337d70c2..c49c7bae5 100644 --- a/docs/html/classace__time_1_1LocalDateTime-members.html +++ b/docs/html/classace__time_1_1LocalDateTime-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

     LocalDateTime () - Constructor. More...
    + Constructor. More...
      -bool isError () const - Return true if any component indicates an error condition. More...
    + +bool isError () const + Return true if any component indicates an error condition.
      -int16_t year () const - Return the year. More...
    + +int16_t year () const + Return the year.
      -void year (int16_t year) - Set the year. More...
    + +void year (int16_t year) + Set the year.
      int8_t yearTiny () const - Return the single-byte year offset from year 2000. More...
    + Return the single-byte year offset from year 2000. More...
      void yearTiny (int8_t yearTiny) - Set the single-byte year offset from year 2000. More...
    + Set the single-byte year offset from year 2000. More...
      -uint8_t month () const - Return the month with January=1, December=12. More...
    + +uint8_t month () const + Return the month with January=1, December=12.
      -void month (uint8_t month) - Set the month. More...
    + +void month (uint8_t month) + Set the month.
      -uint8_t day () const - Return the day of the month. More...
    + +uint8_t day () const + Return the day of the month.
      -void day (uint8_t day) - Set the day of the month. More...
    + +void day (uint8_t day) + Set the day of the month.
      -uint8_t hour () const - Return the hour. More...
    + +uint8_t hour () const + Return the hour.
      -void hour (uint8_t hour) - Set the hour. More...
    + +void hour (uint8_t hour) + Set the hour.
      -uint8_t minute () const - Return the minute. More...
    + +uint8_t minute () const + Return the minute.
      -void minute (uint8_t minute) - Set the minute. More...
    + +void minute (uint8_t minute) + Set the minute.
      -uint8_t second () const - Return the second. More...
    + +uint8_t second () const + Return the second.
      -void second (uint8_t second) - Set the second. More...
    + +void second (uint8_t second) + Set the second.
      -uint8_t dayOfWeek () const - Return the day of the week, Monday=1, Sunday=7 (per ISO 8601). More...
    + +uint8_t dayOfWeek () const + Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
      -const LocalDatelocalDate () const - Return the LocalDate. More...
    + +const LocalDatelocalDate () const + Return the LocalDate.
      -const LocalTimelocalTime () const - Return the LocalTime. More...
    + +const LocalTimelocalTime () const + Return the LocalTime.
      acetime_t toEpochDays () const  Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z).
      -acetime_t toUnixDays () const - Return the number of days since Unix epoch (1970-01-01 00:00:00). More...
    + +acetime_t toUnixDays () const + Return the number of days since Unix epoch (1970-01-01 00:00:00).
      acetime_t toEpochSeconds () const - Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone. More...
    + Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone. More...
      acetime_t toUnixSeconds () const - Return seconds from Unix epoch 1970-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone. More...
    + Return seconds from Unix epoch 1970-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone. More...
      int8_t compareTo (const LocalDateTime &that) const  Compare this LocalDateTime with another LocalDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b).
      void printTo (Print &printer) const - Print LocalDateTime to 'printer' in ISO 8601 format. More...
    + Print LocalDateTime to 'printer' in ISO 8601 format. More...
       LocalDateTime (const LocalDateTime &)=default @@ -168,39 +188,41 @@

    Static Public Member Functions

    static LocalDateTime forComponents (int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) - Factory method using separated date and time components. More...
    + Factory method using separated date and time components. More...
      -static LocalDateTime forTinyComponents (int8_t yearTiny, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) - Factory method using components with an int8_t yearTiny. More...
    + +static LocalDateTime forTinyComponents (int8_t yearTiny, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second) + Factory method using components with an int8_t yearTiny.
      static LocalDateTime forEpochSeconds (acetime_t epochSeconds) - Factory method. More...
    + Factory method. More...
      static LocalDateTime forUnixSeconds (acetime_t unixSeconds) - Factory method that takes the number of seconds since Unix Epoch of 1970-01-01. More...
    + Factory method that takes the number of seconds since Unix Epoch of 1970-01-01. More...
      static LocalDateTime forDateString (const char *dateString) - Factory method. More...
    + Factory method. More...
      static LocalDateTime forDateStringChainable (const char *&dateString) - Variant of forDateString() that updates the pointer to the next unprocessed character. More...
    + Variant of forDateString() that updates the pointer to the next unprocessed character. More...
      static LocalDateTime forDateString (const __FlashStringHelper *dateString) - Factory method. More...
    + Factory method. More...
      -static LocalDateTime forError () - Factory method that returns an instance where isError() returns true. More...
    + +static LocalDateTime forError () + Factory method that returns an instance where isError() returns true.
      - +

    Friends

    bool operator== (const LocalDateTime &a, const LocalDateTime &b)
     Return true if two LocalDateTime objects are equal in all components. More...
     Return true if two LocalDateTime objects are equal in all components. More...
     

    Detailed Description

    Class that holds the date-time as the components (year, month, day, hour, minute, second) without regards to the time zone.

    -

    It is an aggregation of the LocalDate and LocalTime classes.

    +

    It is an aggregation of the LocalDate and LocalTime classes.

    Parts of this class were inspired by the java.time.LocalDateTime class of Java 11 (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/LocalDateTime.html).

    Definition at line 27 of file LocalDateTime.h.

    @@ -236,94 +258,6 @@

    Member Function Documentation

    - -

    ◆ day() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalDateTime::day () const
    -
    -inline
    -
    - -

    Return the day of the month.

    - -

    Definition at line 192 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ day() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDateTime::day (uint8_t day)
    -
    -inline
    -
    - -

    Set the day of the month.

    - -

    Definition at line 195 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ dayOfWeek()

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalDateTime::dayOfWeek () const
    -
    -inline
    -
    - -

    Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).

    - -

    Definition at line 216 of file LocalDateTime.h.

    - -
    -

    ◆ forComponents()

    @@ -399,8 +333,8 @@

    -

    ◆ forDateString() [1/2]

    + +

    ◆ forDateString() [1/2]

    Factory method.

    -

    Create a LocalDateTime from the ISO 8601 date string. If the string cannot be parsed, then returns LocalDateTime::forError().

    -

    The dateString is expected to be in ISO 8601 format "YYYY-MM-DDThh:mm:ss", but currently, the parser is very lenient. It cares mostly about the positional placement of the various components. It does not validate the separation characters like '-' or ':'. For example, both of the following will parse to the exactly same LocalDateTime object: "2018-08-31T13:48:01-07:00" "2018/08/31 -13#48#01-07#00"

    -

    The parsing validation is so weak that the behavior is undefined for most invalid date/time strings. The range of valid dates is roughly from 1872-01-01T00:00:00 to 2127-12-31T23:59:59.

    +

    Create a LocalDateTime from date string in flash memory F() strings. Mostly for unit testing.

    -

    Definition at line 38 of file LocalDateTime.cpp.

    +

    Definition at line 135 of file LocalDateTime.h.

    - -

    ◆ forDateString() [2/2]

    + +

    ◆ forDateString() [2/2]

    Factory method.

    -

    Create a LocalDateTime from date string in flash memory F() strings. Mostly for unit testing.

    +

    Create a LocalDateTime from the ISO 8601 date string. If the string cannot be parsed, then returns LocalDateTime::forError().

    +

    The dateString is expected to be in ISO 8601 format "YYYY-MM-DDThh:mm:ss", but currently, the parser is very lenient. It cares mostly about the positional placement of the various components. It does not validate the separation characters like '-' or ':'. For example, both of the following will parse to the exactly same LocalDateTime object: "2018-08-31T13:48:01-07:00" "2018/08/31 +13#48#01-07#00"

    +

    The parsing validation is so weak that the behavior is undefined for most invalid date/time strings. The range of valid dates is roughly from 1872-01-01T00:00:00 to 2127-12-31T23:59:59.

    -

    Definition at line 135 of file LocalDateTime.h.

    +

    Definition at line 38 of file LocalDateTime.cpp.

    @@ -488,7 +422,7 @@

    -

    Variant of forDateString() that updates the pointer to the next unprocessed character.

    +

    Variant of forDateString() that updates the pointer to the next unprocessed character.

    This allows chaining to another forXxxStringChainable() method.

    This method assumes that the dateString is sufficiently long.

    @@ -522,109 +456,16 @@

    LocalDateTime from the epochSeconds.

    -

    Returns LocalDateTime::forError() if epochSeconds is equal to LocalDate::kInvalidEpochSeconds.

    +

    Returns LocalDateTime::forError() if epochSeconds is equal to LocalDate::kInvalidEpochSeconds.

    Parameters
    - +
    epochSecondsNumber of seconds from AceTime epoch (2000-01-01 00:00:00). Use LocalDate::kInvalidEpochSeconds to define an invalid instance whose isError() returns true.
    epochSecondsNumber of seconds from AceTime epoch (2000-01-01 00:00:00). Use LocalDate::kInvalidEpochSeconds to define an invalid instance whose isError() returns true.

    Definition at line 67 of file LocalDateTime.h.

    -

    -
    - -

    ◆ forError()

    - -
    -
    - - - - - -
    - - - - - - - -
    static LocalDateTime ace_time::LocalDateTime::forError ()
    -
    -inlinestatic
    -
    - -

    Factory method that returns an instance where isError() returns true.

    - -

    Definition at line 153 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ forTinyComponents()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    static LocalDateTime ace_time::LocalDateTime::forTinyComponents (int8_t yearTiny,
    uint8_t month,
    uint8_t day,
    uint8_t hour,
    uint8_t minute,
    uint8_t second 
    )
    -
    -inlinestatic
    -
    - -

    Factory method using components with an int8_t yearTiny.

    - -

    Definition at line 49 of file LocalDateTime.h.

    -
    @@ -652,74 +493,38 @@

    Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.

    -

    Similar to forEpochSeconds(), the seconds corresponding to the partial day are truncated down towards the smallest whole day.

    -

    Returns LocalDateTime::forError() if epochSeconds is equal to LocalDate::kInvalidEpochSeconds.

    +

    Similar to forEpochSeconds(), the seconds corresponding to the partial day are truncated down towards the smallest whole day.

    +

    Returns LocalDateTime::forError() if epochSeconds is equal to LocalDate::kInvalidEpochSeconds.

    Definition at line 97 of file LocalDateTime.h.

    - -

    ◆ hour() [1/2]

    + +

    ◆ printTo()

    - - - - - -
    - + - + +
    uint8_t ace_time::LocalDateTime::hour void ace_time::LocalDateTime::printTo ()Print & printer) const
    -
    -inline
    -
    - -

    Return the hour.

    - -

    Definition at line 198 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ hour() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDateTime::hour (uint8_t hour)
    -
    -inline
    -

    Set the hour.

    +

    Print LocalDateTime to 'printer' in ISO 8601 format.

    +

    This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.

    -

    Definition at line 201 of file LocalDateTime.h.

    +

    Definition at line 14 of file LocalDateTime.cpp.

    - -

    ◆ isError()

    + +

    ◆ toEpochSeconds()

    - -

    ◆ minute() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalDateTime::minute () const
    -
    -inline
    -
    - -

    Return the minute.

    - -

    Definition at line 204 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ minute() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDateTime::minute (uint8_t minute)
    -
    -inline
    -
    - -

    Set the minute.

    - -

    Definition at line 207 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ month() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalDateTime::month () const
    -
    -inline
    -
    - -

    Return the month with January=1, December=12.

    - -

    Definition at line 186 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ month() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDateTime::month (uint8_t month)
    -
    -inline
    -
    - -

    Set the month.

    - -

    Definition at line 189 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ printTo()

    - -
    -
    - - - - - - - - -
    void ace_time::LocalDateTime::printTo (Print & printer) const
    -
    - -

    Print LocalDateTime to 'printer' in ISO 8601 format.

    -

    This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.

    - -

    Definition at line 14 of file LocalDateTime.cpp.

    - -
    -
    - -

    ◆ second() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalDateTime::second () const
    -
    -inline
    -
    - -

    Return the second.

    - -

    Definition at line 210 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ second() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDateTime::second (uint8_t second)
    -
    -inline
    -
    - -

    Set the second.

    - -

    Definition at line 213 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ toEpochSeconds()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::LocalDateTime::toEpochSeconds () const
    -
    -inline
    -
    - -

    Return seconds since AceTime epoch 2000-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone.

    -

    Returns LocalDate::kInvalidEpochSeconds if isError() is true.

    - -

    Definition at line 243 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ toUnixDays()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::LocalDateTime::toUnixDays () const
    -
    -inline
    -
    - -

    Return the number of days since Unix epoch (1970-01-01 00:00:00).

    - -

    Definition at line 233 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ toUnixSeconds()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::LocalDateTime::toUnixSeconds () const
    -
    -inline
    -
    - -

    Return seconds from Unix epoch 1970-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone.

    -

    Returns LocalDate::kInvalidEpochSeconds if isError() is true.

    -

    Tip: You can use the command 'date +s -d {iso8601date}' on a Unix box to print the unix seconds of a given ISO8601 date.

    +

    Return seconds from Unix epoch 1970-01-01 00:00:00Z, after assuming that the date and time components are in UTC timezone.

    +

    Returns LocalDate::kInvalidEpochSeconds if isError() is true.

    +

    Tip: You can use the command 'date +s -d {iso8601date}' on a Unix box to print the unix seconds of a given ISO8601 date.

    Definition at line 259 of file LocalDateTime.h.

    -
    -
    - -

    ◆ year() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    int16_t ace_time::LocalDateTime::year () const
    -
    -inline
    -
    - -

    Return the year.

    - -

    Definition at line 166 of file LocalDateTime.h.

    - -
    -
    - -

    ◆ year() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalDateTime::year (int16_t year)
    -
    -inline
    -
    - -

    Set the year.

    - -

    Definition at line 169 of file LocalDateTime.h.

    -
    @@ -1258,15 +688,15 @@

    LocalDateTime.h -
  • /home/brian/dev/AceTime/src/ace_time/LocalDateTime.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/LocalDateTime.h
  • +
  • /home/brian/src/AceTime/src/ace_time/LocalDateTime.cpp
  • diff --git a/docs/html/classace__time_1_1LocalTime-members.html b/docs/html/classace__time_1_1LocalTime-members.html index f4347819a..a18d797a3 100644 --- a/docs/html/classace__time_1_1LocalTime-members.html +++ b/docs/html/classace__time_1_1LocalTime-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    LocalTime () - Default constructor does nothing. More...
    +LocalTime () + Default constructor does nothing.
      bool isError () const - Return true if any component is outside the normal time range of 00:00:00 to 23:59:59. More...
    + Return true if any component is outside the normal time range of 00:00:00 to 23:59:59. More...
      -uint8_t hour () const - Return the hour. More...
    + +uint8_t hour () const + Return the hour.
      -void hour (uint8_t hour) - Set the hour. More...
    + +void hour (uint8_t hour) + Set the hour.
      -uint8_t minute () const - Return the minute. More...
    + +uint8_t minute () const + Return the minute.
      -void minute (uint8_t month) - Set the minute. More...
    + +void minute (uint8_t month) + Set the minute.
      -uint8_t second () const - Return the second. More...
    + +uint8_t second () const + Return the second.
      -void second (uint8_t second) - Set the second. More...
    + +void second (uint8_t second) + Set the second.
      acetime_t toSeconds () const - Return the number of seconds since midnight. More...
    + Return the number of seconds since midnight. More...
      int8_t compareTo (const LocalTime &that) const - Compare this LocalTime with that LocalTime, and return (<0, 0, >0) according to whether (this<that, this==that, this>that). More...
    + Compare this LocalTime with that LocalTime, and return (<0, 0, >0) according to whether (this<that, this==that, this>that). More...
      void printTo (Print &printer) const - Print LocalTime to 'printer' in ISO 8601 format. More...
    + Print LocalTime to 'printer' in ISO 8601 format. More...
       LocalTime (const LocalTime &)=default @@ -125,70 +135,42 @@

    Static Public Member Functions

    static LocalTime forComponents (uint8_t hour, uint8_t minute, uint8_t second) - Factory method using separated date, time, and time zone fields. More...
    + Factory method using separated date, time, and time zone fields. More...
      static LocalTime forSeconds (acetime_t seconds) - Factory method. More...
    + Factory method. More...
      static LocalTime forTimeString (const char *timeString) - Factory method. More...
    + Factory method. More...
      static LocalTime forTimeStringChainable (const char *&timeString) - Variant of forTimeString() that updates the pointer to the next unprocessed character. More...
    + Variant of forTimeString() that updates the pointer to the next unprocessed character. More...
      static LocalTime forError () - Factory method that returns an instance which indicates an error condition. More...
    + Factory method that returns an instance which indicates an error condition. More...
      - - + +

    Static Public Attributes

    static const acetime_t kInvalidSeconds = INT32_MIN
     An invalid seconds marker that indicates isError() true. More...
    +static const acetime_t kInvalidSeconds = INT32_MIN
     An invalid seconds marker that indicates isError() true.
     
    - - + +

    Friends

    bool operator== (const LocalTime &a, const LocalTime &b)
     Return true if two LocalTime objects are equal. More...
    +bool operator== (const LocalTime &a, const LocalTime &b)
     Return true if two LocalTime objects are equal.
     

    Detailed Description

    The time (hour, minute, second) fields representing the time without regards to the day or the time zone.

    -

    The valid range is 00:00:00 to 23:59:59. Trying to create an instance outside of this range causes the isError() method to return true, and toSeconds() returns kInvalidSeconds.

    +

    The valid range is 00:00:00 to 23:59:59. Trying to create an instance outside of this range causes the isError() method to return true, and toSeconds() returns kInvalidSeconds.

    Parts of this class were inspired by the java.time.LocalTime class of Java 11 (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/LocalTime.html).

    Definition at line 26 of file LocalTime.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ LocalTime()

    - -
    -
    - - - - - -
    - - - - - - - -
    ace_time::LocalTime::LocalTime ()
    -
    -inlineexplicit
    -
    - -

    Default constructor does nothing.

    - -

    Definition at line 98 of file LocalTime.h.

    - -
    -
    -

    Member Function Documentation

    +

    Member Function Documentation

    ◆ compareTo()

    @@ -214,7 +196,7 @@

    Compare this LocalTime with that LocalTime, and return (<0, 0, >0) according to whether (this<that, this==that, this>that).

    -

    The behavior is undefined if isError() is true.

    +

    The behavior is undefined if isError() is true.

    Definition at line 151 of file LocalTime.h.

    @@ -261,7 +243,7 @@

    Factory method using separated date, time, and time zone fields.

    -

    The dayOfWeek will be lazily evaluated. No data validation is performed on the fields on construction, but if any field is out of range, then isError() will return true.

    +

    The dayOfWeek will be lazily evaluated. No data validation is performed on the fields on construction, but if any field is out of range, then isError() will return true.

    Parameters
    @@ -299,7 +281,7 @@

    Factory method that returns an instance which indicates an error condition.

    -

    The isError() method will return true.

    +

    The isError() method will return true.

    Definition at line 93 of file LocalTime.h.

    @@ -330,7 +312,7 @@

    Factory method.

    -

    Create the various components of the LocalTime from the number of seconds from midnight. If kInvalidSeconds is given, the isError() condition is set to be true. The behavior is undefined if seconds is greater than 86399.

    +

    Create the various components of the LocalTime from the number of seconds from midnight. If kInvalidSeconds is given, the isError() condition is set to be true. The behavior is undefined if seconds is greater than 86399.

    Parameters

    hourhour (0-23)
    @@ -367,7 +349,7 @@

    Factory method.

    -

    Create a LocalTime from the ISO 8601 time string. If the string cannot be parsed, then returns LocalTime::forError(). However, the data validation on parsing is very weak and the behavior is undefined for most invalid time strings.

    +

    Create a LocalTime from the ISO 8601 time string. If the string cannot be parsed, then returns LocalTime::forError(). However, the data validation on parsing is very weak and the behavior is undefined for most invalid time strings.

    Parameters

    secondsnumber of seconds from midnight, (0-86399)
    @@ -403,71 +385,12 @@

    -

    Variant of forTimeString() that updates the pointer to the next unprocessed character.

    +

    Variant of forTimeString() that updates the pointer to the next unprocessed character.

    This allows chaining to another forXxxStringChainable() method.

    This method assumes that the dateString is sufficiently long.

    Definition at line 35 of file LocalTime.cpp.

    - - - -

    ◆ hour() [1/2]

    - -
    -
    -

    - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalTime::hour () const
    -
    -inline
    -
    - -

    Return the hour.

    - -

    Definition at line 116 of file LocalTime.h.

    - -
    - - -

    ◆ hour() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalTime::hour (uint8_t hour)
    -
    -inline
    -
    - -

    Set the hour.

    - -

    Definition at line 119 of file LocalTime.h.

    -
    @@ -498,65 +421,6 @@

    Definition at line 106 of file LocalTime.h.

    - - - -

    ◆ minute() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalTime::minute () const
    -
    -inline
    -
    - -

    Return the minute.

    - -

    Definition at line 122 of file LocalTime.h.

    - -
    -
    - -

    ◆ minute() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalTime::minute (uint8_t month)
    -
    -inline
    -
    - -

    Set the minute.

    - -

    Definition at line 125 of file LocalTime.h.

    -
    @@ -580,65 +444,6 @@

    Definition at line 13 of file LocalTime.cpp.

    - - - -

    ◆ second() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::LocalTime::second () const
    -
    -inline
    -
    - -

    Return the second.

    - -

    Definition at line 128 of file LocalTime.h.

    - -
    -
    - -

    ◆ second() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::LocalTime::second (uint8_t second)
    -
    -inline
    -
    - -

    Set the second.

    - -

    Definition at line 131 of file LocalTime.h.

    -
    @@ -665,90 +470,22 @@

    Return the number of seconds since midnight.

    -

    Return kInvalidSeconds if isError() is true.

    +

    Return kInvalidSeconds if isError() is true.

    Definition at line 137 of file LocalTime.h.

    - - -

    Friends And Related Function Documentation

    - -

    ◆ operator==

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    bool operator== (const LocalTimea,
    const LocalTimeb 
    )
    -
    -friend
    -
    - -

    Return true if two LocalTime objects are equal.

    - -

    Definition at line 193 of file LocalTime.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ kInvalidSeconds

    - -
    -
    - - - - - -
    - - - - -
    const acetime_t ace_time::LocalTime::kInvalidSeconds = INT32_MIN
    -
    -static
    -
    - -

    An invalid seconds marker that indicates isError() true.

    - -

    Definition at line 29 of file LocalTime.h.

    -

    The documentation for this class was generated from the following files: diff --git a/docs/html/classace__time_1_1OffsetDateTime-members.html b/docs/html/classace__time_1_1OffsetDateTime-members.html index 32ef243fd..2bf51ebe6 100644 --- a/docs/html/classace__time_1_1OffsetDateTime-members.html +++ b/docs/html/classace__time_1_1OffsetDateTime-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

     OffsetDateTime () - Constructor. More...
    + Constructor. More...
      -bool isError () const - Return true if any component indicates an error condition. More...
    + +bool isError () const + Return true if any component indicates an error condition.
      -int16_t year () const - Return the year. More...
    + +int16_t year () const + Return the year.
      -void year (int16_t year) - Set the year. More...
    + +void year (int16_t year) + Set the year.
      int8_t yearTiny () const - Return the single-byte year offset from year 2000. More...
    + Return the single-byte year offset from year 2000. More...
      void yearTiny (int8_t yearTiny) - Set the single-byte year offset from year 2000. More...
    + Set the single-byte year offset from year 2000. More...
      -uint8_t month () const - Return the month with January=1, December=12. More...
    + +uint8_t month () const + Return the month with January=1, December=12.
      -void month (uint8_t month) - Set the month. More...
    + +void month (uint8_t month) + Set the month.
      -uint8_t day () const - Return the day of the month. More...
    + +uint8_t day () const + Return the day of the month.
      -void day (uint8_t day) - Set the day of the month. More...
    + +void day (uint8_t day) + Set the day of the month.
      -uint8_t hour () const - Return the hour. More...
    + +uint8_t hour () const + Return the hour.
      -void hour (uint8_t hour) - Set the hour. More...
    + +void hour (uint8_t hour) + Set the hour.
      -uint8_t minute () const - Return the minute. More...
    + +uint8_t minute () const + Return the minute.
      -void minute (uint8_t minute) - Set the minute. More...
    + +void minute (uint8_t minute) + Set the minute.
      -uint8_t second () const - Return the second. More...
    + +uint8_t second () const + Return the second.
      -void second (uint8_t second) - Set the second. More...
    + +void second (uint8_t second) + Set the second.
      -uint8_t dayOfWeek () const - Return the day of the week, Monday=1, Sunday=7 (per ISO 8601). More...
    + +uint8_t dayOfWeek () const + Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).
      -TimeOffset timeOffset () const - Return the offset zone of the OffsetDateTime. More...
    + +TimeOffset timeOffset () const + Return the offset zone of the OffsetDateTime.
      -void timeOffset (TimeOffset timeOffset) - Set the offset zone. More...
    + +void timeOffset (TimeOffset timeOffset) + Set the offset zone.
      -const LocalDateTimelocalDateTime () const - Return the LocalDateTime. More...
    + +const LocalDateTimelocalDateTime () const + Return the LocalDateTime.
      -const LocalDatelocalDate () const - Return the LocalDate. More...
    + +const LocalDatelocalDate () const + Return the LocalDate.
      -const LocalTimelocalTime () const - Return the LocalTime. More...
    + +const LocalTimelocalTime () const + Return the LocalTime.
      OffsetDateTime convertToTimeOffset (TimeOffset timeOffset) const - Create a OffsetDateTime in a different offset zone code (with the same epochSeconds).
    + Create a OffsetDateTime in a different offset zone code (with the same epochSeconds).
      acetime_t toEpochDays () const  Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone.
      -acetime_t toUnixDays () const - Return the number of days since Unix epoch (1970-01-01 00:00:00). More...
    + +acetime_t toUnixDays () const + Return the number of days since Unix epoch (1970-01-01 00:00:00).
      acetime_t toEpochSeconds () const  Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the offset zone.
      acetime_t toUnixSeconds () const - Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z. More...
    + Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z. More...
      int8_t compareTo (const OffsetDateTime &that) const - Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b). More...
    + Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b). More...
      void printTo (Print &printer) const - Print OffsetDateTime to 'printer' in ISO 8601 format. More...
    + Print OffsetDateTime to 'printer' in ISO 8601 format. More...
       OffsetDateTime (const OffsetDateTime &)=default @@ -180,41 +203,43 @@ - - + + - + - + - + - + - + - + - - + +

    Static Public Member Functions

    static OffsetDateTime forLocalDateTimeAndOffset (const LocalDateTime &localDateTime, TimeOffset timeOffset)
     Factory method from LocalDateTime and TimeOffset. More...
    +static OffsetDateTime forLocalDateTimeAndOffset (const LocalDateTime &localDateTime, TimeOffset timeOffset)
     Factory method from LocalDateTime and TimeOffset.
     
    static OffsetDateTime forComponents (int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, TimeOffset timeOffset)
     Factory method using separated date, time, and UTC offset fields. More...
     Factory method using separated date, time, and UTC offset fields. More...
     
    static OffsetDateTime forEpochSeconds (acetime_t epochSeconds, TimeOffset timeOffset)
     Factory method. More...
     Factory method. More...
     
    static OffsetDateTime forUnixSeconds (acetime_t unixSeconds, TimeOffset timeOffset)
     Factory method that takes the number of seconds since Unix Epoch of 1970-01-01. More...
     Factory method that takes the number of seconds since Unix Epoch of 1970-01-01. More...
     
    static OffsetDateTime forDateString (const char *dateString)
     Factory method. More...
     Factory method. More...
     
    static OffsetDateTime forDateStringChainable (const char *&dateString)
     Variant of forDateString() that updates the pointer to the next unprocessed character. More...
     Variant of forDateString() that updates the pointer to the next unprocessed character. More...
     
    static OffsetDateTime forDateString (const __FlashStringHelper *dateString)
     Factory method. More...
     Factory method. More...
     
    static OffsetDateTime forError ()
     Factory method that returns an instance whose isError() is true. More...
    +static OffsetDateTime forError ()
     Factory method that returns an instance whose isError() is true.
     
    - +

    Friends

    bool operator== (const OffsetDateTime &a, const OffsetDateTime &b)
     Return true if two OffsetDateTime objects are equal in all components. More...
     Return true if two OffsetDateTime objects are equal in all components. More...
     

    Detailed Description

    The date (year, month, day), time (hour, minute, second) and offset from UTC (timeOffset).

    The dayOfWeek (1=Monday, 7=Sunday, per ISO 8601) is calculated internally from the date fields.

    -

    The year field is internally represented as int8_t offset from the year 2000, so in theory it is valid from [1873, 2127] since -128 is used to indicate an error condition. If the year is restricted to the range 00-99, these fields map directly to the fields supported by the DS3231 RTC chip. The "epoch" for this library is 2000-01-01T00:00:00Z and toEpochSeconds() returns a int32_t number of seconds offset from that epoch.

    +

    The year field is internally represented as int8_t offset from the year 2000, so in theory it is valid from [1873, 2127] since -128 is used to indicate an error condition. If the year is restricted to the range 00-99, these fields map directly to the fields supported by the DS3231 RTC chip. The "epoch" for this library is 2000-01-01T00:00:00Z and toEpochSeconds() returns a int32_t number of seconds offset from that epoch.

    Parts of this class were inspired by the java.time.OffsetDateTime class of Java 11 (https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/OffsetDateTime.html).

    Definition at line 33 of file OffsetDateTime.h.

    @@ -274,99 +299,11 @@

    -

    Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b).

    -

    This method can return 0 (equal) even if the operator==() returns false if the two OffsetDateTime objects are using different time offsets.

    +

    Compare this OffsetDateTime with another OffsetDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b).

    +

    This method can return 0 (equal) even if the operator==() returns false if the two OffsetDateTime objects are using different time offsets.

    Definition at line 286 of file OffsetDateTime.h.

    -

    -
    - -

    ◆ day() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::OffsetDateTime::day () const
    -
    -inline
    -
    - -

    Return the day of the month.

    - -

    Definition at line 186 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ day() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::day (uint8_t day)
    -
    -inline
    -
    - -

    Set the day of the month.

    - -

    Definition at line 189 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ dayOfWeek()

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::OffsetDateTime::dayOfWeek () const
    -
    -inline
    -
    - -

    Return the day of the week, Monday=1, Sunday=7 (per ISO 8601).

    - -

    Definition at line 210 of file OffsetDateTime.h.

    -
    @@ -436,13 +373,13 @@

    Parameters
    - + - - - + + + - +
    year[1873-2127]
    year[1873-2127]
    monthmonth with January=1, December=12
    dayday of month [1-31]
    hourhour [0-23]
    minuteminute [0-59]
    dayday of month [1-31]
    hourhour [0-23]
    minuteminute [0-59]
    secondsecond [0-59], does not support leap seconds
    timeOffsetthe time offset from UTC. Using TimeOffset in the last component (instead of an int8_t or int16_t) allows us to overload an additional constructor that accepts a millisecond component in the future.
    timeOffsetthe time offset from UTC. Using TimeOffset in the last component (instead of an int8_t or int16_t) allows us to overload an additional constructor that accepts a millisecond component in the future.

    @@ -451,8 +388,8 @@

    -

    ◆ forDateString() [1/2]

    + +

    ◆ forDateString() [1/2]

    Factory method.

    -

    Create a OffsetDateTime from the ISO 8601 date string. If the string cannot be parsed, then returns OffsetDateTime::forError(). Created for debugging purposes not for production use.

    -

    The parsing validation is so weak that the behavior is undefined for most invalid date/time strings. The range of valid dates is roughly from 1872-01-01T00:00:00 to 2127-12-31T23:59:59. However, the UTC offset may cause some of the dates on the two extreme ends invalid. The behavior is undefined in those cases.

    -
    Parameters
    - - -
    dateStringthe date and time in ISO 8601 format "YYYY-MM-DDThh:mm:ss+/-hh:mm", but currently, the parser is very lenient. It cares mostly about the positional placement of the various components. It does not validate the separation characters like '-' or ':'. For example, both of the following will parse to the exactly same OffsetDateTime object: "2018-08-31T13:48:01-07:00" "2018/08/31 13#48#01-07#00"
    -
    -
    +

    Create a OffsetDateTime from date string in flash memory F() strings. Mostly for unit testing. Returns OffsetDateTime::forError() if a parsing error occurs.

    -

    Definition at line 28 of file OffsetDateTime.cpp.

    +

    Definition at line 128 of file OffsetDateTime.h.

    - -

    ◆ forDateString() [2/2]

    + +

    ◆ forDateString() [2/2]

    Factory method.

    -

    Create a OffsetDateTime from date string in flash memory F() strings. Mostly for unit testing. Returns OffsetDateTime::forError() if a parsing error occurs.

    +

    Create a OffsetDateTime from the ISO 8601 date string. If the string cannot be parsed, then returns OffsetDateTime::forError(). Created for debugging purposes not for production use.

    +

    The parsing validation is so weak that the behavior is undefined for most invalid date/time strings. The range of valid dates is roughly from 1872-01-01T00:00:00 to 2127-12-31T23:59:59. However, the UTC offset may cause some of the dates on the two extreme ends invalid. The behavior is undefined in those cases.

    +
    Parameters
    + + +
    dateStringthe date and time in ISO 8601 format "YYYY-MM-DDThh:mm:ss+/-hh:mm", but currently, the parser is very lenient. It cares mostly about the positional placement of the various components. It does not validate the separation characters like '-' or ':'. For example, both of the following will parse to the exactly same OffsetDateTime object: "2018-08-31T13:48:01-07:00" "2018/08/31 13#48#01-07#00"
    +
    +
    -

    Definition at line 128 of file OffsetDateTime.h.

    +

    Definition at line 28 of file OffsetDateTime.cpp.

    @@ -544,7 +481,7 @@

    -

    Variant of forDateString() that updates the pointer to the next unprocessed character.

    +

    Variant of forDateString() that updates the pointer to the next unprocessed character.

    This allows chaining to another forXxxStringChainable() method.

    This method assumes that the dateString is sufficiently long.

    @@ -587,10 +524,10 @@

    Factory method.

    -

    Create the various components of the OffsetDateTime from the epochSeconds and its TimeOffset. Returns OffsetDateTime::forError() if epochSeconds or timeOffset is an error.

    +

    Create the various components of the OffsetDateTime from the epochSeconds and its TimeOffset. Returns OffsetDateTime::forError() if epochSeconds or timeOffset is an error.

    Parameters
    - +
    epochSecondsNumber of seconds from AceTime epoch (2000-01-01 00:00:00). Use LocalDate::kInvalidEpochSeconds to define an invalid instance whose isError() returns true.
    epochSecondsNumber of seconds from AceTime epoch (2000-01-01 00:00:00). Use LocalDate::kInvalidEpochSeconds to define an invalid instance whose isError() returns true.
    timeOffsettime offset from UTC
    @@ -598,75 +535,6 @@

    Definition at line 71 of file OffsetDateTime.h.

    - - - -

    ◆ forError()

    - -
    -
    - - - - - -
    - - - - - - - -
    static OffsetDateTime ace_time::OffsetDateTime::forError ()
    -
    -inlinestatic
    -
    - -

    Factory method that returns an instance whose isError() is true.

    - -

    Definition at line 146 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ forLocalDateTimeAndOffset()

    - -
    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    static OffsetDateTime ace_time::OffsetDateTime::forLocalDateTimeAndOffset (const LocalDateTimelocalDateTime,
    TimeOffset timeOffset 
    )
    -
    -inlinestatic
    -
    - -

    Factory method from LocalDateTime and TimeOffset.

    - -

    Definition at line 37 of file OffsetDateTime.h.

    -
    @@ -704,131 +572,37 @@

    Factory method that takes the number of seconds since Unix Epoch of 1970-01-01.

    -

    Similar to forEpochSeconds(), the seconds corresponding to the partial day are truncated down towards the smallest whole day.

    +

    Similar to forEpochSeconds(), the seconds corresponding to the partial day are truncated down towards the smallest whole day.

    Definition at line 85 of file OffsetDateTime.h.

    - -

    ◆ hour() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::OffsetDateTime::hour () const
    -
    -inline
    -
    - -

    Return the hour.

    - -

    Definition at line 192 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ hour() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::hour (uint8_t hour)
    -
    -inline
    -
    - -

    Set the hour.

    - -

    Definition at line 195 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ isError()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::OffsetDateTime::isError () const
    -
    -inline
    -
    - -

    Return true if any component indicates an error condition.

    - -

    Definition at line 154 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ localDate()

    + +

    ◆ printTo()

    - - - - - -
    - + - + +
    const LocalDate& ace_time::OffsetDateTime::localDate void ace_time::OffsetDateTime::printTo ()Print & printer) const
    -
    -inline
    -

    Return the LocalDate.

    +

    Print OffsetDateTime to 'printer' in ISO 8601 format.

    +

    This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.

    -

    Definition at line 222 of file OffsetDateTime.h.

    +

    Definition at line 15 of file OffsetDateTime.cpp.

    - -

    ◆ localDateTime()

    + +

    ◆ toUnixSeconds()

    - -

    ◆ minute() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::OffsetDateTime::minute () const
    -
    -inline
    -
    - -

    Return the minute.

    - -

    Definition at line 198 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ minute() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::minute (uint8_t minute)
    -
    -inline
    -
    - -

    Set the minute.

    - -

    Definition at line 201 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ month() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::OffsetDateTime::month () const
    -
    -inline
    -
    - -

    Return the month with January=1, December=12.

    - -

    Definition at line 180 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ month() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::month (uint8_t month)
    -
    -inline
    -
    - -

    Set the month.

    - -

    Definition at line 183 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ printTo()

    - -
    -
    - - - - - - - - -
    void ace_time::OffsetDateTime::printTo (Print & printer) const
    -
    - -

    Print OffsetDateTime to 'printer' in ISO 8601 format.

    -

    This class does not implement the Printable interface to avoid increasing the size of the object from the additional virtual function.

    - -

    Definition at line 15 of file OffsetDateTime.cpp.

    - -
    -
    - -

    ◆ second() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::OffsetDateTime::second () const
    -
    -inline
    -
    - -

    Return the second.

    - -

    Definition at line 204 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ second() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::second (uint8_t second)
    -
    -inline
    -
    - -

    Set the second.

    - -

    Definition at line 207 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ timeOffset() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    TimeOffset ace_time::OffsetDateTime::timeOffset () const
    -
    -inline
    -
    - -

    Return the offset zone of the OffsetDateTime.

    - -

    Definition at line 213 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ timeOffset() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::timeOffset (TimeOffset timeOffset)
    -
    -inline
    -
    - -

    Set the offset zone.

    - -

    Definition at line 216 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ toUnixDays()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::OffsetDateTime::toUnixDays () const
    -
    -inline
    -
    - -

    Return the number of days since Unix epoch (1970-01-01 00:00:00).

    - -

    Definition at line 254 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ toUnixSeconds()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::OffsetDateTime::toUnixSeconds () const
    -
    -inline
    -
    - -

    Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.

    -

    It returns kInvalidEpochSeconds if isError() is true.

    -

    Tip: You can use the command 'date +s -d {iso8601date}' on a Unix box to convert an ISO8601 date to the unix seconds.

    +

    Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z.

    +

    It returns kInvalidEpochSeconds if isError() is true.

    +

    Tip: You can use the command 'date +s -d {iso8601date}' on a Unix box to convert an ISO8601 date to the unix seconds.

    Definition at line 275 of file OffsetDateTime.h.

    -
    -
    - -

    ◆ year() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    int16_t ace_time::OffsetDateTime::year () const
    -
    -inline
    -
    - -

    Return the year.

    - -

    Definition at line 160 of file OffsetDateTime.h.

    - -
    -
    - -

    ◆ year() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::OffsetDateTime::year (int16_t year)
    -
    -inline
    -
    - -

    Set the year.

    - -

    Definition at line 163 of file OffsetDateTime.h.

    -
    @@ -1359,7 +728,7 @@

    -

    Return true if two OffsetDateTime objects are equal in all components.

    +

    Return true if two OffsetDateTime objects are equal in all components.

    Optimized for small changes in the less signficant fields, such as 'second' or 'minute'.

    Definition at line 325 of file OffsetDateTime.h.

    @@ -1367,15 +736,15 @@

    OffsetDateTime.h -
  • /home/brian/dev/AceTime/src/ace_time/OffsetDateTime.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/OffsetDateTime.h
  • +
  • /home/brian/src/AceTime/src/ace_time/OffsetDateTime.cpp
  • diff --git a/docs/html/classace__time_1_1TimeOffset-members.html b/docs/html/classace__time_1_1TimeOffset-members.html index e587245e2..9ebe5941b 100644 --- a/docs/html/classace__time_1_1TimeOffset-members.html +++ b/docs/html/classace__time_1_1TimeOffset-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

     TimeOffset () - Constructor. More...
    + Constructor. More...
      -int16_t toMinutes () const - Return the time offset as minutes. More...
    + +int16_t toMinutes () const + Return the time offset as minutes.
      -int32_t toSeconds () const - Return the time offset as seconds. More...
    + +int32_t toSeconds () const + Return the time offset as seconds.
      void toHourMinute (int8_t &hour, int8_t &minute) const - Extract hour and minute representation of the offset. More...
    + Extract hour and minute representation of the offset. More...
      bool isZero () const - Returns true if offset is 00:00. More...
    + Returns true if offset is 00:00. More...
      -bool isError () const - Return true if this TimeOffset represents an error. More...
    + +bool isError () const + Return true if this TimeOffset represents an error.
      void printTo (Print &printer) const - Print the human readable string. More...
    + Print the human readable string. More...
       TimeOffset (const TimeOffset &)=default @@ -113,28 +119,31 @@

    Static Public Member Functions

    static TimeOffset forHours (int8_t hours) - Create TimeOffset with the corresponding hour offset. More...
    + Create TimeOffset with the corresponding hour offset. More...
      static TimeOffset forHourMinute (int8_t hour, int8_t minute) - Create TimeOffset from (hour, minute) offset. More...
    + Create TimeOffset from (hour, minute) offset. More...
      -static TimeOffset forMinutes (int16_t minutes) - Create TimeOffset from minutes from 00:00. More...
    + +static TimeOffset forMinutes (int16_t minutes) + Create TimeOffset from minutes from 00:00.
      static TimeOffset forOffsetString (const char *offsetString) - Create from an offset string ("-07:00" or "+01:00"). More...
    + Create from an offset string ("-07:00" or "+01:00"). More...
      static TimeOffset forOffsetStringChainable (const char *&offsetString) - Variant of forOffsetString() that updates the string pointer to the next unprocessed character. More...
    + Variant of forOffsetString() that updates the string pointer to the next unprocessed character. More...
      -static TimeOffset forError () - Return an error indicator. More...
    + +static TimeOffset forError () + Return an error indicator.
      - - + +

    Static Public Attributes

    static const int16_t kErrorMinutes = INT16_MIN
     Sentinel value that represents an error. More...
    +static const int16_t kErrorMinutes = INT16_MIN
     Sentinel value that represents an error.
     

    @@ -151,9 +160,14 @@

    Detailed Description

    A thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC, but not always.

    -

    Use one of the static factory methods to create an instance. For example, each of the following creates a TimeOffset of -08:00:

    -

    You can use the default constructor to create a +00:00 TimeOffset:

    TimeOffset offset;

    The current implementation has a resolution of 1-minute (using an internal int16_t type). The previous implementation (< v0.7) had a resolution of 15-minutes (using an internal int8_t type) because that was sufficient to handle all current timezones for years >= 2018 (determined by looking at https://en.wikipedia.org/wiki/List_of_UTC_time_offsets, and the TZ Database zonefiles itself through the tzcompiler.py script). However, 15-minute resolution is not sufficient to handle a handful of timezones in the past (years 2000 to 2011 or so). So I changed the implementation to use 2 bytes to handle 1-minute resolution.

    -

    This class does NOT know about the TZ Database (aka Olson database) https://en.wikipedia.org/wiki/Tz_database. That functionality is implemented in the TimeZone class.

    +

    Use one of the static factory methods to create an instance. For example, each of the following creates a TimeOffset of -08:00:

    +

    You can use the default constructor to create a +00:00 TimeOffset:

    TimeOffset offset;
    +

    The current implementation has a resolution of 1-minute (using an internal int16_t type). The previous implementation (< v0.7) had a resolution of 15-minutes (using an internal int8_t type) because that was sufficient to handle all current timezones for years >= 2018 (determined by looking at https://en.wikipedia.org/wiki/List_of_UTC_time_offsets, and the TZ Database zonefiles itself through the tzcompiler.py script). However, 15-minute resolution is not sufficient to handle a handful of timezones in the past (years 2000 to 2011 or so). So I changed the implementation to use 2 bytes to handle 1-minute resolution.

    +

    This class does NOT know about the TZ Database (aka Olson database) https://en.wikipedia.org/wiki/Tz_database. That functionality is implemented in the TimeZone class.

    Definition at line 56 of file TimeOffset.h.

    Constructor & Destructor Documentation

    @@ -188,35 +202,6 @@

    Member Function Documentation

    - -

    ◆ forError()

    - -
    -
    - - - - - -
    - - - - - - - -
    static TimeOffset ace_time::TimeOffset::forError ()
    -
    -inlinestatic
    -
    - -

    Return an error indicator.

    - -

    Definition at line 105 of file TimeOffset.h.

    - -
    -

    ◆ forHourMinute()

    @@ -251,7 +236,7 @@

    -

    Create TimeOffset from (hour, minute) offset.

    +

    Create TimeOffset from (hour, minute) offset.

    If the offset is negative, then the negative sign must be added to both the hour and minute components. This allows a negative offset of less than -01:00 to be created. For example, -07:30 is created by 'forHourMinute(-7, -30)' (not 'forHourMinute(-7, 30), and -00:15 is created by 'forHourMinute(0, -15)'.

    Definition at line 77 of file TimeOffset.h.

    @@ -282,41 +267,11 @@

    -

    Create TimeOffset with the corresponding hour offset.

    +

    Create TimeOffset with the corresponding hour offset.

    For example, -08:00 is 'forHours(-8)'.

    Definition at line 65 of file TimeOffset.h.

    -

    - - -

    ◆ forMinutes()

    - -
    -
    - - - - - -
    - - - - - - - - -
    static TimeOffset ace_time::TimeOffset::forMinutes (int16_t minutes)
    -
    -inlinestatic
    -
    - -

    Create TimeOffset from minutes from 00:00.

    - -

    Definition at line 83 of file TimeOffset.h.

    -
    @@ -344,7 +299,7 @@

    Create from an offset string ("-07:00" or "+01:00").

    -

    Intended mostly for testing purposes. Returns TimeOffset::forError() if a parsing error occurs.

    +

    Intended mostly for testing purposes. Returns TimeOffset::forError() if a parsing error occurs.

    Definition at line 32 of file TimeOffset.cpp.

    @@ -374,41 +329,12 @@

    -

    Variant of forOffsetString() that updates the string pointer to the next unprocessed character.

    +

    Variant of forOffsetString() that updates the string pointer to the next unprocessed character.

    The resulting pointer can be passed to another forDateStringInternal() method to chain the parsing.

    -

    This method assumes that the offsetString is sufficiently long. Returns TimeOffset::forError() if a parsing error occurs.

    +

    This method assumes that the offsetString is sufficiently long. Returns TimeOffset::forError() if a parsing error occurs.

    Definition at line 41 of file TimeOffset.cpp.

    - - - -

    ◆ isError()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::TimeOffset::isError () const
    -
    -inline
    -
    - -

    Return true if this TimeOffset represents an error.

    - -

    Definition at line 138 of file TimeOffset.h.

    -
    @@ -499,107 +425,27 @@

    Extract hour and minute representation of the offset.

    -

    This the inverse of 'forHourMinute()'. If the TimeOffset is negative, then both the hour and minute components will contain the negative sign.

    +

    This the inverse of 'forHourMinute()'. If the TimeOffset is negative, then both the hour and minute components will contain the negative sign.

    Definition at line 125 of file TimeOffset.h.

    - - - -

    ◆ toMinutes()

    - -
    -
    - - - - - -
    - - - - - - - -
    int16_t ace_time::TimeOffset::toMinutes () const
    -
    -inline
    -
    - -

    Return the time offset as minutes.

    - -

    Definition at line 111 of file TimeOffset.h.

    - -
    -
    - -

    ◆ toSeconds()

    - -
    -
    - - - - - -
    - - - - - - - -
    int32_t ace_time::TimeOffset::toSeconds () const
    -
    -inline
    -
    - -

    Return the time offset as seconds.

    - -

    Definition at line 116 of file TimeOffset.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ kErrorMinutes

    - -
    -
    - - - - - -
    - - - - -
    const int16_t ace_time::TimeOffset::kErrorMinutes = INT16_MIN
    -
    -static
    -
    - -

    Sentinel value that represents an error.

    - -

    Definition at line 59 of file TimeOffset.h.

    -

    The documentation for this class was generated from the following files: +
    static TimeOffset forOffsetString(const char *offsetString)
    Create from an offset string ("-07:00" or "+01:00").
    Definition: TimeOffset.cpp:32
    +
    static TimeOffset forHourMinute(int8_t hour, int8_t minute)
    Create TimeOffset from (hour, minute) offset.
    Definition: TimeOffset.h:77
    +
    static TimeOffset forMinutes(int16_t minutes)
    Create TimeOffset from minutes from 00:00.
    Definition: TimeOffset.h:83
    +
    static TimeOffset forHours(int8_t hours)
    Create TimeOffset with the corresponding hour offset.
    Definition: TimeOffset.h:65
    +
    TimeOffset()
    Constructor.
    Definition: TimeOffset.h:108
    diff --git a/docs/html/classace__time_1_1TimePeriod-members.html b/docs/html/classace__time_1_1TimePeriod-members.html index 4870a3751..9699b2d14 100644 --- a/docs/html/classace__time_1_1TimePeriod-members.html +++ b/docs/html/classace__time_1_1TimePeriod-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

     TimePeriod (uint8_t hour, uint8_t minute, uint8_t second, int8_t sign=1) - Constructor. More...
    + Constructor. More...
       TimePeriod (int32_t seconds=0) - Constructor from number of seconds. More...
    + Constructor from number of seconds. More...
      -uint8_t hour () const - Return the hour. More...
    + +uint8_t hour () const + Return the hour.
      -void hour (uint8_t hour) - Set the hour. More...
    + +void hour (uint8_t hour) + Set the hour.
      -uint8_t minute () const - Return the minute. More...
    + +uint8_t minute () const + Return the minute.
      -void minute (uint8_t minute) - Set the minute. More...
    + +void minute (uint8_t minute) + Set the minute.
      -uint8_t second () const - Return the second. More...
    + +uint8_t second () const + Return the second.
      -void second (uint8_t second) - Set the second. More...
    + +void second (uint8_t second) + Set the second.
      -int8_t sign () const - Return the sign bit. More...
    + +int8_t sign () const + Return the sign bit.
      void sign (int8_t sign) - Set the sign bit. More...
    + Set the sign bit. More...
      int32_t toSeconds () const - Convert to number of seconds. More...
    + Convert to number of seconds. More...
      int8_t compareTo (const TimePeriod &that) const  Compare this TimePeriod with another TimePeriod and return (<0, 0, >0) according to (a<b, a==b, a>b).
      void printTo (Print &printer) const - Print to given printer. More...
    + Print to given printer. More...
       TimePeriod (const TimePeriod &)=default @@ -130,7 +140,7 @@

    Friends

    bool operator== (const TimePeriod &a, const TimePeriod &b) - Return true if two TimePeriod objects are equal. More...
    + Return true if two TimePeriod objects are equal. More...
     

    Detailed Description

    @@ -238,124 +248,6 @@

    Member Function Documentation

    - -

    ◆ hour() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::TimePeriod::hour () const
    -
    -inline
    -
    - -

    Return the hour.

    - -

    Definition at line 63 of file TimePeriod.h.

    - -
    -
    - -

    ◆ hour() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::TimePeriod::hour (uint8_t hour)
    -
    -inline
    -
    - -

    Set the hour.

    - -

    Definition at line 66 of file TimePeriod.h.

    - -
    -
    - -

    ◆ minute() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::TimePeriod::minute () const
    -
    -inline
    -
    - -

    Return the minute.

    - -

    Definition at line 69 of file TimePeriod.h.

    - -
    -
    - -

    ◆ minute() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::TimePeriod::minute (uint8_t minute)
    -
    -inline
    -
    - -

    Set the minute.

    - -

    Definition at line 72 of file TimePeriod.h.

    - -
    -

    ◆ printTo()

    @@ -377,98 +269,10 @@

    Definition at line 13 of file TimePeriod.cpp.

    -

    - - -

    ◆ second() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::TimePeriod::second () const
    -
    -inline
    -
    - -

    Return the second.

    - -

    Definition at line 75 of file TimePeriod.h.

    - -
    -
    - -

    ◆ second() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::TimePeriod::second (uint8_t second)
    -
    -inline
    -
    - -

    Set the second.

    - -

    Definition at line 78 of file TimePeriod.h.

    - -
    -
    - -

    ◆ sign() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    int8_t ace_time::TimePeriod::sign () const
    -
    -inline
    -
    - -

    Return the sign bit.

    - -

    Definition at line 81 of file TimePeriod.h.

    -
    -

    ◆ sign() [2/2]

    +

    ◆ sign()

    @@ -571,15 +375,15 @@

    TimePeriod.h -
  • /home/brian/dev/AceTime/src/ace_time/TimePeriod.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/TimePeriod.h
  • +
  • /home/brian/src/AceTime/src/ace_time/TimePeriod.cpp
  • diff --git a/docs/html/classace__time_1_1TimeZone-members.html b/docs/html/classace__time_1_1TimeZone-members.html index 1219434f7..ba03abfd5 100644 --- a/docs/html/classace__time_1_1TimeZone-members.html +++ b/docs/html/classace__time_1_1TimeZone-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    Collaboration graph
    - - + + +
    [legend]
    - - + + - + - + - + - + - - + + - + - + - + - - + + - + - + - + - + - + - + @@ -152,20 +159,21 @@

    Public Member Functions

     TimeZone ()
     Default constructor creates a UTC TimeZone. More...
    TimeZone ()
     Default constructor creates a UTC TimeZone.
     
    uint8_t getType () const
     Return the type of TimeZone. More...
     Return the type of TimeZone. More...
     
    TimeOffset getStdOffset () const
     Return the Standard TimeOffset. More...
     Return the Standard TimeOffset. More...
     
    TimeOffset getDstOffset () const
     Return the DST TimeOffset. More...
     Return the DST TimeOffset. More...
     
    uint32_t getZoneId () const
     Return the zoneId for kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged. More...
     Return the zoneId for kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged. More...
     
    bool isError () const
     Return true if TimeZone is an error. More...
    +bool isError () const
     Return true if TimeZone is an error.
     
    TimeOffset getUtcOffset (acetime_t epochSeconds) const
     Return the total UTC offset at epochSeconds, including DST offset.
     
    TimeOffset getDeltaOffset (acetime_t epochSeconds) const
     Return the DST offset from standard UTC offset at epochSeconds. More...
     Return the DST offset from standard UTC offset at epochSeconds. More...
     
    const char * getAbbrev (acetime_t epochSeconds) const
     Return the time zone abbreviation at the given epochSeconds. More...
     Return the time zone abbreviation at the given epochSeconds. More...
     
    OffsetDateTime getOffsetDateTime (const LocalDateTime &ldt) const
     Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone. More...
     Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone. More...
     
    bool isUtc () const
     Return true if UTC (+00:00+00:00). More...
    +bool isUtc () const
     Return true if UTC (+00:00+00:00).
     
    bool isDst () const
     Return if mDstOffsetMinutes is not zero. More...
     Return if mDstOffsetMinutes is not zero. More...
     
    void setStdOffset (TimeOffset stdOffset)
     Sets the stdOffset of the TimeZone. More...
     Sets the stdOffset of the TimeZone. More...
     
    void setDstOffset (TimeOffset dstOffset)
     Sets the dstOffset of the TimeZone. More...
     Sets the dstOffset of the TimeZone. More...
     
    TimeZoneData toTimeZoneData () const
     Convert to a TimeZoneData object, which can be fed back into ZoneManager::createForTimeZoneData() to recreate the TimeZone. More...
     Convert to a TimeZoneData object, which can be fed back into ZoneManager::createForTimeZoneData() to recreate the TimeZone. More...
     
    void printTo (Print &printer) const
     Print the human readable representation of the time zone. More...
     Print the human readable representation of the time zone. More...
     
    void printShortTo (Print &printer) const
     Print the short human readable representation of the time zone. More...
     Print the short human readable representation of the time zone. More...
     
     TimeZone (const TimeZone &)=default
    - - + + - + - - + + - - + + - +

    Static Public Member Functions

    static TimeZone forUtc ()
     Factory method to create a UTC TimeZone. More...
    +static TimeZone forUtc ()
     Factory method to create a UTC TimeZone.
     
    static TimeZone forTimeOffset (TimeOffset stdOffset, TimeOffset dstOffset=TimeOffset())
     Factory method to create from a UTC offset and an optional DST offset. More...
     Factory method to create from a UTC offset and an optional DST offset. More...
     
    static TimeZone forZoneInfo (const basic::ZoneInfo *zoneInfo, BasicZoneProcessor *zoneProcessor)
     Factory method to create from a zoneInfo and an associated BasicZoneProcessor. More...
    static TimeZone forZoneInfo (const basic::ZoneInfo *zoneInfo, BasicZoneProcessor *zoneProcessor)
     Factory method to create from a zoneInfo and an associated BasicZoneProcessor. More...
     
    static TimeZone forZoneInfo (const extended::ZoneInfo *zoneInfo, ExtendedZoneProcessor *zoneProcessor)
     Factory method to create from a zoneInfo and an associated ExtendedZoneProcessor. More...
    static TimeZone forZoneInfo (const extended::ZoneInfo *zoneInfo, ExtendedZoneProcessor *zoneProcessor)
     Factory method to create from a zoneInfo and an associated ExtendedZoneProcessor. More...
     
    static TimeZone forError ()
     Return a TimeZone representing an error condition. More...
     Return a TimeZone representing an error condition. More...
     
    - + @@ -388,12 +337,12 @@

    -

    Factory method to create from a zoneInfo and an associated BasicZoneProcessor.

    +

    Factory method to create from a zoneInfo and an associated BasicZoneProcessor.

    The ZoneInfo previously associated with the given zoneProcessor is overridden.

    Parameters

    @@ -200,54 +208,24 @@

    Detailed Description

    Class that describes a time zone.

    There are 2 colloquial usages of "time -zone". The first refers to a simple fixed offset from UTC. For example, we may say that "we are in -05:00 time zone". The second is a geographical region that obeys a consistent set of rules regarding the value of the UTC offset, and when the transitions to DST happens (if at all). The best known source of these geographical regions is the TZ Database maintained by IANA (https://www.iana.org/time-zones). The TimeZone class supports both meanings.

    -

    There are 6 types of TimeZone:

    +zone". The first refers to a simple fixed offset from UTC. For example, we may say that "we are in -05:00 time zone". The second is a geographical region that obeys a consistent set of rules regarding the value of the UTC offset, and when the transitions to DST happens (if at all). The best known source of these geographical regions is the TZ Database maintained by IANA (https://www.iana.org/time-zones). The TimeZone class supports both meanings.

    +

    There are 6 types of TimeZone:

    • kTypeError: represents an error or unknown time zone
    • kTypeManual: holds a base offset and a DST offset, and allows the user to modify both of these fields
    • -
    • kTypeBasic: using an underlying BasicZoneProcessor which supports 231 geographical zones in the TZ Database.
    • -
    • kTypeExtended: a time zone using an underlying ExtendedZoneProcessor which supports 348 geographical zones in the TZ Database (essentially the entire database).
    • -
    • kTypeBasicManaged: created through the ZoneManager which contains an internal cache of BasicZoneProcessors.
    • -
    • kTypeExtendedManaged: created through the ZoneManager which contains an internal cache of ExtendedZoneProcessors.
    • +
    • kTypeBasic: using an underlying BasicZoneProcessor which supports 231 geographical zones in the TZ Database.
    • +
    • kTypeExtended: a time zone using an underlying ExtendedZoneProcessor which supports 348 geographical zones in the TZ Database (essentially the entire database).
    • +
    • kTypeBasicManaged: created through the ZoneManager which contains an internal cache of BasicZoneProcessors.
    • +
    • kTypeExtendedManaged: created through the ZoneManager which contains an internal cache of ExtendedZoneProcessors.
    -

    The TimeZone class should be treated as a const value type. (Except for kTypeManual which is self-contained and allows the stdOffset and dstOffset to be modified.) It can be passed around by value, but since it is between 5 bytes (8-bit) and 24 bytes (32-bit) big, it may be slightly more efficient to pass by const reference, then save locally by-value when needed. The ZonedDateTime holds the TimeZone object by-value.

    -

    Semantically, TimeZone really really wants to be a reference type because it needs have a reference to the ZoneProcessor helper class to do its work. In other words, it would be very convenient if the client code could create this object on the heap, and pass it around using a smart pointer to the ZonedDateTime class and shared among multiple ZonedDateTime objects. This would also allow new TimeZones to be created, while allowing older instances of ZonedDateTime to hold on to the previous versions of TimeZone.

    -

    However, in a small memory embedded environment (like Arduino Nano or Micro with only 2kB of RAM), I want to avoid any use of the heap (new operator or malloc()) inside the AceTime library. I separated out the memory intensive or mutable features of the TimeZone class into the separate ZoneProcessor class. The ZoneProcessor object should be created once at initialization time of the application (either statically allocated or potentially on the heap early in the application start up).

    -

    An alternative implementation would use an inheritance hierarchy for the TimeZone with subclasses like ManualTimeZone, BasicTimeZone and ExtendedTimeZone. However since different subclasses are of different sizes, the TimeZone object can no longer be passed around by-value, so the ZonedDateTime is forced to hold on to the TimeZone object using a pointer. Then we are forced to deal with difficult memory management and life cycle problems. Using a single TimeZone class and implementing it as a value type simplifies a lot of code.

    -

    The object can be serialized using the TimeZone::toTimeZoneData() method, and reconstructed using the ZoneManager::createForTimeZoneData() method.

    +

    The TimeZone class should be treated as a const value type. (Except for kTypeManual which is self-contained and allows the stdOffset and dstOffset to be modified.) It can be passed around by value, but since it is between 5 bytes (8-bit) and 24 bytes (32-bit) big, it may be slightly more efficient to pass by const reference, then save locally by-value when needed. The ZonedDateTime holds the TimeZone object by-value.

    +

    Semantically, TimeZone really really wants to be a reference type because it needs have a reference to the ZoneProcessor helper class to do its work. In other words, it would be very convenient if the client code could create this object on the heap, and pass it around using a smart pointer to the ZonedDateTime class and shared among multiple ZonedDateTime objects. This would also allow new TimeZones to be created, while allowing older instances of ZonedDateTime to hold on to the previous versions of TimeZone.

    +

    However, in a small memory embedded environment (like Arduino Nano or Micro with only 2kB of RAM), I want to avoid any use of the heap (new operator or malloc()) inside the AceTime library. I separated out the memory intensive or mutable features of the TimeZone class into the separate ZoneProcessor class. The ZoneProcessor object should be created once at initialization time of the application (either statically allocated or potentially on the heap early in the application start up).

    +

    An alternative implementation would use an inheritance hierarchy for the TimeZone with subclasses like ManualTimeZone, BasicTimeZone and ExtendedTimeZone. However since different subclasses are of different sizes, the TimeZone object can no longer be passed around by-value, so the ZonedDateTime is forced to hold on to the TimeZone object using a pointer. Then we are forced to deal with difficult memory management and life cycle problems. Using a single TimeZone class and implementing it as a value type simplifies a lot of code.

    +

    The object can be serialized using the TimeZone::toTimeZoneData() method, and reconstructed using the ZoneManager::createForTimeZoneData() method.

    Definition at line 82 of file TimeZone.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ TimeZone()

    - -
    -
    - - - - - -
    - - - - - - - -
    ace_time::TimeZone::TimeZone ()
    -
    -inline
    -
    - -

    Default constructor creates a UTC TimeZone.

    - -

    Definition at line 144 of file TimeZone.h.

    - -
    -
    -

    Member Function Documentation

    +

    Member Function Documentation

    ◆ forError()

    @@ -271,8 +249,8 @@

    -

    Return a TimeZone representing an error condition.

    -

    isError() returns true for this instance.

    +

    Return a TimeZone representing an error condition.

    +

    isError() returns true for this instance.

    Definition at line 139 of file TimeZone.h.

    @@ -323,35 +301,6 @@

    Definition at line 104 of file TimeZone.h.

    - - - -

    ◆ forUtc()

    - -
    -
    - - - - - -
    - - - - - - - -
    static TimeZone ace_time::TimeZone::forUtc ()
    -
    -inlinestatic
    -
    - -

    Factory method to create a UTC TimeZone.

    - -

    Definition at line 94 of file TimeZone.h.

    -
    @@ -366,7 +315,7 @@

    static TimeZone ace_time::TimeZone::forZoneInfo

    (const basic::ZoneInfoconst basic::ZoneInfo *  zoneInfo,
    - - + +
    zoneInfoa basic::ZoneInfo that identifies the zone
    zoneProcessora pointer to a ZoneProcessor, cannot be nullptr
    zoneInfoa basic::ZoneInfo that identifies the zone
    zoneProcessora pointer to a ZoneProcessor, cannot be nullptr

    @@ -414,7 +363,7 @@

    static TimeZone ace_time::TimeZone::forZoneInfo ( - const extended::ZoneInfo *  + const extended::ZoneInfo *  zoneInfo, @@ -436,12 +385,12 @@

    -

    Factory method to create from a zoneInfo and an associated ExtendedZoneProcessor.

    +

    Factory method to create from a zoneInfo and an associated ExtendedZoneProcessor.

    The ZoneInfo previously associated with the given zoneProcessor is overridden.

    Parameters
    - - + +
    zoneInfoan extended::ZoneInfo that identifies the zone
    zoneProcessora pointer to a ZoneProcessor, cannot be nullptr
    zoneInfoan extended::ZoneInfo that identifies the zone
    zoneProcessora pointer to a ZoneProcessor, cannot be nullptr
    @@ -544,7 +493,7 @@

    -

    Return the DST TimeOffset.

    +

    Return the DST TimeOffset.

    Valid only for kTypeManual.

    Definition at line 161 of file TimeZone.h.

    @@ -575,8 +524,8 @@

    -

    Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone.

    -

    Used by ZonedDateTime::forComponents(), so intended to be used mostly for testing and debugging.

    +

    Return the best estimate of the OffsetDateTime at the given LocalDateTime for the current TimeZone.

    +

    Used by ZonedDateTime::forComponents(), so intended to be used mostly for testing and debugging.

    Definition at line 285 of file TimeZone.h.

    @@ -605,7 +554,7 @@

    -

    Return the Standard TimeOffset.

    +

    Return the Standard TimeOffset.

    Valid only for kTypeManual.

    Definition at line 156 of file TimeZone.h.

    @@ -635,8 +584,8 @@

    -

    Return the type of TimeZone.

    -

    This value is useful for serializing and deserializing (or storing and restoring) the TimeZone object.

    +

    Return the type of TimeZone.

    +

    This value is useful for serializing and deserializing (or storing and restoring) the TimeZone object.

    Definition at line 153 of file TimeZone.h.

    @@ -696,68 +645,10 @@

    Return if mDstOffsetMinutes is not zero.

    -

    This is a convenience method that is valid only if the TimeZone is a kTypeManual. Returns false for all other type of TimeZone. This is intended to be used by applications which allows the user to set the UTC offset and DST flag manually (e.g. examples/WorldClock.ino).

    +

    This is a convenience method that is valid only if the TimeZone is a kTypeManual. Returns false for all other type of TimeZone. This is intended to be used by applications which allows the user to set the UTC offset and DST flag manually (e.g. examples/WorldClock.ino).

    Definition at line 323 of file TimeZone.h.

    - - - -

    ◆ isError()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::TimeZone::isError () const
    -
    -inline
    -
    - -

    Return true if TimeZone is an error.

    - -

    Definition at line 186 of file TimeZone.h.

    - -
    -
    - -

    ◆ isUtc()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::TimeZone::isUtc () const
    -
    -inline
    -
    - -

    Return true if UTC (+00:00+00:00).

    - -

    Definition at line 311 of file TimeZone.h.

    -
    @@ -838,8 +729,8 @@

    -

    Sets the dstOffset of the TimeZone.

    -

    Works only for kTypeManual, does nothing for any other type of TimeZone.

    +

    Sets the dstOffset of the TimeZone.

    +

    Works only for kTypeManual, does nothing for any other type of TimeZone.

    Definition at line 341 of file TimeZone.h.

    @@ -869,8 +760,8 @@

    -

    Sets the stdOffset of the TimeZone.

    -

    Works only for kTypeManual, does nothing for any other type of TimeZone.

    +

    Sets the stdOffset of the TimeZone.

    +

    Works only for kTypeManual, does nothing for any other type of TimeZone.

    Definition at line 332 of file TimeZone.h.

    @@ -899,7 +790,7 @@

    -

    Convert to a TimeZoneData object, which can be fed back into ZoneManager::createForTimeZoneData() to recreate the TimeZone.

    +

    Convert to a TimeZoneData object, which can be fed back into ZoneManager::createForTimeZoneData() to recreate the TimeZone.

    All of TimeZone::kTypeBasic, kTypeExtended, kTypeBasicManaged, kTypeExtendedManaged collapse into TimeZoneData::kTypeZoneId.

    Definition at line 352 of file TimeZone.h.

    @@ -926,7 +817,9 @@

    -Initial value:
    =
    ZoneProcessorCache::kTypeBasicManaged
    +Initial value:
    =
    +
    ZoneProcessorCache::kTypeBasicManaged
    +

    Definition at line 88 of file TimeZone.h.

    @@ -950,57 +843,23 @@

    -Initial value:
    =
    ZoneProcessorCache::kTypeExtendedManaged
    +Initial value:
    =
    +
    ZoneProcessorCache::kTypeExtendedManaged
    +

    Definition at line 90 of file TimeZone.h.

    - - - -

    ◆ mZoneProcessor

    - -
    -
    - - - - -
    ZoneProcessor* ace_time::TimeZone::mZoneProcessor
    -
    - -

    Used by kTypeBasic, kTypeExtended.

    - -

    Definition at line 460 of file TimeZone.h.

    - -
    -
    - -

    ◆ mZoneProcessorCache

    - -
    -
    - - - - -
    ZoneProcessorCache* ace_time::TimeZone::mZoneProcessorCache
    -
    - -

    Used by kTypeBasicManaged, kTypeExtendedManaged.

    - -

    Definition at line 463 of file TimeZone.h.

    -

    The documentation for this class was generated from the following files: diff --git a/docs/html/classace__time_1_1TimeZone__coll__graph.map b/docs/html/classace__time_1_1TimeZone__coll__graph.map index 9e53b9716..104bf8fab 100644 --- a/docs/html/classace__time_1_1TimeZone__coll__graph.map +++ b/docs/html/classace__time_1_1TimeZone__coll__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/classace__time_1_1TimeZone__coll__graph.md5 b/docs/html/classace__time_1_1TimeZone__coll__graph.md5 index b3444929a..f23d162a1 100644 --- a/docs/html/classace__time_1_1TimeZone__coll__graph.md5 +++ b/docs/html/classace__time_1_1TimeZone__coll__graph.md5 @@ -1 +1 @@ -0a4e2a27ee1034a72b9ab74d16e24bf2 \ No newline at end of file +d4abdf4aa8406bd7eaae419aefec2ec4 \ No newline at end of file diff --git a/docs/html/classace__time_1_1TimeZone__coll__graph.png b/docs/html/classace__time_1_1TimeZone__coll__graph.png index facb7f245..47aa8fdac 100644 Binary files a/docs/html/classace__time_1_1TimeZone__coll__graph.png and b/docs/html/classace__time_1_1TimeZone__coll__graph.png differ diff --git a/docs/html/classace__time_1_1ZoneManager-members.html b/docs/html/classace__time_1_1ZoneManager-members.html index 9da186f76..4275d9474 100644 --- a/docs/html/classace__time_1_1ZoneManager-members.html +++ b/docs/html/classace__time_1_1ZoneManager-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
    -

    Returns the TimeZone given the zoneInfo, zoneName, or zoneId. +

    Returns the TimeZone given the zoneInfo, zoneName, or zoneId. More...

    #include <ZoneManager.h>

    @@ -96,7 +99,7 @@ TimeZone createForZoneIndex (uint16_t index)   TimeZone createForTimeZoneData (const TimeZoneData &d) - Create from the TimeZoneData created by TimeZone::toTimeZoneData(). More...
    + Create from the TimeZoneData created by TimeZone::toTimeZoneData(). More...
      uint16_t indexForZoneName (const char *name) const @@ -115,13 +118,13 @@

    template<typename ZI, typename ZR, typename ZSC>
    class ace_time::ZoneManager< ZI, ZR, ZSC >

    -

    Returns the TimeZone given the zoneInfo, zoneName, or zoneId.

    -

    Looks up the ZoneInfo in the ZoneRegistrar. If an existing ZoneProcessor exists in the ZoneProcessorCache, then it is used. If not, another ZoneProcessor is picked from the cache in a round-robin fashion. The type of the TimeZone will be assigned to be the type of the ZoneProcessorCache, which will be either kTypeBasicManaged or kTypeExtendedManaged.

    +

    Returns the TimeZone given the zoneInfo, zoneName, or zoneId.

    +

    Looks up the ZoneInfo in the ZoneRegistrar. If an existing ZoneProcessor exists in the ZoneProcessorCache, then it is used. If not, another ZoneProcessor is picked from the cache in a round-robin fashion. The type of the TimeZone will be assigned to be the type of the ZoneProcessorCache, which will be either kTypeBasicManaged or kTypeExtendedManaged.

    Template Parameters
    - - - + + +
    ZItype of ZoneInfo (basic::ZoneInfo or extended::ZoneInfo) which make up the zone registry
    ZRclass of ZoneRegistrar
    ZSCclass of ZoneProcessorCache
    ZItype of ZoneInfo (basic::ZoneInfo or extended::ZoneInfo) which make up the zone registry
    ZRclass of ZoneRegistrar
    ZSCclass of ZoneProcessorCache
    @@ -134,7 +137,7 @@

    -template<typename ZI, typename ZR, typename ZSC>
    +template<typename ZI , typename ZR , typename ZSC >
    @@ -31,18 +31,21 @@
    @@ -162,15 +165,15 @@

    TimeZone.h -
  • /home/brian/dev/AceTime/src/ace_time/ZoneManager.h
  • +
  • /home/brian/src/AceTime/src/ace_time/TimeZone.h
  • +
  • /home/brian/src/AceTime/src/ace_time/ZoneManager.h
  • diff --git a/docs/html/classace__time_1_1ZoneProcessor-members.html b/docs/html/classace__time_1_1ZoneProcessor-members.html index 33805efba..42cbd2897 100644 --- a/docs/html/classace__time_1_1ZoneProcessor-members.html +++ b/docs/html/classace__time_1_1ZoneProcessor-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@

    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.

    - + +/* @license-end */ - + +/* @license-end */
    -

    Base interface for ZoneProcessor classes. +

    Base interface for ZoneProcessor classes. More...

    #include <ZoneProcessor.h>

    @@ -85,48 +88,52 @@
    Inheritance graph
    - - + + +
    [legend]
    - - + + - - + + - - + + - + - + - + - + - + - +

    Public Member Functions

    uint8_t getType () const
     Return the kTypeXxx of the current instance. More...
    +uint8_t getType () const
     Return the kTypeXxx of the current instance.
     
    virtual const void * getZoneInfo () const =0
     Return the opaque zoneInfo. More...
    +virtual const void * getZoneInfo () const =0
     Return the opaque zoneInfo.
     
    virtual uint32_t getZoneId () const =0
     Return the unique stable zoneId. More...
    +virtual uint32_t getZoneId () const =0
     Return the unique stable zoneId.
     
    virtual TimeOffset getUtcOffset (acetime_t epochSeconds) const =0
     Return the total UTC offset at epochSeconds, including DST offset. More...
     Return the total UTC offset at epochSeconds, including DST offset. More...
     
    virtual TimeOffset getDeltaOffset (acetime_t epochSeconds) const =0
     Return the DST delta offset at epochSeconds. More...
     Return the DST delta offset at epochSeconds. More...
     
    virtual const char * getAbbrev (acetime_t epochSeconds) const =0
     Return the time zone abbreviation at epochSeconds. More...
     Return the time zone abbreviation at epochSeconds. More...
     
    virtual OffsetDateTime getOffsetDateTime (const LocalDateTime &ldt) const =0
     Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the current ZoneProcessor. More...
     Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the current ZoneProcessor. More...
     
    virtual void printTo (Print &printer) const =0
     Print a human-readable identifier (e.g. More...
     Print a human-readable identifier (e.g. More...
     
    virtual void printShortTo (Print &printer) const =0
     Print a short human-readable identifier (e.g. More...
     Print a short human-readable identifier (e.g. More...
     
    - + - +

    Static Public Attributes

    static const uint8_t kTypeBasic = 2
     Indicate BasicZoneProcessor. More...
     Indicate BasicZoneProcessor. More...
     
    static const uint8_t kTypeExtended = 3
     Indicate ExtendedZoneProcessor. More...
     Indicate ExtendedZoneProcessor. More...
     
    - - + + - - + + - - + +

    @@ -137,14 +144,17 @@

    ZoneProcessoroperator= (const ZoneProcessor &)=delete
     
     ZoneProcessor (uint8_t type)
     Constructor. More...
    ZoneProcessor (uint8_t type)
     Constructor.
     
    virtual bool equals (const ZoneProcessor &other) const =0
     Return true if equal. More...
    +virtual bool equals (const ZoneProcessor &other) const =0
     Return true if equal.
     
    virtual void setZoneInfo (const void *zoneInfo)=0
     Set the opaque zoneInfo. More...
    +virtual void setZoneInfo (const void *zoneInfo)=0
     Set the opaque zoneInfo.
     

    @@ -167,73 +177,14 @@

     

    Detailed Description

    -

    Base interface for ZoneProcessor classes.

    +

    Base interface for ZoneProcessor classes.

    There were 2 options for implmenting the various concrete implementations of ZoneProcessors:

    -

    1) Implement only a single getType() method to distinguish the different runtime types of the object. Then use this type information in the TimeZone class to downcast the ZoneProcessor pointer to the correct subclass, and call the correct methods.

    -

    2) Fully implement a polymorphic class hierarchy, lifting various common methods (getUtcOffset(), getDeltaOffset(), getAbbrev()) into this interface as virtual methods, then add a virtual equals() method to implement the operator==().

    +

    1) Implement only a single getType() method to distinguish the different runtime types of the object. Then use this type information in the TimeZone class to downcast the ZoneProcessor pointer to the correct subclass, and call the correct methods.

    +

    2) Fully implement a polymorphic class hierarchy, lifting various common methods (getUtcOffset(), getDeltaOffset(), getAbbrev()) into this interface as virtual methods, then add a virtual equals() method to implement the operator==().

    The problem with Option 1 is that the code for both subclasses would be compiled into the program, even if the application used only one of the subclasses. Instead I use Option 2, using a fully polymorphic class hierarchy, adding 3-4 virtual methods. When a program uses only a single subclass, only that particular subclass is included into the program. Unfortunately, this comes at the cost of forcing programs to use the virtual dispatch at runtime for some of the often-used methods.

    Definition at line 45 of file ZoneProcessor.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ ZoneProcessor()

    - -
    -
    - - - - - -
    - - - - - - - - -
    ace_time::ZoneProcessor::ZoneProcessor (uint8_t type)
    -
    -inlineprotected
    -
    - -

    Constructor.

    - -

    Definition at line 122 of file ZoneProcessor.h.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ equals()

    - -
    -
    - - - - - -
    - - - - - - - - -
    virtual bool ace_time::ZoneProcessor::equals (const ZoneProcessorother) const
    -
    -protectedpure virtual
    -
    - -

    Return true if equal.

    - -
    -
    +

    Member Function Documentation

    ◆ getAbbrev()

    @@ -291,7 +242,7 @@

    Return the DST delta offset at epochSeconds.

    -

    This is an experimental method that has not been tested thoroughly. Use with caution. Returns TimeOffset::forError() if an error occurs.

    +

    This is an experimental method that has not been tested thoroughly. Use with caution. Returns TimeOffset::forError() if an error occurs.

    Implemented in ace_time::ExtendedZoneProcessor, and ace_time::BasicZoneProcessor.

    @@ -321,40 +272,11 @@

    -

    Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the current ZoneProcessor.

    -

    Returns OffsetDateTime::forError() if an error occurs, for example, if the LocalDateTime is outside of the support date range of the underlying ZoneInfo files.

    +

    Return the best estimate of the OffsetDateTime at the given LocalDateTime for the timezone of the current ZoneProcessor.

    +

    Returns OffsetDateTime::forError() if an error occurs, for example, if the LocalDateTime is outside of the support date range of the underlying ZoneInfo files.

    Implemented in ace_time::ExtendedZoneProcessor, and ace_time::BasicZoneProcessor.

    -

    -
    - -

    ◆ getType()

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZoneProcessor::getType () const
    -
    -inline
    -
    - -

    Return the kTypeXxx of the current instance.

    - -

    Definition at line 60 of file ZoneProcessor.h.

    -
    @@ -382,68 +304,10 @@

    Return the total UTC offset at epochSeconds, including DST offset.

    -

    Returns TimeOffset::forError() if an error occurs.

    +

    Returns TimeOffset::forError() if an error occurs.

    Implemented in ace_time::ExtendedZoneProcessor, and ace_time::BasicZoneProcessor.

    -

    -
    - -

    ◆ getZoneId()

    - -
    -
    - - - - - -
    - - - - - - - -
    virtual uint32_t ace_time::ZoneProcessor::getZoneId () const
    -
    -pure virtual
    -
    - -

    Return the unique stable zoneId.

    - -

    Implemented in ace_time::ExtendedZoneProcessor, and ace_time::BasicZoneProcessor.

    - -
    -
    - -

    ◆ getZoneInfo()

    - -
    -
    - - - - - -
    - - - - - - - -
    virtual const void* ace_time::ZoneProcessor::getZoneInfo () const
    -
    -pure virtual
    -
    - -

    Return the opaque zoneInfo.

    - -

    Implemented in ace_time::ExtendedZoneProcessor, and ace_time::BasicZoneProcessor.

    -
    @@ -506,34 +370,6 @@

    ace_time::ExtendedZoneProcessor, and ace_time::BasicZoneProcessor.

    - - - -

    ◆ setZoneInfo()

    - -
    -
    - - - - - -
    - - - - - - - - -
    virtual void ace_time::ZoneProcessor::setZoneInfo (const void * zoneInfo)
    -
    -protectedpure virtual
    -
    - -

    Set the opaque zoneInfo.

    -

    Member Data Documentation

    @@ -557,7 +393,7 @@

    -

    Indicate BasicZoneProcessor.

    +

    Indicate BasicZoneProcessor.

    Must not be TimeZone::kTypeError (0) or TimeZone::kTypeManual (1).

    Definition at line 51 of file ZoneProcessor.h.

    @@ -584,7 +420,7 @@

    -

    Indicate ExtendedZoneProcessor.

    +

    Indicate ExtendedZoneProcessor.

    Must not be TimeZone::kTypeError (0) or TimeZone::kTypeManual (1).

    Definition at line 57 of file ZoneProcessor.h.

    @@ -592,14 +428,14 @@

    ZoneProcessor.h +
  • /home/brian/src/AceTime/src/ace_time/ZoneProcessor.h
  • diff --git a/docs/html/classace__time_1_1ZoneProcessorCache-members.html b/docs/html/classace__time_1_1ZoneProcessorCache-members.html index f57ec6376..6b3477a5e 100644 --- a/docs/html/classace__time_1_1ZoneProcessorCache-members.html +++ b/docs/html/classace__time_1_1ZoneProcessorCache-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
    More...

    #include <ZoneProcessorCache.h>

    -
    -Inheritance diagram for ace_time::ZoneProcessorCache:
    -
    -
    Inheritance graph
    - - - - - - - -
    [legend]
    - - + + - +

    Public Member Functions

    virtual uint8_t getType ()=0
     Return the type of this cache. More...
    +virtual uint8_t getType ()=0
     Return the type of this cache.
     
    virtual ZoneProcessorgetZoneProcessor (const void *zoneInfo)=0
     Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo. More...
     Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo. More...
     

    @@ -109,39 +101,10 @@

    Detailed Description

    Common interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache.

    -

    This allows TimeZone to hold only a single implementation of ZoneProcessorCache, without having to load the code for both implementations.

    +

    This allows TimeZone to hold only a single implementation of ZoneProcessorCache, without having to load the code for both implementations.

    Definition at line 24 of file ZoneProcessorCache.h.

    Member Function Documentation

    - -

    ◆ getType()

    - -

    ◆ getZoneProcessor()

    @@ -166,11 +129,9 @@

    -

    Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.

    +

    Get ZoneProcessor from either a basic::ZoneInfo or an extended::ZoneInfo.

    Unfortunately, this is not type-safe, but that's the only way we can avoid compile-time dependencies to both implementation classes.

    -

    Implemented in ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >, ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >, and ace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >.

    -

    Member Data Documentation

    @@ -193,20 +154,23 @@

    -Initial value: +Initial value:

    Definition at line 27 of file ZoneProcessorCache.h.


    The documentation for this class was generated from the following file: +
    static const uint8_t kTypeExtended
    Indicate ExtendedZoneProcessor.
    Definition: ZoneProcessor.h:57
    diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl-members.html b/docs/html/classace__time_1_1ZoneProcessorCacheImpl-members.html index 6b44b6efd..37afd9330 100644 --- a/docs/html/classace__time_1_1ZoneProcessorCacheImpl-members.html +++ b/docs/html/classace__time_1_1ZoneProcessorCacheImpl-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl.html b/docs/html/classace__time_1_1ZoneProcessorCacheImpl.html index 9674090b6..cb7496515 100644 --- a/docs/html/classace__time_1_1ZoneProcessorCacheImpl.html +++ b/docs/html/classace__time_1_1ZoneProcessorCacheImpl.html @@ -1,9 +1,9 @@ - + - + AceTime: ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB > Class Template Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */
    -

    A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request. +

    A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request. More...

    #include <ZoneProcessorCache.h>

    -
    -Inheritance diagram for ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >:
    -
    -
    Inheritance graph
    - - - -
    [legend]
    -
    -Collaboration diagram for ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >:
    -
    -
    Collaboration graph
    - - - -
    [legend]
    - - + - + -

    Public Member Functions

    uint8_t getType () override
     Return the type of this cache. More...
    +uint8_t getType () override
     
    ZoneProcessorgetZoneProcessor (const void *zoneInfo) override
     Get the ZoneProcessor from the zoneInfo. More...
     Get the ZoneProcessor from the zoneInfo. More...
     
    - - - - - -

    -Additional Inherited Members

    - Static Public Attributes inherited from ace_time::ZoneProcessorCache
    -static const uint8_t kTypeBasicManaged = ZoneProcessor::kTypeBasic + 2
     
    static const uint8_t kTypeExtendedManaged
     

    Detailed Description

    template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
    class ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >

    -

    A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.

    +

    A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request.

    Template Parameters
    - - - - + + + +
    SIZEnumber of zone processors, should be approximate the number zones concurrently used in the app. It is expected that this will be small. It can be 1 if the app never changes the TimeZone. It should be 2 if the user is able to select different timezones from a menu.
    ZStype of ZoneProcessor (BasicZoneProcessor or ExtendedZoneProcessor)
    ZItype of ZoneInfo (basic::ZoneInfo or extended::ZoneInfo)
    ZIBtype of ZoneInfoBroker (basic::ZoneInfoBroker or extended::ZoneInfoBroker)
    SIZEnumber of zone processors, should be approximate the number zones concurrently used in the app. It is expected that this will be small. It can be 1 if the app never changes the TimeZone. It should be 2 if the user is able to select different timezones from a menu.
    ZStype of ZoneProcessor (BasicZoneProcessor or ExtendedZoneProcessor)
    ZItype of ZoneInfo (basic::ZoneInfo or extended::ZoneInfo)
    ZIBtype of ZoneInfoBroker (basic::ZoneInfoBroker or extended::ZoneInfoBroker)

    Definition at line 36 of file BasicZoneProcessor.h.

    Member Function Documentation

    - -

    ◆ getType()

    - -
    -
    -
    -template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >::getType ()
    -
    -inlineoverridevirtual
    -
    - -

    Return the type of this cache.

    - -

    Implements ace_time::ZoneProcessorCache.

    - -

    Definition at line 61 of file ZoneProcessorCache.h.

    - -
    -

    ◆ getZoneProcessor()

    -template<uint8_t SIZE, uint8_t TYPE, typename ZS, typename ZI, typename ZIB>
    +template<uint8_t SIZE, uint8_t TYPE, typename ZS , typename ZI , typename ZIB >
    +inlineoverride
    @@ -182,30 +127,28 @@

    -inlineoverridevirtual

    -

    Get the ZoneProcessor from the zoneInfo.

    +

    Get the ZoneProcessor from the zoneInfo.

    Will never return nullptr.

    -

    Implements ace_time::ZoneProcessorCache.

    -

    Definition at line 64 of file ZoneProcessorCache.h.


    The documentation for this class was generated from the following files:
    diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.map b/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.map deleted file mode 100644 index d2b68a4e2..000000000 --- a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.md5 b/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.md5 deleted file mode 100644 index b1b7bd3e4..000000000 --- a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f71eaeec2dc0749a66e9a521327690b \ No newline at end of file diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.png b/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.png deleted file mode 100644 index 7a0c095ce..000000000 Binary files a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__coll__graph.png and /dev/null differ diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.map b/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.map deleted file mode 100644 index d2b68a4e2..000000000 --- a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.md5 b/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.md5 deleted file mode 100644 index e4be4b7a2..000000000 --- a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -416cc72e4379d1f9ab7039882f672ee9 \ No newline at end of file diff --git a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.png b/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.png deleted file mode 100644 index 7a0c095ce..000000000 Binary files a/docs/html/classace__time_1_1ZoneProcessorCacheImpl__inherit__graph.png and /dev/null differ diff --git a/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.map b/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.map deleted file mode 100644 index 75a9793c2..000000000 --- a/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.map +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.md5 b/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.md5 deleted file mode 100644 index 577a59b00..000000000 --- a/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -58a483f2cadd2b66fe57d47d291eb48c \ No newline at end of file diff --git a/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.png b/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.png deleted file mode 100644 index f9b6c65ed..000000000 Binary files a/docs/html/classace__time_1_1ZoneProcessorCache__inherit__graph.png and /dev/null differ diff --git a/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.map b/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.map index 723d1f68d..e0fd5a1c0 100644 --- a/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.map +++ b/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.md5 b/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.md5 index 12228239b..a6490ca73 100644 --- a/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.md5 +++ b/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.md5 @@ -1 +1 @@ -52b5ab7489a3a20fc5c8b847b6a467b9 \ No newline at end of file +cbaca2f4ba4fcb710407a92f46ffa78e \ No newline at end of file diff --git a/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.png b/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.png index 0decb0d8a..a03e0ed74 100644 Binary files a/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.png and b/docs/html/classace__time_1_1ZoneProcessor__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1ZoneRegistrar-members.html b/docs/html/classace__time_1_1ZoneRegistrar-members.html index 97a7aba3c..a13c162d8 100644 --- a/docs/html/classace__time_1_1ZoneRegistrar-members.html +++ b/docs/html/classace__time_1_1ZoneRegistrar-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    ZoneRegistrar (uint16_t registrySize, const ZI *const *zoneRegistry) - Constructor. More...
    +ZoneRegistrar (uint16_t registrySize, const ZI *const *zoneRegistry) + Constructor.
      -uint16_t registrySize () const - Return the number of zones. More...
    + +uint16_t registrySize () const + Return the number of zones.
      bool isSorted () const @@ -97,7 +102,7 @@ const ZI * getZoneInfoForIndex (uint16_t i) const   const ZI * getZoneInfoForName (const char *name) const - Return the ZoneInfo corresponding to the given zone name. More...
    + Return the ZoneInfo corresponding to the given zone name. More...
      const ZI * getZoneInfoForId (uint32_t zoneId) const @@ -120,20 +125,21 @@ - - + + - - + +

    Protected Attributes

    -uint16_t const mRegistrySize
     
    +const uint16_t mRegistrySize
     
    const ZI *const *const mZoneRegistry
     
    -bool const mIsSorted
     
    +const bool mIsSorted
     
    - - + +

    Static Protected Attributes

    static const uint8_t kBinarySearchThreshold = 6
     Use binarySearch() if registrySize >= threshold. More...
    +static const uint8_t kBinarySearchThreshold = 6
     Use binarySearch() if registrySize >= threshold.
     
    @@ -31,18 +31,21 @@

    @@ -168,9 +174,9 @@

    "America/Los_Angeles"), or index, or zoneId (hash from its name).

    Template Parameters
    - - - + + +
    ZIZoneInfo type (e.g. basic::ZoneInfo)
    ZRBZoneRegistryBroker type (e.g. basic::ZoneRegistryBroker)
    ZIBZoneInfoBroker type (e.g. basic::ZoneInfoBroker)
    ZIZoneInfo type (e.g. basic::ZoneInfo)
    ZRBZoneRegistryBroker type (e.g. basic::ZoneRegistryBroker)
    ZIBZoneInfoBroker type (e.g. basic::ZoneInfoBroker)
    STRCMP_Pa function that compares a normal string to flash string (e.g strcmp_P())
    STRCMP_PPa function that compares 2 flash strings (must be custom written)
    @@ -178,50 +184,7 @@

    Definition at line 42 of file ZoneRegistrar.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ ZoneRegistrar()

    - -
    -
    -
    -template<typename ZI , typename ZRB , typename ZIB , strcmp_t STRCMP_P, strcmp_t STRCMP_PP>
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    ace_time::ZoneRegistrar< ZI, ZRB, ZIB, STRCMP_P, STRCMP_PP >::ZoneRegistrar (uint16_t registrySize,
    const ZI *const * zoneRegistry 
    )
    -
    -inline
    -
    - -

    Constructor.

    - -

    Definition at line 45 of file ZoneRegistrar.h.

    - -
    -
    -

    Member Function Documentation

    +

    Member Function Documentation

    ◆ getZoneInfoForName()

    @@ -253,77 +216,17 @@

    Definition at line 68 of file ZoneRegistrar.h.

    - - - -

    ◆ registrySize()

    - -
    -
    -
    -template<typename ZI , typename ZRB , typename ZIB , strcmp_t STRCMP_P, strcmp_t STRCMP_PP>
    - - - - - -
    - - - - - - - -
    uint16_t ace_time::ZoneRegistrar< ZI, ZRB, ZIB, STRCMP_P, STRCMP_PP >::registrySize () const
    -
    -inline
    -
    - -

    Return the number of zones.

    - -

    Definition at line 51 of file ZoneRegistrar.h.

    - -
    -
    -

    Member Data Documentation

    - -

    ◆ kBinarySearchThreshold

    - -
    -
    -
    -template<typename ZI , typename ZRB , typename ZIB , strcmp_t STRCMP_P, strcmp_t STRCMP_PP>
    - - - - - -
    - - - - -
    const uint8_t ace_time::ZoneRegistrar< ZI, ZRB, ZIB, STRCMP_P, STRCMP_PP >::kBinarySearchThreshold = 6
    -
    -staticprotected
    -
    - -

    Use binarySearch() if registrySize >= threshold.

    - -

    Definition at line 91 of file ZoneRegistrar.h.

    -

    The documentation for this class was generated from the following file: diff --git a/docs/html/classace__time_1_1ZonedDateTime-members.html b/docs/html/classace__time_1_1ZonedDateTime-members.html index 3d0adcaae..dc8e90f61 100644 --- a/docs/html/classace__time_1_1ZonedDateTime-members.html +++ b/docs/html/classace__time_1_1ZonedDateTime-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@

    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    ZonedDateTime () - Default constructor. More...
    +ZonedDateTime () + Default constructor.
      -bool isError () const - Return true if any component indicates an error condition. More...
    + +bool isError () const + Return true if any component indicates an error condition.
      -int16_t year () const - Return the year. More...
    + +int16_t year () const + Return the year.
      -void year (int16_t year) - Set the year given the full year. More...
    + +void year (int16_t year) + Set the year given the full year.
      int8_t yearTiny () const - Return the single-byte year offset from year 2000. More...
    + Return the single-byte year offset from year 2000. More...
      void yearTiny (int8_t yearTiny) - Set the single-byte year offset from year 2000. More...
    + Set the single-byte year offset from year 2000. More...
      -uint8_t month () const - Return the month with January=1, December=12. More...
    + +uint8_t month () const + Return the month with January=1, December=12.
      -void month (uint8_t month) - Set the month. More...
    + +void month (uint8_t month) + Set the month.
      -uint8_t day () const - Return the day of the month. More...
    + +uint8_t day () const + Return the day of the month.
      -void day (uint8_t day) - Set the day of the month. More...
    + +void day (uint8_t day) + Set the day of the month.
      -uint8_t hour () const - Return the hour. More...
    + +uint8_t hour () const + Return the hour.
      -void hour (uint8_t hour) - Set the hour. More...
    + +void hour (uint8_t hour) + Set the hour.
      -uint8_t minute () const - Return the minute. More...
    + +uint8_t minute () const + Return the minute.
      -void minute (uint8_t minute) - Set the minute. More...
    + +void minute (uint8_t minute) + Set the minute.
      -uint8_t second () const - Return the second. More...
    + +uint8_t second () const + Return the second.
      -void second (uint8_t second) - Set the second. More...
    + +void second (uint8_t second) + Set the second.
      uint8_t dayOfWeek () const  Return the day of the week using ISO 8601 numbering where Monday=1 and Sunday=7.
      -TimeOffset timeOffset () const - Return the offset zone of the OffsetDateTime. More...
    + +TimeOffset timeOffset () const + Return the offset zone of the OffsetDateTime.
      -const TimeZonetimeZone () const - Return the time zone of the ZonedDateTime. More...
    + +const TimeZonetimeZone () const + Return the time zone of the ZonedDateTime.
      void timeZone (const TimeZone &timeZone) - Set the time zone. More...
    + Set the time zone. More...
      -const LocalDateTimelocalDateTime () const - Return the LocalDateTime of the components. More...
    + +const LocalDateTimelocalDateTime () const + Return the LocalDateTime of the components.
      ZonedDateTime convertToTimeZone (const TimeZone &timeZone) const @@ -153,20 +173,21 @@ acetime_t toEpochDays () const  Return number of whole days since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time zone.
      -acetime_t toUnixDays () const - Return the number of days since Unix epoch (1970-01-01 00:00:00). More...
    + +acetime_t toUnixDays () const + Return the number of days since Unix epoch (1970-01-01 00:00:00).
      acetime_t toEpochSeconds () const - Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time zone. More...
    + Return seconds since AceTime epoch (2000-01-01 00:00:00Z), taking into account the time zone. More...
      acetime_t toUnixSeconds () const - Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z. More...
    + Return the number of seconds from Unix epoch 1970-01-01 00:00:00Z. More...
      int8_t compareTo (const ZonedDateTime &that) const - Compare this ZonedDateTime with another ZonedDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b). More...
    + Compare this ZonedDateTime with another ZonedDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b). More...
      void printTo (Print &printer) const - Print ZonedDateTime to 'printer'. More...
    + Print ZonedDateTime to 'printer'. More...
       ZonedDateTime (const ZonedDateTime &)=default @@ -178,28 +199,29 @@

    Static Public Member Functions

    static ZonedDateTime forComponents (int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, const TimeZone &timeZone) - Factory method using separated date, time, and time zone fields. More...
    + Factory method using separated date, time, and time zone fields. More...
      static ZonedDateTime forEpochSeconds (acetime_t epochSeconds, const TimeZone &timeZone) - Factory method. More...
    + Factory method. More...
      static ZonedDateTime forUnixSeconds (acetime_t unixSeconds, const TimeZone &timeZone) - Factory method to create a ZonedDateTime using the number of seconds from Unix epoch. More...
    + Factory method to create a ZonedDateTime using the number of seconds from Unix epoch. More...
      static ZonedDateTime forDateString (const char *dateString) - Factory method. More...
    + Factory method. More...
      static ZonedDateTime forDateString (const __FlashStringHelper *dateString) - Factory method. More...
    + Factory method. More...
      -static ZonedDateTime forError () - Return an instance whose isError() returns true. More...
    + +static ZonedDateTime forError () + Return an instance whose isError() returns true.
      - +

    Friends

    bool operator== (const ZonedDateTime &a, const ZonedDateTime &b)
     Return true if two ZonedDateTime objects are equal in all components. More...
     Return true if two ZonedDateTime objects are equal in all components. More...
     

    Detailed Description

    @@ -209,37 +231,7 @@

    Some parts of this class were inspired by the org.joda.DateTime of http://www.joda.org and java.time.ZonedDateTime of Java 11.

    Definition at line 32 of file ZonedDateTime.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ ZonedDateTime()

    - -
    -
    - - - - - -
    - - - - - - - -
    ace_time::ZonedDateTime::ZonedDateTime ()
    -
    -inlineexplicit
    -
    - -

    Default constructor.

    - -

    Definition at line 133 of file ZonedDateTime.h.

    - -
    -
    -

    Member Function Documentation

    +

    Member Function Documentation

    ◆ compareTo()

    @@ -265,69 +257,10 @@

    Compare this ZonedDateTime with another ZonedDateTime, and return (<0, 0, >0) according to whether the epochSeconds is (a<b, a==b, a>b).

    -

    The dayOfWeek field is ignored. This method can return 0 (equal) even if the operator==() returns false if the two ZonedDateTime objects are in different time zones.

    +

    The dayOfWeek field is ignored. This method can return 0 (equal) even if the operator==() returns false if the two ZonedDateTime objects are in different time zones.

    Definition at line 264 of file ZonedDateTime.h.

    - - - -

    ◆ day() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZonedDateTime::day () const
    -
    -inline
    -
    - -

    Return the day of the month.

    - -

    Definition at line 165 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ day() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::ZonedDateTime::day (uint8_t day)
    -
    -inline
    -
    - -

    Set the day of the month.

    - -

    Definition at line 168 of file ZonedDateTime.h.

    -
    @@ -395,8 +328,8 @@

    Factory method using separated date, time, and time zone fields.

    -

    This is intended mostly for testing purposes. Most production code will use the forEpochSeconds() method.

    -

    The TimeOffset at the given date/time component is calculated using the ZoneProcessor::getUtcOffsetForDateTime() determined by the actual subtype of ZoneProcessor held by the given timeZone.

    +

    This is intended mostly for testing purposes. Most production code will use the forEpochSeconds() method.

    +

    The TimeOffset at the given date/time component is calculated using the ZoneProcessor::getUtcOffsetForDateTime() determined by the actual subtype of ZoneProcessor held by the given timeZone.

    Parameters
    @@ -405,7 +338,7 @@

    hour

    - +
    year[1873-2127]
    hour [0-23]
    minuteminute [0-59]
    secondsecond [0-59], does not support leap seconds
    timeZonea TimeZone instance (use TimeZone() for UTC)
    timeZonea TimeZone instance (use TimeZone() for UTC)
    @@ -414,8 +347,8 @@

    -

    ◆ forDateString() [1/2]

    + +

    ◆ forDateString() [1/2]

    @@ -426,7 +359,7 @@

    static ZonedDateTime ace_time::ZonedDateTime::forDateString ( - const char *  + const __FlashStringHelper *  dateString) @@ -439,20 +372,14 @@

    Factory method.

    -

    Create a ZonedDateTime from the ISO 8601 date string. If the string cannot be parsed, then isError() on the constructed object returns true.

    -
    Parameters
    - - -
    dateStringa string in ISO 8601 format "YYYY-MM-DDThh:mm:ss+hh:mm". The parser is very lenient and does not detect most errors. It cares mostly about the positional placement of the various components. It does not validate the separation characters like '-' or ':'. For example, both of the following will parse to the exactly same ZonedDateTime object: "2018-08-31T13:48:01-07:00" "2018/08/31 13#48#01-07#00".
    -
    -
    +

    Create a ZonedDateTime from date string in flash memory F() strings. Mostly for unit testing.

    -

    Definition at line 113 of file ZonedDateTime.h.

    +

    Definition at line 122 of file ZonedDateTime.h.

    - -

    ◆ forDateString() [2/2]

    + +

    ◆ forDateString() [2/2]

    @@ -463,7 +390,7 @@

    static ZonedDateTime ace_time::ZonedDateTime::forDateString ( - const __FlashStringHelper *  + const char *  dateString) @@ -476,9 +403,15 @@

    Factory method.

    -

    Create a ZonedDateTime from date string in flash memory F() strings. Mostly for unit testing.

    +

    Create a ZonedDateTime from the ISO 8601 date string. If the string cannot be parsed, then isError() on the constructed object returns true.

    +
    Parameters
    + + +
    dateStringa string in ISO 8601 format "YYYY-MM-DDThh:mm:ss+hh:mm". The parser is very lenient and does not detect most errors. It cares mostly about the positional placement of the various components. It does not validate the separation characters like '-' or ':'. For example, both of the following will parse to the exactly same ZonedDateTime object: "2018-08-31T13:48:01-07:00" "2018/08/31 13#48#01-07#00".
    +
    +
    -

    Definition at line 122 of file ZonedDateTime.h.

    +

    Definition at line 113 of file ZonedDateTime.h.

    @@ -517,46 +450,17 @@

    Factory method.

    -

    Create the ZonedDateTime from epochSeconds as seen from the given time zone. The dayOfWeek will be calculated internally. Returns ZonedDateTime::forError() if epochSeconds is invalid.

    +

    Create the ZonedDateTime from epochSeconds as seen from the given time zone. The dayOfWeek will be calculated internally. Returns ZonedDateTime::forError() if epochSeconds is invalid.

    Parameters
    - - + +
    epochSecondsNumber of seconds from AceTime epoch (2000-01-01 00:00:00Z). A value of LocalDate::kInvalidEpochSeconds is a sentinel that is considered to be an error and causes isError() to return true.
    timeZonea TimeZone instance (use TimeZone() for UTC)
    epochSecondsNumber of seconds from AceTime epoch (2000-01-01 00:00:00Z). A value of LocalDate::kInvalidEpochSeconds is a sentinel that is considered to be an error and causes isError() to return true.
    timeZonea TimeZone instance (use TimeZone() for UTC)

    Definition at line 71 of file ZonedDateTime.h.

    - - - -

    ◆ forError()

    - -
    -
    - - - - - -
    - - - - - - - -
    static ZonedDateTime ace_time::ZonedDateTime::forError ()
    -
    -inlinestatic
    -
    - -

    Return an instance whose isError() returns true.

    - -

    Definition at line 128 of file ZonedDateTime.h.

    -
    @@ -594,252 +498,17 @@

    Factory method to create a ZonedDateTime using the number of seconds from Unix epoch.

    -

    Returns ZonedDateTime::forError() if unixSeconds is invalid.

    +

    Returns ZonedDateTime::forError() if unixSeconds is invalid.

    Parameters
    - +
    unixSecondsnumber of seconds since Unix epoch (1970-01-01T00:00:00Z)
    timeZonea TimeZone instance (use TimeZone() for UTC)
    timeZonea TimeZone instance (use TimeZone() for UTC)

    Definition at line 92 of file ZonedDateTime.h.

    - - - -

    ◆ hour() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZonedDateTime::hour () const
    -
    -inline
    -
    - -

    Return the hour.

    - -

    Definition at line 171 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ hour() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::ZonedDateTime::hour (uint8_t hour)
    -
    -inline
    -
    - -

    Set the hour.

    - -

    Definition at line 174 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ isError()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::ZonedDateTime::isError () const
    -
    -inline
    -
    - -

    Return true if any component indicates an error condition.

    - -

    Definition at line 136 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ localDateTime()

    - -
    -
    - - - - - -
    - - - - - - - -
    const LocalDateTime& ace_time::ZonedDateTime::localDateTime () const
    -
    -inline
    -
    - -

    Return the LocalDateTime of the components.

    - -

    Definition at line 207 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ minute() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZonedDateTime::minute () const
    -
    -inline
    -
    - -

    Return the minute.

    - -

    Definition at line 177 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ minute() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::ZonedDateTime::minute (uint8_t minute)
    -
    -inline
    -
    - -

    Set the minute.

    - -

    Definition at line 180 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ month() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZonedDateTime::month () const
    -
    -inline
    -
    - -

    Return the month with January=1, December=12.

    - -

    Definition at line 159 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ month() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::ZonedDateTime::month (uint8_t month)
    -
    -inline
    -
    - -

    Set the month.

    - -

    Definition at line 162 of file ZonedDateTime.h.

    -
    @@ -863,127 +532,10 @@

    Definition at line 15 of file ZonedDateTime.cpp.

    - - - -

    ◆ second() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    uint8_t ace_time::ZonedDateTime::second () const
    -
    -inline
    -
    - -

    Return the second.

    - -

    Definition at line 183 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ second() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::ZonedDateTime::second (uint8_t second)
    -
    -inline
    -
    - -

    Set the second.

    - -

    Definition at line 186 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ timeOffset()

    - -
    -
    - - - - - -
    - - - - - - - -
    TimeOffset ace_time::ZonedDateTime::timeOffset () const
    -
    -inline
    -
    - -

    Return the offset zone of the OffsetDateTime.

    - -

    Definition at line 195 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ timeZone() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    const TimeZone& ace_time::ZonedDateTime::timeZone () const
    -
    -inline
    -
    - -

    Return the time zone of the ZonedDateTime.

    - -

    Definition at line 198 of file ZonedDateTime.h.

    -
    -

    ◆ timeZone() [2/2]

    +

    ◆ timeZone()

    @@ -1007,7 +559,7 @@

    Set the time zone.

    -

    Note that this does not convert a given ZonedDateTime into a different TimeZone. Use converToTimeZone() instead.

    +

    Note that this does not convert a given ZonedDateTime into a different TimeZone. Use converToTimeZone() instead.

    Definition at line 204 of file ZonedDateTime.h.

    @@ -1041,35 +593,6 @@

    Definition at line 242 of file ZonedDateTime.h.

    -

    -
    - -

    ◆ toUnixDays()

    - -
    -
    - - - - - -
    - - - - - - - -
    acetime_t ace_time::ZonedDateTime::toUnixDays () const
    -
    -inline
    -
    - -

    Return the number of days since Unix epoch (1970-01-01 00:00:00).

    - -

    Definition at line 229 of file ZonedDateTime.h.

    -
    @@ -1101,65 +624,6 @@

    Definition at line 253 of file ZonedDateTime.h.

    - - - -

    ◆ year() [1/2]

    - -
    -
    - - - - - -
    - - - - - - - -
    int16_t ace_time::ZonedDateTime::year () const
    -
    -inline
    -
    - -

    Return the year.

    - -

    Definition at line 139 of file ZonedDateTime.h.

    - -
    -
    - -

    ◆ year() [2/2]

    - -
    -
    - - - - - -
    - - - - - - - - -
    void ace_time::ZonedDateTime::year (int16_t year)
    -
    -inline
    -
    - -

    Set the year given the full year.

    - -

    Definition at line 142 of file ZonedDateTime.h.

    -
    @@ -1266,15 +730,15 @@

    ZonedDateTime.h -
  • /home/brian/dev/AceTime/src/ace_time/ZonedDateTime.cpp
  • +
  • /home/brian/src/AceTime/src/ace_time/ZonedDateTime.h
  • +
  • /home/brian/src/AceTime/src/ace_time/ZonedDateTime.cpp
  • diff --git a/docs/html/classace__time_1_1basic_1_1ZoneEraBroker-members.html b/docs/html/classace__time_1_1basic_1_1ZoneEraBroker-members.html index ae1e22f20..3fbf88f35 100644 --- a/docs/html/classace__time_1_1basic_1_1ZoneEraBroker-members.html +++ b/docs/html/classace__time_1_1basic_1_1ZoneEraBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZoneEra. +

    Data broker for accessing ZoneEra. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZoneEraBroker (const ZoneEra *zoneEra) + ZoneEraBroker (const ZoneEra *zoneEra)    ZoneEraBroker (const ZoneEraBroker &)=default @@ -89,7 +92,7 @@ ZoneEraBrokeroperator= (const ZoneEraBroker &)=default   -const ZoneErazoneEra () const +const ZoneEra * zoneEra () const   bool isNull () const @@ -123,18 +126,18 @@  

    Detailed Description

    -

    Data broker for accessing ZoneEra.

    +

    Data broker for accessing ZoneEra.

    Definition at line 213 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1basic_1_1ZoneInfoBroker-members.html b/docs/html/classace__time_1_1basic_1_1ZoneInfoBroker-members.html index 438f7059c..0ee973763 100644 --- a/docs/html/classace__time_1_1basic_1_1ZoneInfoBroker-members.html +++ b/docs/html/classace__time_1_1basic_1_1ZoneInfoBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZoneInfo. +

    Data broker for accessing ZoneInfo. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZoneInfoBroker (const ZoneInfo *zoneInfo) + ZoneInfoBroker (const ZoneInfo *zoneInfo)    ZoneInfoBroker (const ZoneInfoBroker &)=default @@ -89,7 +92,7 @@ ZoneInfoBrokeroperator= (const ZoneInfoBroker &)=default   -const ZoneInfozoneInfo () const +const ZoneInfo * zoneInfo () const   const char * name () const @@ -111,18 +114,18 @@  

    Detailed Description

    -

    Data broker for accessing ZoneInfo.

    +

    Data broker for accessing ZoneInfo.

    Definition at line 306 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1basic_1_1ZonePolicyBroker-members.html b/docs/html/classace__time_1_1basic_1_1ZonePolicyBroker-members.html index 4d75eab61..333dccf4c 100644 --- a/docs/html/classace__time_1_1basic_1_1ZonePolicyBroker-members.html +++ b/docs/html/classace__time_1_1basic_1_1ZonePolicyBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZonePolicy. +

    Data broker for accessing ZonePolicy. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZonePolicyBroker (const ZonePolicy *zonePolicy) + ZonePolicyBroker (const ZonePolicy *zonePolicy)    ZonePolicyBroker (const ZonePolicyBroker &)=default @@ -105,18 +108,18 @@  

    Detailed Description

    -

    Data broker for accessing ZonePolicy.

    +

    Data broker for accessing ZonePolicy.

    Definition at line 154 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1basic_1_1ZoneRegistryBroker-members.html b/docs/html/classace__time_1_1basic_1_1ZoneRegistryBroker-members.html index b02956689..d86379a97 100644 --- a/docs/html/classace__time_1_1basic_1_1ZoneRegistryBroker-members.html +++ b/docs/html/classace__time_1_1basic_1_1ZoneRegistryBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    ZoneRegistryBroker (const ZoneInfo *const *zoneRegistry) + ZoneRegistryBroker (const ZoneInfo *const *zoneRegistry)    ZoneRegistryBroker (const ZoneRegistryBroker &)=default @@ -89,7 +92,7 @@ ZoneRegistryBrokeroperator= (const ZoneRegistryBroker &)=default   -const ZoneInfozoneInfo (uint16_t i) const +const ZoneInfo * zoneInfo (uint16_t i) const  

    Detailed Description

    @@ -98,14 +101,14 @@

    Definition at line 376 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1basic_1_1ZoneRuleBroker-members.html b/docs/html/classace__time_1_1basic_1_1ZoneRuleBroker-members.html index 0e7db3520..a6b5506bb 100644 --- a/docs/html/classace__time_1_1basic_1_1ZoneRuleBroker-members.html +++ b/docs/html/classace__time_1_1basic_1_1ZoneRuleBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZoneRule. +

    Data broker for accessing ZoneRule. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZoneRuleBroker (const ZoneRule *zoneRule) + ZoneRuleBroker (const ZoneRule *zoneRule)    ZoneRuleBroker (const ZoneRuleBroker &)=default @@ -120,18 +123,18 @@  

    Detailed Description

    -

    Data broker for accessing ZoneRule.

    +

    Data broker for accessing ZoneRule.

    Definition at line 66 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1clock_1_1Clock-members.html b/docs/html/classace__time_1_1clock_1_1Clock-members.html index 3b8d71ddc..6019c234f 100644 --- a/docs/html/classace__time_1_1clock_1_1Clock-members.html +++ b/docs/html/classace__time_1_1clock_1_1Clock-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    Inheritance graph
    - - - - - + + + + + +
    [legend]
    - + - + - - + + - - + + - + - +

    Public Member Functions

    virtual ~Clock ()
     Virtual destructor. More...
     Virtual destructor. More...
     
    virtual acetime_t getNow () const =0
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     
    virtual void sendRequest () const
     Send a time request asynchronously. More...
    +virtual void sendRequest () const
     Send a time request asynchronously.
     
    virtual bool isResponseReady () const
     Return true if a response is ready. More...
    +virtual bool isResponseReady () const
     Return true if a response is ready.
     
    virtual acetime_t readResponse () const
     Returns number of seconds since AceTime epoch (2000-01-01). More...
     Returns number of seconds since AceTime epoch (2000-01-01). More...
     
    virtual void setNow (acetime_t)
     Set the time to the indicated seconds. More...
     Set the time to the indicated seconds. More...
     
    @@ -31,18 +31,21 @@

    @@ -179,41 +185,10 @@

    sendRequest(), isResponseReady(), and readResponse()) instead.

    +

    This is a blocking call. Some clocks (e.g. NTP client) this may take many seconds. On those clocks, use the asynchronous methods (sendRequest(), isResponseReady(), and readResponse()) instead.

    Implemented in ace_time::clock::NtpClock, ace_time::clock::SystemClock, and ace_time::clock::DS3231Clock.

    - - - -

    ◆ isResponseReady()

    - -
    -
    - - - - - -
    - - - - - - - -
    virtual bool ace_time::clock::Clock::isResponseReady () const
    -
    -inlinevirtual
    -
    - -

    Return true if a response is ready.

    - -

    Reimplemented in ace_time::clock::NtpClock.

    - -

    Definition at line 41 of file Clock.h.

    -
    @@ -240,43 +215,12 @@

    Returns number of seconds since AceTime epoch (2000-01-01).

    -

    Return kInvalidSeconds if there is an error. Valid only if isResponseReady() returns true.

    +

    Return kInvalidSeconds if there is an error. Valid only if isResponseReady() returns true.

    Reimplemented in ace_time::clock::NtpClock.

    Definition at line 48 of file Clock.h.

    - - - -

    ◆ sendRequest()

    - -
    -
    - - - - - -
    - - - - - - - -
    virtual void ace_time::clock::Clock::sendRequest () const
    -
    -inlinevirtual
    -
    - -

    Send a time request asynchronously.

    - -

    Reimplemented in ace_time::clock::NtpClock.

    - -

    Definition at line 38 of file Clock.h.

    -
    @@ -313,14 +257,14 @@

    Clock.h +
  • /home/brian/src/AceTime/src/ace_time/clock/Clock.h
  • diff --git a/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.map b/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.map index 91c1d4bf0..70060c8f8 100644 --- a/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.map +++ b/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.map @@ -1,7 +1,8 @@ - - - - - + + + + + + diff --git a/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.md5 b/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.md5 index 125efd87c..64f3471ec 100644 --- a/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.md5 @@ -1 +1 @@ -079c95df1db425ade7b95f361aa488c6 \ No newline at end of file +89c9fd0ef2b413058cf3d7746a92c116 \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.png b/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.png index 32d52a124..60ab31b15 100644 Binary files a/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.png and b/docs/html/classace__time_1_1clock_1_1Clock__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock-members.html b/docs/html/classace__time_1_1clock_1_1DS3231Clock-members.html index 1aa9ad05d..61ba16ae0 100644 --- a/docs/html/classace__time_1_1clock_1_1DS3231Clock-members.html +++ b/docs/html/classace__time_1_1clock_1_1DS3231Clock-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@

    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */ - + +/* @license-end */
    -

    An implementation of Clock that uses a DS3231 RTC chip. +

    An implementation of Clock that uses a DS3231 RTC chip. More...

    #include <DS3231Clock.h>

    @@ -81,7 +84,8 @@
    Inheritance graph
    - + +
    [legend]
    @@ -89,7 +93,8 @@
    Collaboration graph
    - + +
    [legend]
    @@ -99,20 +104,22 @@ void  - + - + - - + + - - + + @@ -126,7 +133,7 @@
    setup ()
     
    acetime_t getNow () const override
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     
    void setNow (acetime_t epochSeconds) override
     Set the time to the indicated seconds. More...
     Set the time to the indicated seconds. More...
     
    - Public Member Functions inherited from ace_time::clock::Clock
    virtual ~Clock ()
     Virtual destructor. More...
     
    virtual void sendRequest () const
     Send a time request asynchronously. More...
    +virtual void sendRequest () const
     Send a time request asynchronously.
     
    virtual bool isResponseReady () const
     Return true if a response is ready. More...
    +virtual bool isResponseReady () const
     Return true if a response is ready.
     
    virtual acetime_t readResponse () const
     Returns number of seconds since AceTime epoch (2000-01-01). More...
     

    Detailed Description

    -

    An implementation of Clock that uses a DS3231 RTC chip.

    +

    An implementation of Clock that uses a DS3231 RTC chip.

    Definition at line 23 of file DS3231Clock.h.

    Member Function Documentation

    @@ -155,7 +162,7 @@

    sendRequest(), isResponseReady(), and readResponse()) instead.

    +

    This is a blocking call. Some clocks (e.g. NTP client) this may take many seconds. On those clocks, use the asynchronous methods (sendRequest(), isResponseReady(), and readResponse()) instead.

    Implements ace_time::clock::Clock.

    @@ -197,14 +204,14 @@

    DS3231Clock.h +
  • /home/brian/src/AceTime/src/ace_time/clock/DS3231Clock.h
  • diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.map b/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.map index 2110de3d2..ad12c773f 100644 --- a/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.map +++ b/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.md5 b/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.md5 index 528877bac..78aa29967 100644 --- a/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.md5 @@ -1 +1 @@ -6a548ef24024139f5758a2998ea5e7ef \ No newline at end of file +7260bcd75c2b1f7fad21adc5d2e8425d \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.png b/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.png index 8235ea1b6..4ce618681 100644 Binary files a/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.png and b/docs/html/classace__time_1_1clock_1_1DS3231Clock__coll__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.map b/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.map index 2110de3d2..ad12c773f 100644 --- a/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.map +++ b/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.md5 b/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.md5 index 3e00ce7e6..78aa29967 100644 --- a/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.md5 @@ -1 +1 @@ -6292e17099d78d10e0de48291e881ff2 \ No newline at end of file +7260bcd75c2b1f7fad21adc5d2e8425d \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.png b/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.png index 8235ea1b6..4ce618681 100644 Binary files a/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.png and b/docs/html/classace__time_1_1clock_1_1DS3231Clock__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock-members.html b/docs/html/classace__time_1_1clock_1_1NtpClock-members.html index 04bd2280b..fc7a59f50 100644 --- a/docs/html/classace__time_1_1clock_1_1NtpClock-members.html +++ b/docs/html/classace__time_1_1clock_1_1NtpClock-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    A Clock that retrieves the time from an NTP server. +

    A Clock that retrieves the time from an NTP server. More...

    #include <NtpClock.h>

    @@ -82,7 +85,8 @@
    Inheritance graph
    - + +
    [legend]
    @@ -90,17 +94,18 @@
    Collaboration graph
    - + +
    [legend]
    - + - + @@ -109,16 +114,18 @@ bool  - + - - + + - - + + - + @@ -134,11 +141,13 @@ static const char  - - + + - - + +

    Public Member Functions

     NtpClock (const char *server=kNtpServerName, uint16_t localPort=kLocalPort, uint16_t requestTimeout=kRequestTimeout)
     Constructor. More...
     Constructor. More...
     
    void setup (const char *ssid=nullptr, const char *password=nullptr, uint16_t connectTimeoutMillis=kConnectTimeoutMillis)
     Set up the WiFi connection using the given ssid and password, and prepare the UDP connection. More...
     Set up the WiFi connection using the given ssid and password, and prepare the UDP connection. More...
     
    const char * getServer () const
    isSetup () const
     
    acetime_t getNow () const override
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     
    void sendRequest () const override
     Send a time request asynchronously. More...
    +void sendRequest () const override
     Send a time request asynchronously.
     
    bool isResponseReady () const override
     Return true if a response is ready. More...
    +bool isResponseReady () const override
     Return true if a response is ready.
     
    acetime_t readResponse () const override
     Returns number of seconds since AceTime epoch (2000-01-01). More...
     Returns number of seconds since AceTime epoch (2000-01-01). More...
     
    - Public Member Functions inherited from ace_time::clock::Clock
    virtual ~Clock ()
    kNtpServerName [] = "us.pool.ntp.org"
     Default NTP Server.
     
    static const uint16_t kLocalPort = 8888
     Default port used for UDP packets. More...
    +static const uint16_t kLocalPort = 8888
     Default port used for UDP packets.
     
    static const uint16_t kRequestTimeout = 1000
     Request time out milliseconds. More...
    +static const uint16_t kRequestTimeout = 1000
     Request time out milliseconds.
     
    - Static Public Attributes inherited from ace_time::clock::Clock
    @@ -146,7 +155,7 @@
     

    Detailed Description

    -

    A Clock that retrieves the time from an NTP server.

    +

    A Clock that retrieves the time from an NTP server.

    This class has the deficiency that the DNS name resolver WiFi.hostByName() is a blocking call. So every now and then, it can take 5-6 seconds for the call to return, blocking everything (e.g. display refresh, button clicks) until it times out.

    TODO: Create a version that uses a non-blocking DNS look up.

    Borrowed from https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/NTPClient/NTPClient.ino and https://github.com/PaulStoffregen/Time/blob/master/examples/TimeNTP/TimeNTP.ino

    @@ -197,7 +206,7 @@

    Parameters
    - +
    servername of the NTP server (default us.pool.ntp.org)
    localPortused by the UDP client (default 8888) requestTimeout milliseconds for a request timeout (default 1000)
    localPortused by the UDP client (default 8888) @paran requestTimeout milliseconds for a request timeout (default 1000)
    @@ -232,43 +241,12 @@

    sendRequest(), isResponseReady(), and readResponse()) instead.

    +

    This is a blocking call. Some clocks (e.g. NTP client) this may take many seconds. On those clocks, use the asynchronous methods (sendRequest(), isResponseReady(), and readResponse()) instead.

    Implements ace_time::clock::Clock.

    Definition at line 110 of file NtpClock.h.

    -

    -
    - -

    ◆ isResponseReady()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::clock::NtpClock::isResponseReady () const
    -
    -inlineoverridevirtual
    -
    - -

    Return true if a response is ready.

    - -

    Reimplemented from ace_time::clock::Clock.

    - -

    Definition at line 142 of file NtpClock.h.

    -
    @@ -295,43 +273,12 @@

    Returns number of seconds since AceTime epoch (2000-01-01).

    -

    Return kInvalidSeconds if there is an error. Valid only if isResponseReady() returns true.

    +

    Return kInvalidSeconds if there is an error. Valid only if isResponseReady() returns true.

    Reimplemented from ace_time::clock::Clock.

    Definition at line 147 of file NtpClock.h.

    -

    -
    - -

    ◆ sendRequest()

    - -
    -
    - - - - - -
    - - - - - - - -
    void ace_time::clock::NtpClock::sendRequest () const
    -
    -inlineoverridevirtual
    -
    - -

    Send a time request asynchronously.

    - -

    Reimplemented from ace_time::clock::Clock.

    - -

    Definition at line 124 of file NtpClock.h.

    -
    @@ -387,71 +334,18 @@

    Definition at line 78 of file NtpClock.h.

    -

    -
    -

    Member Data Documentation

    - -

    ◆ kLocalPort

    - -
    -
    - - - - - -
    - - - - -
    const uint16_t ace_time::clock::NtpClock::kLocalPort = 8888
    -
    -static
    -
    - -

    Default port used for UDP packets.

    - -

    Definition at line 49 of file NtpClock.h.

    - -
    -
    - -

    ◆ kRequestTimeout

    - -
    -
    - - - - - -
    - - - - -
    const uint16_t ace_time::clock::NtpClock::kRequestTimeout = 1000
    -
    -static
    -
    - -

    Request time out milliseconds.

    - -

    Definition at line 52 of file NtpClock.h.

    -

    The documentation for this class was generated from the following files:
      -
    • /home/brian/dev/AceTime/src/ace_time/clock/NtpClock.h
    • -
    • /home/brian/dev/AceTime/src/ace_time/clock/NtpClock.cpp
    • +
    • /home/brian/src/AceTime/src/ace_time/clock/NtpClock.h
    • +
    • /home/brian/src/AceTime/src/ace_time/clock/NtpClock.cpp
    diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.map b/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.map index 761e32908..eb63f45a5 100644 --- a/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.map +++ b/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.md5 b/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.md5 index 97450e45d..98510c3fe 100644 --- a/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.md5 @@ -1 +1 @@ -fb74845f25a286525238779e2f732cb8 \ No newline at end of file +c5f6a395d36e97c620eeb385e087f07f \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.png b/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.png index d605559f9..4449330d7 100644 Binary files a/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.png and b/docs/html/classace__time_1_1clock_1_1NtpClock__coll__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.map b/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.map index 761e32908..eb63f45a5 100644 --- a/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.map +++ b/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.md5 b/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.md5 index 35bca16d0..98510c3fe 100644 --- a/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.md5 @@ -1 +1 @@ -5d921c5ccc0f483add09774b73efafd2 \ No newline at end of file +c5f6a395d36e97c620eeb385e087f07f \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.png b/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.png index d605559f9..4449330d7 100644 Binary files a/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.png and b/docs/html/classace__time_1_1clock_1_1NtpClock__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock-members.html b/docs/html/classace__time_1_1clock_1_1SystemClock-members.html index 0fba7cf24..1d8eca8f2 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClock-members.html +++ b/docs/html/classace__time_1_1clock_1_1SystemClock-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    A Clock that uses the Arduino millis() function to advance the time returned to the user. +

    A Clock that uses the Arduino millis() function to advance the time returned to the user. More...

    #include <SystemClock.h>

    @@ -84,9 +87,10 @@
    Inheritance graph
    - - - + + + +
    [legend]
    @@ -94,39 +98,45 @@
    Collaboration graph
    - + +
    [legend]
    - - + + - + - + - - + + - + - - + + - - + + - - + + @@ -141,21 +151,21 @@ SystemClock &  - + - + - + - +

    Public Member Functions

    void setup ()
     Attempt to retrieve the time from the backupClock if it exists. More...
    +void setup ()
     Attempt to retrieve the time from the backupClock if it exists.
     
    acetime_t getNow () const override
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
     
    void setNow (acetime_t epochSeconds) override
     Set the time to the indicated seconds. More...
     Set the time to the indicated seconds. More...
     
    void forceSync ()
     Force a sync with the mReferenceClock. More...
    +void forceSync ()
     Force a sync with the mReferenceClock.
     
    acetime_t getLastSyncTime () const
     Return the time (seconds since Epoch) of the last valid sync() call. More...
     Return the time (seconds since Epoch) of the last valid sync() call. More...
     
    bool isInit () const
     Return true if initialized by setNow() or syncNow(). More...
    +bool isInit () const
     Return true if initialized by setNow() or syncNow().
     
    - Public Member Functions inherited from ace_time::clock::Clock
    virtual ~Clock ()
     Virtual destructor. More...
     
    virtual void sendRequest () const
     Send a time request asynchronously. More...
    +virtual void sendRequest () const
     Send a time request asynchronously.
     
    virtual bool isResponseReady () const
     Return true if a response is ready. More...
    +virtual bool isResponseReady () const
     Return true if a response is ready.
     
    virtual acetime_t readResponse () const
     Returns number of seconds since AceTime epoch (2000-01-01). More...
    operator= (const SystemClock &)=delete
     
     SystemClock (Clock *referenceClock, Clock *backupClock)
     Constructor. More...
     Constructor. More...
     
    virtual unsigned long clockMillis () const
     Return the Arduino millis(). More...
     Return the Arduino millis(). More...
     
    void keepAlive ()
     Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with millis().
     Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with millis().
     
    void backupNow (acetime_t nowSeconds)
     Write the nowSeconds to the backupClock (which can be an RTC that has non-volatile memory, or simply flash memory which emulates a backupClock.
     
    void syncNow (acetime_t epochSeconds)
     Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock. More...
     Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock. More...
     

    @@ -199,13 +209,13 @@

     

    Detailed Description

    -

    A Clock that uses the Arduino millis() function to advance the time returned to the user.

    +

    A Clock that uses the Arduino millis() function to advance the time returned to the user.

    It has 2 major features:

    -

    1) The built-in millis() is not accurate, so this class allows a periodic sync using the (presumably) more accurate referenceClock. 2) The current time can be periodically backed up into the backupClock which is expected to be an RTC chip that continues to keep time during power loss. Upon (re)start, SystemClock::setup() reads back the time from the backupClock if it exists.

    +

    1) The built-in millis() is not accurate, so this class allows a periodic sync using the (presumably) more accurate referenceClock. 2) The current time can be periodically backed up into the backupClock which is expected to be an RTC chip that continues to keep time during power loss. Upon (re)start, SystemClock::setup() reads back the time from the backupClock if it exists.

    There are 2 maintenance tasks which this class must perform peridicallly:

    -

    1) The value of the previous system time millis() is stored internally as a uint16_t. That has 2 advantages: 1) it saves memory, 2) the upper bound of the execution time of getNow() limited to 65 iterations. The disadvantage is the that internal counter will rollover within 65.535 milliseconds. To prevent that, keepAlive() must be called more frequently than every 65.536 seconds. 2) The current time can be synchronized to the referenceClock peridically. Some reference clocks can take hundreds or thousands of milliseconds to return, so it's important that the non-block methods of Clock are used to synchronize to the reference clock.

    -

    Two subclasses of SystemClock expose 2 different ways of performing these maintenance tasks.

    -

    1) Call SystemClockCoroutine::runCoroutine using the framework of the AceRoutine library in the global loop() function. 2) Call the SystemClockLoop::loop() method from the global loop() function.

    +

    1) The value of the previous system time millis() is stored internally as a uint16_t. That has 2 advantages: 1) it saves memory, 2) the upper bound of the execution time of getNow() limited to 65 iterations. The disadvantage is the that internal counter will rollover within 65.535 milliseconds. To prevent that, keepAlive() must be called more frequently than every 65.536 seconds. 2) The current time can be synchronized to the referenceClock peridically. Some reference clocks can take hundreds or thousands of milliseconds to return, so it's important that the non-block methods of Clock are used to synchronize to the reference clock.

    +

    Two subclasses of SystemClock expose 2 different ways of performing these maintenance tasks.

    +

    1) Call SystemClockCoroutine::runCoroutine using the framework of the AceRoutine library in the global loop() function. 2) Call the SystemClockLoop::loop() method from the global loop() function.

    Definition at line 53 of file SystemClock.h.

    Constructor & Destructor Documentation

    @@ -246,7 +256,7 @@

    Parameters
    - +
    referenceClockThe authoritative source of the time. If this is null, object relies just on clockMillis() and the user to set the proper time using setNow().
    referenceClockThe authoritative source of the time. If this is null, object relies just on clockMillis() and the user to set the proper time using setNow().
    backupClockAn RTC chip which continues to keep time even when power is lost. Can be null.
    @@ -281,39 +291,10 @@

    Return the Arduino millis().

    -

    Override for unit testing. Named 'clockMillis()' to avoid conflict with Coroutine::millis().

    +

    Override for unit testing. Named 'clockMillis()' to avoid conflict with Coroutine::millis().

    Definition at line 126 of file SystemClock.h.

    -

    -
    - -

    ◆ forceSync()

    - -
    -
    - - - - - -
    - - - - - - - -
    void ace_time::clock::SystemClock::forceSync ()
    -
    -inline
    -
    - -

    Force a sync with the mReferenceClock.

    - -

    Definition at line 83 of file SystemClock.h.

    -
    @@ -371,41 +352,12 @@

    sendRequest(), isResponseReady(), and readResponse()) instead.

    +

    This is a blocking call. Some clocks (e.g. NTP client) this may take many seconds. On those clocks, use the asynchronous methods (sendRequest(), isResponseReady(), and readResponse()) instead.

    Implements ace_time::clock::Clock.

    Definition at line 63 of file SystemClock.h.

    -

    -
    - -

    ◆ isInit()

    - -
    -
    - - - - - -
    - - - - - - - -
    bool ace_time::clock::SystemClock::isInit () const
    -
    -inline
    -
    - -

    Return true if initialized by setNow() or syncNow().

    - -

    Definition at line 97 of file SystemClock.h.

    -
    @@ -439,35 +391,6 @@

    Definition at line 73 of file SystemClock.h.

    - - - -

    ◆ setup()

    - -
    -
    - - - - - -
    - - - - - - - -
    void ace_time::clock::SystemClock::setup ()
    -
    -inline
    -
    - -

    Attempt to retrieve the time from the backupClock if it exists.

    - -

    Definition at line 57 of file SystemClock.h.

    -
    @@ -494,7 +417,7 @@

    -

    Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock.

    +

    Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock.

    This prevents us from retrieving the time from the RTC, then saving it right back again, with a drift each time it is saved back.

    TODO: Implement a more graceful syncNow() algorithm which shifts only a few milliseconds per iteration, and which guarantees that the clock never goes backwards in time.

    @@ -503,14 +426,14 @@

    SystemClock.h +
  • /home/brian/src/AceTime/src/ace_time/clock/SystemClock.h
  • diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine-members.html b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine-members.html index 05b5f16e4..943bf81a6 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine-members.html +++ b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
    -

    A version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called. +

    A version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called. More...

    #include <SystemClockCoroutine.h>

    @@ -83,8 +86,10 @@
    Inheritance graph
    - - + + + +
    [legend]
    @@ -92,24 +97,27 @@
    Collaboration graph
    - - + + + +
    [legend]
    - + - + - - + + @@ -117,24 +125,28 @@ - - + + - - + + - - + + - - + + @@ -143,16 +155,18 @@ - + - + - - + + - - + + - + - +

    Public Member Functions

     SystemClockCoroutine (Clock *referenceClock, Clock *backupClock, uint16_t syncPeriodSeconds=3600, uint16_t initialSyncPeriodSeconds=5, uint16_t requestTimeoutMillis=1000, common::TimingStats *timingStats=nullptr)
     Constructor. More...
     Constructor. More...
     
    int runCoroutine () override
     
    uint8_t getRequestStatus () const
     Return the current request status. More...
     Return the current request status. More...
     
    - Public Member Functions inherited from ace_time::clock::SystemClock
    void setup ()
     Attempt to retrieve the time from the backupClock if it exists. More...
    +void setup ()
     Attempt to retrieve the time from the backupClock if it exists.
     
    acetime_t getNow () const override
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
    void setNow (acetime_t epochSeconds) override
     Set the time to the indicated seconds. More...
     
    void forceSync ()
     Force a sync with the mReferenceClock. More...
    +void forceSync ()
     Force a sync with the mReferenceClock.
     
    acetime_t getLastSyncTime () const
     Return the time (seconds since Epoch) of the last valid sync() call. More...
     
    bool isInit () const
     Return true if initialized by setNow() or syncNow(). More...
    +bool isInit () const
     Return true if initialized by setNow() or syncNow().
     
    - Public Member Functions inherited from ace_time::clock::Clock
    virtual ~Clock ()
     Virtual destructor. More...
     
    virtual void sendRequest () const
     Send a time request asynchronously. More...
    +virtual void sendRequest () const
     Send a time request asynchronously.
     
    virtual bool isResponseReady () const
     Return true if a response is ready. More...
    +virtual bool isResponseReady () const
     Return true if a response is ready.
     
    virtual acetime_t readResponse () const
     Returns number of seconds since AceTime epoch (2000-01-01). More...

    Static Public Attributes

    static const uint8_t kStatusUnknown = 0
     Request state unknown. More...
     Request state unknown. More...
     
    static const uint8_t kStatusSent = 1
     Request has been sent and waiting for response. More...
     Request has been sent and waiting for response. More...
     
    static const uint8_t kStatusOk = 2
     Request received and valid. More...
    +static const uint8_t kStatusOk = 2
     Request received and valid.
     
    static const uint8_t kStatusTimedOut = 3
     Request timed out. More...
    +static const uint8_t kStatusTimedOut = 3
     Request timed out.
     
    - Static Public Attributes inherited from ace_time::clock::Clock
    @@ -182,14 +196,14 @@
     
    void keepAlive ()
     Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with millis().
     Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with millis().
     
    void backupNow (acetime_t nowSeconds)
     Write the nowSeconds to the backupClock (which can be an RTC that has non-volatile memory, or simply flash memory which emulates a backupClock.
     
    void syncNow (acetime_t epochSeconds)
     Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock. More...
     Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock. More...
     
    - Protected Attributes inherited from ace_time::clock::SystemClock
    @@ -212,7 +226,7 @@
     

    Detailed Description

    -

    A version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called.

    +

    A version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called.

    This is helpful when the referenceClock issues a network request to an NTP server.

    Initially, the class attempts to sync with its referenceClock every initialSyncPeriodSeconds. If the request fails, then it retries with an exponential backoff (doubling the delay every iteration), until the sync period becomes greater than syncPeriodSeconds, then the delay is set permanently to syncPeriodSeconds.

    @@ -279,7 +293,7 @@

    Parameters
    - + @@ -348,39 +362,13 @@

    -

    The CoroutineScheduler will use this method if enabled. Don't forget to call setupCoroutine() (inherited from Coroutine) in the global setup() to register this coroutine into the CoroutineScheduler.

    +

    The CoroutineScheduler will use this method if enabled. Don't forget to call setupCoroutine() (inherited from Coroutine) in the global setup() to register this coroutine into the CoroutineScheduler.

    Definition at line 83 of file SystemClockCoroutine.h.

    Member Data Documentation

    - -

    ◆ kStatusOk

    - -
    -
    -

    referenceClockThe authoritative source of the time. If this is null, the object relies just on clockMillis() and the user to set the proper time using setNow().
    referenceClockThe authoritative source of the time. If this is null, the object relies just on clockMillis() and the user to set the proper time using setNow().
    backupClockAn RTC chip which continues to keep time even when power is lost. Can be null.
    syncPeriodSecondsseconds between normal sync attempts (default 3600)
    initialSyncPeriodSecondsseconds between sync attempts when the systemClock is not initialized (default 5)
    - - - - -
    - - - - -
    const uint8_t ace_time::clock::SystemClockCoroutine::kStatusOk = 2
    -
    -static
    -

    - -

    Request received and valid.

    - -

    Definition at line 42 of file SystemClockCoroutine.h.

    - -
    -

    ◆ kStatusSent

    @@ -406,32 +394,6 @@

    Definition at line 39 of file SystemClockCoroutine.h.

    -

    -
    - -

    ◆ kStatusTimedOut

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::clock::SystemClockCoroutine::kStatusTimedOut = 3
    -
    -static
    -
    - -

    Request timed out.

    - -

    Definition at line 45 of file SystemClockCoroutine.h.

    -
    @@ -462,14 +424,14 @@

    SystemClockCoroutine.h +
  • /home/brian/src/AceTime/src/ace_time/clock/SystemClockCoroutine.h
  • diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.map b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.map index 9d6dde9d4..8afe1fc74 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.map +++ b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.map @@ -1,4 +1,6 @@ - - + + + + diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.md5 b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.md5 index 052632214..59cdd49d6 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.md5 @@ -1 +1 @@ -0e9a79932ed47e5f23f45bb59de12d5c \ No newline at end of file +ebc8765fa9d44487e53361b9ad29a2d5 \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.png b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.png index 21808389c..14cea9b16 100644 Binary files a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.png and b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__coll__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.map b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.map index d02e87591..975257af3 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.map +++ b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.map @@ -1,4 +1,6 @@ - - + + + + diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.md5 b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.md5 index 3b128ed4c..dfcd8a67c 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.md5 @@ -1 +1 @@ -2d772850d656df3c93d556a33349f46b \ No newline at end of file +d210e9e1c4270795bd9f294ba9238a83 \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.png b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.png index 19872b94f..64a632fff 100644 Binary files a/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.png and b/docs/html/classace__time_1_1clock_1_1SystemClockCoroutine__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop-members.html b/docs/html/classace__time_1_1clock_1_1SystemClockLoop-members.html index b587b5953..162fb3be1 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockLoop-members.html +++ b/docs/html/classace__time_1_1clock_1_1SystemClockLoop-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
    -

    A subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call. +

    A subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call. More...

    #include <SystemClockLoop.h>

    @@ -83,8 +86,9 @@
    Inheritance graph
    - - + + +
    [legend]
    @@ -92,22 +96,24 @@
    Collaboration graph
    - - + + +
    [legend]
    - + - + - - + + @@ -115,24 +121,28 @@ - - + + - - + + - - + + - - + + @@ -140,17 +150,21 @@

    Public Member Functions

     SystemClockLoop (Clock *referenceClock, Clock *backupClock, uint16_t syncPeriodSeconds=3600, uint16_t initialSyncPeriodSeconds=5, uint16_t requestTimeoutMillis=1000, common::TimingStats *timingStats=nullptr)
     Constructor. More...
     Constructor. More...
     
    void loop ()
     Call this from the global loop() method. More...
     Call this from the global loop() method. More...
     
    - Public Member Functions inherited from ace_time::clock::SystemClock
    void setup ()
     Attempt to retrieve the time from the backupClock if it exists. More...
    +void setup ()
     Attempt to retrieve the time from the backupClock if it exists.
     
    acetime_t getNow () const override
     Return the number of seconds since the AceTime epoch (2000-01-01T00:00:00Z). More...
    void setNow (acetime_t epochSeconds) override
     Set the time to the indicated seconds. More...
     
    void forceSync ()
     Force a sync with the mReferenceClock. More...
    +void forceSync ()
     Force a sync with the mReferenceClock.
     
    acetime_t getLastSyncTime () const
     Return the time (seconds since Epoch) of the last valid sync() call. More...
     
    bool isInit () const
     Return true if initialized by setNow() or syncNow(). More...
    +bool isInit () const
     Return true if initialized by setNow() or syncNow().
     
    - Public Member Functions inherited from ace_time::clock::Clock
    virtual ~Clock ()
     Virtual destructor. More...
     
    virtual void sendRequest () const
     Send a time request asynchronously. More...
    +virtual void sendRequest () const
     Send a time request asynchronously.
     
    virtual bool isResponseReady () const
     Return true if a response is ready. More...
    +virtual bool isResponseReady () const
     Return true if a response is ready.
     
    virtual acetime_t readResponse () const
     Returns number of seconds since AceTime epoch (2000-01-01). More...
    - - + + - - + + - - + + - - + + - + - +

    Static Public Attributes

    static const uint8_t kStatusReady = 0
     Ready to send request. More...
    +static const uint8_t kStatusReady = 0
     Ready to send request.
     
    static const uint8_t kStatusSent = 1
     Request sent, waiting for response. More...
    +static const uint8_t kStatusSent = 1
     Request sent, waiting for response.
     
    static const uint8_t kStatusOk = 2
     Request received and is valid. More...
    +static const uint8_t kStatusOk = 2
     Request received and is valid.
     
    static const uint8_t kStatusWaitForRetry = 3
     Request received but is invalid, so retry with exponential backoff. More...
    +static const uint8_t kStatusWaitForRetry = 3
     Request received but is invalid, so retry with exponential backoff.
     
    - Static Public Attributes inherited from ace_time::clock::Clock
    @@ -180,14 +194,14 @@
     
    void keepAlive ()
     Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with millis().
     Call this (or getNow() every 65.535 seconds or faster to keep the internal counter in sync with millis().
     
    void backupNow (acetime_t nowSeconds)
     Write the nowSeconds to the backupClock (which can be an RTC that has non-volatile memory, or simply flash memory which emulates a backupClock.
     
    void syncNow (acetime_t epochSeconds)
     Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock. More...
     Similar to setNow() except that backupNow() is called only if the backupClock is different from the referenceClock. More...
     
    - Protected Attributes inherited from ace_time::clock::SystemClock
    @@ -210,8 +224,8 @@
     

    Detailed Description

    -

    A subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call.

    -

    The blocking call can be a problem for clocks like NtpClock which makes a network request. If this is a problem, use SystemClockCoroutine instead.

    +

    A subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call.

    +

    The blocking call can be a problem for clocks like NtpClock which makes a network request. If this is a problem, use SystemClockCoroutine instead.

    Initial syncing occurs at initialSyncPeriodSeconds interval, until the first successful sync, then subsequent syncing occurs at syncPeriodSeconds interval. Initial syncing implements an exponential backoff when the sync request fails, increasing from initialSyncPeriodSeconds to until a maximum of syncPeriodSeconds.

    Definition at line 29 of file SystemClockLoop.h.

    @@ -277,7 +291,7 @@

    Parameters
    - + @@ -314,127 +328,22 @@

    -

    Call this from the global loop() method.

    +

    Call this from the global loop() method.

    This uses a blocking call to the mReferenceClock.

    Definition at line 75 of file SystemClockLoop.h.

    - - -

    Member Data Documentation

    - -

    ◆ kStatusOk

    - -
    -
    -

    referenceClockThe authoritative source of the time. If this is null, the object relies just on clockMillis() and the user to set the proper time using setNow().
    referenceClockThe authoritative source of the time. If this is null, the object relies just on clockMillis() and the user to set the proper time using setNow().
    backupClockAn RTC chip which continues to keep time even when power is lost. Can be null.
    syncPeriodSecondsseconds between normal sync attempts (default 3600)
    initialSyncPeriodSecondsseconds between sync attempts when the systemClock is not initialized (default 5), exponentially increasing (2X) at each attempt until syncPeriodSeconds is reached
    - - - - -
    - - - - -
    const uint8_t ace_time::clock::SystemClockLoop::kStatusOk = 2
    -
    -static
    -

    - -

    Request received and is valid.

    - -

    Definition at line 38 of file SystemClockLoop.h.

    - -
    -
    - -

    ◆ kStatusReady

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::clock::SystemClockLoop::kStatusReady = 0
    -
    -static
    -
    - -

    Ready to send request.

    - -

    Definition at line 32 of file SystemClockLoop.h.

    - -
    -
    - -

    ◆ kStatusSent

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::clock::SystemClockLoop::kStatusSent = 1
    -
    -static
    -
    - -

    Request sent, waiting for response.

    - -

    Definition at line 35 of file SystemClockLoop.h.

    - -
    -
    - -

    ◆ kStatusWaitForRetry

    - -
    -
    - - - - - -
    - - - - -
    const uint8_t ace_time::clock::SystemClockLoop::kStatusWaitForRetry = 3
    -
    -static
    -
    - -

    Request received but is invalid, so retry with exponential backoff.

    - -

    Definition at line 41 of file SystemClockLoop.h.

    -

    The documentation for this class was generated from the following file:
    diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.map b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.map index 3ec6428c9..75821f643 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.map +++ b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.md5 b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.md5 index 8d09ed8cb..5538450b3 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.md5 @@ -1 +1 @@ -69f44294baa93f82994e4dbb2ba53ca7 \ No newline at end of file +cd8d3d11c89c0597b3e7a859f1eff19c \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.png b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.png index 8ecac257e..d830ca924 100644 Binary files a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.png and b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__coll__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.map b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.map index b5a797a1d..dae486175 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.map +++ b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.md5 b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.md5 index ae402d4d9..e13a1cff5 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.md5 @@ -1 +1 @@ -16d87bbf1f18684765f1d4365a844fbf \ No newline at end of file +e1d0ec3f8ac262b27b1d48a98d7501fa \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.png b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.png index 691dc41b2..9f4d1d9dd 100644 Binary files a/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.png and b/docs/html/classace__time_1_1clock_1_1SystemClockLoop__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.map b/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.map index a2d04b931..94392b7ec 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.map +++ b/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.md5 b/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.md5 index 4077588bd..48489fec3 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.md5 @@ -1 +1 @@ -8c6eb94f36f93f9e46890a57f6970d63 \ No newline at end of file +767ea170d200207a6d7997d1b97795fa \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.png b/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.png index 7430bc4c8..89d49587f 100644 Binary files a/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.png and b/docs/html/classace__time_1_1clock_1_1SystemClock__coll__graph.png differ diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.map b/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.map index 6c09525b8..a0f7b01c4 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.map +++ b/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.map @@ -1,5 +1,6 @@ - - - + + + + diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.md5 b/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.md5 index ea5a96166..7d032de61 100644 --- a/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.md5 +++ b/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.md5 @@ -1 +1 @@ -db69b95f70ac262c5b869cd0eff05c51 \ No newline at end of file +763d7a1cd14aaa8580a83e3e26a8b3d0 \ No newline at end of file diff --git a/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.png b/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.png index bbe0a0d0e..c1c0925dc 100644 Binary files a/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.png and b/docs/html/classace__time_1_1clock_1_1SystemClock__inherit__graph.png differ diff --git a/docs/html/classace__time_1_1common_1_1TimingStats-members.html b/docs/html/classace__time_1_1common_1_1TimingStats-members.html index a9c2b75bf..5b02b1083 100644 --- a/docs/html/classace__time_1_1common_1_1TimingStats-members.html +++ b/docs/html/classace__time_1_1common_1_1TimingStats-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

     TimingStats () - Constructor. More...
    + Constructor. More...
      void reset () @@ -94,14 +97,16 @@ uint16_t getAvg () const   -uint16_t getExpDecayAvg () const - An exponential decay average. More...
    + +uint16_t getExpDecayAvg () const + An exponential decay average.
      -uint16_t getCount () const - Number of times update() was called since last reset. More...
    + +uint16_t getCount () const + Number of times update() was called since last reset.
      uint16_t getCounter () const - Number of times update() was called from the beginning of time. More...
    + Number of times update() was called from the beginning of time. More...
      void update (uint16_t duration) @@ -143,35 +148,6 @@

    Member Function Documentation

    - -

    ◆ getCount()

    - -
    -
    - - - - - -
    - - - - - - - -
    uint16_t ace_time::common::TimingStats::getCount () const
    -
    -inline
    -
    - -

    Number of times update() was called since last reset.

    - -

    Definition at line 44 of file TimingStats.h.

    - -
    -

    ◆ getCounter()

    @@ -200,46 +176,17 @@

    Definition at line 51 of file TimingStats.h.

    -

    -
    - -

    ◆ getExpDecayAvg()

    - -
    -
    - - - - - -
    - - - - - - - -
    uint16_t ace_time::common::TimingStats::getExpDecayAvg () const
    -
    -inline
    -
    - -

    An exponential decay average.

    - -

    Definition at line 41 of file TimingStats.h.

    -

    The documentation for this class was generated from the following file: diff --git a/docs/html/classace__time_1_1extended_1_1TransitionStorage-members.html b/docs/html/classace__time_1_1extended_1_1TransitionStorage-members.html index 3724363bd..f2cf0c1fc 100644 --- a/docs/html/classace__time_1_1extended_1_1TransitionStorage-members.html +++ b/docs/html/classace__time_1_1extended_1_1TransitionStorage-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    TransitionStorage () - Constructor. More...
    +TransitionStorage () + Constructor.
      -void init () - Initialize all pools. More...
    + +void init () + Initialize all pools.
      -TransitiongetPrior () - Return the current prior transition. More...
    + +TransitiongetPrior () + Return the current prior transition.
      -void swap (Transition **a, Transition **b) - Swap 2 transitions. More...
    + +void swap (Transition **a, Transition **b) + Swap 2 transitions.
      void resetCandidatePool () - Empty the Candidate pool by resetting the various indexes. More...
    + Empty the Candidate pool by resetting the various indexes. More...
      Transition ** getCandidatePoolBegin () @@ -108,41 +115,42 @@ Transition ** getActivePoolEnd ()   TransitiongetFreeAgent () - Return a pointer to the first Transition in the free pool. More...
    + Return a pointer to the first Transition in the free pool. More...
      void addFreeAgentToActivePool () - Immediately add the free agent Transition at index mIndexFree to the Active pool. More...
    + Immediately add the free agent Transition at index mIndexFree to the Active pool. More...
      Transition ** reservePrior () - Allocate one Transition just after the Active pool, but before the Candidate pool, to keep the most recent prior Transition. More...
    + Allocate one Transition just after the Active pool, but before the Candidate pool, to keep the most recent prior Transition. More...
      -void setFreeAgentAsPrior () - Swap the Free agrent transition with the current Prior transition. More...
    + +void setFreeAgentAsPrior () + Swap the Free agrent transition with the current Prior transition.
      void addPriorToCandidatePool () - Add the current prior into the Candidates pool. More...
    + Add the current prior into the Candidates pool. More...
      void addFreeAgentToCandidatePool () - Add the free agent Transition at index mIndexFree to the Candidate pool, sorted by transitionTime. More...
    + Add the free agent Transition at index mIndexFree to the Candidate pool, sorted by transitionTime. More...
      void addActiveCandidatesToActivePool ()  Add active candidates into the Active pool, and collapse the Candidate pool.
      const TransitionfindTransition (acetime_t epochSeconds) const - Return the Transition matching the given epochSeconds. More...
    + Return the Transition matching the given epochSeconds. More...
      const TransitionfindTransitionForDateTime (const LocalDateTime &ldt) const - Return the Transition matching the given dateTime. More...
    + Return the Transition matching the given dateTime. More...
      void log () const - Verify that the indexes are valid. More...
    + Verify that the indexes are valid. More...
      void resetHighWater () - Reset the high water mark. More...
    + Reset the high water mark. More...
      uint8_t getHighWater () const - Return the high water mark. More...
    + Return the high water mark. More...
      @@ -31,18 +31,21 @@

    @@ -181,45 +189,13 @@

    A heap manager which is specialized and tuned to manage a collection of Transitions, keeping track of unused, used, and active states, using a fixed array of Transitions.

    Its main purpose is to provide some illusion of dynamic memory allocation without actually performing any dynamic memory allocation.

    -

    We create a fixed sized array for the total pool, determined by the template parameter SIZE, then manage the various sub-pools of Transition objects. The allocation of the various sub-pools is intricately tied to the precise pattern of creation and release of the various Transition objects within the ExtendedZoneProcessor class.

    +

    We create a fixed sized array for the total pool, determined by the template parameter SIZE, then manage the various sub-pools of Transition objects. The allocation of the various sub-pools is intricately tied to the precise pattern of creation and release of the various Transition objects within the ExtendedZoneProcessor class.

    There are 4 pools indicated by the following half-open (exclusive) index ranges:

    1) Active pool: [0, mIndexPrior) 2) Prior pool: [mIndexPrior, mIndexCandidates), either 0 or 1 element 3) Candidate pool: [mIndexCandidates, mIndexFree) 4) Free pool: [mIndexFree, SIZE)

    -

    At the completion of the ExtendedZoneProcessor::init(LocalDate& ld) method, the Active pool will contain the active Transitions relevant to the 'year' defined by the LocalDate. The Prior and Candidate pools will be empty, with the Free pool taking up the remaining space.

    +

    At the completion of the ExtendedZoneProcessor::init(LocalDate& ld) method, the Active pool will contain the active Transitions relevant to the 'year' defined by the LocalDate. The Prior and Candidate pools will be empty, with the Free pool taking up the remaining space.

    Definition at line 358 of file ExtendedZoneProcessor.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ TransitionStorage()

    - -
    -
    -
    -template<uint8_t SIZE>
    - - - - - -
    - - - - - - - -
    ace_time::extended::TransitionStorage< SIZE >::TransitionStorage ()
    -
    -inline
    -
    - -

    Constructor.

    - -

    Definition at line 361 of file ExtendedZoneProcessor.h.

    - -
    -
    -

    Member Function Documentation

    +

    Member Function Documentation

    ◆ addFreeAgentToActivePool()

    @@ -245,7 +221,7 @@

    -

    Immediately add the free agent Transition at index mIndexFree to the Active pool.

    +

    Immediately add the free agent Transition at index mIndexFree to the Active pool.

    Then increment mIndexFree to remove the free agent from the Free pool. This assumes that the Pending and Candidate pool are empty, which makes the Active pool come immediately before the Free pool.

    Definition at line 432 of file ExtendedZoneProcessor.h.

    @@ -277,7 +253,7 @@

    -

    Add the free agent Transition at index mIndexFree to the Candidate pool, sorted by transitionTime.

    +

    Add the free agent Transition at index mIndexFree to the Candidate pool, sorted by transitionTime.

    Then increment mIndexFree by one to remove the free agent from the Free pool. Essentially this is an Insertion Sort keyed by the 'transitionTime' (ignoring the DateTuple.suffix).

    Definition at line 470 of file ExtendedZoneProcessor.h.

    @@ -342,8 +318,8 @@

    -

    Return the Transition matching the given epochSeconds.

    -

    Return nullptr if no matching Transition found. If a zone does not have any transition according to TZ Database, the tools/transformer.py script adds an "anchor" transition at the "beginning of time" which happens to be the year 1872 (because the year is stored as an int8_t). Therefore, this method should never return a nullptr for a well-formed ZoneInfo file.

    +

    Return the Transition matching the given epochSeconds.

    +

    Return nullptr if no matching Transition found. If a zone does not have any transition according to TZ Database, the tools/transformer.py script adds an "anchor" transition at the "beginning of time" which happens to be the year 1872 (because the year is stored as an int8_t). Therefore, this method should never return a nullptr for a well-formed ZoneInfo file.

    Definition at line 513 of file ExtendedZoneProcessor.h.

    @@ -375,10 +351,10 @@

    -

    Return the Transition matching the given dateTime.

    -

    Return nullptr if no matching Transition found. During DST changes, a particlar LocalDateTime may correspond to 2 Transitions or 0 Transitions, and there are potentially multiple ways to handle this. This method implements the following algorithm:

    -

    1) If the localDateTime falls in the DST transition gap where 0 Transitions ought to be found, e.g. between 02:00 and 03:00 in America/Los_Angeles when standard time switches to DST time), the immediate prior Transition is returned (in effect extending the UTC offset of the prior Transition through the gap. For example, when DST starts, 02:00 becomes 03:00, so a time of 02:30 does not exist, but the Transition returned will be the one valid at 01:59. When it is converted to epoch_seconds and converted back to a LocalDateTime, the 02:30 time will become 03:30, since the later UTC offset will be used.

    -

    2) If the localDateTime falls in a time period where there are 2 Transitions, hence 2 valid UTC offsets, the later Transition is returned. For example, when DST ends in America/Los_Angeles, 02:00 becomes 01:00, so a time of 01:30 could belong to the earlier or later Transition. This method returns the later Transition.

    +

    Return the Transition matching the given dateTime.

    +

    Return nullptr if no matching Transition found. During DST changes, a particlar LocalDateTime may correspond to 2 Transitions or 0 Transitions, and there are potentially multiple ways to handle this. This method implements the following algorithm:

    +

    1) If the localDateTime falls in the DST transition gap where 0 Transitions ought to be found, e.g. between 02:00 and 03:00 in America/Los_Angeles when standard time switches to DST time), the immediate prior Transition is returned (in effect extending the UTC offset of the prior Transition through the gap. For example, when DST starts, 02:00 becomes 03:00, so a time of 02:30 does not exist, but the Transition returned will be the one valid at 01:59. When it is converted to epoch_seconds and converted back to a LocalDateTime, the 02:30 time will become 03:30, since the later UTC offset will be used.

    +

    2) If the localDateTime falls in a time period where there are 2 Transitions, hence 2 valid UTC offsets, the later Transition is returned. For example, when DST ends in America/Los_Angeles, 02:00 becomes 01:00, so a time of 01:30 could belong to the earlier or later Transition. This method returns the later Transition.

    Definition at line 550 of file ExtendedZoneProcessor.h.

    @@ -409,8 +385,8 @@

    -

    Return a pointer to the first Transition in the free pool.

    -

    If this transition is not used, then it's ok to just drop it. The next time getFreeAgent() is called, the same Transition will be returned.

    +

    Return a pointer to the first Transition in the free pool.

    +

    If this transition is not used, then it's ok to just drop it. The next time getFreeAgent() is called, the same Transition will be returned.

    Definition at line 411 of file ExtendedZoneProcessor.h.

    @@ -442,72 +418,10 @@

    Return the high water mark.

    -

    This is the largest value of mIndexFree that was used. If this returns SIZE, it indicates that the Transition mPool overflowed. For debugging.

    +

    This is the largest value of mIndexFree that was used. If this returns SIZE, it indicates that the Transition mPool overflowed. For debugging.

    Definition at line 607 of file ExtendedZoneProcessor.h.

    - - - -

    ◆ getPrior()

    - -
    -
    -
    -template<uint8_t SIZE>
    - - - - - -
    - - - - - - - -
    Transition* ace_time::extended::TransitionStorage< SIZE >::getPrior ()
    -
    -inline
    -
    - -

    Return the current prior transition.

    - -

    Definition at line 374 of file ExtendedZoneProcessor.h.

    - -
    -
    - -

    ◆ init()

    - -
    -
    -
    -template<uint8_t SIZE>
    - - - - - -
    - - - - - - - -
    void ace_time::extended::TransitionStorage< SIZE >::init ()
    -
    -inline
    -
    - -

    Initialize all pools.

    - -

    Definition at line 364 of file ExtendedZoneProcessor.h.

    -
    @@ -567,7 +481,7 @@

    -

    Allocate one Transition just after the Active pool, but before the Candidate pool, to keep the most recent prior Transition.

    +

    Allocate one Transition just after the Active pool, but before the Candidate pool, to keep the most recent prior Transition.

    Shift the Candidate pool and Free pool up by one.

    Definition at line 444 of file ExtendedZoneProcessor.h.

    @@ -600,7 +514,7 @@

    Empty the Candidate pool by resetting the various indexes.

    -

    If every iteration of findTransitionsForMatch() finishes with addFreeAgentToActivePool() or addActiveCandidatesToActivePool(), it may be possible to remove this. But it's safer to reset the indexes upon each iteration.

    +

    If every iteration of findTransitionsForMatch() finishes with addFreeAgentToActivePool() or addActiveCandidatesToActivePool(), it may be possible to remove this. But it's safer to reset the indexes upon each iteration.

    Definition at line 391 of file ExtendedZoneProcessor.h.

    @@ -636,90 +550,17 @@

    Definition at line 600 of file ExtendedZoneProcessor.h.

    - - - -

    ◆ setFreeAgentAsPrior()

    - -
    -
    -
    -template<uint8_t SIZE>
    - - - - - -
    - - - - - - - -
    void ace_time::extended::TransitionStorage< SIZE >::setFreeAgentAsPrior ()
    -
    -inline
    -
    - -

    Swap the Free agrent transition with the current Prior transition.

    - -

    Definition at line 451 of file ExtendedZoneProcessor.h.

    - -
    -
    - -

    ◆ swap()

    - -
    -
    -
    -template<uint8_t SIZE>
    - - - - - -
    - - - - - - - - - - - - - - - - - - -
    void ace_time::extended::TransitionStorage< SIZE >::swap (Transition ** a,
    Transition ** b 
    )
    -
    -inline
    -
    - -

    Swap 2 transitions.

    - -

    Definition at line 377 of file ExtendedZoneProcessor.h.

    -

    The documentation for this class was generated from the following file: diff --git a/docs/html/classace__time_1_1extended_1_1ZoneEraBroker-members.html b/docs/html/classace__time_1_1extended_1_1ZoneEraBroker-members.html index fb59163b1..e6a129288 100644 --- a/docs/html/classace__time_1_1extended_1_1ZoneEraBroker-members.html +++ b/docs/html/classace__time_1_1extended_1_1ZoneEraBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@

    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZoneEra. +

    Data broker for accessing ZoneEra. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZoneEraBroker (const ZoneEra *zoneEra) + ZoneEraBroker (const ZoneEra *zoneEra)    ZoneEraBroker (const ZoneEraBroker &)=default @@ -89,7 +92,7 @@ ZoneEraBrokeroperator= (const ZoneEraBroker &)=default   -const ZoneErazoneEra () const +const ZoneEra * zoneEra () const   bool isNull () const @@ -123,18 +126,18 @@  

    Detailed Description

    -

    Data broker for accessing ZoneEra.

    +

    Data broker for accessing ZoneEra.

    Definition at line 570 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1extended_1_1ZoneInfoBroker-members.html b/docs/html/classace__time_1_1extended_1_1ZoneInfoBroker-members.html index cd8f50156..7a8520309 100644 --- a/docs/html/classace__time_1_1extended_1_1ZoneInfoBroker-members.html +++ b/docs/html/classace__time_1_1extended_1_1ZoneInfoBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZoneInfo. +

    Data broker for accessing ZoneInfo. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZoneInfoBroker (const ZoneInfo *zoneInfo) + ZoneInfoBroker (const ZoneInfo *zoneInfo)    ZoneInfoBroker (const ZoneInfoBroker &)=default @@ -89,7 +92,7 @@ ZoneInfoBrokeroperator= (const ZoneInfoBroker &)=default   -const ZoneInfozoneInfo () const +const ZoneInfo * zoneInfo () const   const char * name () const @@ -111,18 +114,18 @@  

    Detailed Description

    -

    Data broker for accessing ZoneInfo.

    +

    Data broker for accessing ZoneInfo.

    Definition at line 670 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1extended_1_1ZonePolicyBroker-members.html b/docs/html/classace__time_1_1extended_1_1ZonePolicyBroker-members.html index 0ee15b480..2422c0270 100644 --- a/docs/html/classace__time_1_1extended_1_1ZonePolicyBroker-members.html +++ b/docs/html/classace__time_1_1extended_1_1ZonePolicyBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZonePolicy. +

    Data broker for accessing ZonePolicy. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZonePolicyBroker (const ZonePolicy *zonePolicy) + ZonePolicyBroker (const ZonePolicy *zonePolicy)    ZonePolicyBroker (const ZonePolicyBroker &)=default @@ -105,18 +108,18 @@  

    Detailed Description

    -

    Data broker for accessing ZonePolicy.

    +

    Data broker for accessing ZonePolicy.

    Definition at line 514 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1extended_1_1ZoneRegistryBroker-members.html b/docs/html/classace__time_1_1extended_1_1ZoneRegistryBroker-members.html index cee089b22..ebfeda7db 100644 --- a/docs/html/classace__time_1_1extended_1_1ZoneRegistryBroker-members.html +++ b/docs/html/classace__time_1_1extended_1_1ZoneRegistryBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    ZoneRegistryBroker (const ZoneInfo *const *zoneRegistry) + ZoneRegistryBroker (const ZoneInfo *const *zoneRegistry)    ZoneRegistryBroker (const ZoneRegistryBroker &)=default @@ -89,7 +92,7 @@ ZoneRegistryBrokeroperator= (const ZoneRegistryBroker &)=default   -const ZoneInfozoneInfo (uint16_t i) const +const ZoneInfo * zoneInfo (uint16_t i) const  

    Detailed Description

    @@ -98,14 +101,14 @@

    Definition at line 740 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1extended_1_1ZoneRuleBroker-members.html b/docs/html/classace__time_1_1extended_1_1ZoneRuleBroker-members.html index d54c0903f..f6ea1f1c5 100644 --- a/docs/html/classace__time_1_1extended_1_1ZoneRuleBroker-members.html +++ b/docs/html/classace__time_1_1extended_1_1ZoneRuleBroker-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    Data broker for accessing ZoneRule. +

    Data broker for accessing ZoneRule. More...

    #include <Brokers.h>

    @@ -80,7 +83,7 @@

    Public Member Functions

    ZoneRuleBroker (const ZoneRule *zoneRule) + ZoneRuleBroker (const ZoneRule *zoneRule)    ZoneRuleBroker (const ZoneRuleBroker &)=default @@ -120,18 +123,18 @@  

    Detailed Description

    -

    Data broker for accessing ZoneRule.

    +

    Data broker for accessing ZoneRule.

    Definition at line 424 of file Brokers.h.


    The documentation for this class was generated from the following file:
      -
    • /home/brian/dev/AceTime/src/ace_time/internal/Brokers.h
    • +
    • /home/brian/src/AceTime/src/ace_time/internal/Brokers.h
    diff --git a/docs/html/classace__time_1_1hw_1_1CrcEeprom-members.html b/docs/html/classace__time_1_1hw_1_1CrcEeprom-members.html index 2e7bf71c0..0a2d346b1 100644 --- a/docs/html/classace__time_1_1hw_1_1CrcEeprom-members.html +++ b/docs/html/classace__time_1_1hw_1_1CrcEeprom-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */

    Public Member Functions

    void begin (uint16_t size) - Call from global setup() function. More...
    + Call from global setup() function. More...
      uint16_t writeWithCrc (int address, const void *const data, const uint16_t dataSize) const - Write the data with its CRC. More...
    + Write the data with its CRC. More...
      bool readWithCrc (int address, void *const data, const uint16_t dataSize) const - Read the data from EEPROM along with its CRC. More...
    + Read the data from EEPROM along with its CRC. More...
     

    Detailed Description

    @@ -223,14 +226,14 @@

    CrcEeprom.h +
  • /home/brian/src/AceTime/src/ace_time/hw/CrcEeprom.h
  • diff --git a/docs/html/classace__time_1_1hw_1_1DS3231-members.html b/docs/html/classace__time_1_1hw_1_1DS3231-members.html index a53ad139d..a81732126 100644 --- a/docs/html/classace__time_1_1hw_1_1DS3231-members.html +++ b/docs/html/classace__time_1_1hw_1_1DS3231-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */ - + +/* @license-end */
    -

    A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip. +

    A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip. More...

    #include <DS3231.h>

    - - + + - - + + - - + + - - + +

    Public Member Functions

     DS3231 ()
     Constructor. More...
    DS3231 ()
     Constructor.
     
    void readDateTime (HardwareDateTime *dateTime) const
     Read the time into the HardwareDateTime object. More...
    +void readDateTime (HardwareDateTime *dateTime) const
     Read the time into the HardwareDateTime object.
     
    void setDateTime (const HardwareDateTime &dateTime) const
     Set the DS3231 with the HardwareDateTime values. More...
    +void setDateTime (const HardwareDateTime &dateTime) const
     Set the DS3231 with the HardwareDateTime values.
     
    void readTemperature (HardwareTemperature *temperature) const
     Read the temperature into the HardwareTemperature object. More...
    +void readTemperature (HardwareTemperature *temperature) const
     Read the temperature into the HardwareTemperature object.
     

    Detailed Description

    -

    A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip.

    -

    This class is designed to access just enough features of the DS3231 chip to implement the ace_time::DS3231Clock class. It is not meant to provide access to all the features of the DS3231 chip. There are other libraries which are far better for that purpose.

    -

    According to https://learn.adafruit.com/i2c-addresses/the-list, the DS3231 is always on I2C address 0x68, so let's hardcode that.

    +

    A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip.

    +

    This class is designed to access just enough features of the DS3231 chip to implement the ace_time::DS3231Clock class. It is not meant to provide access to all the features of the DS3231 chip. There are other libraries which are far better for that purpose.

    +

    According to https://learn.adafruit.com/i2c-addresses/the-list, the DS3231 is always on I2C address 0x68, so let's hardcode that.

    This class will probably work for the DS1307 and DS3232 RTC chips (except for the temperature function on the DS1307 which lacks this functionality) but this has not been verified.

    Definition at line 33 of file DS3231.h.

    -

    Constructor & Destructor Documentation

    - -

    ◆ DS3231()

    - -
    -
    - - - - - -
    - - - - - - - -
    ace_time::hw::DS3231::DS3231 ()
    -
    -inlineexplicit
    -
    - -

    Constructor.

    - -

    Definition at line 36 of file DS3231.h.

    - -
    -
    -

    Member Function Documentation

    - -

    ◆ readDateTime()

    - -
    -
    - - - - - - - - -
    void ace_time::hw::DS3231::readDateTime (HardwareDateTimedateTime) const
    -
    - -

    Read the time into the HardwareDateTime object.

    - -

    Definition at line 22 of file DS3231.cpp.

    - -
    -
    - -

    ◆ readTemperature()

    - -
    -
    - - - - - - - - -
    void ace_time::hw::DS3231::readTemperature (HardwareTemperaturetemperature) const
    -
    - -

    Read the temperature into the HardwareTemperature object.

    - -

    Definition at line 38 of file DS3231.cpp.

    - -
    -
    - -

    ◆ setDateTime()

    - -
    -
    - - - - - - - - -
    void ace_time::hw::DS3231::setDateTime (const HardwareDateTimedateTime) const
    -
    - -

    Set the DS3231 with the HardwareDateTime values.

    - -

    Definition at line 48 of file DS3231.cpp.

    - -
    -
    -
    The documentation for this class was generated from the following files:
      -
    • /home/brian/dev/AceTime/src/ace_time/hw/DS3231.h
    • -
    • /home/brian/dev/AceTime/src/ace_time/hw/DS3231.cpp
    • +

    The documentation for this class was generated from the following files:
      +
    • /home/brian/src/AceTime/src/ace_time/hw/DS3231.h
    • +
    • /home/brian/src/AceTime/src/ace_time/hw/DS3231.cpp
    diff --git a/docs/html/classes.html b/docs/html/classes.html index 9792c88c4..a664c7f6b 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Index @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    @@ -67,37 +70,100 @@
    b | c | d | e | h | l | m | n | o | s | t | y | z
    - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      b  
    -
    ExtendedZoneManager (ace_time)   
      o  
    -
      y  
    -
    ZonePolicy (ace_time::basic)   
    ExtendedZoneProcessor (ace_time)   ZonePolicy (ace_time::extended)   
    BasicZone (ace_time)   ExtendedZoneProcessorCache (ace_time)   OffsetDateTime (ace_time)   YearMonthTuple (ace_time::extended)   ZonePolicyBroker (ace_time::extended)   
    BasicZoneManager (ace_time)   
      h  
    -
      s  
    -
      z  
    -
    ZonePolicyBroker (ace_time::basic)   
    BasicZoneProcessor (ace_time)   ZoneProcessor (ace_time)   
    BasicZoneProcessorCache (ace_time)   HardwareDateTime (ace_time::hw)   SystemClock (ace_time::clock)   ZoneContext (ace_time::extended)   ZoneProcessorCache (ace_time)   
      e  
    +
      n  
    +
    TimeZoneData (ace_time)   ZoneMatch (ace_time::extended)   
    TimingStats (ace_time::common)   ZonePolicyBroker (ace_time::extended)   
    BasicZone (ace_time)   ExtendedZone (ace_time)   NtpClock (ace_time::clock)   Transition (ace_time::extended)   ZonePolicyBroker (ace_time::basic)   
    BasicZoneManager (ace_time)   ExtendedZoneManager (ace_time)   
      o  
    +
    Transition (ace_time::basic)   ZoneProcessor (ace_time)   
    BasicZoneProcessor (ace_time)   ExtendedZoneProcessor (ace_time)   TransitionStorage (ace_time::extended)   ZoneProcessorCache (ace_time)   
    BasicZoneProcessorCache (ace_time)   ExtendedZoneProcessorCache (ace_time)   OffsetDateTime (ace_time)   
      y  
    +
    ZoneProcessorCacheImpl (ace_time)   
      c  
    -
    HardwareTemperature (ace_time::hw)   SystemClockCoroutine (ace_time::clock)   ZoneContext (ace_time::basic)   ZoneProcessorCacheImpl (ace_time)   
      l  
    -
    SystemClockLoop (ace_time::clock)   ZonedDateTime (ace_time)   ZoneRegistrar (ace_time)   
    Clock (ace_time::clock)   
      t  
    -
    ZoneEra (ace_time::basic)   ZoneRegistryBroker (ace_time::extended)   
    CrcEeprom (ace_time::hw)   LocalDate (ace_time)   ZoneEra (ace_time::extended)   ZoneRegistryBroker (ace_time::basic)   
      h  
    +
      s  
    +
    ZoneRegistrar (ace_time)   
    YearMonthTuple (ace_time::extended)   ZoneRegistryBroker (ace_time::extended)   
    Clock (ace_time::clock)   HardwareDateTime (ace_time::hw)   SystemClock (ace_time::clock)   
      z  
    +
    ZoneRegistryBroker (ace_time::basic)   
    CrcEeprom (ace_time::hw)   HardwareTemperature (ace_time::hw)   SystemClockCoroutine (ace_time::clock)   ZoneRuleBroker (ace_time::extended)   
      d  
    -
    LocalDateTime (ace_time)   TimeOffset (ace_time)   ZoneEraBroker (ace_time::extended)   ZoneRule (ace_time::extended)   
    LocalTime (ace_time)   TimePeriod (ace_time)   ZoneEraBroker (ace_time::basic)   ZoneRule (ace_time::basic)   
    DateStrings (ace_time)   
      m  
    -
    TimeZone (ace_time)   ZoneInfo (ace_time::basic)   ZoneRuleBroker (ace_time::extended)   
    DateTuple (ace_time::extended)   TimeZoneData (ace_time)   ZoneInfo (ace_time::extended)   ZoneRuleBroker (ace_time::basic)   
    DS3231 (ace_time::hw)   MonthDay (ace_time::basic)   TimingStats (ace_time::common)   ZoneInfoBroker (ace_time::extended)   
    DS3231Clock (ace_time::clock)   
      n  
    -
    Transition (ace_time::extended)   ZoneInfoBroker (ace_time::basic)   
      e  
    -
    Transition (ace_time::basic)   ZoneManager (ace_time)   
    NtpClock (ace_time::clock)   TransitionStorage (ace_time::extended)   ZoneMatch (ace_time::extended)   
    ExtendedZone (ace_time)   
      l  
    +
    SystemClockLoop (ace_time::clock)   ZonedDateTime (ace_time)   ZoneRuleBroker (ace_time::basic)   
      t  
    +
    ZoneEraBroker (ace_time::extended)   
    DateStrings (ace_time)   LocalDate (ace_time)   ZoneEraBroker (ace_time::basic)   
    DateTuple (ace_time::extended)   LocalDateTime (ace_time)   TimeOffset (ace_time)   ZoneInfoBroker (ace_time::extended)   
    DS3231 (ace_time::hw)   LocalTime (ace_time)   TimePeriod (ace_time)   ZoneInfoBroker (ace_time::basic)   
    DS3231Clock (ace_time::clock)   
      m  
    +
    TimeZone (ace_time)   ZoneManager (ace_time)   
    MonthDay (ace_time::basic)   
    b | c | d | e | h | l | m | n | o | s | t | y | z
    @@ -106,7 +172,7 @@ diff --git a/docs/html/common_8h_source.html b/docs/html/common_8h_source.html index 1f3423330..3a3976e38 100644 --- a/docs/html/common_8h_source.html +++ b/docs/html/common_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/common.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/common.h Source File @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */
    common.h
    -
    1 /*
    2  * MIT License
    3  * Copyright (c) 2018 Brian T. Park
    4  */
    5 
    6 #ifndef ACE_TIME_COMMON_COMMON_H
    7 #define ACE_TIME_COMMON_COMMON_H
    8 
    9 #include <stdint.h>
    10 
    11 namespace ace_time {
    12 
    17 typedef int32_t acetime_t;
    18 
    19 }
    20 
    21 #endif
    +
    1 /*
    +
    2  * MIT License
    +
    3  * Copyright (c) 2018 Brian T. Park
    +
    4  */
    +
    5 
    +
    6 #ifndef ACE_TIME_COMMON_COMMON_H
    +
    7 #define ACE_TIME_COMMON_COMMON_H
    +
    8 
    +
    9 #include <stdint.h>
    +
    10 
    +
    11 namespace ace_time {
    +
    12 
    +
    17 typedef int32_t acetime_t;
    +
    18 
    +
    19 }
    +
    20 
    +
    21 #endif
    diff --git a/docs/html/compat_8cpp_source.html b/docs/html/compat_8cpp_source.html index 90652baaa..b3d94135d 100644 --- a/docs/html/compat_8cpp_source.html +++ b/docs/html/compat_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/compat.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/compat.cpp Source File @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    compat.cpp
    -
    1 #include "compat.h"
    2 
    3 // There are many different boards which identify themselves as
    4 // ARDUINO_SAMD_ZERO. The original Arduino Zero using Native USB Port
    5 // does not set SERIAL_PORT_MONITOR correctly, so warn the user.
    6 #if defined(ARDUINO_SAMD_ZERO)
    7  #warning Arduino Zero may need SERIAL_PORT_MONITOR fixed (see USER_GUIDE.md)
    8 #endif
    9 
    10 #if defined(ESP8266) || defined(ESP32)
    11 
    12 const char* strchr_P(const char* s, int c) {
    13  char cc = c;
    14  while (true) {
    15  char d = pgm_read_byte(s);
    16  if (cc == d) return s;
    17  if (!d) return nullptr;
    18  s++;
    19  }
    20 }
    21 
    22 const char* strrchr_P(const char* s, int c) {
    23  char cc = c;
    24  const char* found = nullptr;
    25  while (true) {
    26  char d = pgm_read_byte(s);
    27  if (cc == d) found = s;
    28  if (!d) break;
    29  s++;
    30  }
    31  return found;
    32 }
    33 
    34 #endif
    35 
    36 int acetime_strcmp_PP(const char* a, const char* b) {
    37  if (a == b) { return 0; }
    38  if (a == nullptr) { return -1; }
    39  if (b == nullptr) { return 1; }
    40 
    41  while (true) {
    42  uint8_t ca = pgm_read_byte(a);
    43  uint8_t cb = pgm_read_byte(b);
    44  if (ca != cb) return (int) ca - (int) cb;
    45  if (ca == '\0') return 0;
    46  a++;
    47  b++;
    48  }
    49 }
    int acetime_strcmp_PP(const char *a, const char *b)
    Compare 2 strings in flash memory.
    Definition: compat.cpp:36
    -
    Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
    +
    1 #include "compat.h"
    +
    2 
    +
    3 // There are many different boards which identify themselves as
    +
    4 // ARDUINO_SAMD_ZERO. The original Arduino Zero using Native USB Port
    +
    5 // does not set SERIAL_PORT_MONITOR correctly, so warn the user.
    +
    6 #if defined(ARDUINO_SAMD_ZERO)
    +
    7  #warning Arduino Zero may need SERIAL_PORT_MONITOR fixed (see USER_GUIDE.md)
    +
    8 #endif
    +
    9 
    +
    10 #if defined(ESP8266) || defined(ESP32)
    +
    11 
    +
    12 const char* strchr_P(const char* s, int c) {
    +
    13  char cc = c;
    +
    14  while (true) {
    +
    15  char d = pgm_read_byte(s);
    +
    16  if (cc == d) return s;
    +
    17  if (!d) return nullptr;
    +
    18  s++;
    +
    19  }
    +
    20 }
    +
    21 
    +
    22 const char* strrchr_P(const char* s, int c) {
    +
    23  char cc = c;
    +
    24  const char* found = nullptr;
    +
    25  while (true) {
    +
    26  char d = pgm_read_byte(s);
    +
    27  if (cc == d) found = s;
    +
    28  if (!d) break;
    +
    29  s++;
    +
    30  }
    +
    31  return found;
    +
    32 }
    +
    33 
    +
    34 #endif
    +
    35 
    +
    36 int acetime_strcmp_PP(const char* a, const char* b) {
    +
    37  if (a == b) { return 0; }
    +
    38  if (a == nullptr) { return -1; }
    +
    39  if (b == nullptr) { return 1; }
    +
    40 
    +
    41  while (true) {
    +
    42  uint8_t ca = pgm_read_byte(a);
    +
    43  uint8_t cb = pgm_read_byte(b);
    +
    44  if (ca != cb) return (int) ca - (int) cb;
    +
    45  if (ca == '\0') return 0;
    +
    46  a++;
    +
    47  b++;
    +
    48  }
    +
    49 }
    + +
    int acetime_strcmp_PP(const char *a, const char *b)
    Compare 2 strings in flash memory.
    Definition: compat.cpp:36
    diff --git a/docs/html/compat_8h.html b/docs/html/compat_8h.html index 217ec91e9..8526bc365 100644 --- a/docs/html/compat_8h.html +++ b/docs/html/compat_8h.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/compat.h File Reference +AceTime: /home/brian/src/AceTime/src/ace_time/common/compat.h File Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    compat.h File Reference
    - -

    Macros and definitions that provide a consistency layer among the various Arduino boards for compatibility. -More...

    #include <stdint.h>
    #include <string.h>
    #include <pgmspace.h>
    Include dependency graph for compat.h:
    -
    - +
    + + + + +
    This graph shows which files directly or indirectly include this file:
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    @@ -127,8 +132,9 @@ - - + + @@ -146,34 +152,14 @@ const char *  - +

    Macros

    #define ACE_TIME_USE_PROGMEM   1
     Determine if zonedb and zonedbx zoneinfo files are placed in PROGMEM. More...
    +#define ACE_TIME_USE_PROGMEM   1
     Determine if zonedb and zonedbx zoneinfo files are placed in PROGMEM.
     
    #define ACE_TIME_PROGMEM   PROGMEM
    strrchr_P (const char *s, int c)
     
    int acetime_strcmp_PP (const char *a, const char *b)
     Compare 2 strings in flash memory. More...
     Compare 2 strings in flash memory. More...
     

    Detailed Description

    -

    Macros and definitions that provide a consistency layer among the various Arduino boards for compatibility.

    -

    Most of this is caused by inconsistent, incomplete, or sometimes incorrect emulation of the AVR PROGMEM macro and its related str*_P() functions in <avr/pgmspace.h>.

    +

    Macros and definitions that provide a consistency layer among the various Arduino boards for compatibility. Most of this is caused by inconsistent, incomplete, or sometimes incorrect emulation of the AVR PROGMEM macro and its related str*_P() functions in <avr/pgmspace.h>.

    Definition in file compat.h.

    -

    Macro Definition Documentation

    - -

    ◆ ACE_TIME_USE_PROGMEM

    - -
    -
    - - - - -
    #define ACE_TIME_USE_PROGMEM   1
    -
    - -

    Determine if zonedb and zonedbx zoneinfo files are placed in PROGMEM.

    - -

    Definition at line 22 of file compat.h.

    - -
    -
    -

    Function Documentation

    +

    Function Documentation

    ◆ acetime_strcmp_PP()

    @@ -212,7 +198,7 @@

    diff --git a/docs/html/compat_8h__dep__incl.map b/docs/html/compat_8h__dep__incl.map index 403368a3c..ff32b7723 100644 --- a/docs/html/compat_8h__dep__incl.map +++ b/docs/html/compat_8h__dep__incl.map @@ -1,33 +1,34 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/compat_8h__dep__incl.md5 b/docs/html/compat_8h__dep__incl.md5 index d93a168a0..fc468025d 100644 --- a/docs/html/compat_8h__dep__incl.md5 +++ b/docs/html/compat_8h__dep__incl.md5 @@ -1 +1 @@ -e304df31a74ec1dc552dd7c150a12aae \ No newline at end of file +8b8ca5dcbadaf8a0b1050a7a69c1275e \ No newline at end of file diff --git a/docs/html/compat_8h__dep__incl.png b/docs/html/compat_8h__dep__incl.png index f1d01924f..a19204060 100644 Binary files a/docs/html/compat_8h__dep__incl.png and b/docs/html/compat_8h__dep__incl.png differ diff --git a/docs/html/compat_8h__incl.map b/docs/html/compat_8h__incl.map index 1ab35b947..0da0361a6 100644 --- a/docs/html/compat_8h__incl.map +++ b/docs/html/compat_8h__incl.map @@ -1,2 +1,6 @@ - + + + + + diff --git a/docs/html/compat_8h__incl.md5 b/docs/html/compat_8h__incl.md5 index 102e67e9a..d31626874 100644 --- a/docs/html/compat_8h__incl.md5 +++ b/docs/html/compat_8h__incl.md5 @@ -1 +1 @@ -0f8486843dd694ebebc41217ba0710f3 \ No newline at end of file +bab1d32d6a46fa3001f6a0c6d0e2c36e \ No newline at end of file diff --git a/docs/html/compat_8h__incl.png b/docs/html/compat_8h__incl.png index f1ba54f3b..2edafad47 100644 Binary files a/docs/html/compat_8h__incl.png and b/docs/html/compat_8h__incl.png differ diff --git a/docs/html/compat_8h_source.html b/docs/html/compat_8h_source.html index 97ae06cb5..feaee3453 100644 --- a/docs/html/compat_8h_source.html +++ b/docs/html/compat_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/compat.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/compat.h Source File @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@

    - + +/* @license-end */
    compat.h
    -Go to the documentation of this file.
    1 /*
    2  * MIT License
    3  * Copyright (c) 2018 Brian T. Park
    4  */
    5 
    6 #ifndef ACE_TIME_COMMON_COMPAT_H
    7 #define ACE_TIME_COMMON_COMPAT_H
    8 
    18 #include <stdint.h>
    19 #include <string.h>
    20 
    22 #define ACE_TIME_USE_PROGMEM 1
    23 #if ACE_TIME_USE_PROGMEM
    24  #define ACE_TIME_PROGMEM PROGMEM
    25 #else
    26  #define ACE_TIME_PROGMEM
    27 #endif
    28 
    29 // Include the correct pgmspace.h depending on architecture. Define a
    30 // consistent acetime_strcmp_P() which can be passed as a function pointer
    31 // into the ZoneManager template class.
    32 #if defined(ARDUINO_ARCH_AVR)
    33  #include <avr/pgmspace.h>
    34  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    35  #define acetime_strcmp_P strcmp_P
    36 
    37 #elif defined(ARDUINO_ARCH_SAMD)
    38  #include <avr/pgmspace.h>
    39  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    40 
    41  // strcmp_P(a,b) is defined to be strcmp(a,b), but we need a function
    42  // pointer, so map it directly to strcmp()
    43  #define acetime_strcmp_P strcmp
    44 
    45  // Set this to 1 to clobber SERIAL_PORT_MONITOR to SerialUSB on
    46  // an original Arduino Zero when using the Native port. See USER_GUIDE.md for
    47  // more info.
    48  #define ACE_TIME_CLOBBER_SERIAL_PORT_MONITOR 0
    49  #if ACE_TIME_CLOBBER_SERIAL_PORT_MONITOR && defined(ARDUINO_SAMD_ZERO)
    50  #undef SERIAL_PORT_MONITOR
    51  #define SERIAL_PORT_MONITOR SerialUSB
    52  #endif
    53 
    54 #elif defined(TEENSYDUINO)
    55  #include <avr/pgmspace.h>
    56  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    57  // Teensyduino defines strcmp_P(a, b) as strcmp(a,b), which cannot be
    58  // passed as a function pointer, so we have to use strcmp() directly.
    59  #define acetime_strcmp_P strcmp
    60 
    61 #elif defined(ESP8266)
    62  #include <pgmspace.h>
    63 
    64  // ESP8266 2.5.2 defines strcmp_P() as a macro function, but we need a real
    65  // function.
    66  inline int acetime_strcmp_P(const char* str1, const char* str2P) {
    67  return strcmp_P((str1), (str2P));
    68  }
    69 
    70  // ESP8266 2.5.2 doesn't have these so provide our own implementation.
    71  extern "C" {
    72  const char* strchr_P(const char* s, int c);
    73  const char* strrchr_P(const char* s, int c);
    74  }
    75 
    76 #elif defined(ESP32)
    77  #include <pgmspace.h>
    78  // Fix incorrect definition of FPSTR in ESP32 < 1.0.3. See
    79  // https://github.com/espressif/arduino-esp32/issues/1371
    80  #undef FPSTR
    81  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    82  #define acetime_strcmp_P strcmp_P
    83 
    84  // ESP32 1.0.2 doesn't have these so provide our own implementation.
    85  extern "C" {
    86  const char* strchr_P(const char* s, int c);
    87  const char* strrchr_P(const char* s, int c);
    88  }
    89 
    90  // ESP32 does not define SERIAL_PORT_MONITOR. Define it unless another
    91  // library has already defined it.
    92  #if ! defined(SERIAL_PORT_MONITOR)
    93  #define SERIAL_PORT_MONITOR Serial
    94  #endif
    95 
    96 #elif defined(UNIX_HOST_DUINO)
    97  #include <pgmspace.h>
    98  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    99  #define acetime_strcmp_P strcmp_P
    100  #define SERIAL_PORT_MONITOR Serial
    101 
    102 #else
    103  #error Unsupported platform
    104 #endif
    105 
    110 int acetime_strcmp_PP(const char* a, const char* b);
    111 
    112 #endif
    int acetime_strcmp_PP(const char *a, const char *b)
    Compare 2 strings in flash memory.
    Definition: compat.cpp:36
    +Go to the documentation of this file.
    1 /*
    +
    2  * MIT License
    +
    3  * Copyright (c) 2018 Brian T. Park
    +
    4  */
    +
    5 
    +
    6 #ifndef ACE_TIME_COMMON_COMPAT_H
    +
    7 #define ACE_TIME_COMMON_COMPAT_H
    +
    8 
    +
    18 #include <stdint.h>
    +
    19 #include <string.h>
    +
    20 
    +
    22 #define ACE_TIME_USE_PROGMEM 1
    +
    23 #if ACE_TIME_USE_PROGMEM
    +
    24  #define ACE_TIME_PROGMEM PROGMEM
    +
    25 #else
    +
    26  #define ACE_TIME_PROGMEM
    +
    27 #endif
    +
    28 
    +
    29 // Include the correct pgmspace.h depending on architecture. Define a
    +
    30 // consistent acetime_strcmp_P() which can be passed as a function pointer
    +
    31 // into the ZoneManager template class.
    +
    32 #if defined(ARDUINO_ARCH_AVR)
    +
    33  #include <avr/pgmspace.h>
    +
    34  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    +
    35  #define acetime_strcmp_P strcmp_P
    +
    36 
    +
    37 #elif defined(ARDUINO_ARCH_SAMD)
    +
    38  #include <avr/pgmspace.h>
    +
    39  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    +
    40 
    +
    41  // strcmp_P(a,b) is defined to be strcmp(a,b), but we need a function
    +
    42  // pointer, so map it directly to strcmp()
    +
    43  #define acetime_strcmp_P strcmp
    +
    44 
    +
    45  // Set this to 1 to clobber SERIAL_PORT_MONITOR to SerialUSB on
    +
    46  // an original Arduino Zero when using the Native port. See USER_GUIDE.md for
    +
    47  // more info.
    +
    48  #define ACE_TIME_CLOBBER_SERIAL_PORT_MONITOR 0
    +
    49  #if ACE_TIME_CLOBBER_SERIAL_PORT_MONITOR && defined(ARDUINO_SAMD_ZERO)
    +
    50  #undef SERIAL_PORT_MONITOR
    +
    51  #define SERIAL_PORT_MONITOR SerialUSB
    +
    52  #endif
    +
    53 
    +
    54 #elif defined(TEENSYDUINO)
    +
    55  #include <avr/pgmspace.h>
    +
    56  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    +
    57  // Teensyduino defines strcmp_P(a, b) as strcmp(a,b), which cannot be
    +
    58  // passed as a function pointer, so we have to use strcmp() directly.
    +
    59  #define acetime_strcmp_P strcmp
    +
    60 
    +
    61 #elif defined(ESP8266)
    +
    62  #include <pgmspace.h>
    +
    63 
    +
    64  // ESP8266 2.5.2 defines strcmp_P() as a macro function, but we need a real
    +
    65  // function.
    +
    66  inline int acetime_strcmp_P(const char* str1, const char* str2P) {
    +
    67  return strcmp_P((str1), (str2P));
    +
    68  }
    +
    69 
    +
    70  // ESP8266 2.5.2 doesn't have these so provide our own implementation.
    +
    71  extern "C" {
    +
    72  const char* strchr_P(const char* s, int c);
    +
    73  const char* strrchr_P(const char* s, int c);
    +
    74  }
    +
    75 
    +
    76 #elif defined(ESP32)
    +
    77  #include <pgmspace.h>
    +
    78  // Fix incorrect definition of FPSTR in ESP32 < 1.0.3. See
    +
    79  // https://github.com/espressif/arduino-esp32/issues/1371
    +
    80  #undef FPSTR
    +
    81  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    +
    82  #define acetime_strcmp_P strcmp_P
    +
    83 
    +
    84  // ESP32 1.0.2 doesn't have these so provide our own implementation.
    +
    85  extern "C" {
    +
    86  const char* strchr_P(const char* s, int c);
    +
    87  const char* strrchr_P(const char* s, int c);
    +
    88  }
    +
    89 
    +
    90  // ESP32 does not define SERIAL_PORT_MONITOR. Define it unless another
    +
    91  // library has already defined it.
    +
    92  #if ! defined(SERIAL_PORT_MONITOR)
    +
    93  #define SERIAL_PORT_MONITOR Serial
    +
    94  #endif
    +
    95 
    +
    96 #elif defined(UNIX_HOST_DUINO)
    +
    97  #include <pgmspace.h>
    +
    98  #define FPSTR(p) (reinterpret_cast<const __FlashStringHelper *>(p))
    +
    99  #define acetime_strcmp_P strcmp_P
    +
    100  #define SERIAL_PORT_MONITOR Serial
    +
    101 
    +
    102 #else
    +
    103  #error Unsupported platform
    +
    104 #endif
    +
    105 
    +
    110 int acetime_strcmp_PP(const char* a, const char* b);
    +
    111 
    +
    112 #endif
    +
    int acetime_strcmp_PP(const char *a, const char *b)
    Compare 2 strings in flash memory.
    Definition: compat.cpp:36
    diff --git a/docs/html/dir_000001_000003.html b/docs/html/dir_000001_000003.html index 1a42658ec..9f7f1c0c8 100644 --- a/docs/html/dir_000001_000003.html +++ b/docs/html/dir_000001_000003.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time -> common Relation +AceTime: /home/brian/src/AceTime/src/ace_time -> common Relation @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@
    - + +/* @license-end */
    ace_time → common Relation

    diff --git a/docs/html/dir_000001_000005.html b/docs/html/dir_000001_000005.html index e865cb84d..7001f6668 100644 --- a/docs/html/dir_000001_000005.html +++ b/docs/html/dir_000001_000005.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time -> internal Relation +AceTime: /home/brian/src/AceTime/src/ace_time -> internal Relation @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    ace_time → internal Relation

    diff --git a/docs/html/dir_000002_000003.html b/docs/html/dir_000002_000003.html index e3e512666..024bb8d2b 100644 --- a/docs/html/dir_000002_000003.html +++ b/docs/html/dir_000002_000003.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock -> common Relation +AceTime: /home/brian/src/AceTime/src/ace_time/clock -> common Relation @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    clock → common Relation

    diff --git a/docs/html/dir_000005_000003.html b/docs/html/dir_000005_000003.html index 2c6b62fcb..786f78050 100644 --- a/docs/html/dir_000005_000003.html +++ b/docs/html/dir_000005_000003.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/internal -> common Relation +AceTime: /home/brian/src/AceTime/src/ace_time/internal -> common Relation @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    internal → common Relation

    diff --git a/docs/html/dir_000006_000003.html b/docs/html/dir_000006_000003.html index 4d17e9190..167dda55b 100644 --- a/docs/html/dir_000006_000003.html +++ b/docs/html/dir_000006_000003.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb -> common Relation +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb -> common Relation @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    zonedb → common Relation

    < diff --git a/docs/html/dir_000007_000003.html b/docs/html/dir_000007_000003.html index b4a719f66..85cbfa91a 100644 --- a/docs/html/dir_000007_000003.html +++ b/docs/html/dir_000007_000003.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx -> common Relation +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx -> common Relation @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    zonedbx → common Relation

    diff --git a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7.html b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7.html index 400023963..908643029 100644 --- a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7.html +++ b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time Directory Reference +AceTime: /home/brian/src/AceTime/src/ace_time Directory Reference @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    Directory dependency graph for ace_time:
    -
    /home/brian/dev/AceTime/src/ace_time
    +
    /home/brian/src/AceTime/src/ace_time
    - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    @@ -98,7 +101,7 @@ diff --git a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.map b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.map index fe93a638d..869924712 100644 --- a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.map +++ b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.map @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.md5 b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.md5 index efe8300db..593022863 100644 --- a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.md5 +++ b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.md5 @@ -1 +1 @@ -ac4c7a207658b150b98807255d6ee7e8 \ No newline at end of file +756ffd2062643fc7a3b26bdd7f44f303 \ No newline at end of file diff --git a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.png b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.png index 597b095a6..c6e2361e3 100644 Binary files a/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.png and b/docs/html/dir_173dd563440c1e02d7e3957b90659cd7_dep.png differ diff --git a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc.html b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc.html index 29cc2e063..06a5d0d31 100644 --- a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc.html +++ b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/clock Directory Reference +AceTime: /home/brian/src/AceTime/src/ace_time/clock Directory Reference @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */
    Directory dependency graph for clock:
    -
    /home/brian/dev/AceTime/src/ace_time/clock
    +
    /home/brian/src/AceTime/src/ace_time/clock
    - - - - + + + +
    @@ -84,7 +87,7 @@ diff --git a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.map b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.map index d29409183..6d5217220 100644 --- a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.map +++ b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.map @@ -1,6 +1,6 @@ - + - - + + diff --git a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.md5 b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.md5 index d8093ba9b..be57b4d2e 100644 --- a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.md5 +++ b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.md5 @@ -1 +1 @@ -d953213979125849a6bd2a7499889925 \ No newline at end of file +32caf360488df498d536e1fdcd115617 \ No newline at end of file diff --git a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.png b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.png index bc26927a2..d15c884a9 100644 Binary files a/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.png and b/docs/html/dir_1a3db1509c5a81eeb8e8fbfe5ac0febc_dep.png differ diff --git a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee.html b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee.html index fce87da6f..b7f15c57a 100644 --- a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee.html +++ b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedbx Directory Reference +AceTime: /home/brian/src/AceTime/src/ace_time/zonedbx Directory Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */
    Directory dependency graph for zonedbx:
    -
    /home/brian/dev/AceTime/src/ace_time/zonedbx
    +
    /home/brian/src/AceTime/src/ace_time/zonedbx
    - - - - + + + +
    @@ -84,7 +87,7 @@ diff --git a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.map b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.map index 5d96ed1d5..38cb291a4 100644 --- a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.map +++ b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.map @@ -1,6 +1,6 @@ - - - - - + + + + + diff --git a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.md5 b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.md5 index ec2987ffb..7db26d2e0 100644 --- a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.md5 +++ b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.md5 @@ -1 +1 @@ -1babc814751d40e9b4d2ed7dc55e85eb \ No newline at end of file +1fc48055b96b76f217ecd5017d2ef1fe \ No newline at end of file diff --git a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.png b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.png index 915765d72..e93923de5 100644 Binary files a/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.png and b/docs/html/dir_50235a35a18cf9820d15ab2ee5526aee_dep.png differ diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 4fddcf81f..5387d02c4 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src Directory Reference +AceTime: /home/brian/src/AceTime/src Directory Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */
    Directory dependency graph for src:
    -
    /home/brian/dev/AceTime/src
    +
    /home/brian/src/AceTime/src
    - - + +
    @@ -86,7 +89,7 @@ diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map index 509996379..59a00cf33 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map @@ -1,4 +1,4 @@ - - - + + + diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 index d283d13df..dbbd78b69 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -1 +1 @@ -2045ecc7230e0ff77fb6c131d0735bf4 \ No newline at end of file +3f12231cc075974d6c58b83b005f561e \ No newline at end of file diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png index 5b4f21959..92dc0489b 100644 Binary files a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png and b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png differ diff --git a/docs/html/dir_710a5327734d15938c9752b39a7d94e5.html b/docs/html/dir_710a5327734d15938c9752b39a7d94e5.html index 99aaca618..74b728450 100644 --- a/docs/html/dir_710a5327734d15938c9752b39a7d94e5.html +++ b/docs/html/dir_710a5327734d15938c9752b39a7d94e5.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/hw Directory Reference +AceTime: /home/brian/src/AceTime/src/ace_time/hw Directory Reference @@ -22,7 +22,7 @@ @@ -31,18 +31,21 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    - + +/* @license-end */ - + +/* @license-end */
    Directory dependency graph for internal:
    -
    /home/brian/dev/AceTime/src/ace_time/internal
    +
    /home/brian/src/AceTime/src/ace_time/internal
    - - - - + + + +
    -

    Files

    file  Brokers.h [code]
     The classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb/ and zonedbx/ directories.
     
    @@ -91,7 +93,7 @@ diff --git a/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.map b/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.map index 71c719b45..1aa207422 100644 --- a/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.map +++ b/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.map @@ -1,6 +1,6 @@ - + - - + + diff --git a/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.md5 b/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.md5 index 70c0045d6..d5b334771 100644 --- a/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.md5 +++ b/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.md5 @@ -1 +1 @@ -fd161619f282e2b80908354c17fed30b \ No newline at end of file +82439770256a0d3cf789dbe081890e15 \ No newline at end of file diff --git a/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.png b/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.png index 825af8bee..a4b385fa4 100644 Binary files a/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.png and b/docs/html/dir_a39208a208c368a08eb059033749c10e_dep.png differ diff --git a/docs/html/dir_afb2025690de77b1a5b5001a410c869c.html b/docs/html/dir_afb2025690de77b1a5b5001a410c869c.html index 9b6d12551..f751214af 100644 --- a/docs/html/dir_afb2025690de77b1a5b5001a410c869c.html +++ b/docs/html/dir_afb2025690de77b1a5b5001a410c869c.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common Directory Reference +AceTime: /home/brian/src/AceTime/src/ace_time/common Directory Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */

    Files

    file  compat.h [code] - Macros and definitions that provide a consistency layer among the various Arduino boards for compatibility.
     
    @@ -80,7 +82,7 @@ diff --git a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f.html b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f.html index 209ec1d77..84afaf43c 100644 --- a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f.html +++ b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb Directory Reference +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb Directory Reference @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */
    Directory dependency graph for zonedb:
    -
    /home/brian/dev/AceTime/src/ace_time/zonedb
    +
    /home/brian/src/AceTime/src/ace_time/zonedb
    - - - - + + + +
    @@ -84,7 +87,7 @@ diff --git a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.map b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.map index c022820b9..af4c9a4a0 100644 --- a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.map +++ b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.map @@ -1,6 +1,6 @@ - + - - + + diff --git a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.md5 b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.md5 index 210015870..55f2d7cda 100644 --- a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.md5 +++ b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.md5 @@ -1 +1 @@ -2f23a1be0902d694e62201c64267b587 \ No newline at end of file +e7524a403ed8bcb4edcdcec825074e33 \ No newline at end of file diff --git a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.png b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.png index e05855a27..f8a870640 100644 Binary files a/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.png and b/docs/html/dir_b09928b61a970651c46b44aee9ef9d8f_dep.png differ diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css index 4f1ab9195..73ecbb2cb 100644 --- a/docs/html/doxygen.css +++ b/docs/html/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.13 */ +/* The standard CSS for doxygen 1.8.17 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -53,17 +53,24 @@ dt { font-weight: bold; } -div.multicol { +ul.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; + column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; + column-count: 3; } p.startli, p.startdd { margin-top: 2px; } +th p.starttd, p.intertd, p.endtd { + font-size: 100%; + font-weight: 700; +} + p.starttd { margin-top: 0px; } @@ -80,6 +87,15 @@ p.endtd { margin-bottom: 2px; } +p.interli { +} + +p.interdd { +} + +p.intertd { +} + /* @end */ caption { @@ -134,12 +150,12 @@ a.qindex { a.qindexHL { font-weight: bold; background-color: #9CAFD4; - color: #ffffff; + color: #FFFFFF; border: 1px double #869DCA; } .contents a.qindexHL:visited { - color: #ffffff; + color: #FFFFFF; } a.el { @@ -163,6 +179,25 @@ dl.el { margin-left: -1cm; } +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; @@ -177,8 +212,8 @@ pre.fragment { } div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } @@ -248,7 +283,7 @@ span.lineno a:hover { div.ah, span.ah { background-color: black; font-weight: bold; - color: #ffffff; + color: #FFFFFF; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; @@ -324,7 +359,7 @@ img.formulaDsp { } -img.formulaInl { +img.formulaInl, img.inline { vertical-align: middle; } @@ -402,6 +437,13 @@ blockquote { padding: 0 12px 0 16px; } +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + /* @end */ /* @@ -498,7 +540,7 @@ table.memberdecls { white-space: nowrap; } -.memItemRight { +.memItemRight, .memTemplItemRight { width: 100%; } @@ -666,17 +708,17 @@ dl.reflist dd { padding-left: 0px; } -.params .paramname, .retval .paramname { +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { font-weight: bold; vertical-align: top; } -.params .paramtype { +.params .paramtype, .tparams .paramtype { font-style: italic; vertical-align: top; } -.params .paramdir { +.params .paramdir, .tparams .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } @@ -1081,72 +1123,143 @@ div.headertitle padding: 5px 5px 5px 10px; } -dl -{ - padding: 0 0 0 10px; +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { margin-left: 0px; padding-left: 0px; } -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; } -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; } -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; } -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; } -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; } -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; } -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; } dl.section dd { @@ -1263,6 +1376,11 @@ div.toc { width: 200px; } +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; @@ -1271,6 +1389,12 @@ div.toc li { padding-top: 2px; } +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; color: #4665A2; @@ -1300,6 +1424,26 @@ div.toc li.level4 { margin-left: 45px; } +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + .inherit_header { font-weight: bold; color: gray; @@ -1413,7 +1557,7 @@ tr.heading h2 { } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; + border-top-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } @@ -1441,7 +1585,7 @@ tr.heading h2 { } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; + border-bottom-color: #FFFFFF; border-width: 10px; margin: 0px -10px; } @@ -1468,7 +1612,7 @@ tr.heading h2 { left: 100%; } #powerTip.e:after { - border-left-color: #ffffff; + border-left-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; @@ -1484,7 +1628,7 @@ tr.heading h2 { right: 100%; } #powerTip.w:after { - border-right-color: #ffffff; + border-right-color: #FFFFFF; border-width: 10px; top: 50%; margin-top: -10px; @@ -1592,5 +1736,36 @@ th.markdownTableHeadCenter, td.markdownTableBodyCenter { text-align: center } +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} /* @end */ + +u { + text-decoration: underline; +} + diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js index 1e6bf07f9..c8e84aaa6 100644 --- a/docs/html/dynsections.js +++ b/docs/html/dynsections.js @@ -1,3 +1,26 @@ +/* + @licstart The following is the entire license notice for the + JavaScript code in this file. + + Copyright (C) 1997-2017 by Dimitri van Heesch + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + + @licend The above is the entire license notice + for the JavaScript code in this file + */ function toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); @@ -15,7 +38,7 @@ function toggleVisibility(linkObj) summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } + } return false; } @@ -94,11 +117,11 @@ function toggleInherit(id) $(img).attr('src',src.substring(0,src.length-10)+'open.png'); } } - +/* @license-end */ $(document).ready(function() { $('.code,.codeRef').each(function() { - $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); + $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); }); }); diff --git a/docs/html/files.html b/docs/html/files.html index 8011ff85a..c71f2135e 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -1,9 +1,9 @@ - + - + AceTime: File List @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -80,7 +83,7 @@   common  common.h  compat.cpp - compat.hMacros and definitions that provide a consistency layer among the various Arduino boards for compatibility + compat.h  DateStrings.cpp  DateStrings.h  logging.h @@ -94,7 +97,7 @@  HardwareDateTime.h  HardwareTemperature.h   internal - Brokers.hThe classes provide a thin layer of indirection for accessing the zoneinfo files stored in the zonedb/ and zonedbx/ directories + Brokers.h  ZoneContext.h  ZoneContext.inc  ZoneInfo.h @@ -154,7 +157,7 @@ diff --git a/docs/html/functions.html b/docs/html/functions.html index 1513123fa..df70f99f0 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -82,21 +85,13 @@

    - a -

    diff --git a/docs/html/functions_b.html b/docs/html/functions_b.html index b06b00801..f426e71fa 100644 --- a/docs/html/functions_b.html +++ b/docs/html/functions_b.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
    AceTime -  1.1 +  1.1.1
    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
    @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -78,7 +81,7 @@

    - b -

      diff --git a/docs/html/functions_c.html b/docs/html/functions_c.html index 44e99735e..7dae44496 100644 --- a/docs/html/functions_c.html +++ b/docs/html/functions_c.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
      AceTime -  1.1 +  1.1.1
      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -92,7 +95,7 @@

      - c -

        diff --git a/docs/html/functions_d.html b/docs/html/functions_d.html index d7136b307..e2d199280 100644 --- a/docs/html/functions_d.html +++ b/docs/html/functions_d.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
        AceTime -  1.1 +  1.1.1
        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -84,12 +87,6 @@

        - d -

        • daysInMonth() : ace_time::LocalDate
        • -
        • deltaCode -: ace_time::basic::ZoneEra -, ace_time::basic::ZoneRule -, ace_time::extended::ZoneEra -, ace_time::extended::ZoneRule -
        • deltaMinutes : ace_time::basic::Transition , ace_time::extended::Transition @@ -103,7 +100,7 @@

          - d -

            diff --git a/docs/html/functions_e.html b/docs/html/functions_e.html index de7c8254d..33d14dfaf 100644 --- a/docs/html/functions_e.html +++ b/docs/html/functions_e.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
            AceTime -  1.1 +  1.1.1
            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -70,10 +73,6 @@

            - e -

              : ace_time::basic::Transition , ace_time::extended::ZoneMatch -
            • eras -: ace_time::basic::ZoneInfo -, ace_time::extended::ZoneInfo -
            • ExtendedZoneProcessor() : ace_time::ExtendedZoneProcessor
            • @@ -83,7 +82,7 @@

              - e -

                diff --git a/docs/html/functions_f.html b/docs/html/functions_f.html index 7801963bb..29b096702 100644 --- a/docs/html/functions_f.html +++ b/docs/html/functions_f.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                AceTime -  1.1 +  1.1.1
                Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -117,10 +120,6 @@

                - f -

                • forLocalDateTimeAndOffset() : ace_time::OffsetDateTime
                • -
                • format -: ace_time::basic::ZoneEra -, ace_time::extended::ZoneEra -
                • forMinutes() : ace_time::TimeOffset
                • @@ -159,11 +158,7 @@

                  - f -

                  @@ -171,7 +166,7 @@

                  - f -

                    diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index f433d220a..a1ea88490 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                    AceTime -  1.1 +  1.1.1
                    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                    @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -81,7 +84,7 @@

                    - a -

                      diff --git a/docs/html/functions_func_b.html b/docs/html/functions_func_b.html index a9f5052cd..2d9926e5d 100644 --- a/docs/html/functions_func_b.html +++ b/docs/html/functions_func_b.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                      AceTime -  1.1 +  1.1.1
                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -78,7 +81,7 @@

                      - b -

                        diff --git a/docs/html/functions_func_c.html b/docs/html/functions_func_c.html index a651ab66b..f32b56ccf 100644 --- a/docs/html/functions_func_c.html +++ b/docs/html/functions_func_c.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                        AceTime -  1.1 +  1.1.1
                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -92,7 +95,7 @@

                        - c -

                          diff --git a/docs/html/functions_func_d.html b/docs/html/functions_func_d.html index 90502d143..d08a0f77c 100644 --- a/docs/html/functions_func_d.html +++ b/docs/html/functions_func_d.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                          AceTime -  1.1 +  1.1.1
                          Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                          @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -93,7 +96,7 @@

                          - d -

                            diff --git a/docs/html/functions_func_e.html b/docs/html/functions_func_e.html index bf9b6a143..33d865b82 100644 --- a/docs/html/functions_func_e.html +++ b/docs/html/functions_func_e.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                            AceTime -  1.1 +  1.1.1
                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -75,7 +78,7 @@

                            - e -

                              diff --git a/docs/html/functions_func_f.html b/docs/html/functions_func_f.html index b05f46dd4..ff3c306c0 100644 --- a/docs/html/functions_func_f.html +++ b/docs/html/functions_func_f.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                              AceTime -  1.1 +  1.1.1
                              Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                              @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -163,7 +166,7 @@

                              - f -

                                diff --git a/docs/html/functions_func_g.html b/docs/html/functions_func_g.html index 0044222e6..e6026069b 100644 --- a/docs/html/functions_func_g.html +++ b/docs/html/functions_func_g.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                AceTime -  1.1 +  1.1.1
                                Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -124,7 +127,6 @@

                                - g -

                                  : ace_time::TimeZone , ace_time::ZoneProcessor , ace_time::ZoneProcessorCache -, ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >
                                • getUtcOffset() : ace_time::BasicZoneProcessor @@ -156,7 +158,7 @@

                                  - g -

                                    diff --git a/docs/html/functions_func_h.html b/docs/html/functions_func_h.html index b3777dfa9..ed9d8cc10 100644 --- a/docs/html/functions_func_h.html +++ b/docs/html/functions_func_h.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                    AceTime -  1.1 +  1.1.1
                                    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                    @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -76,7 +79,7 @@

                                    - h -

                                      diff --git a/docs/html/functions_func_i.html b/docs/html/functions_func_i.html index 0f15d8203..633419dea 100644 --- a/docs/html/functions_func_i.html +++ b/docs/html/functions_func_i.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                      AceTime -  1.1 +  1.1.1
                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -106,7 +109,7 @@

                                      - i -

                                        diff --git a/docs/html/functions_func_k.html b/docs/html/functions_func_k.html index 71d0923eb..c3ab83dc3 100644 --- a/docs/html/functions_func_k.html +++ b/docs/html/functions_func_k.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                        AceTime -  1.1 +  1.1.1
                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -72,7 +75,7 @@

                                        - k -

                                          diff --git a/docs/html/functions_func_l.html b/docs/html/functions_func_l.html index b080fd7b8..64cf7e8f8 100644 --- a/docs/html/functions_func_l.html +++ b/docs/html/functions_func_l.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                          AceTime -  1.1 +  1.1.1
                                          Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                          @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -106,7 +109,7 @@

                                          - l -

                                            diff --git a/docs/html/functions_func_m.html b/docs/html/functions_func_m.html index d8fb72981..ecec18c17 100644 --- a/docs/html/functions_func_m.html +++ b/docs/html/functions_func_m.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                            AceTime -  1.1 +  1.1.1
                                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -88,7 +91,7 @@

                                            - m -

                                              diff --git a/docs/html/functions_func_n.html b/docs/html/functions_func_n.html index 51a38a3e3..3e77a63bc 100644 --- a/docs/html/functions_func_n.html +++ b/docs/html/functions_func_n.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                              AceTime -  1.1 +  1.1.1
                                              Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                              @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -72,7 +75,7 @@

                                              - n -

                                                diff --git a/docs/html/functions_func_o.html b/docs/html/functions_func_o.html index 4cb7c6a68..b5ea60327 100644 --- a/docs/html/functions_func_o.html +++ b/docs/html/functions_func_o.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                AceTime -  1.1 +  1.1.1
                                                Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -72,7 +75,7 @@

                                                - o -

                                                  diff --git a/docs/html/functions_func_p.html b/docs/html/functions_func_p.html index 3097ca3d3..f1050ef6c 100644 --- a/docs/html/functions_func_p.html +++ b/docs/html/functions_func_p.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                  AceTime -  1.1 +  1.1.1
                                                  Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                  @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -90,7 +93,7 @@

                                                  - p -

                                                    diff --git a/docs/html/functions_func_r.html b/docs/html/functions_func_r.html index 9a427c97e..02e25af12 100644 --- a/docs/html/functions_func_r.html +++ b/docs/html/functions_func_r.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                    AceTime -  1.1 +  1.1.1
                                                    Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                    @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -100,7 +103,7 @@

                                                    - r -

                                                      diff --git a/docs/html/functions_func_s.html b/docs/html/functions_func_s.html index cdd432501..ff2b332cc 100644 --- a/docs/html/functions_func_s.html +++ b/docs/html/functions_func_s.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                      AceTime -  1.1 +  1.1.1
                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -122,7 +125,7 @@

                                                      - s -

                                                        diff --git a/docs/html/functions_func_t.html b/docs/html/functions_func_t.html index efd893d4d..e56a50646 100644 --- a/docs/html/functions_func_t.html +++ b/docs/html/functions_func_t.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                        AceTime -  1.1 +  1.1.1
                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -79,7 +82,7 @@

                                                        - t -

                                                          : ace_time::TimeZone
                                                        • timeZone() -: ace_time::ZonedDateTime +: ace_time::ZonedDateTime
                                                        • TimingStats() : ace_time::common::TimingStats @@ -134,7 +137,7 @@

                                                          - t -

                                                            diff --git a/docs/html/functions_func_w.html b/docs/html/functions_func_w.html index a44f31e95..400014274 100644 --- a/docs/html/functions_func_w.html +++ b/docs/html/functions_func_w.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                            AceTime -  1.1 +  1.1.1
                                                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -72,7 +75,7 @@

                                                            - w -

                                                              diff --git a/docs/html/functions_func_y.html b/docs/html/functions_func_y.html index bd4417518..9edeed642 100644 --- a/docs/html/functions_func_y.html +++ b/docs/html/functions_func_y.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                              AceTime -  1.1 +  1.1.1
                                                              Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                              @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -81,7 +84,7 @@

                                                              - y -

                                                                diff --git a/docs/html/functions_func_z.html b/docs/html/functions_func_z.html index 1ac8e369d..61cac5705 100644 --- a/docs/html/functions_func_z.html +++ b/docs/html/functions_func_z.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                                AceTime -  1.1 +  1.1.1
                                                                Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -78,7 +81,7 @@

                                                                - z -

                                                                  diff --git a/docs/html/functions_func_0x7e.html b/docs/html/functions_func_~.html similarity index 84% rename from docs/html/functions_func_0x7e.html rename to docs/html/functions_func_~.html index 5e60c29c6..23123785b 100644 --- a/docs/html/functions_func_0x7e.html +++ b/docs/html/functions_func_~.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Functions @@ -22,7 +22,7 @@
                                                                  AceTime -  1.1 +  1.1.1
                                                                  Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                  @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -62,7 +65,7 @@
                                                                    -

                                                                  - ~ -

                                                                    +

                                                                    - ~ -

                                                                    • ~Clock() : ace_time::clock::Clock
                                                                    • @@ -72,7 +75,7 @@

                                                                      - ~ -

                                                                        diff --git a/docs/html/functions_g.html b/docs/html/functions_g.html index 979a7a484..d6a6af8ed 100644 --- a/docs/html/functions_g.html +++ b/docs/html/functions_g.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                        AceTime -  1.1 +  1.1.1
                                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                        @@ -31,18 +31,21 @@
                                                                  - + +/* @license-end */ @@ -124,7 +127,6 @@

                                                                  - g -

                                                                    : ace_time::TimeZone , ace_time::ZoneProcessor , ace_time::ZoneProcessorCache -, ace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >
                                                                  • getUtcOffset() : ace_time::BasicZoneProcessor @@ -156,7 +158,7 @@

                                                                    - g -

                                                                      diff --git a/docs/html/functions_h.html b/docs/html/functions_h.html index b6b6a5428..b8e1d1b80 100644 --- a/docs/html/functions_h.html +++ b/docs/html/functions_h.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                      AceTime -  1.1 +  1.1.1
                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -76,7 +79,7 @@

                                                                      - h -

                                                                        diff --git a/docs/html/functions_i.html b/docs/html/functions_i.html index 3abd807d7..ca878adfe 100644 --- a/docs/html/functions_i.html +++ b/docs/html/functions_i.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                        AceTime -  1.1 +  1.1.1
                                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -66,10 +69,6 @@

                                                                        - i -

                                                                        • init() : ace_time::extended::TransitionStorage< SIZE >
                                                                        • -
                                                                        • inMonth -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                        • isDst() : ace_time::TimeZone
                                                                        • @@ -110,7 +109,7 @@

                                                                          - i -

                                                                            diff --git a/docs/html/functions_k.html b/docs/html/functions_k.html index 20c068845..ef95cbf9b 100644 --- a/docs/html/functions_k.html +++ b/docs/html/functions_k.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                            AceTime -  1.1 +  1.1.1
                                                                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -103,14 +106,8 @@

                                                                            - k -

                                                                            • kLocalPort : ace_time::clock::NtpClock
                                                                            • -
                                                                            • kMaxUntilYearTiny -: ace_time::basic::ZoneEra -, ace_time::extended::ZoneEra -
                                                                            • kMaxYearTiny -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -, ace_time::LocalDate +: ace_time::LocalDate
                                                                            • kMinYearTiny : ace_time::LocalDate @@ -153,18 +150,6 @@

                                                                              - k -

                                                                              • kStatusWaitForRetry : ace_time::clock::SystemClockLoop
                                                                              • -
                                                                              • kSuffixS -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                              • -
                                                                              • kSuffixU -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                              • -
                                                                              • kSuffixW -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                              • kSunday : ace_time::LocalDate
                                                                              • @@ -189,7 +174,7 @@

                                                                                - k -

                                                                                  diff --git a/docs/html/functions_l.html b/docs/html/functions_l.html index cf423d512..9475da1f8 100644 --- a/docs/html/functions_l.html +++ b/docs/html/functions_l.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                  AceTime -  1.1 +  1.1.1
                                                                                  Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                  @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -63,10 +66,8 @@
                                                                                  Here is a list of all documented class members with links to the class documentation for each member:

                                                                                  - l -

                                                                                    -
                                                                                  • letter -: ace_time::basic::ZoneRule -, ace_time::extended::Transition -, ace_time::extended::ZoneRule +
                                                                                  • letter() +: ace_time::extended::Transition
                                                                                  • letterBuf : ace_time::extended::Transition @@ -111,7 +112,7 @@

                                                                                    - l -

                                                                                      diff --git a/docs/html/functions_m.html b/docs/html/functions_m.html index 54a76e8ec..e322e769d 100644 --- a/docs/html/functions_m.html +++ b/docs/html/functions_m.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                      AceTime -  1.1 +  1.1.1
                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -101,7 +104,7 @@

                                                                                      - m -

                                                                                        diff --git a/docs/html/functions_n.html b/docs/html/functions_n.html index c2d70d106..cf580288b 100644 --- a/docs/html/functions_n.html +++ b/docs/html/functions_n.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                        AceTime -  1.1 +  1.1.1
                                                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -63,24 +66,16 @@
                                                                                        Here is a list of all documented class members with links to the class documentation for each member:

                                                                                        - n -

                                                                                        diff --git a/docs/html/functions_o.html b/docs/html/functions_o.html index 32d72d5a2..303866863 100644 --- a/docs/html/functions_o.html +++ b/docs/html/functions_o.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                        AceTime -  1.1 +  1.1.1
                                                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -63,10 +66,6 @@
                                                                                        Here is a list of all documented class members with links to the class documentation for each member:

                                                                                        - o -

                                                                                          -
                                                                                        • offsetCode -: ace_time::basic::ZoneEra -, ace_time::extended::ZoneEra -
                                                                                        • OffsetDateTime() : ace_time::OffsetDateTime
                                                                                        • @@ -74,14 +73,6 @@

                                                                                          - o -

                                                                                            : ace_time::basic::Transition , ace_time::extended::Transition -
                                                                                          • onDayOfMonth -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                          • -
                                                                                          • onDayOfWeek -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                          • operator== : ace_time::LocalDate , ace_time::LocalDateTime @@ -99,7 +90,7 @@

                                                                                            - o -

                                                                                              diff --git a/docs/html/functions_p.html b/docs/html/functions_p.html index 9c415b875..719e52df0 100644 --- a/docs/html/functions_p.html +++ b/docs/html/functions_p.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                              AceTime -  1.1 +  1.1.1
                                                                                              Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                              @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -90,7 +93,7 @@

                                                                                              - p -

                                                                                                diff --git a/docs/html/functions_r.html b/docs/html/functions_r.html index 3ff31d9d6..9498f541a 100644 --- a/docs/html/functions_r.html +++ b/docs/html/functions_r.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                AceTime -  1.1 +  1.1.1
                                                                                                Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -104,7 +107,7 @@

                                                                                                - r -

                                                                                                  diff --git a/docs/html/functions_rela.html b/docs/html/functions_rela.html index be438ded1..10234ab56 100644 --- a/docs/html/functions_rela.html +++ b/docs/html/functions_rela.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Related Functions @@ -22,7 +22,7 @@
                                                                                                  AceTime -  1.1 +  1.1.1
                                                                                                  Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                  @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -75,7 +78,7 @@ diff --git a/docs/html/functions_s.html b/docs/html/functions_s.html index 40d7be2f2..75dc0f3f1 100644 --- a/docs/html/functions_s.html +++ b/docs/html/functions_s.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                  AceTime -  1.1 +  1.1.1
                                                                                                  Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                  @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -99,7 +102,7 @@

                                                                                                  - s -

                                                                                                    : ace_time::ZoneProcessor
                                                                                                  • sign() -: ace_time::TimePeriod +: ace_time::TimePeriod
                                                                                                  • startDateTime : ace_time::extended::Transition @@ -109,10 +112,6 @@

                                                                                                    - s -

                                                                                                      : ace_time::basic::Transition , ace_time::extended::Transition -
                                                                                                    • startYear -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                                                    • swap() : ace_time::extended::TransitionStorage< SIZE >
                                                                                                    • @@ -134,7 +133,7 @@

                                                                                                      - s -

                                                                                                        diff --git a/docs/html/functions_t.html b/docs/html/functions_t.html index 4c6295635..11aefc4c3 100644 --- a/docs/html/functions_t.html +++ b/docs/html/functions_t.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                        AceTime -  1.1 +  1.1.1
                                                                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                        @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -79,7 +82,7 @@

                                                                                                        - t -

                                                                                                          : ace_time::TimeZone
                                                                                                        • timeZone() -: ace_time::ZonedDateTime +: ace_time::ZonedDateTime
                                                                                                        • TimingStats() : ace_time::common::TimingStats @@ -125,14 +128,6 @@

                                                                                                          - t -

                                                                                                            , ace_time::OffsetDateTime , ace_time::ZonedDateTime -
                                                                                                          • toYearTiny -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                                          • -
                                                                                                          • transitionBufSize -: ace_time::basic::ZoneInfo -, ace_time::extended::ZoneInfo -
                                                                                                          • TransitionStorage() : ace_time::extended::TransitionStorage< SIZE >
                                                                                                          • @@ -145,17 +140,13 @@

                                                                                                            - t -

                                                                                                            diff --git a/docs/html/functions_u.html b/docs/html/functions_u.html index 1f334f588..68ffef5e8 100644 --- a/docs/html/functions_u.html +++ b/docs/html/functions_u.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                            AceTime -  1.1 +  1.1.1
                                                                                                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -67,37 +70,13 @@

                                                                                                            - u -

                                                                                                            diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index ff1f1f449..b5fb7952c 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members - Variables @@ -22,7 +22,7 @@
                                                                                                            AceTime -  1.1 +  1.1.1
                                                                                                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                            @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -70,24 +73,10 @@

                                                                                                            - a -

                                                                                                            - d -

                                                                                                              -
                                                                                                            • deltaCode -: ace_time::basic::ZoneEra -, ace_time::basic::ZoneRule -, ace_time::extended::ZoneEra -, ace_time::extended::ZoneRule -
                                                                                                            • deltaMinutes : ace_time::basic::Transition , ace_time::extended::Transition @@ -100,30 +89,6 @@

                                                                                                              - e -

                                                                                                              - - -

                                                                                                              - f -

                                                                                                              - - -

                                                                                                              - i -

                                                                                                              @@ -165,14 +130,8 @@

                                                                                                              - k -

                                                                                                              • kLocalPort : ace_time::clock::NtpClock
                                                                                                              • -
                                                                                                              • kMaxUntilYearTiny -: ace_time::basic::ZoneEra -, ace_time::extended::ZoneEra -
                                                                                                              • kMaxYearTiny -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -, ace_time::LocalDate +: ace_time::LocalDate
                                                                                                              • kMinYearTiny : ace_time::LocalDate @@ -215,18 +174,6 @@

                                                                                                                - k -

                                                                                                                • kStatusWaitForRetry : ace_time::clock::SystemClockLoop
                                                                                                                • -
                                                                                                                • kSuffixS -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                                                                • -
                                                                                                                • kSuffixU -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                                                                • -
                                                                                                                • kSuffixW -: ace_time::basic::ZoneContext -, ace_time::extended::ZoneContext -
                                                                                                                • kSunday : ace_time::LocalDate
                                                                                                                • @@ -249,10 +196,6 @@

                                                                                                                  - k -

                                                                                                                    - l -

                                                                                                                      -
                                                                                                                    • letter -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                                                    • letterBuf : ace_time::extended::Transition
                                                                                                                    • @@ -278,35 +221,11 @@

                                                                                                                      - m -

                                                                                                                      -

                                                                                                                      - n -

                                                                                                                      - -

                                                                                                                      - o -

                                                                                                                        -
                                                                                                                      • offsetCode -: ace_time::basic::ZoneEra -, ace_time::extended::ZoneEra -
                                                                                                                      • offsetMinutes : ace_time::basic::Transition , ace_time::extended::Transition
                                                                                                                      • -
                                                                                                                      • onDayOfMonth -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                                                      • -
                                                                                                                      • onDayOfWeek -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                                                      • originalTransitionTime : ace_time::extended::Transition
                                                                                                                      • @@ -330,22 +249,10 @@

                                                                                                                        - s -

                                                                                                                        - t -

                                                                                                                          -
                                                                                                                        • toYearTiny -: ace_time::basic::ZoneRule -, ace_time::extended::ZoneRule -
                                                                                                                        • -
                                                                                                                        • transitionBufSize -: ace_time::basic::ZoneInfo -, ace_time::extended::ZoneInfo -
                                                                                                                        • transitionTime : ace_time::extended::Transition
                                                                                                                        • @@ -355,10 +262,6 @@

                                                                                                                          - t -

                                                                                                                          @@ -367,30 +270,6 @@

                                                                                                                          - u -

                                                                                                                          @@ -402,18 +281,8 @@

                                                                                                                          - y -

                                                                                                                            - z -

                                                                                                                            @@ -421,7 +290,7 @@

                                                                                                                            - z -

                                                                                                                              diff --git a/docs/html/functions_w.html b/docs/html/functions_w.html index 1088f563e..8f9553344 100644 --- a/docs/html/functions_w.html +++ b/docs/html/functions_w.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                                              AceTime -  1.1 +  1.1.1
                                                                                                                              Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                              @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -72,7 +75,7 @@

                                                                                                                              - w -

                                                                                                                                diff --git a/docs/html/functions_y.html b/docs/html/functions_y.html index 23681e239..a376dd74e 100644 --- a/docs/html/functions_y.html +++ b/docs/html/functions_y.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                                                AceTime -  1.1 +  1.1.1
                                                                                                                                Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -82,7 +85,7 @@

                                                                                                                                - y -

                                                                                                                                  diff --git a/docs/html/functions_z.html b/docs/html/functions_z.html index eeca3192d..17daa7274 100644 --- a/docs/html/functions_z.html +++ b/docs/html/functions_z.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                                                  AceTime -  1.1 +  1.1.1
                                                                                                                                  Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                  @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -63,21 +66,11 @@
                                                                                                                                  Here is a list of all documented class members with links to the class documentation for each member:

                                                                                                                                  - z -

                                                                                                                                    -
                                                                                                                                  • zoneContext -: ace_time::basic::ZoneInfo -, ace_time::extended::ZoneInfo -
                                                                                                                                  • ZonedDateTime() : ace_time::ZonedDateTime
                                                                                                                                  • zoneId -: ace_time::basic::ZoneInfo -, ace_time::extended::ZoneInfo -, ace_time::TimeZoneData -
                                                                                                                                  • -
                                                                                                                                  • zonePolicy -: ace_time::basic::ZoneEra -, ace_time::extended::ZoneEra +: ace_time::TimeZoneData
                                                                                                                                  • ZoneProcessor() : ace_time::ZoneProcessor @@ -91,7 +84,7 @@

                                                                                                                                    - z -

                                                                                                                                      diff --git a/docs/html/functions_0x7e.html b/docs/html/functions_~.html similarity index 84% rename from docs/html/functions_0x7e.html rename to docs/html/functions_~.html index f58409ce8..e6f8babb3 100644 --- a/docs/html/functions_0x7e.html +++ b/docs/html/functions_~.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Members @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -62,7 +65,7 @@
                                                                                                                                      Here is a list of all documented class members with links to the class documentation for each member:
                                                                                                                                      -

                                                                                                                                      - ~ -

                                                                                                                                        +

                                                                                                                                        - ~ -

                                                                                                                                        • ~Clock() : ace_time::clock::Clock
                                                                                                                                        • @@ -72,7 +75,7 @@

                                                                                                                                          - ~ -

                                                                                                                                            diff --git a/docs/html/globals.html b/docs/html/globals.html index f23d41891..94760f367 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -1,9 +1,9 @@ - + - + AceTime: File Members @@ -22,7 +22,7 @@
                                                                                                                                            AceTime -  1.1 +  1.1.1
                                                                                                                                            Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                            @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */ @@ -73,7 +76,7 @@ diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index dd59d81c2..6f48e40d1 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -1,9 +1,9 @@ - + - + AceTime: File Members @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -70,7 +73,7 @@ diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index ef9a605ec..87493ab0a 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -1,9 +1,9 @@ - + - + AceTime: File Members @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -70,7 +73,7 @@ diff --git a/docs/html/graph_legend.html b/docs/html/graph_legend.html index 511ce9de9..69c9e75ad 100644 --- a/docs/html/graph_legend.html +++ b/docs/html/graph_legend.html @@ -1,9 +1,9 @@ - + - + AceTime: Graph Legend @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -65,11 +68,42 @@

                                                                                                                                      This page explains how to interpret the graphs that are generated by doxygen.

                                                                                                                                      -

                                                                                                                                      Consider the following example:

                                                                                                                                      /*! Invisible class because of truncation */
                                                                                                                                      class Invisible { };
                                                                                                                                      /*! Truncated class, inheritance relation is hidden */
                                                                                                                                      class Truncated : public Invisible { };
                                                                                                                                      /* Class not documented with doxygen comments */
                                                                                                                                      class Undocumented { };
                                                                                                                                      /*! Class that is inherited using public inheritance */
                                                                                                                                      class PublicBase : public Truncated { };
                                                                                                                                      /*! A template class */
                                                                                                                                      template<class T> class Templ { };
                                                                                                                                      /*! Class that is inherited using protected inheritance */
                                                                                                                                      class ProtectedBase { };
                                                                                                                                      /*! Class that is inherited using private inheritance */
                                                                                                                                      class PrivateBase { };
                                                                                                                                      /*! Class that is used by the Inherited class */
                                                                                                                                      class Used { };
                                                                                                                                      /*! Super class that inherits a number of other classes */
                                                                                                                                      class Inherited : public PublicBase,
                                                                                                                                      protected ProtectedBase,
                                                                                                                                      private PrivateBase,
                                                                                                                                      public Undocumented,
                                                                                                                                      public Templ<int>
                                                                                                                                      {
                                                                                                                                      private:
                                                                                                                                      Used *m_usedClass;
                                                                                                                                      };

                                                                                                                                      This will result in the following graph:

                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -

                                                                                                                                      The boxes in the above graph have the following meaning:

                                                                                                                                      +

                                                                                                                                      Consider the following example:

                                                                                                                                      /*! Invisible class because of truncation */
                                                                                                                                      +
                                                                                                                                      class Invisible { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! Truncated class, inheritance relation is hidden */
                                                                                                                                      +
                                                                                                                                      class Truncated : public Invisible { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /* Class not documented with doxygen comments */
                                                                                                                                      +
                                                                                                                                      class Undocumented { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! Class that is inherited using public inheritance */
                                                                                                                                      +
                                                                                                                                      class PublicBase : public Truncated { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! A template class */
                                                                                                                                      +
                                                                                                                                      template<class T> class Templ { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! Class that is inherited using protected inheritance */
                                                                                                                                      +
                                                                                                                                      class ProtectedBase { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! Class that is inherited using private inheritance */
                                                                                                                                      +
                                                                                                                                      class PrivateBase { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! Class that is used by the Inherited class */
                                                                                                                                      +
                                                                                                                                      class Used { };
                                                                                                                                      +
                                                                                                                                      +
                                                                                                                                      /*! Super class that inherits a number of other classes */
                                                                                                                                      +
                                                                                                                                      class Inherited : public PublicBase,
                                                                                                                                      +
                                                                                                                                      protected ProtectedBase,
                                                                                                                                      +
                                                                                                                                      private PrivateBase,
                                                                                                                                      +
                                                                                                                                      public Undocumented,
                                                                                                                                      +
                                                                                                                                      public Templ<int>
                                                                                                                                      +
                                                                                                                                      {
                                                                                                                                      +
                                                                                                                                      private:
                                                                                                                                      +
                                                                                                                                      Used *m_usedClass;
                                                                                                                                      +
                                                                                                                                      };
                                                                                                                                      +

                                                                                                                                      This will result in the following graph:

                                                                                                                                      +

                                                                                                                                      The boxes in the above graph have the following meaning:

                                                                                                                                      • A filled gray box represents the struct or class for which the graph is generated.
                                                                                                                                      • @@ -98,7 +132,7 @@ diff --git a/docs/html/graph_legend.md5 b/docs/html/graph_legend.md5 index a06ed050c..8fcdccd1b 100644 --- a/docs/html/graph_legend.md5 +++ b/docs/html/graph_legend.md5 @@ -1 +1 @@ -387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file +f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file diff --git a/docs/html/graph_legend.png b/docs/html/graph_legend.png index 81788d8b7..7e2cbcfb2 100644 Binary files a/docs/html/graph_legend.png and b/docs/html/graph_legend.png differ diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index 844cbf30e..e2aecf9ac 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Hierarchy @@ -22,7 +22,7 @@
                                                                                                                                        AceTime -  1.1 +  1.1.1
                                                                                                                                        Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                        @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */ @@ -68,21 +71,21 @@

                                                                                                                                      Go to the graphical class hierarchy

                                                                                                                                      This inheritance list is sorted roughly, but not completely, alphabetically:
                                                                                                                                      [detail level 123]
                                                                                                                                      - + - - - - - + + + + + - + - - - + + + @@ -92,50 +95,40 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                       Cace_time::BasicZoneA thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data
                                                                                                                                       Cace_time::BasicZoneA thin wrapper around a basic::ZoneInfo data structure to provide a stable API access to some useful basic::ZoneInfo data
                                                                                                                                       Cace_time::clock::ClockBase class for objects that provide and store time
                                                                                                                                       Cace_time::clock::DS3231ClockAn implementation of Clock that uses a DS3231 RTC chip
                                                                                                                                       Cace_time::clock::NtpClockA Clock that retrieves the time from an NTP server
                                                                                                                                       Cace_time::clock::SystemClockA Clock that uses the Arduino millis() function to advance the time returned to the user
                                                                                                                                       Cace_time::clock::SystemClockCoroutineA version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called
                                                                                                                                       Cace_time::clock::SystemClockLoopA subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call
                                                                                                                                       Cace_time::clock::DS3231ClockAn implementation of Clock that uses a DS3231 RTC chip
                                                                                                                                       Cace_time::clock::NtpClockA Clock that retrieves the time from an NTP server
                                                                                                                                       Cace_time::clock::SystemClockA Clock that uses the Arduino millis() function to advance the time returned to the user
                                                                                                                                       Cace_time::clock::SystemClockCoroutineA version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called
                                                                                                                                       Cace_time::clock::SystemClockLoopA subclass of SystemClock that sync with its mReferenceClock using a blocking mReferenceClock->getNow() call
                                                                                                                                       CCoroutine
                                                                                                                                       Cace_time::clock::SystemClockCoroutineA version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called
                                                                                                                                       Cace_time::clock::SystemClockCoroutineA version of SystemClock that mixes in the ace_routine::Coroutine class so that that the non-block methods of mReferenceClock are called
                                                                                                                                       Cace_time::hw::CrcEepromThin wrapper around the EEPROM object (from the the built-in EEPROM library) to read and write a given block of data along with its CRC check
                                                                                                                                       Cace_time::DateStringsClass that translates a numeric month (1-12) or dayOfWeek (1-7) into a human readable string
                                                                                                                                       Cace_time::extended::DateTupleA tuple that represents a date and time
                                                                                                                                       Cace_time::hw::DS3231A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip
                                                                                                                                       Cace_time::ExtendedZoneA thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data
                                                                                                                                       Cace_time::hw::HardwareDateTimeThe date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip
                                                                                                                                       Cace_time::hw::DS3231A class that reads and writes HardwareDateTime and HardwareTemperature from a DS3231 RTC chip
                                                                                                                                       Cace_time::ExtendedZoneA thin wrapper around an extended::ZoneInfo data structure to provide a stable API access to some useful extended::ZoneInfo data
                                                                                                                                       Cace_time::hw::HardwareDateTimeThe date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip
                                                                                                                                       Cace_time::hw::HardwareTemperatureThe temperature in Celcius as a signed (8.8) fixed-point integer
                                                                                                                                       Cace_time::LocalDateThe date (year, month, day) representing the date without regards to time zone
                                                                                                                                       Cace_time::LocalDateTimeClass that holds the date-time as the components (year, month, day, hour, minute, second) without regards to the time zone
                                                                                                                                       Cace_time::TimeOffsetA thin wrapper that represents a time offset from a reference point, usually 00:00 at UTC, but not always
                                                                                                                                       Cace_time::TimePeriodRepresents a period of time relative to some known point in time, potentially represented by a DateTime
                                                                                                                                       Cace_time::TimeZoneClass that describes a time zone
                                                                                                                                       Cace_time::TimeZoneDataData structure that captures the internal state of a TimeZone object with enough information so that it can be serialized using TimeZone::toTimeZoneData() then reconstructed using ZoneManager::createForTimeZoneData()
                                                                                                                                       Cace_time::TimeZoneDataData structure that captures the internal state of a TimeZone object with enough information so that it can be serialized using TimeZone::toTimeZoneData() then reconstructed using ZoneManager::createForTimeZoneData()
                                                                                                                                       Cace_time::common::TimingStatsHelper class to collect timing statistics such as min, max, average
                                                                                                                                       Cace_time::extended::TransitionRepresents an interval of time where the time zone obeyed a certain UTC offset and DST delta
                                                                                                                                       Cace_time::basic::TransitionData structure that defines the start of a specific UTC offset as described by the matching ZoneEra and its ZoneRule for a given year
                                                                                                                                       Cace_time::basic::TransitionData structure that defines the start of a specific UTC offset as described by the matching ZoneEra and its ZoneRule for a given year
                                                                                                                                       Cace_time::extended::TransitionStorage< SIZE >A heap manager which is specialized and tuned to manage a collection of Transitions, keeping track of unused, used, and active states, using a fixed array of Transitions
                                                                                                                                       Cace_time::extended::TransitionStorage< kMaxTransitions >
                                                                                                                                       Cace_time::extended::YearMonthTupleA simple tuple to represent a year/month pair
                                                                                                                                       Cace_time::extended::ZoneContextMetadata about the zone database
                                                                                                                                       Cace_time::basic::ZoneContextMetadata about the zone database
                                                                                                                                       Cace_time::ZonedDateTimeThe date (year, month, day), time (hour, minute, second), and a timeZone representing an instant in time
                                                                                                                                       Cace_time::basic::ZoneEraAn entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period
                                                                                                                                       Cace_time::extended::ZoneEraAn entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period
                                                                                                                                       Cace_time::extended::ZoneEraBrokerData broker for accessing ZoneEra
                                                                                                                                       Cace_time::basic::ZoneEraBrokerData broker for accessing ZoneEra
                                                                                                                                       Cace_time::basic::ZoneInfoRepresentation of a given time zone, implemented as an array of ZoneEra records
                                                                                                                                       Cace_time::extended::ZoneInfoRepresentation of a given time zone, implemented as an array of ZoneEra records
                                                                                                                                       Cace_time::extended::ZoneInfoBrokerData broker for accessing ZoneInfo
                                                                                                                                       Cace_time::basic::ZoneInfoBrokerData broker for accessing ZoneInfo
                                                                                                                                       Cace_time::ZoneManager< ZI, ZR, ZSC >Returns the TimeZone given the zoneInfo, zoneName, or zoneId
                                                                                                                                       Cace_time::ZoneManager< basic::ZoneInfo, BasicZoneRegistrar, BasicZoneProcessorCache< SIZE > >
                                                                                                                                       Cace_time::BasicZoneManager< SIZE >
                                                                                                                                       Cace_time::ZoneManager< extended::ZoneInfo, ExtendedZoneRegistrar, ExtendedZoneProcessorCache< SIZE > >
                                                                                                                                       Cace_time::ExtendedZoneManager< SIZE >
                                                                                                                                       Cace_time::extended::ZoneMatchData structure that captures the matching ZoneEra and its ZoneRule transitions for a given year
                                                                                                                                       Cace_time::basic::ZonePolicyA collection of transition rules which describe the DST rules of a given administrative region
                                                                                                                                       Cace_time::extended::ZonePolicyA collection of transition rules which describe the DST rules of a given administrative region
                                                                                                                                       Cace_time::extended::ZonePolicyBrokerData broker for accessing ZonePolicy
                                                                                                                                       Cace_time::basic::ZonePolicyBrokerData broker for accessing ZonePolicy
                                                                                                                                       Cace_time::ZoneProcessorBase interface for ZoneProcessor classes
                                                                                                                                       Cace_time::BasicZoneProcessorAn implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database
                                                                                                                                       Cace_time::ExtendedZoneProcessorAn implementation of ZoneProcessor that supports for all zones defined by the TZ Database
                                                                                                                                       Cace_time::ZoneProcessorCacheCommon interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache
                                                                                                                                       Cace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request
                                                                                                                                       Cace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >
                                                                                                                                       Cace_time::BasicZoneProcessorCache< SIZE >
                                                                                                                                       Cace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >
                                                                                                                                       Cace_time::ExtendedZoneProcessorCache< SIZE >
                                                                                                                                       Cace_time::ZoneRegistrar< ZI, ZRB, ZIB, STRCMP_P, STRCMP_PP >Class that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g
                                                                                                                                       Cace_time::extended::ZoneRegistryBrokerData broker for accessing the ZoneRegistry
                                                                                                                                       Cace_time::basic::ZoneRegistryBrokerData broker for accessing the ZoneRegistry
                                                                                                                                       Cace_time::extended::ZoneRuleA time zone transition rule
                                                                                                                                       Cace_time::basic::ZoneRuleA time zone transition rule
                                                                                                                                       Cace_time::extended::ZoneRuleBrokerData broker for accessing ZoneRule
                                                                                                                                       Cace_time::basic::ZoneRuleBrokerData broker for accessing ZoneRule
                                                                                                                                       Cace_time::ZonedDateTimeThe date (year, month, day), time (hour, minute, second), and a timeZone representing an instant in time
                                                                                                                                       Cace_time::extended::ZoneEraBrokerData broker for accessing ZoneEra
                                                                                                                                       Cace_time::basic::ZoneEraBrokerData broker for accessing ZoneEra
                                                                                                                                       Cace_time::extended::ZoneInfoBrokerData broker for accessing ZoneInfo
                                                                                                                                       Cace_time::basic::ZoneInfoBrokerData broker for accessing ZoneInfo
                                                                                                                                       Cace_time::ZoneManager< ZI, ZR, ZSC >Returns the TimeZone given the zoneInfo, zoneName, or zoneId
                                                                                                                                       Cace_time::ZoneManager< basic::ZoneInfo, BasicZoneRegistrar, BasicZoneProcessorCache< SIZE > >
                                                                                                                                       Cace_time::BasicZoneManager< SIZE >
                                                                                                                                       Cace_time::ZoneManager< extended::ZoneInfo, ExtendedZoneRegistrar, ExtendedZoneProcessorCache< SIZE > >
                                                                                                                                       Cace_time::ExtendedZoneManager< SIZE >
                                                                                                                                       Cace_time::extended::ZoneMatchData structure that captures the matching ZoneEra and its ZoneRule transitions for a given year
                                                                                                                                       Cace_time::extended::ZonePolicyBrokerData broker for accessing ZonePolicy
                                                                                                                                       Cace_time::basic::ZonePolicyBrokerData broker for accessing ZonePolicy
                                                                                                                                       Cace_time::ZoneProcessorBase interface for ZoneProcessor classes
                                                                                                                                       Cace_time::BasicZoneProcessorAn implementation of ZoneProcessor that supports a subset of the zones containing in the TZ Database
                                                                                                                                       Cace_time::ExtendedZoneProcessorAn implementation of ZoneProcessor that supports for all zones defined by the TZ Database
                                                                                                                                       Cace_time::ZoneProcessorCacheCommon interface to BasicZoneProcessorCache and ExtendedZoneProcessorCache
                                                                                                                                       Cace_time::ZoneProcessorCacheImpl< SIZE, TYPE, ZS, ZI, ZIB >A cache of ZoneProcessors that provides a ZoneProcessor to the TimeZone upon request
                                                                                                                                       Cace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeBasicManaged, BasicZoneProcessor, basic::ZoneInfo, basic::ZoneInfoBroker >
                                                                                                                                       Cace_time::BasicZoneProcessorCache< SIZE >
                                                                                                                                       Cace_time::ZoneProcessorCacheImpl< SIZE, ZoneProcessorCache::kTypeExtendedManaged, ExtendedZoneProcessor, extended::ZoneInfo, extended::ZoneInfoBroker >
                                                                                                                                       Cace_time::ExtendedZoneProcessorCache< SIZE >
                                                                                                                                       Cace_time::ZoneRegistrar< ZI, ZRB, ZIB, STRCMP_P, STRCMP_PP >Class that allows looking up the ZoneInfo (ZI) from its TZDB identifier (e.g
                                                                                                                                       Cace_time::extended::ZoneRegistryBrokerData broker for accessing the ZoneRegistry
                                                                                                                                       Cace_time::basic::ZoneRegistryBrokerData broker for accessing the ZoneRegistry
                                                                                                                                       Cace_time::extended::ZoneRuleBrokerData broker for accessing ZoneRule
                                                                                                                                       Cace_time::basic::ZoneRuleBrokerData broker for accessing ZoneRule
                                                                                                                                      @@ -143,7 +136,7 @@ diff --git a/docs/html/index.html b/docs/html/index.html index 9bff606c7..ad336ae83 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -1,9 +1,9 @@ - + - + AceTime: AceTime Library @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -59,18 +62,19 @@ -
                                                                                                                                      +
                                                                                                                                      AceTime Library

                                                                                                                                      This is the Doxygen documentation for the AceTime Library.

                                                                                                                                      -
                                                                                                                                      +
                                                                                                                                      + diff --git a/docs/html/inherit_graph_0.map b/docs/html/inherit_graph_0.map index 7facc7bc9..1fbe15600 100644 --- a/docs/html/inherit_graph_0.map +++ b/docs/html/inherit_graph_0.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_0.md5 b/docs/html/inherit_graph_0.md5 index 65147a44b..08e0c6890 100644 --- a/docs/html/inherit_graph_0.md5 +++ b/docs/html/inherit_graph_0.md5 @@ -1 +1 @@ -c95b5d941ccf8c9c660af3bd676bf7b4 \ No newline at end of file +fd3b3dd14ffbdde6333050a659eed9e2 \ No newline at end of file diff --git a/docs/html/inherit_graph_0.png b/docs/html/inherit_graph_0.png index e025367f7..1a6c5abf0 100644 Binary files a/docs/html/inherit_graph_0.png and b/docs/html/inherit_graph_0.png differ diff --git a/docs/html/inherit_graph_1.map b/docs/html/inherit_graph_1.map index 78c209ae0..e32674ae9 100644 --- a/docs/html/inherit_graph_1.map +++ b/docs/html/inherit_graph_1.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_1.md5 b/docs/html/inherit_graph_1.md5 index b936ea281..00645439a 100644 --- a/docs/html/inherit_graph_1.md5 +++ b/docs/html/inherit_graph_1.md5 @@ -1 +1 @@ -3fd342e18052190cc752173b4bf4a094 \ No newline at end of file +8a42cd538991ef8ca22fc18ce5c713f0 \ No newline at end of file diff --git a/docs/html/inherit_graph_1.png b/docs/html/inherit_graph_1.png index 503109e4f..0f2c256d4 100644 Binary files a/docs/html/inherit_graph_1.png and b/docs/html/inherit_graph_1.png differ diff --git a/docs/html/inherit_graph_10.map b/docs/html/inherit_graph_10.map index 74082c329..5764dae2f 100644 --- a/docs/html/inherit_graph_10.map +++ b/docs/html/inherit_graph_10.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_10.md5 b/docs/html/inherit_graph_10.md5 index 7085ef2cd..8ab6a157a 100644 --- a/docs/html/inherit_graph_10.md5 +++ b/docs/html/inherit_graph_10.md5 @@ -1 +1 @@ -687e6c0d18d4da81a5e2a3be96004026 \ No newline at end of file +d9cc0e79a332a9109e23f3737c2732ca \ No newline at end of file diff --git a/docs/html/inherit_graph_10.png b/docs/html/inherit_graph_10.png index 8f5e8989b..4b28c6df1 100644 Binary files a/docs/html/inherit_graph_10.png and b/docs/html/inherit_graph_10.png differ diff --git a/docs/html/inherit_graph_11.map b/docs/html/inherit_graph_11.map index 1f8f1b34d..0edf0bd8c 100644 --- a/docs/html/inherit_graph_11.map +++ b/docs/html/inherit_graph_11.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_11.md5 b/docs/html/inherit_graph_11.md5 index fc07f4203..2e52ad5c8 100644 --- a/docs/html/inherit_graph_11.md5 +++ b/docs/html/inherit_graph_11.md5 @@ -1 +1 @@ -7b74763a701ddacdf09be613660d08c2 \ No newline at end of file +6a054ad3d659a4427d59e117030160bb \ No newline at end of file diff --git a/docs/html/inherit_graph_11.png b/docs/html/inherit_graph_11.png index 22d71d999..8b4503ec2 100644 Binary files a/docs/html/inherit_graph_11.png and b/docs/html/inherit_graph_11.png differ diff --git a/docs/html/inherit_graph_12.map b/docs/html/inherit_graph_12.map index c16270972..112373d90 100644 --- a/docs/html/inherit_graph_12.map +++ b/docs/html/inherit_graph_12.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_12.md5 b/docs/html/inherit_graph_12.md5 index 506d7098d..47b073989 100644 --- a/docs/html/inherit_graph_12.md5 +++ b/docs/html/inherit_graph_12.md5 @@ -1 +1 @@ -673448eb70e59fa2bd5ff73e47dde6cb \ No newline at end of file +dad7e46931638202beb227092ed4f2c6 \ No newline at end of file diff --git a/docs/html/inherit_graph_12.png b/docs/html/inherit_graph_12.png index 25000fcd0..86092ecea 100644 Binary files a/docs/html/inherit_graph_12.png and b/docs/html/inherit_graph_12.png differ diff --git a/docs/html/inherit_graph_13.map b/docs/html/inherit_graph_13.map index d46b0142e..02dfd54cf 100644 --- a/docs/html/inherit_graph_13.map +++ b/docs/html/inherit_graph_13.map @@ -1,8 +1,3 @@ - - - - - - + diff --git a/docs/html/inherit_graph_13.md5 b/docs/html/inherit_graph_13.md5 index a1e2c4c14..a3b836937 100644 --- a/docs/html/inherit_graph_13.md5 +++ b/docs/html/inherit_graph_13.md5 @@ -1 +1 @@ -f40dd1c51db1d3b3fa44bdc2cfa00cf3 \ No newline at end of file +6b472bfcbe1af62f4f1e627842fa4a10 \ No newline at end of file diff --git a/docs/html/inherit_graph_13.png b/docs/html/inherit_graph_13.png index ea3a61d2b..1d0fad46b 100644 Binary files a/docs/html/inherit_graph_13.png and b/docs/html/inherit_graph_13.png differ diff --git a/docs/html/inherit_graph_14.map b/docs/html/inherit_graph_14.map index 55d392482..3fc5d549c 100644 --- a/docs/html/inherit_graph_14.map +++ b/docs/html/inherit_graph_14.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_14.md5 b/docs/html/inherit_graph_14.md5 index 169613617..b845c1986 100644 --- a/docs/html/inherit_graph_14.md5 +++ b/docs/html/inherit_graph_14.md5 @@ -1 +1 @@ -54aa026eb47fb123078f6fa225575519 \ No newline at end of file +7f752407742148bf44c1ed64c60b47c0 \ No newline at end of file diff --git a/docs/html/inherit_graph_14.png b/docs/html/inherit_graph_14.png index cacc75623..035832006 100644 Binary files a/docs/html/inherit_graph_14.png and b/docs/html/inherit_graph_14.png differ diff --git a/docs/html/inherit_graph_15.map b/docs/html/inherit_graph_15.map index 8450173bd..0ce855519 100644 --- a/docs/html/inherit_graph_15.map +++ b/docs/html/inherit_graph_15.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_15.md5 b/docs/html/inherit_graph_15.md5 index e152b313a..46adf4d1c 100644 --- a/docs/html/inherit_graph_15.md5 +++ b/docs/html/inherit_graph_15.md5 @@ -1 +1 @@ -31aef830590bbca3c2734b6f51beb318 \ No newline at end of file +a2e5433e46865de11c3d30b0d49ab9ba \ No newline at end of file diff --git a/docs/html/inherit_graph_15.png b/docs/html/inherit_graph_15.png index c31c17a4b..51270d082 100644 Binary files a/docs/html/inherit_graph_15.png and b/docs/html/inherit_graph_15.png differ diff --git a/docs/html/inherit_graph_16.map b/docs/html/inherit_graph_16.map index ea5a2b9e3..2299c5aa3 100644 --- a/docs/html/inherit_graph_16.map +++ b/docs/html/inherit_graph_16.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_16.md5 b/docs/html/inherit_graph_16.md5 index c7d336073..b7ca47bd1 100644 --- a/docs/html/inherit_graph_16.md5 +++ b/docs/html/inherit_graph_16.md5 @@ -1 +1 @@ -f4d500bdc175421acc09a42c4714e2fa \ No newline at end of file +38a2e25190b34d1ef89823283e0534d6 \ No newline at end of file diff --git a/docs/html/inherit_graph_16.png b/docs/html/inherit_graph_16.png index 912d0661d..688070d48 100644 Binary files a/docs/html/inherit_graph_16.png and b/docs/html/inherit_graph_16.png differ diff --git a/docs/html/inherit_graph_17.map b/docs/html/inherit_graph_17.map index 944d1209d..5b9329c80 100644 --- a/docs/html/inherit_graph_17.map +++ b/docs/html/inherit_graph_17.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_17.md5 b/docs/html/inherit_graph_17.md5 index f4e02ebc0..eac8f99d1 100644 --- a/docs/html/inherit_graph_17.md5 +++ b/docs/html/inherit_graph_17.md5 @@ -1 +1 @@ -067688107fc41bc120859b1b329e4c33 \ No newline at end of file +debefee6097fb97c8ede0c11cd921395 \ No newline at end of file diff --git a/docs/html/inherit_graph_17.png b/docs/html/inherit_graph_17.png index 46b45be47..93dcb2cc6 100644 Binary files a/docs/html/inherit_graph_17.png and b/docs/html/inherit_graph_17.png differ diff --git a/docs/html/inherit_graph_18.map b/docs/html/inherit_graph_18.map index 957821915..8d22ba604 100644 --- a/docs/html/inherit_graph_18.map +++ b/docs/html/inherit_graph_18.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_18.md5 b/docs/html/inherit_graph_18.md5 index 61b6f32ce..d6b54591f 100644 --- a/docs/html/inherit_graph_18.md5 +++ b/docs/html/inherit_graph_18.md5 @@ -1 +1 @@ -896104ae8bf0d42c663ac8b7a76c5d01 \ No newline at end of file +0961893979632eb6afd341ee9b75a563 \ No newline at end of file diff --git a/docs/html/inherit_graph_18.png b/docs/html/inherit_graph_18.png index 84eff64e1..7545a10ff 100644 Binary files a/docs/html/inherit_graph_18.png and b/docs/html/inherit_graph_18.png differ diff --git a/docs/html/inherit_graph_19.map b/docs/html/inherit_graph_19.map index 349c653a3..16082a7bd 100644 --- a/docs/html/inherit_graph_19.map +++ b/docs/html/inherit_graph_19.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_19.md5 b/docs/html/inherit_graph_19.md5 index 51c0a45a4..13f08b793 100644 --- a/docs/html/inherit_graph_19.md5 +++ b/docs/html/inherit_graph_19.md5 @@ -1 +1 @@ -2c425b41d1d65462720e4bdd00967c2e \ No newline at end of file +ae4309c43c1f5d8a1bbbd658dab95a3a \ No newline at end of file diff --git a/docs/html/inherit_graph_19.png b/docs/html/inherit_graph_19.png index 93c0f0971..0a9f27407 100644 Binary files a/docs/html/inherit_graph_19.png and b/docs/html/inherit_graph_19.png differ diff --git a/docs/html/inherit_graph_2.map b/docs/html/inherit_graph_2.map index c231b5cba..dd03c36fd 100644 --- a/docs/html/inherit_graph_2.map +++ b/docs/html/inherit_graph_2.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_2.md5 b/docs/html/inherit_graph_2.md5 index 334002718..0a5e892ee 100644 --- a/docs/html/inherit_graph_2.md5 +++ b/docs/html/inherit_graph_2.md5 @@ -1 +1 @@ -2572f702d39743bffdd49605dc49aef1 \ No newline at end of file +c523bd1229ea03a82a79a6649b932a32 \ No newline at end of file diff --git a/docs/html/inherit_graph_2.png b/docs/html/inherit_graph_2.png index dd37682b7..9ab693e4d 100644 Binary files a/docs/html/inherit_graph_2.png and b/docs/html/inherit_graph_2.png differ diff --git a/docs/html/inherit_graph_20.map b/docs/html/inherit_graph_20.map index c2a55978e..ca4765e87 100644 --- a/docs/html/inherit_graph_20.map +++ b/docs/html/inherit_graph_20.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_20.md5 b/docs/html/inherit_graph_20.md5 index 70060f116..c15b28aec 100644 --- a/docs/html/inherit_graph_20.md5 +++ b/docs/html/inherit_graph_20.md5 @@ -1 +1 @@ -f105ad78e393f4fd964ed488fc55cfbb \ No newline at end of file +63975af1c85bb27ea5eb0a473b70a08d \ No newline at end of file diff --git a/docs/html/inherit_graph_20.png b/docs/html/inherit_graph_20.png index 7ebc64c1e..1fc4ae4a3 100644 Binary files a/docs/html/inherit_graph_20.png and b/docs/html/inherit_graph_20.png differ diff --git a/docs/html/inherit_graph_21.map b/docs/html/inherit_graph_21.map index 69cb8f15a..4ed9272d3 100644 --- a/docs/html/inherit_graph_21.map +++ b/docs/html/inherit_graph_21.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_21.md5 b/docs/html/inherit_graph_21.md5 index ff652a9d7..3e80f0223 100644 --- a/docs/html/inherit_graph_21.md5 +++ b/docs/html/inherit_graph_21.md5 @@ -1 +1 @@ -3591bd7e685c2e62e00f7525dfde5c36 \ No newline at end of file +f7aa1d193390783ce65fe8e3b8e96df4 \ No newline at end of file diff --git a/docs/html/inherit_graph_21.png b/docs/html/inherit_graph_21.png index 8049114b5..08c226a9f 100644 Binary files a/docs/html/inherit_graph_21.png and b/docs/html/inherit_graph_21.png differ diff --git a/docs/html/inherit_graph_22.map b/docs/html/inherit_graph_22.map index 8b978c2ff..7f4987bfa 100644 --- a/docs/html/inherit_graph_22.map +++ b/docs/html/inherit_graph_22.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_22.md5 b/docs/html/inherit_graph_22.md5 index c613e8b1d..ef42ecec7 100644 --- a/docs/html/inherit_graph_22.md5 +++ b/docs/html/inherit_graph_22.md5 @@ -1 +1 @@ -059f2c7738b3c343c44b0fb1b610590b \ No newline at end of file +3d7374ae4edc1d7602506495c2fe7d5b \ No newline at end of file diff --git a/docs/html/inherit_graph_22.png b/docs/html/inherit_graph_22.png index 0993f10a3..9d177221c 100644 Binary files a/docs/html/inherit_graph_22.png and b/docs/html/inherit_graph_22.png differ diff --git a/docs/html/inherit_graph_23.map b/docs/html/inherit_graph_23.map index 8aafbba15..a31d87075 100644 --- a/docs/html/inherit_graph_23.map +++ b/docs/html/inherit_graph_23.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_23.md5 b/docs/html/inherit_graph_23.md5 index 5f263b9a8..6f5ca15b0 100644 --- a/docs/html/inherit_graph_23.md5 +++ b/docs/html/inherit_graph_23.md5 @@ -1 +1 @@ -e2a87c45daf5a5097d5546364dd026d1 \ No newline at end of file +38ae8f9e51cc1a9d3aa654fdbe8e2715 \ No newline at end of file diff --git a/docs/html/inherit_graph_23.png b/docs/html/inherit_graph_23.png index 0e5f8b5ee..320f5b8d0 100644 Binary files a/docs/html/inherit_graph_23.png and b/docs/html/inherit_graph_23.png differ diff --git a/docs/html/inherit_graph_24.map b/docs/html/inherit_graph_24.map index 7f375133d..b749c5995 100644 --- a/docs/html/inherit_graph_24.map +++ b/docs/html/inherit_graph_24.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_24.md5 b/docs/html/inherit_graph_24.md5 index 8018359c0..16ad9521c 100644 --- a/docs/html/inherit_graph_24.md5 +++ b/docs/html/inherit_graph_24.md5 @@ -1 +1 @@ -d3d70a99488f3531e32d618b6276601b \ No newline at end of file +83282202764f78947b7ae0333e4aa533 \ No newline at end of file diff --git a/docs/html/inherit_graph_24.png b/docs/html/inherit_graph_24.png index f583670cc..3fd258ef6 100644 Binary files a/docs/html/inherit_graph_24.png and b/docs/html/inherit_graph_24.png differ diff --git a/docs/html/inherit_graph_25.map b/docs/html/inherit_graph_25.map index 41d38c298..359f0e927 100644 --- a/docs/html/inherit_graph_25.map +++ b/docs/html/inherit_graph_25.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_25.md5 b/docs/html/inherit_graph_25.md5 index a581786f2..6a01d395f 100644 --- a/docs/html/inherit_graph_25.md5 +++ b/docs/html/inherit_graph_25.md5 @@ -1 +1 @@ -41b807ae5067c3ad1bf9aa10c9c68f3d \ No newline at end of file +8fb780eebda5c857a115952f024f667a \ No newline at end of file diff --git a/docs/html/inherit_graph_25.png b/docs/html/inherit_graph_25.png index cd3e2fab9..39625eb32 100644 Binary files a/docs/html/inherit_graph_25.png and b/docs/html/inherit_graph_25.png differ diff --git a/docs/html/inherit_graph_26.map b/docs/html/inherit_graph_26.map index 13052baa7..71c1b652b 100644 --- a/docs/html/inherit_graph_26.map +++ b/docs/html/inherit_graph_26.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_26.md5 b/docs/html/inherit_graph_26.md5 index 65a6bc1c3..7cae1e4ef 100644 --- a/docs/html/inherit_graph_26.md5 +++ b/docs/html/inherit_graph_26.md5 @@ -1 +1 @@ -6f321a16308c6045f026e7eba63cf5b5 \ No newline at end of file +3371161cd9d1a35629c27e3bcf36019c \ No newline at end of file diff --git a/docs/html/inherit_graph_26.png b/docs/html/inherit_graph_26.png index 527812b28..5f24a8dcb 100644 Binary files a/docs/html/inherit_graph_26.png and b/docs/html/inherit_graph_26.png differ diff --git a/docs/html/inherit_graph_27.map b/docs/html/inherit_graph_27.map index 9946b1ad3..e892232d7 100644 --- a/docs/html/inherit_graph_27.map +++ b/docs/html/inherit_graph_27.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_27.md5 b/docs/html/inherit_graph_27.md5 index 513ab44bb..2e8d75a0f 100644 --- a/docs/html/inherit_graph_27.md5 +++ b/docs/html/inherit_graph_27.md5 @@ -1 +1 @@ -c97799520b566e096fb3779c0569f145 \ No newline at end of file +b3ce0c4ba148bc7dfae81040050c4355 \ No newline at end of file diff --git a/docs/html/inherit_graph_27.png b/docs/html/inherit_graph_27.png index cb28130af..7a53e22ff 100644 Binary files a/docs/html/inherit_graph_27.png and b/docs/html/inherit_graph_27.png differ diff --git a/docs/html/inherit_graph_28.map b/docs/html/inherit_graph_28.map index 907edd474..e7ab1d6e9 100644 --- a/docs/html/inherit_graph_28.map +++ b/docs/html/inherit_graph_28.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_28.md5 b/docs/html/inherit_graph_28.md5 index 30714be2c..4e4d1f332 100644 --- a/docs/html/inherit_graph_28.md5 +++ b/docs/html/inherit_graph_28.md5 @@ -1 +1 @@ -0e1632b49c1479ca96b86a21bf50b6d4 \ No newline at end of file +f312d06a355d801be3865dda18488f56 \ No newline at end of file diff --git a/docs/html/inherit_graph_28.png b/docs/html/inherit_graph_28.png index db0eb1089..2b4a21d14 100644 Binary files a/docs/html/inherit_graph_28.png and b/docs/html/inherit_graph_28.png differ diff --git a/docs/html/inherit_graph_29.map b/docs/html/inherit_graph_29.map index 11d4f7f19..35be3e638 100644 --- a/docs/html/inherit_graph_29.map +++ b/docs/html/inherit_graph_29.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_29.md5 b/docs/html/inherit_graph_29.md5 index f61ca077a..20be1a05e 100644 --- a/docs/html/inherit_graph_29.md5 +++ b/docs/html/inherit_graph_29.md5 @@ -1 +1 @@ -d15654fba464e3d8a46ee499b508e5a0 \ No newline at end of file +8b99bfec7fd6260f887efe2cbcc5ae65 \ No newline at end of file diff --git a/docs/html/inherit_graph_29.png b/docs/html/inherit_graph_29.png index a0260da25..1d455e092 100644 Binary files a/docs/html/inherit_graph_29.png and b/docs/html/inherit_graph_29.png differ diff --git a/docs/html/inherit_graph_3.map b/docs/html/inherit_graph_3.map index 1e9216903..f23d64ff2 100644 --- a/docs/html/inherit_graph_3.map +++ b/docs/html/inherit_graph_3.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_3.md5 b/docs/html/inherit_graph_3.md5 index b54bbd23d..f61558bf9 100644 --- a/docs/html/inherit_graph_3.md5 +++ b/docs/html/inherit_graph_3.md5 @@ -1 +1 @@ -60c8d8b64a9687b1ef24f91e9c6733f7 \ No newline at end of file +84ba27c776f3b28c23a409a203c6f455 \ No newline at end of file diff --git a/docs/html/inherit_graph_3.png b/docs/html/inherit_graph_3.png index 739f7dcd8..fca128acd 100644 Binary files a/docs/html/inherit_graph_3.png and b/docs/html/inherit_graph_3.png differ diff --git a/docs/html/inherit_graph_30.map b/docs/html/inherit_graph_30.map index 8615488d1..86e5e2c52 100644 --- a/docs/html/inherit_graph_30.map +++ b/docs/html/inherit_graph_30.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_30.md5 b/docs/html/inherit_graph_30.md5 index 034164993..eb5d7cdef 100644 --- a/docs/html/inherit_graph_30.md5 +++ b/docs/html/inherit_graph_30.md5 @@ -1 +1 @@ -2f0e8f17b82e148dac5bda9a1f8ccfbb \ No newline at end of file +4bb98c628a792ac96a8915a7f6e1fd05 \ No newline at end of file diff --git a/docs/html/inherit_graph_30.png b/docs/html/inherit_graph_30.png index 2c95700be..00e09d9e6 100644 Binary files a/docs/html/inherit_graph_30.png and b/docs/html/inherit_graph_30.png differ diff --git a/docs/html/inherit_graph_31.map b/docs/html/inherit_graph_31.map index 0819fa1b5..697466602 100644 --- a/docs/html/inherit_graph_31.map +++ b/docs/html/inherit_graph_31.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_31.md5 b/docs/html/inherit_graph_31.md5 index 55fc3d64b..c220aea8b 100644 --- a/docs/html/inherit_graph_31.md5 +++ b/docs/html/inherit_graph_31.md5 @@ -1 +1 @@ -6eb7b7e0d80a7c3c0093215612dc79b4 \ No newline at end of file +076cc793e5e0e8d4fc108b64f22638fc \ No newline at end of file diff --git a/docs/html/inherit_graph_31.png b/docs/html/inherit_graph_31.png index 9ebda3579..a1fb22e04 100644 Binary files a/docs/html/inherit_graph_31.png and b/docs/html/inherit_graph_31.png differ diff --git a/docs/html/inherit_graph_32.map b/docs/html/inherit_graph_32.map index 86363a25d..f81f579f0 100644 --- a/docs/html/inherit_graph_32.map +++ b/docs/html/inherit_graph_32.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_32.md5 b/docs/html/inherit_graph_32.md5 index 579e918b8..2c60e09d8 100644 --- a/docs/html/inherit_graph_32.md5 +++ b/docs/html/inherit_graph_32.md5 @@ -1 +1 @@ -75455f339e0963a55cd7bf5efdcfe935 \ No newline at end of file +ec3287c202710c96b89e2e9f6e81a594 \ No newline at end of file diff --git a/docs/html/inherit_graph_32.png b/docs/html/inherit_graph_32.png index 208bf68d9..477ebe48b 100644 Binary files a/docs/html/inherit_graph_32.png and b/docs/html/inherit_graph_32.png differ diff --git a/docs/html/inherit_graph_33.map b/docs/html/inherit_graph_33.map index 9e58668bf..909c1677e 100644 --- a/docs/html/inherit_graph_33.map +++ b/docs/html/inherit_graph_33.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_33.md5 b/docs/html/inherit_graph_33.md5 index 674e3da38..f4009853d 100644 --- a/docs/html/inherit_graph_33.md5 +++ b/docs/html/inherit_graph_33.md5 @@ -1 +1 @@ -f426a300765891f2a13addd00580cf0e \ No newline at end of file +49199d4be729f845c926b145819a2f4b \ No newline at end of file diff --git a/docs/html/inherit_graph_33.png b/docs/html/inherit_graph_33.png index 139a4c3ce..62ef832d0 100644 Binary files a/docs/html/inherit_graph_33.png and b/docs/html/inherit_graph_33.png differ diff --git a/docs/html/inherit_graph_34.map b/docs/html/inherit_graph_34.map index ce726be04..9aa094368 100644 --- a/docs/html/inherit_graph_34.map +++ b/docs/html/inherit_graph_34.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_34.md5 b/docs/html/inherit_graph_34.md5 index fed4cdba1..a32ece964 100644 --- a/docs/html/inherit_graph_34.md5 +++ b/docs/html/inherit_graph_34.md5 @@ -1 +1 @@ -06de73c8168ed025e9fd92e83f1dde75 \ No newline at end of file +78c3377e294b77a5f5004405aa37cd8a \ No newline at end of file diff --git a/docs/html/inherit_graph_34.png b/docs/html/inherit_graph_34.png index 68509b530..1e3f1d689 100644 Binary files a/docs/html/inherit_graph_34.png and b/docs/html/inherit_graph_34.png differ diff --git a/docs/html/inherit_graph_35.map b/docs/html/inherit_graph_35.map index 9d4edb06b..fb17481b4 100644 --- a/docs/html/inherit_graph_35.map +++ b/docs/html/inherit_graph_35.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_35.md5 b/docs/html/inherit_graph_35.md5 index af0e58789..6b0d3a0d1 100644 --- a/docs/html/inherit_graph_35.md5 +++ b/docs/html/inherit_graph_35.md5 @@ -1 +1 @@ -0130e9fb69a2f6fc7bda6636bf912163 \ No newline at end of file +b5d31eadf8f9bd0f097f1e9bbc94aff0 \ No newline at end of file diff --git a/docs/html/inherit_graph_35.png b/docs/html/inherit_graph_35.png index 5ebabf756..fa5c6b2a0 100644 Binary files a/docs/html/inherit_graph_35.png and b/docs/html/inherit_graph_35.png differ diff --git a/docs/html/inherit_graph_36.map b/docs/html/inherit_graph_36.map index 30a8d798c..ecff1e866 100644 --- a/docs/html/inherit_graph_36.map +++ b/docs/html/inherit_graph_36.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/inherit_graph_36.md5 b/docs/html/inherit_graph_36.md5 index faf5c9d14..165251556 100644 --- a/docs/html/inherit_graph_36.md5 +++ b/docs/html/inherit_graph_36.md5 @@ -1 +1 @@ -690f2868733e54211768b2a9c466b895 \ No newline at end of file +c455c70ef8218bfc6752cbd37b9a393e \ No newline at end of file diff --git a/docs/html/inherit_graph_36.png b/docs/html/inherit_graph_36.png index 08061c7d8..7d7c3e911 100644 Binary files a/docs/html/inherit_graph_36.png and b/docs/html/inherit_graph_36.png differ diff --git a/docs/html/inherit_graph_37.map b/docs/html/inherit_graph_37.map index 5e4c67606..0cf7e308a 100644 --- a/docs/html/inherit_graph_37.map +++ b/docs/html/inherit_graph_37.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/inherit_graph_37.md5 b/docs/html/inherit_graph_37.md5 index ba12d055e..e14fe795f 100644 --- a/docs/html/inherit_graph_37.md5 +++ b/docs/html/inherit_graph_37.md5 @@ -1 +1 @@ -84a11728eba131bd9febc57fc391a01b \ No newline at end of file +f63afbb21f20492238bafac306d5fb47 \ No newline at end of file diff --git a/docs/html/inherit_graph_37.png b/docs/html/inherit_graph_37.png index 7da86df48..4db6b544e 100644 Binary files a/docs/html/inherit_graph_37.png and b/docs/html/inherit_graph_37.png differ diff --git a/docs/html/inherit_graph_38.map b/docs/html/inherit_graph_38.map index a1e8d00cb..15d654b87 100644 --- a/docs/html/inherit_graph_38.map +++ b/docs/html/inherit_graph_38.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_38.md5 b/docs/html/inherit_graph_38.md5 index 9ff6eb8ef..bda6a1f4a 100644 --- a/docs/html/inherit_graph_38.md5 +++ b/docs/html/inherit_graph_38.md5 @@ -1 +1 @@ -fd71f7feeadd54eb25326636903e2491 \ No newline at end of file +d76ec45352696a30428614324eabe104 \ No newline at end of file diff --git a/docs/html/inherit_graph_38.png b/docs/html/inherit_graph_38.png index bc823b35b..a8bac3e97 100644 Binary files a/docs/html/inherit_graph_38.png and b/docs/html/inherit_graph_38.png differ diff --git a/docs/html/inherit_graph_39.map b/docs/html/inherit_graph_39.map index af47e9dd7..6a64fc448 100644 --- a/docs/html/inherit_graph_39.map +++ b/docs/html/inherit_graph_39.map @@ -1,3 +1,5 @@ - + + + diff --git a/docs/html/inherit_graph_39.md5 b/docs/html/inherit_graph_39.md5 index 34bff6e1e..925e846cf 100644 --- a/docs/html/inherit_graph_39.md5 +++ b/docs/html/inherit_graph_39.md5 @@ -1 +1 @@ -884b80c2263dc426804043efeafcf96e \ No newline at end of file +0a9cf3bb24c5ee14593b878889c0d15c \ No newline at end of file diff --git a/docs/html/inherit_graph_39.png b/docs/html/inherit_graph_39.png index ca04cceff..43b82889b 100644 Binary files a/docs/html/inherit_graph_39.png and b/docs/html/inherit_graph_39.png differ diff --git a/docs/html/inherit_graph_4.map b/docs/html/inherit_graph_4.map index 93a888d25..bfd7ca5d0 100644 --- a/docs/html/inherit_graph_4.map +++ b/docs/html/inherit_graph_4.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_4.md5 b/docs/html/inherit_graph_4.md5 index 5564d3303..d92189aa6 100644 --- a/docs/html/inherit_graph_4.md5 +++ b/docs/html/inherit_graph_4.md5 @@ -1 +1 @@ -498c8a6439cd47698a1e6074baaf5d05 \ No newline at end of file +2e6bfa96878bcc828a7484bc54afb257 \ No newline at end of file diff --git a/docs/html/inherit_graph_4.png b/docs/html/inherit_graph_4.png index d8b6d56c6..db0c74533 100644 Binary files a/docs/html/inherit_graph_4.png and b/docs/html/inherit_graph_4.png differ diff --git a/docs/html/inherit_graph_40.map b/docs/html/inherit_graph_40.map index 7f91c793c..6f8c87b80 100644 --- a/docs/html/inherit_graph_40.map +++ b/docs/html/inherit_graph_40.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_40.md5 b/docs/html/inherit_graph_40.md5 index 01516fae3..642f104a5 100644 --- a/docs/html/inherit_graph_40.md5 +++ b/docs/html/inherit_graph_40.md5 @@ -1 +1 @@ -2b4a772e05b66a03dc561ac57c153bf7 \ No newline at end of file +22fbc1cba43483c88323266fe67bdddf \ No newline at end of file diff --git a/docs/html/inherit_graph_40.png b/docs/html/inherit_graph_40.png index a149fda67..83109141b 100644 Binary files a/docs/html/inherit_graph_40.png and b/docs/html/inherit_graph_40.png differ diff --git a/docs/html/inherit_graph_41.map b/docs/html/inherit_graph_41.map index f641fb104..6acb0ff3e 100644 --- a/docs/html/inherit_graph_41.map +++ b/docs/html/inherit_graph_41.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_41.md5 b/docs/html/inherit_graph_41.md5 index ccf288219..65007e17b 100644 --- a/docs/html/inherit_graph_41.md5 +++ b/docs/html/inherit_graph_41.md5 @@ -1 +1 @@ -cd1da8d922c4545ff9850a050cc72446 \ No newline at end of file +92c4515b925e9366be1c7ff12fa0b41d \ No newline at end of file diff --git a/docs/html/inherit_graph_41.png b/docs/html/inherit_graph_41.png index 7e4e5c1e6..1f4226b2d 100644 Binary files a/docs/html/inherit_graph_41.png and b/docs/html/inherit_graph_41.png differ diff --git a/docs/html/inherit_graph_42.map b/docs/html/inherit_graph_42.map index fcf25f46d..b228daf10 100644 --- a/docs/html/inherit_graph_42.map +++ b/docs/html/inherit_graph_42.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/inherit_graph_42.md5 b/docs/html/inherit_graph_42.md5 index 03e79bc9d..eb666afe2 100644 --- a/docs/html/inherit_graph_42.md5 +++ b/docs/html/inherit_graph_42.md5 @@ -1 +1 @@ -acaf1451bafed950260ff4cf912be87b \ No newline at end of file +a3cb87ef0a8490f82adb396da25ac337 \ No newline at end of file diff --git a/docs/html/inherit_graph_42.png b/docs/html/inherit_graph_42.png index 2a2641d45..ca97467a2 100644 Binary files a/docs/html/inherit_graph_42.png and b/docs/html/inherit_graph_42.png differ diff --git a/docs/html/inherit_graph_43.map b/docs/html/inherit_graph_43.map index 7dd27fe9a..ff7581d73 100644 --- a/docs/html/inherit_graph_43.map +++ b/docs/html/inherit_graph_43.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/html/inherit_graph_43.md5 b/docs/html/inherit_graph_43.md5 index 919f2f1fd..3f74ffb45 100644 --- a/docs/html/inherit_graph_43.md5 +++ b/docs/html/inherit_graph_43.md5 @@ -1 +1 @@ -3e8af507286f35387bea35f8d4df87e4 \ No newline at end of file +28769fbe1b4a0b907b029e295ab2e696 \ No newline at end of file diff --git a/docs/html/inherit_graph_43.png b/docs/html/inherit_graph_43.png index 459b23409..0526da633 100644 Binary files a/docs/html/inherit_graph_43.png and b/docs/html/inherit_graph_43.png differ diff --git a/docs/html/inherit_graph_44.map b/docs/html/inherit_graph_44.map index 81e0e8640..6d6633e36 100644 --- a/docs/html/inherit_graph_44.map +++ b/docs/html/inherit_graph_44.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_44.md5 b/docs/html/inherit_graph_44.md5 index 2fb3e6af6..7bc5c9bfb 100644 --- a/docs/html/inherit_graph_44.md5 +++ b/docs/html/inherit_graph_44.md5 @@ -1 +1 @@ -defebe045440ac1d1bbcbd40ff221501 \ No newline at end of file +9c5934921456b419523c884c76796f6f \ No newline at end of file diff --git a/docs/html/inherit_graph_44.png b/docs/html/inherit_graph_44.png index d9a2c156f..58ea2c197 100644 Binary files a/docs/html/inherit_graph_44.png and b/docs/html/inherit_graph_44.png differ diff --git a/docs/html/inherit_graph_45.map b/docs/html/inherit_graph_45.map deleted file mode 100644 index 71a45e8ff..000000000 --- a/docs/html/inherit_graph_45.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/inherit_graph_45.md5 b/docs/html/inherit_graph_45.md5 deleted file mode 100644 index c9321a08a..000000000 --- a/docs/html/inherit_graph_45.md5 +++ /dev/null @@ -1 +0,0 @@ -c181d79d08742878a776dab0490a8273 \ No newline at end of file diff --git a/docs/html/inherit_graph_45.png b/docs/html/inherit_graph_45.png deleted file mode 100644 index 073e5274a..000000000 Binary files a/docs/html/inherit_graph_45.png and /dev/null differ diff --git a/docs/html/inherit_graph_46.map b/docs/html/inherit_graph_46.map deleted file mode 100644 index 9e83200ee..000000000 --- a/docs/html/inherit_graph_46.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/inherit_graph_46.md5 b/docs/html/inherit_graph_46.md5 deleted file mode 100644 index 1c3e76a59..000000000 --- a/docs/html/inherit_graph_46.md5 +++ /dev/null @@ -1 +0,0 @@ -e571ef4078e49879459cd719955afdb8 \ No newline at end of file diff --git a/docs/html/inherit_graph_46.png b/docs/html/inherit_graph_46.png deleted file mode 100644 index fed619d6b..000000000 Binary files a/docs/html/inherit_graph_46.png and /dev/null differ diff --git a/docs/html/inherit_graph_47.map b/docs/html/inherit_graph_47.map deleted file mode 100644 index 34a3d306d..000000000 --- a/docs/html/inherit_graph_47.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/inherit_graph_47.md5 b/docs/html/inherit_graph_47.md5 deleted file mode 100644 index 3e1fbdd8f..000000000 --- a/docs/html/inherit_graph_47.md5 +++ /dev/null @@ -1 +0,0 @@ -a178c68aaaaac0037611313be4875453 \ No newline at end of file diff --git a/docs/html/inherit_graph_47.png b/docs/html/inherit_graph_47.png deleted file mode 100644 index 0b0fb7422..000000000 Binary files a/docs/html/inherit_graph_47.png and /dev/null differ diff --git a/docs/html/inherit_graph_48.map b/docs/html/inherit_graph_48.map deleted file mode 100644 index 942249c8a..000000000 --- a/docs/html/inherit_graph_48.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/inherit_graph_48.md5 b/docs/html/inherit_graph_48.md5 deleted file mode 100644 index c92e7aa83..000000000 --- a/docs/html/inherit_graph_48.md5 +++ /dev/null @@ -1 +0,0 @@ -1d159a1348decfc89dcd43dd191cd8e4 \ No newline at end of file diff --git a/docs/html/inherit_graph_48.png b/docs/html/inherit_graph_48.png deleted file mode 100644 index b735d08d2..000000000 Binary files a/docs/html/inherit_graph_48.png and /dev/null differ diff --git a/docs/html/inherit_graph_49.map b/docs/html/inherit_graph_49.map deleted file mode 100644 index 9e1a0323d..000000000 --- a/docs/html/inherit_graph_49.map +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/docs/html/inherit_graph_49.md5 b/docs/html/inherit_graph_49.md5 deleted file mode 100644 index 111dfa28f..000000000 --- a/docs/html/inherit_graph_49.md5 +++ /dev/null @@ -1 +0,0 @@ -2223fef242a6ac2ef1dbf8fda9e0fdf8 \ No newline at end of file diff --git a/docs/html/inherit_graph_49.png b/docs/html/inherit_graph_49.png deleted file mode 100644 index b2f44a1df..000000000 Binary files a/docs/html/inherit_graph_49.png and /dev/null differ diff --git a/docs/html/inherit_graph_5.map b/docs/html/inherit_graph_5.map index 42c5a8798..33eb16b01 100644 --- a/docs/html/inherit_graph_5.map +++ b/docs/html/inherit_graph_5.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_5.md5 b/docs/html/inherit_graph_5.md5 index edcf84652..e16ed67c9 100644 --- a/docs/html/inherit_graph_5.md5 +++ b/docs/html/inherit_graph_5.md5 @@ -1 +1 @@ -a97782ffce36d1a032231675b67a8bf8 \ No newline at end of file +bc32d5fac10785d7a454ce8a5ea7e58a \ No newline at end of file diff --git a/docs/html/inherit_graph_5.png b/docs/html/inherit_graph_5.png index 7b6b8699c..5b0a63d26 100644 Binary files a/docs/html/inherit_graph_5.png and b/docs/html/inherit_graph_5.png differ diff --git a/docs/html/inherit_graph_50.map b/docs/html/inherit_graph_50.map deleted file mode 100644 index da6967d2f..000000000 --- a/docs/html/inherit_graph_50.map +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/docs/html/inherit_graph_50.md5 b/docs/html/inherit_graph_50.md5 deleted file mode 100644 index 166543633..000000000 --- a/docs/html/inherit_graph_50.md5 +++ /dev/null @@ -1 +0,0 @@ -fbdfd27a080d3eae520a5659f072b1fa \ No newline at end of file diff --git a/docs/html/inherit_graph_50.png b/docs/html/inherit_graph_50.png deleted file mode 100644 index 534e75fc4..000000000 Binary files a/docs/html/inherit_graph_50.png and /dev/null differ diff --git a/docs/html/inherit_graph_51.map b/docs/html/inherit_graph_51.map deleted file mode 100644 index 1aacfce8d..000000000 --- a/docs/html/inherit_graph_51.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/inherit_graph_51.md5 b/docs/html/inherit_graph_51.md5 deleted file mode 100644 index 9e8dceacd..000000000 --- a/docs/html/inherit_graph_51.md5 +++ /dev/null @@ -1 +0,0 @@ -47a9da5031d57ad294b221c077ed34d2 \ No newline at end of file diff --git a/docs/html/inherit_graph_51.png b/docs/html/inherit_graph_51.png deleted file mode 100644 index 67572c437..000000000 Binary files a/docs/html/inherit_graph_51.png and /dev/null differ diff --git a/docs/html/inherit_graph_6.map b/docs/html/inherit_graph_6.map index cd90d2ce3..8e9466bb5 100644 --- a/docs/html/inherit_graph_6.map +++ b/docs/html/inherit_graph_6.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_6.md5 b/docs/html/inherit_graph_6.md5 index a33c9c13b..b454a5f47 100644 --- a/docs/html/inherit_graph_6.md5 +++ b/docs/html/inherit_graph_6.md5 @@ -1 +1 @@ -b4dc6211b800db88f9f28b427cda2e13 \ No newline at end of file +2202d58c349ba0931c46aea03f32ba41 \ No newline at end of file diff --git a/docs/html/inherit_graph_6.png b/docs/html/inherit_graph_6.png index c6a864061..a31bb6ef4 100644 Binary files a/docs/html/inherit_graph_6.png and b/docs/html/inherit_graph_6.png differ diff --git a/docs/html/inherit_graph_7.map b/docs/html/inherit_graph_7.map index 7786d45fa..160600b15 100644 --- a/docs/html/inherit_graph_7.map +++ b/docs/html/inherit_graph_7.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_7.md5 b/docs/html/inherit_graph_7.md5 index bcc0caa11..143688aca 100644 --- a/docs/html/inherit_graph_7.md5 +++ b/docs/html/inherit_graph_7.md5 @@ -1 +1 @@ -f10da513d7c732e4197cdd019588cd85 \ No newline at end of file +23c06ef2d893ede132fb44f206f1baf2 \ No newline at end of file diff --git a/docs/html/inherit_graph_7.png b/docs/html/inherit_graph_7.png index d9c0a0714..4b08aa65e 100644 Binary files a/docs/html/inherit_graph_7.png and b/docs/html/inherit_graph_7.png differ diff --git a/docs/html/inherit_graph_8.map b/docs/html/inherit_graph_8.map index be72f5754..b3739fbae 100644 --- a/docs/html/inherit_graph_8.map +++ b/docs/html/inherit_graph_8.map @@ -1,3 +1,9 @@ - + + + + + + + diff --git a/docs/html/inherit_graph_8.md5 b/docs/html/inherit_graph_8.md5 index 2fd1acbc5..699da8f29 100644 --- a/docs/html/inherit_graph_8.md5 +++ b/docs/html/inherit_graph_8.md5 @@ -1 +1 @@ -3ad33efb126f906022b7cf23272298c0 \ No newline at end of file +650e0f02bef7a63f44bd7ae26d3baf55 \ No newline at end of file diff --git a/docs/html/inherit_graph_8.png b/docs/html/inherit_graph_8.png index 9f2bee9d5..b786e37b7 100644 Binary files a/docs/html/inherit_graph_8.png and b/docs/html/inherit_graph_8.png differ diff --git a/docs/html/inherit_graph_9.map b/docs/html/inherit_graph_9.map index 85bfce203..098553ce8 100644 --- a/docs/html/inherit_graph_9.map +++ b/docs/html/inherit_graph_9.map @@ -1,3 +1,3 @@ - + diff --git a/docs/html/inherit_graph_9.md5 b/docs/html/inherit_graph_9.md5 index bbd90b926..2feaae197 100644 --- a/docs/html/inherit_graph_9.md5 +++ b/docs/html/inherit_graph_9.md5 @@ -1 +1 @@ -73a8384d78f4436087b179986c6b79b1 \ No newline at end of file +42dbaaba8c1dba331c099a5504b1085d \ No newline at end of file diff --git a/docs/html/inherit_graph_9.png b/docs/html/inherit_graph_9.png index 136ecd10b..ab3f1b35f 100644 Binary files a/docs/html/inherit_graph_9.png and b/docs/html/inherit_graph_9.png differ diff --git a/docs/html/inherits.html b/docs/html/inherits.html index 61d5189de..c02a3a5b7 100644 --- a/docs/html/inherits.html +++ b/docs/html/inherits.html @@ -1,9 +1,9 @@ - + - + AceTime: Class Hierarchy @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ @@ -67,278 +70,241 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + -
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - - -
                                                                                                                                      - - +
                                                                                                                                      - - - -
                                                                                                                                      +
                                                                                                                                      - - -
                                                                                                                                      - - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      - - - -
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - - -
                                                                                                                                      - - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - - - - - - + + + + + + +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      - - - -
                                                                                                                                      - - - -
                                                                                                                                      +
                                                                                                                                      - - -
                                                                                                                                      - - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      - - - -
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - - -
                                                                                                                                      - - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - - + +
                                                                                                                                      +
                                                                                                                                      - - + +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      +
                                                                                                                                      - - - + + +
                                                                                                                                      +
                                                                                                                                      - - - - - - + + +
                                                                                                                                      + + + +
                                                                                                                                      + + + + +
                                                                                                                                      + + +
                                                                                                                                      +
                                                                                                                                      - +
                                                                                                                                      @@ -347,7 +313,7 @@ diff --git a/docs/html/jquery.js b/docs/html/jquery.js index f5343eda9..103c32d79 100644 --- a/docs/html/jquery.js +++ b/docs/html/jquery.js @@ -1,71 +1,26 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
                                                                                                                                      "],col:[2,"","
                                                                                                                                      "],tr:[2,"","
                                                                                                                                      "],td:[3,"","
                                                                                                                                      "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
                                                                                                                                      ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
                                                                                                                                      ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
                                                                                                                                      "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
                                                                                                                                      ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
                                                                                                                                      "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
                                                                                                                                      "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
                                                                                                                                      a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
                                                                                                                                      ";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
                                                                                                                                      t
                                                                                                                                      ";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
                                                                                                                                      ";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

                                                                                                                                      ";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
                                                                                                                                      ";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
                                                                                                                                      ","
                                                                                                                                      "],thead:[1,"","
                                                                                                                                      "],tr:[2,"","
                                                                                                                                      "],td:[3,"","
                                                                                                                                      "],col:[2,"","
                                                                                                                                      "],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
                                                                                                                                      ","
                                                                                                                                      "]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
                                                                                                                                      ").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
                                                                                                                                      ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
                                                                                                                                      ');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' - - - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneContext Member List
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      This is the complete list of members for ace_time::basic::ZoneContext, including all inherited members.

                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      kSuffixSace_time::basic::ZoneContextstatic
                                                                                                                                      kSuffixUace_time::basic::ZoneContextstatic
                                                                                                                                      kSuffixWace_time::basic::ZoneContextstatic
                                                                                                                                      startYearace_time::basic::ZoneContext
                                                                                                                                      tzVersionace_time::basic::ZoneContext
                                                                                                                                      untilYearace_time::basic::ZoneContext
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneContext.html b/docs/html/structace__time_1_1basic_1_1ZoneContext.html deleted file mode 100644 index 87774df32..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneContext.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -AceTime: ace_time::basic::ZoneContext Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneContext Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Metadata about the zone database. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZoneContext.h>

                                                                                                                                      - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      const int16_t startYear
                                                                                                                                       Start year of the zone files. More...
                                                                                                                                       
                                                                                                                                      const int16_t untilYear
                                                                                                                                       Until year of the zone files. More...
                                                                                                                                       
                                                                                                                                      const char *const tzVersion
                                                                                                                                       TZ Database version which generated the zone info. More...
                                                                                                                                       
                                                                                                                                      - - - - - - - - - - -

                                                                                                                                      -Static Public Attributes

                                                                                                                                      static const uint8_t kSuffixW = 0x00
                                                                                                                                       Represents 'w' or wall time. More...
                                                                                                                                       
                                                                                                                                      static const uint8_t kSuffixS = 0x10
                                                                                                                                       Represents 's' or standard time. More...
                                                                                                                                       
                                                                                                                                      static const uint8_t kSuffixU = 0x20
                                                                                                                                       Represents 'u' or UTC time. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      Metadata about the zone database.

                                                                                                                                      -

                                                                                                                                      A ZoneInfo struct will contain a pointer to this.

                                                                                                                                      - -

                                                                                                                                      Definition at line 11 of file ZoneContext.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ kSuffixS

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::basic::ZoneContext::kSuffixS = 0x10
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Represents 's' or standard time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 16 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kSuffixU

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::basic::ZoneContext::kSuffixU = 0x20
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Represents 'u' or UTC time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 19 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kSuffixW

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::basic::ZoneContext::kSuffixW = 0x00
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Represents 'w' or wall time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 13 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ startYear

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const int16_t ace_time::basic::ZoneContext::startYear
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Start year of the zone files.

                                                                                                                                      - -

                                                                                                                                      Definition at line 30 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ tzVersion

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const char* const ace_time::basic::ZoneContext::tzVersion
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      TZ Database version which generated the zone info.

                                                                                                                                      - -

                                                                                                                                      Definition at line 36 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilYear

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const int16_t ace_time::basic::ZoneContext::untilYear
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Until year of the zone files.

                                                                                                                                      - -

                                                                                                                                      Definition at line 33 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file: -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneEra-members.html b/docs/html/structace__time_1_1basic_1_1ZoneEra-members.html deleted file mode 100644 index 514cb3058..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneEra-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneEra Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneEra.html b/docs/html/structace__time_1_1basic_1_1ZoneEra.html deleted file mode 100644 index 36c5a03e7..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneEra.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - -AceTime: ace_time::basic::ZoneEra Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneEra Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZoneInfo.h>

                                                                                                                                      -
                                                                                                                                      -Collaboration diagram for ace_time::basic::ZoneEra:
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - - -
                                                                                                                                      [legend]
                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      const ZonePolicy *const zonePolicy
                                                                                                                                       Zone policy, determined by the RULES column. More...
                                                                                                                                       
                                                                                                                                      const char *const format
                                                                                                                                       Zone abbreviations (e.g. More...
                                                                                                                                       
                                                                                                                                      int8_t const offsetCode
                                                                                                                                       UTC offset in 15 min increments. More...
                                                                                                                                       
                                                                                                                                      int8_t const deltaCode
                                                                                                                                       If zonePolicy is nullptr, then this indicates the DST offset in 15 minute increments as defined by the RULES column in 'hh:mm' format. More...
                                                                                                                                       
                                                                                                                                      int8_t const untilYearTiny
                                                                                                                                       Era is valid until currentTime < untilYear. More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilMonth
                                                                                                                                       The month field in UNTIL (1-12). More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilDay
                                                                                                                                       The day field in UNTIL (1-31). More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilTimeCode
                                                                                                                                       The time field of UNTIL field in 15-minute increments. More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilTimeModifier
                                                                                                                                       The untilTimeModifier is a packed field containing 2 pieces of info: More...
                                                                                                                                       
                                                                                                                                      - - - - -

                                                                                                                                      -Static Public Attributes

                                                                                                                                      static const int8_t kMaxUntilYearTiny = ZoneRule::kMaxYearTiny + 1
                                                                                                                                       The maximum value of untilYearTiny. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period.

                                                                                                                                      -

                                                                                                                                      Corresponds to one line of the ZONE record in the TZ Database file ending with an UNTIL field. The ZonePolicy is determined by the RULES column in the TZ Database file.

                                                                                                                                      -

                                                                                                                                      There are 2 types of ZoneEra: 1) zonePolicy == nullptr. Then deltaCode determines the additional offset from offsetCode. A value of '-' in the TZ Database file is stored as 0. 2) zonePolicy != nullptr. Then the deltaCode offset is given by the ZoneRule.deltaCode of the ZoneRule which matches the time instant of interest.

                                                                                                                                      - -

                                                                                                                                      Definition at line 20 of file ZoneInfo.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ deltaCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneEra::deltaCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      If zonePolicy is nullptr, then this indicates the DST offset in 15 minute increments as defined by the RULES column in 'hh:mm' format.

                                                                                                                                      -

                                                                                                                                      If the 'RULES' column is '-', then the deltaCode is 0.

                                                                                                                                      -

                                                                                                                                      If the '–scope extended' flag is given to tzcompiler.py, the 'deltaCode` should be interpreted as a uint8_t field, composed of two 4-bit fields:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • The upper 4-bits is an unsigned integer from 0 to 14 that represents the one-minute remainder from the offsetCode. This allows us to capture STDOFF offsets in 1-minute resolution.
                                                                                                                                      • -
                                                                                                                                      • The lower 4-bits is an unsigned integer that holds (originalDeltaCode
                                                                                                                                      • -
                                                                                                                                      • 4). This allows us to represent DST offsets from -1:00 to +2:45, in 15-minute increments.
                                                                                                                                      • -
                                                                                                                                      -

                                                                                                                                      The extended::ZoneEraBroker::deltaMinutes() and offsetMinutes() know how to convert offsetCode and deltaCode into the appropriate minutes.

                                                                                                                                      - -

                                                                                                                                      Definition at line 59 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ format

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const char* const ace_time::basic::ZoneEra::format
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Zone abbreviations (e.g.

                                                                                                                                      -

                                                                                                                                      PST, EST) determined by the FORMAT column. Only a single letter subsitution is supported so that 's' is changed to just ''. For example, 'EST' is stored as 'ET', and the LETTER substitution is performed on the '' character.

                                                                                                                                      - -

                                                                                                                                      Definition at line 36 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kMaxUntilYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const int8_t ace_time::basic::ZoneEra::kMaxUntilYearTiny = ZoneRule::kMaxYearTiny + 1
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The maximum value of untilYearTiny.

                                                                                                                                      - -

                                                                                                                                      Definition at line 22 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ offsetCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneEra::offsetCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      UTC offset in 15 min increments.

                                                                                                                                      -

                                                                                                                                      Determined by the STDOFF column.

                                                                                                                                      - -

                                                                                                                                      Definition at line 39 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilDay

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneEra::untilDay
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The day field in UNTIL (1-31).

                                                                                                                                      -

                                                                                                                                      Will never be 0. Also, there's no need for untilDayOfWeek, because the database generator will resolve the exact day of month based on the known year and month.

                                                                                                                                      - -

                                                                                                                                      Definition at line 75 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilMonth

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneEra::untilMonth
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The month field in UNTIL (1-12).

                                                                                                                                      -

                                                                                                                                      Will never be 0.

                                                                                                                                      - -

                                                                                                                                      Definition at line 68 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilTimeCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneEra::untilTimeCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The time field of UNTIL field in 15-minute increments.

                                                                                                                                      -

                                                                                                                                      A range of 00:00 to 25:00 corresponds to 0-100.

                                                                                                                                      - -

                                                                                                                                      Definition at line 81 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilTimeModifier

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneEra::untilTimeModifier
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The untilTimeModifier is a packed field containing 2 pieces of info:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • The upper 4 bits represent the UNTIL time suffix: 'w', 's' or 'u', represented by kSuffixW, kSuffixS and kSuffixU.
                                                                                                                                      • -
                                                                                                                                      • The lower 4 bits represent the remaining 0-14 minutes of the UNTIL field after truncation into untilTimeCode. In other words, the full UNTIL field in one-minute resolution is (15 * untilTimeCode + (untilTimeModifier & 0x0f)).
                                                                                                                                      • -
                                                                                                                                      - -

                                                                                                                                      Definition at line 93 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneEra::untilYearTiny
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Era is valid until currentTime < untilYear.

                                                                                                                                      -

                                                                                                                                      Stored as (year - 2000) in a single byte to save space. Comes from the UNTIL column.

                                                                                                                                      - -

                                                                                                                                      Definition at line 65 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ zonePolicy

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZonePolicy* const ace_time::basic::ZoneEra::zonePolicy
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Zone policy, determined by the RULES column.

                                                                                                                                      -

                                                                                                                                      Set to nullptr if the RULES column is '-' or an explicit DST shift in the form of 'hh:mm'.

                                                                                                                                      - -

                                                                                                                                      Definition at line 28 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZoneInfo.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.map b/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.map deleted file mode 100644 index 5487c24b2..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.md5 b/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.md5 deleted file mode 100644 index 8ca7047a1..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7a4d99097cf0283ec1a902c342757b8b \ No newline at end of file diff --git a/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.png b/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.png deleted file mode 100644 index e81fe583b..000000000 Binary files a/docs/html/structace__time_1_1basic_1_1ZoneEra__coll__graph.png and /dev/null differ diff --git a/docs/html/structace__time_1_1basic_1_1ZoneInfo-members.html b/docs/html/structace__time_1_1basic_1_1ZoneInfo-members.html deleted file mode 100644 index 1e3147994..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneInfo-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneInfo Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneInfo.html b/docs/html/structace__time_1_1basic_1_1ZoneInfo.html deleted file mode 100644 index a210f811d..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneInfo.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - -AceTime: ace_time::basic::ZoneInfo Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneInfo Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Representation of a given time zone, implemented as an array of ZoneEra records. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZoneInfo.h>

                                                                                                                                      -
                                                                                                                                      -Collaboration diagram for ace_time::basic::ZoneInfo:
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - - - - -
                                                                                                                                      [legend]
                                                                                                                                      - - - - - - - - - - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      const char *const name
                                                                                                                                       Full name of zone (e.g. More...
                                                                                                                                       
                                                                                                                                      uint32_t const zoneId
                                                                                                                                       Unique, stable ID of the zone name, created from a hash of the name. More...
                                                                                                                                       
                                                                                                                                      const ZoneContext *const zoneContext
                                                                                                                                       ZoneContext metadata. More...
                                                                                                                                       
                                                                                                                                      uint8_t const transitionBufSize
                                                                                                                                       Estimated size of Transition buffer. More...
                                                                                                                                       
                                                                                                                                      uint8_t const numEras
                                                                                                                                       Number of ZoneEra entries. More...
                                                                                                                                       
                                                                                                                                      const ZoneEra *const eras
                                                                                                                                       ZoneEra entries in increasing order of UNTIL time. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      Representation of a given time zone, implemented as an array of ZoneEra records.

                                                                                                                                      - -

                                                                                                                                      Definition at line 100 of file ZoneInfo.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ eras

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZoneEra* const ace_time::basic::ZoneInfo::eras
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ZoneEra entries in increasing order of UNTIL time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 127 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ name

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const char* const ace_time::basic::ZoneInfo::name
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Full name of zone (e.g.

                                                                                                                                      -

                                                                                                                                      "America/Los_Angeles").

                                                                                                                                      - -

                                                                                                                                      Definition at line 102 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ numEras

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneInfo::numEras
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Number of ZoneEra entries.

                                                                                                                                      - -

                                                                                                                                      Definition at line 124 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ transitionBufSize

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneInfo::transitionBufSize
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Estimated size of Transition buffer.

                                                                                                                                      -

                                                                                                                                      Currently, this is used only in the validation unit test for ExtendedZoneProcessor. It is slightly wasteful to include it for the ZoneInfo and ZoneInfo classes used by BasicZoneProcessor, but it's only one byte and it seemed worth having this additional validation capability.

                                                                                                                                      - -

                                                                                                                                      Definition at line 121 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ zoneContext

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZoneContext* const ace_time::basic::ZoneInfo::zoneContext
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ZoneContext metadata.

                                                                                                                                      - -

                                                                                                                                      Definition at line 112 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ zoneId

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint32_t const ace_time::basic::ZoneInfo::zoneId
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Unique, stable ID of the zone name, created from a hash of the name.

                                                                                                                                      -

                                                                                                                                      This ID will never change once assigned. This can be used for presistence and serialization.

                                                                                                                                      - -

                                                                                                                                      Definition at line 109 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZoneInfo.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.map b/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.map deleted file mode 100644 index 4f357ad3d..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.md5 b/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.md5 deleted file mode 100644 index 06662987d..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2731c97a030ee07775ceacea09259c8a \ No newline at end of file diff --git a/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.png b/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.png deleted file mode 100644 index d0369ab3f..000000000 Binary files a/docs/html/structace__time_1_1basic_1_1ZoneInfo__coll__graph.png and /dev/null differ diff --git a/docs/html/structace__time_1_1basic_1_1ZonePolicy-members.html b/docs/html/structace__time_1_1basic_1_1ZonePolicy-members.html deleted file mode 100644 index 7ed986c38..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZonePolicy-members.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZonePolicy Member List
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      This is the complete list of members for ace_time::basic::ZonePolicy, including all inherited members.

                                                                                                                                      - - - - - -
                                                                                                                                      letters (defined in ace_time::basic::ZonePolicy)ace_time::basic::ZonePolicy
                                                                                                                                      numLetters (defined in ace_time::basic::ZonePolicy)ace_time::basic::ZonePolicy
                                                                                                                                      numRules (defined in ace_time::basic::ZonePolicy)ace_time::basic::ZonePolicy
                                                                                                                                      rules (defined in ace_time::basic::ZonePolicy)ace_time::basic::ZonePolicy
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZonePolicy.html b/docs/html/structace__time_1_1basic_1_1ZonePolicy.html deleted file mode 100644 index 1238cc2aa..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZonePolicy.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -AceTime: ace_time::basic::ZonePolicy Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZonePolicy Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      A collection of transition rules which describe the DST rules of a given administrative region. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZonePolicy.h>

                                                                                                                                      -
                                                                                                                                      -Collaboration diagram for ace_time::basic::ZonePolicy:
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - -
                                                                                                                                      [legend]
                                                                                                                                      - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      -const ZoneRule *const rules
                                                                                                                                       
                                                                                                                                      -const char *const *const letters
                                                                                                                                       
                                                                                                                                      -uint8_t const numRules
                                                                                                                                       
                                                                                                                                      -uint8_t const numLetters
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      A collection of transition rules which describe the DST rules of a given administrative region.

                                                                                                                                      -

                                                                                                                                      A given time zone (ZoneInfo) can follow a different ZonePolicy at different times. Conversely, multiple time zones (ZoneInfo) can choose to follow the same ZonePolicy at different times.

                                                                                                                                      -

                                                                                                                                      If numLetters is non-zero, then 'letters' will be a pointer to an array of (const char*) pointers. Any ZoneRule.letter < 32 (i.e. non-printable) will be an offset into this array of pointers.

                                                                                                                                      - -

                                                                                                                                      Definition at line 107 of file ZonePolicy.h.

                                                                                                                                      -

                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZonePolicy.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.map b/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.map deleted file mode 100644 index 621fbc505..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.md5 b/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.md5 deleted file mode 100644 index 1c67bffd8..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8756a6fd38d2cb754916307dfdc2beaa \ No newline at end of file diff --git a/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.png b/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.png deleted file mode 100644 index 9c208bf75..000000000 Binary files a/docs/html/structace__time_1_1basic_1_1ZonePolicy__coll__graph.png and /dev/null differ diff --git a/docs/html/structace__time_1_1basic_1_1ZoneRule-members.html b/docs/html/structace__time_1_1basic_1_1ZoneRule-members.html deleted file mode 100644 index 38f8bab54..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneRule-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneRule Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1basic_1_1ZoneRule.html b/docs/html/structace__time_1_1basic_1_1ZoneRule.html deleted file mode 100644 index 737514adb..000000000 --- a/docs/html/structace__time_1_1basic_1_1ZoneRule.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - -AceTime: ace_time::basic::ZoneRule Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::basic::ZoneRule Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      A time zone transition rule. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZonePolicy.h>

                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      int8_t const fromYearTiny
                                                                                                                                       FROM year as an offset from year 2000 stored as a single byte. More...
                                                                                                                                       
                                                                                                                                      int8_t const toYearTiny
                                                                                                                                       TO year as an offset from year 2000 stored as a single byte. More...
                                                                                                                                       
                                                                                                                                      uint8_t const inMonth
                                                                                                                                       Determined by the IN column. More...
                                                                                                                                       
                                                                                                                                      uint8_t const onDayOfWeek
                                                                                                                                       Determined by the ON column. More...
                                                                                                                                       
                                                                                                                                      int8_t const onDayOfMonth
                                                                                                                                       Determined by the ON column. More...
                                                                                                                                       
                                                                                                                                      uint8_t const atTimeCode
                                                                                                                                       Determined by the AT column in units of 15-minutes from 00:00. More...
                                                                                                                                       
                                                                                                                                      uint8_t const atTimeModifier
                                                                                                                                       The atTimeModifier is a packed field containing 2 pieces of info: More...
                                                                                                                                       
                                                                                                                                      int8_t const deltaCode
                                                                                                                                       Determined by the SAVE column, containing the offset from UTC, in 15-min increments. More...
                                                                                                                                       
                                                                                                                                      uint8_t const letter
                                                                                                                                       Determined by the LETTER column. More...
                                                                                                                                       
                                                                                                                                      - - - - -

                                                                                                                                      -Static Public Attributes

                                                                                                                                      static const int8_t kMaxYearTiny = 126
                                                                                                                                       The maximum value of fromYearTiny and toYearTiny. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      A time zone transition rule.

                                                                                                                                      -

                                                                                                                                      It is useful to think of this as a transition rule that repeats on the given (month, day, hour) every year during the interval [fromYear, toYear] inclusive.

                                                                                                                                      - -

                                                                                                                                      Definition at line 12 of file ZonePolicy.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ atTimeCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneRule::atTimeCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the AT column in units of 15-minutes from 00:00.

                                                                                                                                      -

                                                                                                                                      The range is (0 - 100) corresponding to 00:00 to 25:00.

                                                                                                                                      - -

                                                                                                                                      Definition at line 50 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ atTimeModifier

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneRule::atTimeModifier
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The atTimeModifier is a packed field containing 2 pieces of info:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • The upper 4 bits represent the AT time suffix: 'w', 's' or 'u', represented by kSuffixW, kSuffixS and kSuffixU.
                                                                                                                                      • -
                                                                                                                                      • The lower 4 bits represent the remaining 0-14 minutes of the AT field after truncation into atTimeCode. In other words, the full AT field in one-minute resolution is (15 * atTimeCode + (atTimeModifier & 0x0f)).
                                                                                                                                      • -
                                                                                                                                      - -

                                                                                                                                      Definition at line 61 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ deltaCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneRule::deltaCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the SAVE column, containing the offset from UTC, in 15-min increments.

                                                                                                                                      -

                                                                                                                                      If the '–scope extended' flag is given to tzcompiler.py, this field should be interpreted as an uint8_t field, whose lower 4-bits hold a slightly modified value of offsetCode equal to (originalDeltaCode + 4). This allows the 4-bits to represent DST offsets from -1:00 to 2:45 in 15-minute increments. This is the same algorithm used by ZoneEra::deltaCode field for consistency. The extended::ZonePolicyBroker::deltaMinutes() method knows how to convert this field into minutes.

                                                                                                                                      - -

                                                                                                                                      Definition at line 76 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ fromYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneRule::fromYearTiny
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      FROM year as an offset from year 2000 stored as a single byte.

                                                                                                                                      - -

                                                                                                                                      Definition at line 20 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ inMonth

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneRule::inMonth
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the IN column.

                                                                                                                                      -

                                                                                                                                      1=Jan, 12=Dec.

                                                                                                                                      - -

                                                                                                                                      Definition at line 26 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kMaxYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const int8_t ace_time::basic::ZoneRule::kMaxYearTiny = 126
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The maximum value of fromYearTiny and toYearTiny.

                                                                                                                                      -

                                                                                                                                      Must be < ZoneEra::kMaxUntilYear.

                                                                                                                                      - -

                                                                                                                                      Definition at line 17 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ letter

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneRule::letter
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the LETTER column.

                                                                                                                                      -

                                                                                                                                      Determines the substitution into the 's' field (implemented here by just a '') of the ZoneInfo::format field. Possible values are 'S', 'D', '-', or a number < 32 (i.e. a non-printable character). If the value is < 32, then this number is an index offset into the ZonePolicy.letters[] array which contains a (const char*) of the actual multi-character letter.

                                                                                                                                      -

                                                                                                                                      As of TZ DB version 2018i, there are 4 ZonePolicies which have ZoneRules with a LETTER field longer than 1 character:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • Belize ('CST'; used by America/Belize)
                                                                                                                                      • -
                                                                                                                                      • Namibia ('WAT', 'CAT'; used by Africa/Windhoek)
                                                                                                                                      • -
                                                                                                                                      • StJohns ('DD'; used by America/St_Johns and America/Goose_Bay)
                                                                                                                                      • -
                                                                                                                                      • Troll ('+00' '+02'; used by Antarctica/Troll)
                                                                                                                                      • -
                                                                                                                                      - -

                                                                                                                                      Definition at line 94 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ onDayOfMonth

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneRule::onDayOfMonth
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the ON column.

                                                                                                                                      -

                                                                                                                                      Used with onDayOfWeek. Possible values are: 0, 1-31, or its corresponding negative values.

                                                                                                                                      - -

                                                                                                                                      Definition at line 44 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ onDayOfWeek

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::basic::ZoneRule::onDayOfWeek
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the ON column.

                                                                                                                                      -

                                                                                                                                      Possible values are: 0, 1=Mon, 7=Sun. There are 4 combinations:

                                                                                                                                      * onDayOfWeek=0, onDayOfMonth=(1-31): exact match
                                                                                                                                      -* onDayOfWeek=1-7, onDayOfMonth=1-31: dayOfWeek>=dayOfMonth
                                                                                                                                      -* onDayOfWeek=1-7, onDayOfMonth=-(1-31): dayOfWeek<=dayOfMonth
                                                                                                                                      -* onDayOfWeek=1-7, onDayOfMonth=0: last{dayOfWeek}
                                                                                                                                      -* 
                                                                                                                                      -

                                                                                                                                      Definition at line 38 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ toYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::basic::ZoneRule::toYearTiny
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      TO year as an offset from year 2000 stored as a single byte.

                                                                                                                                      - -

                                                                                                                                      Definition at line 23 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZonePolicy.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1extended_1_1DateTuple-members.html b/docs/html/structace__time_1_1extended_1_1DateTuple-members.html index 9d1b230f1..6bd2b0e62 100644 --- a/docs/html/structace__time_1_1extended_1_1DateTuple-members.html +++ b/docs/html/structace__time_1_1extended_1_1DateTuple-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */ - + +/* @license-end */
                                                                                                                                       DateTuple (int8_t y, uint8_t mon, uint8_t d, int16_t min, uint8_t mod)   -void log () const - Used only for debugging. More...
                                                                                                                                      + +void log () const + Used only for debugging.
                                                                                                                                        @@ -31,18 +31,21 @@

                                                                                                                                      @@ -110,45 +114,15 @@

                                                                                                                                      Packed to 4-byte boundaries to save space on 32-bit processors.

                                                                                                                                      Definition at line 64 of file ExtendedZoneProcessor.h.

                                                                                                                                      -

                                                                                                                                      Member Function Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ log()

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - - - - -
                                                                                                                                      void ace_time::extended::DateTuple::log () const
                                                                                                                                      -
                                                                                                                                      -inline
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Used only for debugging.

                                                                                                                                      - -

                                                                                                                                      Definition at line 77 of file ExtendedZoneProcessor.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/ExtendedZoneProcessor.h
                                                                                                                                      • +
                                                                                                                                        The documentation for this struct was generated from the following file: diff --git a/docs/html/structace__time_1_1extended_1_1Transition-members.html b/docs/html/structace__time_1_1extended_1_1Transition-members.html index cabb24a2f..fed33812f 100644 --- a/docs/html/structace__time_1_1extended_1_1Transition-members.html +++ b/docs/html/structace__time_1_1extended_1_1Transition-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      - + +/* @license-end */ - + +/* @license-end */
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - - + + + + +
                                                                                                                                      [legend]
                                                                                                                                      @@ -96,76 +100,82 @@ const char *  - + - - + +
                                                                                                                                      format () const
                                                                                                                                       
                                                                                                                                      const char * letter () const
                                                                                                                                       Return the letter string. More...
                                                                                                                                       Return the letter string. More...
                                                                                                                                       
                                                                                                                                      void log () const
                                                                                                                                       Used only for debugging. More...
                                                                                                                                      +void log () const
                                                                                                                                       Used only for debugging.
                                                                                                                                       
                                                                                                                                      - - + + - + - + - + - + - + - + - + - - + + - + - - + + - + - - + + - +

                                                                                                                                      Public Attributes

                                                                                                                                      const ZoneMatchmatch
                                                                                                                                       The match which generated this Transition. More...
                                                                                                                                      +const ZoneMatchmatch
                                                                                                                                       The match which generated this Transition.
                                                                                                                                       
                                                                                                                                      ZoneRuleBroker rule
                                                                                                                                       The Zone transition rule that matched for the the given year. More...
                                                                                                                                       The Zone transition rule that matched for the the given year. More...
                                                                                                                                       
                                                                                                                                      DateTuple transitionTime
                                                                                                                                       The original transition time, usually 'w' but sometimes 's' or 'u'. More...
                                                                                                                                       The original transition time, usually 'w' but sometimes 's' or 'u'. More...
                                                                                                                                       
                                                                                                                                      union {
                                                                                                                                         DateTuple   transitionTimeS
                                                                                                                                       Version of transitionTime in 's' mode, using the UTC offset of the previous Transition. More...
                                                                                                                                       Version of transitionTime in 's' mode, using the UTC offset of the previous Transition. More...
                                                                                                                                       
                                                                                                                                         DateTuple   startDateTime
                                                                                                                                       Start time expressed using the UTC offset of the current Transition. More...
                                                                                                                                       Start time expressed using the UTC offset of the current Transition. More...
                                                                                                                                       
                                                                                                                                      }; 
                                                                                                                                       
                                                                                                                                      union {
                                                                                                                                         DateTuple   transitionTimeU
                                                                                                                                       Version of transitionTime in 'u' mode, using the UTC offset of the previous transition. More...
                                                                                                                                       Version of transitionTime in 'u' mode, using the UTC offset of the previous transition. More...
                                                                                                                                       
                                                                                                                                         DateTuple   untilDateTime
                                                                                                                                       Until time expressed using the UTC offset of the current Transition. More...
                                                                                                                                       Until time expressed using the UTC offset of the current Transition. More...
                                                                                                                                       
                                                                                                                                      }; 
                                                                                                                                       
                                                                                                                                      DateTuple originalTransitionTime
                                                                                                                                       If the transition is shifted to the beginning of a ZoneMatch, this is set to the transitionTime for debugging. More...
                                                                                                                                       If the transition is shifted to the beginning of a ZoneMatch, this is set to the transitionTime for debugging. More...
                                                                                                                                       
                                                                                                                                      acetime_t startEpochSeconds
                                                                                                                                       The calculated transition time of the given rule. More...
                                                                                                                                      +acetime_t startEpochSeconds
                                                                                                                                       The calculated transition time of the given rule.
                                                                                                                                       
                                                                                                                                      int16_t offsetMinutes
                                                                                                                                       The base offset minutes, not the total effective UTC offset. More...
                                                                                                                                       The base offset minutes, not the total effective UTC offset. More...
                                                                                                                                       
                                                                                                                                      int16_t deltaMinutes
                                                                                                                                       The DST delta minutes. More...
                                                                                                                                      +int16_t deltaMinutes
                                                                                                                                       The DST delta minutes.
                                                                                                                                       
                                                                                                                                      char abbrev [kAbbrevSize]
                                                                                                                                       The calculated effective time zone abbreviation, e.g. More...
                                                                                                                                       The calculated effective time zone abbreviation, e.g. More...
                                                                                                                                       
                                                                                                                                      char letterBuf [2]
                                                                                                                                       Storage for the single letter 'letter' field if 'rule' is not null. More...
                                                                                                                                      +char letterBuf [2]
                                                                                                                                       Storage for the single letter 'letter' field if 'rule' is not null.
                                                                                                                                       
                                                                                                                                      bool active
                                                                                                                                       Flag used for 2 slightly different meanings at different stages of init() processing. More...
                                                                                                                                       Flag used for 2 slightly different meanings at different stages of init() processing. More...
                                                                                                                                       
                                                                                                                                      - - + +

                                                                                                                                      Static Public Attributes

                                                                                                                                      static const uint8_t kAbbrevSize = basic::Transition::kAbbrevSize
                                                                                                                                       Size of the timezone abbreviation. More...
                                                                                                                                      +static const uint8_t kAbbrevSize = basic::Transition::kAbbrevSize
                                                                                                                                       Size of the timezone abbreviation.
                                                                                                                                       

                                                                                                                                      Detailed Description

                                                                                                                                      Represents an interval of time where the time zone obeyed a certain UTC offset and DST delta.

                                                                                                                                      The start of the interval is given by 'transitionTime' which comes from the TZ Database file. The actual start and until time of the interval (in the local time zone) is given by 'startDateTime' and 'untilDateTime'.

                                                                                                                                      -

                                                                                                                                      There are 2 types of Transition instances: 1) Simple, indicated by 'rule' == nullptr. The base UTC offsetMinutes is given by match->offsetMinutes. The additional DST delta is given by match->deltaMinutes. 2) Named, indicated by 'rule' != nullptr. The base UTC offsetMinutes is given by match->offsetMinutes. The additional DST delta is given by rule->deltaMinutes.

                                                                                                                                      -

                                                                                                                                      The 'match', 'rule', 'transitionTime', 'transitionTimeS', 'transitionTimeU', 'active', 'originalTransitionTime', 'letter()' and 'format()' are temporary variables or parameters used in the init() method.

                                                                                                                                      +

                                                                                                                                      There are 2 types of Transition instances: 1) Simple, indicated by 'rule' == nullptr. The base UTC offsetMinutes is given by match->offsetMinutes. The additional DST delta is given by match->deltaMinutes. 2) Named, indicated by 'rule' != nullptr. The base UTC offsetMinutes is given by match->offsetMinutes. The additional DST delta is given by rule->deltaMinutes.

                                                                                                                                      +

                                                                                                                                      The 'match', 'rule', 'transitionTime', 'transitionTimeS', 'transitionTimeU', 'active', 'originalTransitionTime', 'letter()' and 'format()' are temporary variables or parameters used in the init() method.

                                                                                                                                      The 'offsetMinutes', 'deltaMinutes', 'startDateTime', 'abbrev' are the derived parameters used in the findTransition() search.

                                                                                                                                      Ordering of fields optimized along 4-byte boundaries to help 32-bit processors without making the program size bigger for 8-bit processors.

                                                                                                                                      @@ -195,39 +205,10 @@

                                                                                                                                      Return the letter string.

                                                                                                                                      -

                                                                                                                                      Returns nullptr if the RULES column is empty since that means that the ZoneRule is not used, which means LETTER does not exist. A LETTER of '-' is returned as an empty string "".

                                                                                                                                      +

                                                                                                                                      Returns nullptr if the RULES column is empty since that means that the ZoneRule is not used, which means LETTER does not exist. A LETTER of '-' is returned as an empty string "".

                                                                                                                                      Definition at line 278 of file ExtendedZoneProcessor.h.

                                                                                                                                      -

                                                                                                                                      - - -

                                                                                                                                      ◆ log()

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - - - - -
                                                                                                                                      void ace_time::extended::Transition::log () const
                                                                                                                                      -
                                                                                                                                      -inline
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Used only for debugging.

                                                                                                                                      - -

                                                                                                                                      Definition at line 308 of file ExtendedZoneProcessor.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      @@ -268,86 +249,6 @@

                                                                                                                                      Definition at line 265 of file ExtendedZoneProcessor.h.

                                                                                                                                      - - - -

                                                                                                                                      ◆ deltaMinutes

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int16_t ace_time::extended::Transition::deltaMinutes
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The DST delta minutes.

                                                                                                                                      - -

                                                                                                                                      Definition at line 245 of file ExtendedZoneProcessor.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kAbbrevSize

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::extended::Transition::kAbbrevSize = basic::Transition::kAbbrevSize
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Size of the timezone abbreviation.

                                                                                                                                      - -

                                                                                                                                      Definition at line 176 of file ExtendedZoneProcessor.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ letterBuf

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      char ace_time::extended::Transition::letterBuf[2]
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Storage for the single letter 'letter' field if 'rule' is not null.

                                                                                                                                      - -

                                                                                                                                      Definition at line 251 of file ExtendedZoneProcessor.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ match

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZoneMatch* ace_time::extended::Transition::match
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The match which generated this Transition.

                                                                                                                                      - -

                                                                                                                                      Definition at line 179 of file ExtendedZoneProcessor.h.

                                                                                                                                      -
                                                                                                                                      @@ -363,7 +264,7 @@

                                                                                                                                      The base offset minutes, not the total effective UTC offset.

                                                                                                                                      -

                                                                                                                                      Note that this is different than basic::Transition::offsetMinutes used by BasicZoneProcessor which is the total effective offsetMinutes. (It may be possible to make this into an effective offsetMinutes (i.e. offsetMinutes

                                                                                                                                      diff --git a/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.map b/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.map index 370c062c8..52cde4806 100644 --- a/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.map +++ b/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.map @@ -1,6 +1,7 @@ - - - - + + + + + diff --git a/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.md5 b/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.md5 index 488b138a7..c6022ceb1 100644 --- a/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.md5 +++ b/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.md5 @@ -1 +1 @@ -250b2809554a9d9449124feed78c55c2 \ No newline at end of file +ef4295ebe3c2c7d2fd58e79ec1c578f7 \ No newline at end of file diff --git a/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.png b/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.png index 752f86eeb..3ab29779f 100644 Binary files a/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.png and b/docs/html/structace__time_1_1extended_1_1Transition__coll__graph.png differ diff --git a/docs/html/structace__time_1_1extended_1_1YearMonthTuple-members.html b/docs/html/structace__time_1_1extended_1_1YearMonthTuple-members.html index 9cfb485d2..262bfedca 100644 --- a/docs/html/structace__time_1_1extended_1_1YearMonthTuple-members.html +++ b/docs/html/structace__time_1_1extended_1_1YearMonthTuple-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
                                                                                                                                      Definition at line 121 of file ExtendedZoneProcessor.h.


                                                                                                                                      The documentation for this struct was generated from the following file: diff --git a/docs/html/structace__time_1_1extended_1_1ZoneContext-members.html b/docs/html/structace__time_1_1extended_1_1ZoneContext-members.html deleted file mode 100644 index 64482bd7d..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneContext-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneContext Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneContext.html b/docs/html/structace__time_1_1extended_1_1ZoneContext.html deleted file mode 100644 index d7aab877a..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneContext.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -AceTime: ace_time::extended::ZoneContext Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneContext Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Metadata about the zone database. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZoneContext.h>

                                                                                                                                      - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      const int16_t startYear
                                                                                                                                       Start year of the zone files. More...
                                                                                                                                       
                                                                                                                                      const int16_t untilYear
                                                                                                                                       Until year of the zone files. More...
                                                                                                                                       
                                                                                                                                      const char *const tzVersion
                                                                                                                                       TZ Database version which generated the zone info. More...
                                                                                                                                       
                                                                                                                                      - - - - - - - - - - -

                                                                                                                                      -Static Public Attributes

                                                                                                                                      static const uint8_t kSuffixW = 0x00
                                                                                                                                       Represents 'w' or wall time. More...
                                                                                                                                       
                                                                                                                                      static const uint8_t kSuffixS = 0x10
                                                                                                                                       Represents 's' or standard time. More...
                                                                                                                                       
                                                                                                                                      static const uint8_t kSuffixU = 0x20
                                                                                                                                       Represents 'u' or UTC time. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      Metadata about the zone database.

                                                                                                                                      -

                                                                                                                                      A ZoneInfo struct will contain a pointer to this.

                                                                                                                                      - -

                                                                                                                                      Definition at line 11 of file ZoneContext.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ kSuffixS

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::extended::ZoneContext::kSuffixS = 0x10
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Represents 's' or standard time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 16 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kSuffixU

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::extended::ZoneContext::kSuffixU = 0x20
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Represents 'u' or UTC time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 19 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kSuffixW

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const uint8_t ace_time::extended::ZoneContext::kSuffixW = 0x00
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Represents 'w' or wall time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 13 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ startYear

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const int16_t ace_time::extended::ZoneContext::startYear
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Start year of the zone files.

                                                                                                                                      - -

                                                                                                                                      Definition at line 30 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ tzVersion

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const char* const ace_time::extended::ZoneContext::tzVersion
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      TZ Database version which generated the zone info.

                                                                                                                                      - -

                                                                                                                                      Definition at line 36 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilYear

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const int16_t ace_time::extended::ZoneContext::untilYear
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Until year of the zone files.

                                                                                                                                      - -

                                                                                                                                      Definition at line 33 of file ZoneContext.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file: -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneEra-members.html b/docs/html/structace__time_1_1extended_1_1ZoneEra-members.html deleted file mode 100644 index 4a4001249..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneEra-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneEra Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneEra.html b/docs/html/structace__time_1_1extended_1_1ZoneEra.html deleted file mode 100644 index 6ebe84bdc..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneEra.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - -AceTime: ace_time::extended::ZoneEra Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneEra Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZoneInfo.h>

                                                                                                                                      -
                                                                                                                                      -Collaboration diagram for ace_time::extended::ZoneEra:
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - - -
                                                                                                                                      [legend]
                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      const ZonePolicy *const zonePolicy
                                                                                                                                       Zone policy, determined by the RULES column. More...
                                                                                                                                       
                                                                                                                                      const char *const format
                                                                                                                                       Zone abbreviations (e.g. More...
                                                                                                                                       
                                                                                                                                      int8_t const offsetCode
                                                                                                                                       UTC offset in 15 min increments. More...
                                                                                                                                       
                                                                                                                                      int8_t const deltaCode
                                                                                                                                       If zonePolicy is nullptr, then this indicates the DST offset in 15 minute increments as defined by the RULES column in 'hh:mm' format. More...
                                                                                                                                       
                                                                                                                                      int8_t const untilYearTiny
                                                                                                                                       Era is valid until currentTime < untilYear. More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilMonth
                                                                                                                                       The month field in UNTIL (1-12). More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilDay
                                                                                                                                       The day field in UNTIL (1-31). More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilTimeCode
                                                                                                                                       The time field of UNTIL field in 15-minute increments. More...
                                                                                                                                       
                                                                                                                                      uint8_t const untilTimeModifier
                                                                                                                                       The untilTimeModifier is a packed field containing 2 pieces of info: More...
                                                                                                                                       
                                                                                                                                      - - - - -

                                                                                                                                      -Static Public Attributes

                                                                                                                                      static const int8_t kMaxUntilYearTiny = ZoneRule::kMaxYearTiny + 1
                                                                                                                                       The maximum value of untilYearTiny. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      An entry in ZoneInfo which describes which ZonePolicy was being followed during a particular time period.

                                                                                                                                      -

                                                                                                                                      Corresponds to one line of the ZONE record in the TZ Database file ending with an UNTIL field. The ZonePolicy is determined by the RULES column in the TZ Database file.

                                                                                                                                      -

                                                                                                                                      There are 2 types of ZoneEra: 1) zonePolicy == nullptr. Then deltaCode determines the additional offset from offsetCode. A value of '-' in the TZ Database file is stored as 0. 2) zonePolicy != nullptr. Then the deltaCode offset is given by the ZoneRule.deltaCode of the ZoneRule which matches the time instant of interest.

                                                                                                                                      - -

                                                                                                                                      Definition at line 20 of file ZoneInfo.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ deltaCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneEra::deltaCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      If zonePolicy is nullptr, then this indicates the DST offset in 15 minute increments as defined by the RULES column in 'hh:mm' format.

                                                                                                                                      -

                                                                                                                                      If the 'RULES' column is '-', then the deltaCode is 0.

                                                                                                                                      -

                                                                                                                                      If the '–scope extended' flag is given to tzcompiler.py, the 'deltaCode` should be interpreted as a uint8_t field, composed of two 4-bit fields:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • The upper 4-bits is an unsigned integer from 0 to 14 that represents the one-minute remainder from the offsetCode. This allows us to capture STDOFF offsets in 1-minute resolution.
                                                                                                                                      • -
                                                                                                                                      • The lower 4-bits is an unsigned integer that holds (originalDeltaCode
                                                                                                                                      • -
                                                                                                                                      • 4). This allows us to represent DST offsets from -1:00 to +2:45, in 15-minute increments.
                                                                                                                                      • -
                                                                                                                                      -

                                                                                                                                      The extended::ZoneEraBroker::deltaMinutes() and offsetMinutes() know how to convert offsetCode and deltaCode into the appropriate minutes.

                                                                                                                                      - -

                                                                                                                                      Definition at line 59 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ format

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const char* const ace_time::extended::ZoneEra::format
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Zone abbreviations (e.g.

                                                                                                                                      -

                                                                                                                                      PST, EST) determined by the FORMAT column. Only a single letter subsitution is supported so that 's' is changed to just ''. For example, 'EST' is stored as 'ET', and the LETTER substitution is performed on the '' character.

                                                                                                                                      - -

                                                                                                                                      Definition at line 36 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kMaxUntilYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const int8_t ace_time::extended::ZoneEra::kMaxUntilYearTiny = ZoneRule::kMaxYearTiny + 1
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The maximum value of untilYearTiny.

                                                                                                                                      - -

                                                                                                                                      Definition at line 22 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ offsetCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneEra::offsetCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      UTC offset in 15 min increments.

                                                                                                                                      -

                                                                                                                                      Determined by the STDOFF column.

                                                                                                                                      - -

                                                                                                                                      Definition at line 39 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilDay

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneEra::untilDay
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The day field in UNTIL (1-31).

                                                                                                                                      -

                                                                                                                                      Will never be 0. Also, there's no need for untilDayOfWeek, because the database generator will resolve the exact day of month based on the known year and month.

                                                                                                                                      - -

                                                                                                                                      Definition at line 75 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilMonth

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneEra::untilMonth
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The month field in UNTIL (1-12).

                                                                                                                                      -

                                                                                                                                      Will never be 0.

                                                                                                                                      - -

                                                                                                                                      Definition at line 68 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilTimeCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneEra::untilTimeCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The time field of UNTIL field in 15-minute increments.

                                                                                                                                      -

                                                                                                                                      A range of 00:00 to 25:00 corresponds to 0-100.

                                                                                                                                      - -

                                                                                                                                      Definition at line 81 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilTimeModifier

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneEra::untilTimeModifier
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The untilTimeModifier is a packed field containing 2 pieces of info:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • The upper 4 bits represent the UNTIL time suffix: 'w', 's' or 'u', represented by kSuffixW, kSuffixS and kSuffixU.
                                                                                                                                      • -
                                                                                                                                      • The lower 4 bits represent the remaining 0-14 minutes of the UNTIL field after truncation into untilTimeCode. In other words, the full UNTIL field in one-minute resolution is (15 * untilTimeCode + (untilTimeModifier & 0x0f)).
                                                                                                                                      • -
                                                                                                                                      - -

                                                                                                                                      Definition at line 93 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneEra::untilYearTiny
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Era is valid until currentTime < untilYear.

                                                                                                                                      -

                                                                                                                                      Stored as (year - 2000) in a single byte to save space. Comes from the UNTIL column.

                                                                                                                                      - -

                                                                                                                                      Definition at line 65 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ zonePolicy

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZonePolicy* const ace_time::extended::ZoneEra::zonePolicy
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Zone policy, determined by the RULES column.

                                                                                                                                      -

                                                                                                                                      Set to nullptr if the RULES column is '-' or an explicit DST shift in the form of 'hh:mm'.

                                                                                                                                      - -

                                                                                                                                      Definition at line 28 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZoneInfo.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.map b/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.map deleted file mode 100644 index 9a3820c90..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.md5 b/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.md5 deleted file mode 100644 index ed3dcfa8f..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -11e525df3f80b60493d2789b1f3b849f \ No newline at end of file diff --git a/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.png b/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.png deleted file mode 100644 index ae96d0f59..000000000 Binary files a/docs/html/structace__time_1_1extended_1_1ZoneEra__coll__graph.png and /dev/null differ diff --git a/docs/html/structace__time_1_1extended_1_1ZoneInfo-members.html b/docs/html/structace__time_1_1extended_1_1ZoneInfo-members.html deleted file mode 100644 index b07d30ee1..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneInfo-members.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneInfo Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneInfo.html b/docs/html/structace__time_1_1extended_1_1ZoneInfo.html deleted file mode 100644 index 2e906da68..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneInfo.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - -AceTime: ace_time::extended::ZoneInfo Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneInfo Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Representation of a given time zone, implemented as an array of ZoneEra records. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZoneInfo.h>

                                                                                                                                      -
                                                                                                                                      -Collaboration diagram for ace_time::extended::ZoneInfo:
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - - - - -
                                                                                                                                      [legend]
                                                                                                                                      - - - - - - - - - - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      const char *const name
                                                                                                                                       Full name of zone (e.g. More...
                                                                                                                                       
                                                                                                                                      uint32_t const zoneId
                                                                                                                                       Unique, stable ID of the zone name, created from a hash of the name. More...
                                                                                                                                       
                                                                                                                                      const ZoneContext *const zoneContext
                                                                                                                                       ZoneContext metadata. More...
                                                                                                                                       
                                                                                                                                      uint8_t const transitionBufSize
                                                                                                                                       Estimated size of Transition buffer. More...
                                                                                                                                       
                                                                                                                                      uint8_t const numEras
                                                                                                                                       Number of ZoneEra entries. More...
                                                                                                                                       
                                                                                                                                      const ZoneEra *const eras
                                                                                                                                       ZoneEra entries in increasing order of UNTIL time. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      Representation of a given time zone, implemented as an array of ZoneEra records.

                                                                                                                                      - -

                                                                                                                                      Definition at line 100 of file ZoneInfo.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ eras

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZoneEra* const ace_time::extended::ZoneInfo::eras
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ZoneEra entries in increasing order of UNTIL time.

                                                                                                                                      - -

                                                                                                                                      Definition at line 127 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ name

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const char* const ace_time::extended::ZoneInfo::name
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Full name of zone (e.g.

                                                                                                                                      -

                                                                                                                                      "America/Los_Angeles").

                                                                                                                                      - -

                                                                                                                                      Definition at line 102 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ numEras

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneInfo::numEras
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Number of ZoneEra entries.

                                                                                                                                      - -

                                                                                                                                      Definition at line 124 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ transitionBufSize

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneInfo::transitionBufSize
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Estimated size of Transition buffer.

                                                                                                                                      -

                                                                                                                                      Currently, this is used only in the validation unit test for ExtendedZoneProcessor. It is slightly wasteful to include it for the ZoneInfo and ZoneInfo classes used by BasicZoneProcessor, but it's only one byte and it seemed worth having this additional validation capability.

                                                                                                                                      - -

                                                                                                                                      Definition at line 121 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ zoneContext

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      const ZoneContext* const ace_time::extended::ZoneInfo::zoneContext
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ZoneContext metadata.

                                                                                                                                      - -

                                                                                                                                      Definition at line 112 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ zoneId

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint32_t const ace_time::extended::ZoneInfo::zoneId
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Unique, stable ID of the zone name, created from a hash of the name.

                                                                                                                                      -

                                                                                                                                      This ID will never change once assigned. This can be used for presistence and serialization.

                                                                                                                                      - -

                                                                                                                                      Definition at line 109 of file ZoneInfo.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZoneInfo.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.map b/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.map deleted file mode 100644 index 9640588f3..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.md5 b/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.md5 deleted file mode 100644 index badd39f8a..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ec70b3f7f47b189ea02c41e96f5203f0 \ No newline at end of file diff --git a/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.png b/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.png deleted file mode 100644 index e448c3e1a..000000000 Binary files a/docs/html/structace__time_1_1extended_1_1ZoneInfo__coll__graph.png and /dev/null differ diff --git a/docs/html/structace__time_1_1extended_1_1ZoneMatch-members.html b/docs/html/structace__time_1_1extended_1_1ZoneMatch-members.html index 4bcb82edf..4330ecf06 100644 --- a/docs/html/structace__time_1_1extended_1_1ZoneMatch-members.html +++ b/docs/html/structace__time_1_1extended_1_1ZoneMatch-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@ - + +/* @license-end */ - + +/* @license-end */
                                                                                                                                      -

                                                                                                                                      Data structure that captures the matching ZoneEra and its ZoneRule transitions for a given year. +

                                                                                                                                      Data structure that captures the matching ZoneEra and its ZoneRule transitions for a given year. More...

                                                                                                                                      #include <ExtendedZoneProcessor.h>

                                                                                                                                      @@ -82,8 +85,9 @@
                                                                                                                                      Collaboration graph
                                                                                                                                      - - + + +
                                                                                                                                      [legend]
                                                                                                                                      @@ -95,18 +99,20 @@
                                                                                                                                      - - + + - - + + - +

                                                                                                                                      Public Attributes

                                                                                                                                      DateTuple startDateTime
                                                                                                                                       The effective start time of the matching ZoneEra. More...
                                                                                                                                      +DateTuple startDateTime
                                                                                                                                       The effective start time of the matching ZoneEra.
                                                                                                                                       
                                                                                                                                      DateTuple untilDateTime
                                                                                                                                       The effective until time of the matching ZoneEra. More...
                                                                                                                                      +DateTuple untilDateTime
                                                                                                                                       The effective until time of the matching ZoneEra.
                                                                                                                                       
                                                                                                                                      ZoneEraBroker era
                                                                                                                                       The ZoneEra that matched the given year. More...
                                                                                                                                       The ZoneEra that matched the given year. More...
                                                                                                                                       

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      Data structure that captures the matching ZoneEra and its ZoneRule transitions for a given year.

                                                                                                                                      +

                                                                                                                                      Data structure that captures the matching ZoneEra and its ZoneRule transitions for a given year.

                                                                                                                                      Can be cached based on the year.

                                                                                                                                      Definition at line 130 of file ExtendedZoneProcessor.h.

                                                                                                                                      @@ -123,58 +129,22 @@

                                                                                                                                      -

                                                                                                                                      The ZoneEra that matched the given year.

                                                                                                                                      +

                                                                                                                                      The ZoneEra that matched the given year.

                                                                                                                                      NonNullable.

                                                                                                                                      Definition at line 138 of file ExtendedZoneProcessor.h.

                                                                                                                                      -

                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ startDateTime

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      DateTuple ace_time::extended::ZoneMatch::startDateTime
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The effective start time of the matching ZoneEra.

                                                                                                                                      - -

                                                                                                                                      Definition at line 132 of file ExtendedZoneProcessor.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ untilDateTime

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      DateTuple ace_time::extended::ZoneMatch::untilDateTime
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The effective until time of the matching ZoneEra.

                                                                                                                                      - -

                                                                                                                                      Definition at line 135 of file ExtendedZoneProcessor.h.

                                                                                                                                      -

                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                      diff --git a/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.map b/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.map index 1813bb0e2..250e25d6b 100644 --- a/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.map +++ b/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.map @@ -1,4 +1,5 @@ - - + + + diff --git a/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.md5 b/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.md5 index 3a9c59138..6079f1260 100644 --- a/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.md5 +++ b/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.md5 @@ -1 +1 @@ -6071a34b1041529393cfb62f27c80b85 \ No newline at end of file +799b2638861fcb1d4a446be11c538503 \ No newline at end of file diff --git a/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.png b/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.png index bcd06d63b..1b2a06696 100644 Binary files a/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.png and b/docs/html/structace__time_1_1extended_1_1ZoneMatch__coll__graph.png differ diff --git a/docs/html/structace__time_1_1extended_1_1ZonePolicy-members.html b/docs/html/structace__time_1_1extended_1_1ZonePolicy-members.html deleted file mode 100644 index d3bdf87c3..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZonePolicy-members.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZonePolicy Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZonePolicy.html b/docs/html/structace__time_1_1extended_1_1ZonePolicy.html deleted file mode 100644 index 72ecca663..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZonePolicy.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -AceTime: ace_time::extended::ZonePolicy Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZonePolicy Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      A collection of transition rules which describe the DST rules of a given administrative region. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZonePolicy.h>

                                                                                                                                      -
                                                                                                                                      -Collaboration diagram for ace_time::extended::ZonePolicy:
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      Collaboration graph
                                                                                                                                      - - - -
                                                                                                                                      [legend]
                                                                                                                                      - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      -const ZoneRule *const rules
                                                                                                                                       
                                                                                                                                      -const char *const *const letters
                                                                                                                                       
                                                                                                                                      -uint8_t const numRules
                                                                                                                                       
                                                                                                                                      -uint8_t const numLetters
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      A collection of transition rules which describe the DST rules of a given administrative region.

                                                                                                                                      -

                                                                                                                                      A given time zone (ZoneInfo) can follow a different ZonePolicy at different times. Conversely, multiple time zones (ZoneInfo) can choose to follow the same ZonePolicy at different times.

                                                                                                                                      -

                                                                                                                                      If numLetters is non-zero, then 'letters' will be a pointer to an array of (const char*) pointers. Any ZoneRule.letter < 32 (i.e. non-printable) will be an offset into this array of pointers.

                                                                                                                                      - -

                                                                                                                                      Definition at line 107 of file ZonePolicy.h.

                                                                                                                                      -

                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZonePolicy.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.map b/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.map deleted file mode 100644 index c76f6662a..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.md5 b/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.md5 deleted file mode 100644 index 2bed5ed36..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0b645f93b21e38afe98e4969a12f2e24 \ No newline at end of file diff --git a/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.png b/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.png deleted file mode 100644 index 1add57d29..000000000 Binary files a/docs/html/structace__time_1_1extended_1_1ZonePolicy__coll__graph.png and /dev/null differ diff --git a/docs/html/structace__time_1_1extended_1_1ZoneRule-members.html b/docs/html/structace__time_1_1extended_1_1ZoneRule-members.html deleted file mode 100644 index c5560c298..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneRule-members.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - -AceTime: Member List - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneRule Member List
                                                                                                                                      -
                                                                                                                                      - - - - - diff --git a/docs/html/structace__time_1_1extended_1_1ZoneRule.html b/docs/html/structace__time_1_1extended_1_1ZoneRule.html deleted file mode 100644 index bfd56e144..000000000 --- a/docs/html/structace__time_1_1extended_1_1ZoneRule.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - -AceTime: ace_time::extended::ZoneRule Struct Reference - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - -
                                                                                                                                      -
                                                                                                                                      AceTime -  1.1 -
                                                                                                                                      -
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      ace_time::extended::ZoneRule Struct Reference
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      A time zone transition rule. - More...

                                                                                                                                      - -

                                                                                                                                      #include <ZonePolicy.h>

                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                                                                                                                      -Public Attributes

                                                                                                                                      int8_t const fromYearTiny
                                                                                                                                       FROM year as an offset from year 2000 stored as a single byte. More...
                                                                                                                                       
                                                                                                                                      int8_t const toYearTiny
                                                                                                                                       TO year as an offset from year 2000 stored as a single byte. More...
                                                                                                                                       
                                                                                                                                      uint8_t const inMonth
                                                                                                                                       Determined by the IN column. More...
                                                                                                                                       
                                                                                                                                      uint8_t const onDayOfWeek
                                                                                                                                       Determined by the ON column. More...
                                                                                                                                       
                                                                                                                                      int8_t const onDayOfMonth
                                                                                                                                       Determined by the ON column. More...
                                                                                                                                       
                                                                                                                                      uint8_t const atTimeCode
                                                                                                                                       Determined by the AT column in units of 15-minutes from 00:00. More...
                                                                                                                                       
                                                                                                                                      uint8_t const atTimeModifier
                                                                                                                                       The atTimeModifier is a packed field containing 2 pieces of info: More...
                                                                                                                                       
                                                                                                                                      int8_t const deltaCode
                                                                                                                                       Determined by the SAVE column, containing the offset from UTC, in 15-min increments. More...
                                                                                                                                       
                                                                                                                                      uint8_t const letter
                                                                                                                                       Determined by the LETTER column. More...
                                                                                                                                       
                                                                                                                                      - - - - -

                                                                                                                                      -Static Public Attributes

                                                                                                                                      static const int8_t kMaxYearTiny = 126
                                                                                                                                       The maximum value of fromYearTiny and toYearTiny. More...
                                                                                                                                       
                                                                                                                                      -

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      A time zone transition rule.

                                                                                                                                      -

                                                                                                                                      It is useful to think of this as a transition rule that repeats on the given (month, day, hour) every year during the interval [fromYear, toYear] inclusive.

                                                                                                                                      - -

                                                                                                                                      Definition at line 12 of file ZonePolicy.h.

                                                                                                                                      -

                                                                                                                                      Member Data Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ atTimeCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneRule::atTimeCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the AT column in units of 15-minutes from 00:00.

                                                                                                                                      -

                                                                                                                                      The range is (0 - 100) corresponding to 00:00 to 25:00.

                                                                                                                                      - -

                                                                                                                                      Definition at line 50 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ atTimeModifier

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneRule::atTimeModifier
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The atTimeModifier is a packed field containing 2 pieces of info:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • The upper 4 bits represent the AT time suffix: 'w', 's' or 'u', represented by kSuffixW, kSuffixS and kSuffixU.
                                                                                                                                      • -
                                                                                                                                      • The lower 4 bits represent the remaining 0-14 minutes of the AT field after truncation into atTimeCode. In other words, the full AT field in one-minute resolution is (15 * atTimeCode + (atTimeModifier & 0x0f)).
                                                                                                                                      • -
                                                                                                                                      - -

                                                                                                                                      Definition at line 61 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ deltaCode

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneRule::deltaCode
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the SAVE column, containing the offset from UTC, in 15-min increments.

                                                                                                                                      -

                                                                                                                                      If the '–scope extended' flag is given to tzcompiler.py, this field should be interpreted as an uint8_t field, whose lower 4-bits hold a slightly modified value of offsetCode equal to (originalDeltaCode + 4). This allows the 4-bits to represent DST offsets from -1:00 to 2:45 in 15-minute increments. This is the same algorithm used by ZoneEra::deltaCode field for consistency. The extended::ZonePolicyBroker::deltaMinutes() method knows how to convert this field into minutes.

                                                                                                                                      - -

                                                                                                                                      Definition at line 76 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ fromYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneRule::fromYearTiny
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      FROM year as an offset from year 2000 stored as a single byte.

                                                                                                                                      - -

                                                                                                                                      Definition at line 20 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ inMonth

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneRule::inMonth
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the IN column.

                                                                                                                                      -

                                                                                                                                      1=Jan, 12=Dec.

                                                                                                                                      - -

                                                                                                                                      Definition at line 26 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ kMaxYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - -
                                                                                                                                      const int8_t ace_time::extended::ZoneRule::kMaxYearTiny = 126
                                                                                                                                      -
                                                                                                                                      -static
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      The maximum value of fromYearTiny and toYearTiny.

                                                                                                                                      -

                                                                                                                                      Must be < ZoneEra::kMaxUntilYear.

                                                                                                                                      - -

                                                                                                                                      Definition at line 17 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ letter

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneRule::letter
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the LETTER column.

                                                                                                                                      -

                                                                                                                                      Determines the substitution into the 's' field (implemented here by just a '') of the ZoneInfo::format field. Possible values are 'S', 'D', '-', or a number < 32 (i.e. a non-printable character). If the value is < 32, then this number is an index offset into the ZonePolicy.letters[] array which contains a (const char*) of the actual multi-character letter.

                                                                                                                                      -

                                                                                                                                      As of TZ DB version 2018i, there are 4 ZonePolicies which have ZoneRules with a LETTER field longer than 1 character:

                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • Belize ('CST'; used by America/Belize)
                                                                                                                                      • -
                                                                                                                                      • Namibia ('WAT', 'CAT'; used by Africa/Windhoek)
                                                                                                                                      • -
                                                                                                                                      • StJohns ('DD'; used by America/St_Johns and America/Goose_Bay)
                                                                                                                                      • -
                                                                                                                                      • Troll ('+00' '+02'; used by Antarctica/Troll)
                                                                                                                                      • -
                                                                                                                                      - -

                                                                                                                                      Definition at line 94 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ onDayOfMonth

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneRule::onDayOfMonth
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the ON column.

                                                                                                                                      -

                                                                                                                                      Used with onDayOfWeek. Possible values are: 0, 1-31, or its corresponding negative values.

                                                                                                                                      - -

                                                                                                                                      Definition at line 44 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ onDayOfWeek

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      uint8_t const ace_time::extended::ZoneRule::onDayOfWeek
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Determined by the ON column.

                                                                                                                                      -

                                                                                                                                      Possible values are: 0, 1=Mon, 7=Sun. There are 4 combinations:

                                                                                                                                      * onDayOfWeek=0, onDayOfMonth=(1-31): exact match
                                                                                                                                      -* onDayOfWeek=1-7, onDayOfMonth=1-31: dayOfWeek>=dayOfMonth
                                                                                                                                      -* onDayOfWeek=1-7, onDayOfMonth=-(1-31): dayOfWeek<=dayOfMonth
                                                                                                                                      -* onDayOfWeek=1-7, onDayOfMonth=0: last{dayOfWeek}
                                                                                                                                      -* 
                                                                                                                                      -

                                                                                                                                      Definition at line 38 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ toYearTiny

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - -
                                                                                                                                      int8_t const ace_time::extended::ZoneRule::toYearTiny
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      TO year as an offset from year 2000 stored as a single byte.

                                                                                                                                      - -

                                                                                                                                      Definition at line 23 of file ZonePolicy.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/internal/ZonePolicy.h
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      - - - - diff --git a/docs/html/structace__time_1_1hw_1_1HardwareDateTime-members.html b/docs/html/structace__time_1_1hw_1_1HardwareDateTime-members.html index 20fb4585c..9c0785be5 100644 --- a/docs/html/structace__time_1_1hw_1_1HardwareDateTime-members.html +++ b/docs/html/structace__time_1_1hw_1_1HardwareDateTime-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */ - + +/* @license-end */
                                                                                                                                      -

                                                                                                                                      The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip. +

                                                                                                                                      The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip. More...

                                                                                                                                      #include <HardwareDateTime.h>

                                                                                                                                      - - + +

                                                                                                                                      Public Member Functions

                                                                                                                                      void printTo (Print &printer) const
                                                                                                                                       Print HardwareDateTime to 'printer'. More...
                                                                                                                                      +void printTo (Print &printer) const
                                                                                                                                       Print HardwareDateTime to 'printer'.
                                                                                                                                       

                                                                                                                                      @@ -109,42 +113,19 @@

                                                                                                                                       

                                                                                                                                      Detailed Description

                                                                                                                                      -

                                                                                                                                      The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.

                                                                                                                                      +

                                                                                                                                      The date (year, month, day) and time (hour, minute, second) fields supported by the DS3231 RTC chip.

                                                                                                                                      Definition at line 20 of file HardwareDateTime.h.

                                                                                                                                      -

                                                                                                                                      Member Function Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ printTo()

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      void ace_time::hw::HardwareDateTime::printTo (Print & printer) const
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Print HardwareDateTime to 'printer'.

                                                                                                                                      - -

                                                                                                                                      Definition at line 19 of file HardwareDateTime.cpp.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following files:

                                                                                                                                      The documentation for this struct was generated from the following files:
                                                                                                                                      diff --git a/docs/html/structace__time_1_1hw_1_1HardwareTemperature-members.html b/docs/html/structace__time_1_1hw_1_1HardwareTemperature-members.html index ee2e81a27..7d4171f4e 100644 --- a/docs/html/structace__time_1_1hw_1_1HardwareTemperature-members.html +++ b/docs/html/structace__time_1_1hw_1_1HardwareTemperature-members.html @@ -1,9 +1,9 @@ - + - + AceTime: Member List @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */ - + +/* @license-end */

                                                                                                                                      Public Member Functions

                                                                                                                                      -int16_t toTemperature256 () const - Return temperature in units of 1/256 degrees. More...
                                                                                                                                      + +int16_t toTemperature256 () const + Return temperature in units of 1/256 degrees.
                                                                                                                                        -void printTo (Print &printer) const - Print HardwareTemperature to 'printer'. More...
                                                                                                                                      + +void printTo (Print &printer) const + Print HardwareTemperature to 'printer'.
                                                                                                                                        @@ -31,18 +31,21 @@

                                                                                                                                      @@ -101,75 +106,15 @@

                                                                                                                                      For negative temperatures, convert into a positive (8.8) integer, then print with a "-" in front of it. If you print just the (lsb / 256 * 100), it will be incorrect for negative temperatures.

                                                                                                                                      Definition at line 22 of file HardwareTemperature.h.

                                                                                                                                      -

                                                                                                                                      Member Function Documentation

                                                                                                                                      - -

                                                                                                                                      ◆ printTo()

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      void ace_time::hw::HardwareTemperature::printTo (Print & printer) const
                                                                                                                                      -
                                                                                                                                      -inline
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Print HardwareTemperature to 'printer'.

                                                                                                                                      - -

                                                                                                                                      Definition at line 29 of file HardwareTemperature.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      ◆ toTemperature256()

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - - - - - -
                                                                                                                                      - - - - - - - -
                                                                                                                                      int16_t ace_time::hw::HardwareTemperature::toTemperature256 () const
                                                                                                                                      -
                                                                                                                                      -inline
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      Return temperature in units of 1/256 degrees.

                                                                                                                                      - -

                                                                                                                                      Definition at line 24 of file HardwareTemperature.h.

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      The documentation for this struct was generated from the following file:
                                                                                                                                        -
                                                                                                                                      • /home/brian/dev/AceTime/src/ace_time/hw/HardwareTemperature.h
                                                                                                                                      • +
                                                                                                                                        The documentation for this struct was generated from the following file: diff --git a/docs/html/tabs.css b/docs/html/tabs.css index bbde11ed9..7d45d36c1 100644 --- a/docs/html/tabs.css +++ b/docs/html/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/docs/html/time__offset__mutation_8h_source.html b/docs/html/time__offset__mutation_8h_source.html index fbfff3c91..020b3586e 100644 --- a/docs/html/time__offset__mutation_8h_source.html +++ b/docs/html/time__offset__mutation_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/time_offset_mutation.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/time_offset_mutation.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      time_offset_mutation.h
                                                                                                                                      -
                                                                                                                                      1 /*
                                                                                                                                      2  * MIT License
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      4  */
                                                                                                                                      5 
                                                                                                                                      6 #ifndef ACE_TIME_TIME_OFFSET_MUTATION_H
                                                                                                                                      7 #define ACE_TIME_TIME_OFFSET_MUTATION_H
                                                                                                                                      8 
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      10 #include "common/util.h"
                                                                                                                                      11 #include "TimeOffset.h"
                                                                                                                                      12 
                                                                                                                                      13 namespace ace_time {
                                                                                                                                      14 namespace time_offset_mutation {
                                                                                                                                      15 
                                                                                                                                      37 inline void increment15Minutes(TimeOffset& offset) {
                                                                                                                                      38  int16_t minutes = offset.toMinutes() + 15;
                                                                                                                                      39  if (minutes > 960) minutes = -960; // FIXME: This truncates to 15-minutes
                                                                                                                                      40  offset.setMinutes(minutes);
                                                                                                                                      41 }
                                                                                                                                      42 
                                                                                                                                      43 }
                                                                                                                                      44 }
                                                                                                                                      45 
                                                                                                                                      46 #endif
                                                                                                                                      +
                                                                                                                                      1 /*
                                                                                                                                      +
                                                                                                                                      2  * MIT License
                                                                                                                                      +
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      +
                                                                                                                                      4  */
                                                                                                                                      +
                                                                                                                                      5 
                                                                                                                                      +
                                                                                                                                      6 #ifndef ACE_TIME_TIME_OFFSET_MUTATION_H
                                                                                                                                      +
                                                                                                                                      7 #define ACE_TIME_TIME_OFFSET_MUTATION_H
                                                                                                                                      +
                                                                                                                                      8 
                                                                                                                                      +
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      +
                                                                                                                                      10 #include "common/util.h"
                                                                                                                                      +
                                                                                                                                      11 #include "TimeOffset.h"
                                                                                                                                      +
                                                                                                                                      12 
                                                                                                                                      +
                                                                                                                                      13 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      14 namespace time_offset_mutation {
                                                                                                                                      +
                                                                                                                                      15 
                                                                                                                                      +
                                                                                                                                      37 inline void increment15Minutes(TimeOffset& offset) {
                                                                                                                                      +
                                                                                                                                      38  int16_t minutes = offset.toMinutes() + 15;
                                                                                                                                      +
                                                                                                                                      39  if (minutes > 960) minutes = -960; // FIXME: This truncates to 15-minutes
                                                                                                                                      +
                                                                                                                                      40  offset.setMinutes(minutes);
                                                                                                                                      +
                                                                                                                                      41 }
                                                                                                                                      +
                                                                                                                                      42 
                                                                                                                                      +
                                                                                                                                      43 }
                                                                                                                                      +
                                                                                                                                      44 }
                                                                                                                                      +
                                                                                                                                      45 
                                                                                                                                      +
                                                                                                                                      46 #endif
                                                                                                                                      diff --git a/docs/html/time__period__mutation_8h_source.html b/docs/html/time__period__mutation_8h_source.html index f84559fa0..2a169199b 100644 --- a/docs/html/time__period__mutation_8h_source.html +++ b/docs/html/time__period__mutation_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/time_period_mutation.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/time_period_mutation.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      time_period_mutation.h
                                                                                                                                      -
                                                                                                                                      1 /*
                                                                                                                                      2  * MIT License
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      4  */
                                                                                                                                      5 
                                                                                                                                      6 #ifndef ACE_TIME_TIME_PERIOD_MUTATION_H
                                                                                                                                      7 #define ACE_TIME_TIME_PERIOD_MUTATION_H
                                                                                                                                      8 
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      10 #include "common/util.h"
                                                                                                                                      11 #include "TimePeriod.h"
                                                                                                                                      12 
                                                                                                                                      13 namespace ace_time {
                                                                                                                                      14 namespace time_period_mutation {
                                                                                                                                      15 
                                                                                                                                      28 inline void negate(TimePeriod& period) {
                                                                                                                                      29  period.sign(-period.sign());
                                                                                                                                      30 }
                                                                                                                                      31 
                                                                                                                                      33 inline void incrementHour(TimePeriod& period, uint8_t limit) {
                                                                                                                                      34  uint8_t hour = period.hour();
                                                                                                                                      35  common::incrementMod(hour, limit);
                                                                                                                                      36  period.hour(hour);
                                                                                                                                      37 }
                                                                                                                                      38 
                                                                                                                                      40 inline void incrementHour(TimePeriod& period) {
                                                                                                                                      41  incrementHour(period, (uint8_t) 24);
                                                                                                                                      42 }
                                                                                                                                      43 
                                                                                                                                      45 inline void incrementMinute(TimePeriod& period) {
                                                                                                                                      46  uint8_t minute = period.minute();
                                                                                                                                      47  common::incrementMod(minute, (uint8_t) 60);
                                                                                                                                      48  period.minute(minute);
                                                                                                                                      49 }
                                                                                                                                      50 
                                                                                                                                      51 
                                                                                                                                      52 }
                                                                                                                                      53 }
                                                                                                                                      54 
                                                                                                                                      55 #endif
                                                                                                                                      +
                                                                                                                                      1 /*
                                                                                                                                      +
                                                                                                                                      2  * MIT License
                                                                                                                                      +
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      +
                                                                                                                                      4  */
                                                                                                                                      +
                                                                                                                                      5 
                                                                                                                                      +
                                                                                                                                      6 #ifndef ACE_TIME_TIME_PERIOD_MUTATION_H
                                                                                                                                      +
                                                                                                                                      7 #define ACE_TIME_TIME_PERIOD_MUTATION_H
                                                                                                                                      +
                                                                                                                                      8 
                                                                                                                                      +
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      +
                                                                                                                                      10 #include "common/util.h"
                                                                                                                                      +
                                                                                                                                      11 #include "TimePeriod.h"
                                                                                                                                      +
                                                                                                                                      12 
                                                                                                                                      +
                                                                                                                                      13 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      14 namespace time_period_mutation {
                                                                                                                                      +
                                                                                                                                      15 
                                                                                                                                      +
                                                                                                                                      28 inline void negate(TimePeriod& period) {
                                                                                                                                      +
                                                                                                                                      29  period.sign(-period.sign());
                                                                                                                                      +
                                                                                                                                      30 }
                                                                                                                                      +
                                                                                                                                      31 
                                                                                                                                      +
                                                                                                                                      33 inline void incrementHour(TimePeriod& period, uint8_t limit) {
                                                                                                                                      +
                                                                                                                                      34  uint8_t hour = period.hour();
                                                                                                                                      +
                                                                                                                                      35  common::incrementMod(hour, limit);
                                                                                                                                      +
                                                                                                                                      36  period.hour(hour);
                                                                                                                                      +
                                                                                                                                      37 }
                                                                                                                                      +
                                                                                                                                      38 
                                                                                                                                      +
                                                                                                                                      40 inline void incrementHour(TimePeriod& period) {
                                                                                                                                      +
                                                                                                                                      41  incrementHour(period, (uint8_t) 24);
                                                                                                                                      +
                                                                                                                                      42 }
                                                                                                                                      +
                                                                                                                                      43 
                                                                                                                                      +
                                                                                                                                      45 inline void incrementMinute(TimePeriod& period) {
                                                                                                                                      +
                                                                                                                                      46  uint8_t minute = period.minute();
                                                                                                                                      +
                                                                                                                                      47  common::incrementMod(minute, (uint8_t) 60);
                                                                                                                                      +
                                                                                                                                      48  period.minute(minute);
                                                                                                                                      +
                                                                                                                                      49 }
                                                                                                                                      +
                                                                                                                                      50 
                                                                                                                                      +
                                                                                                                                      51 
                                                                                                                                      +
                                                                                                                                      52 }
                                                                                                                                      +
                                                                                                                                      53 }
                                                                                                                                      +
                                                                                                                                      54 
                                                                                                                                      +
                                                                                                                                      55 #endif
                                                                                                                                      diff --git a/docs/html/util_8h_source.html b/docs/html/util_8h_source.html index 65ff63d61..f2a19384b 100644 --- a/docs/html/util_8h_source.html +++ b/docs/html/util_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/common/util.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/common/util.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      util.h
                                                                                                                                      -
                                                                                                                                      1 /*
                                                                                                                                      2  * MIT License
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      4  */
                                                                                                                                      5 
                                                                                                                                      6 #ifndef ACE_TIME_COMMON_UTIL_H
                                                                                                                                      7 #define ACE_TIME_COMMON_UTIL_H
                                                                                                                                      8 
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      10 #include <Print.h>
                                                                                                                                      11 
                                                                                                                                      12 namespace ace_time {
                                                                                                                                      13 namespace common {
                                                                                                                                      14 
                                                                                                                                      19 template<typename T>
                                                                                                                                      20 void incrementMod(T& d, T m) {
                                                                                                                                      21  d++;
                                                                                                                                      22  if (d >= m) d = 0;
                                                                                                                                      23 }
                                                                                                                                      24 
                                                                                                                                      29 template<typename T>
                                                                                                                                      30 void incrementMod(T& d, T m, T offset) {
                                                                                                                                      31  d -= offset;
                                                                                                                                      32  d++;
                                                                                                                                      33  if (d >= m) d = 0;
                                                                                                                                      34  d += offset;
                                                                                                                                      35 }
                                                                                                                                      36 
                                                                                                                                      38 inline uint8_t decToBcd(uint8_t val) {
                                                                                                                                      39  return (val/10*16) + (val%10);
                                                                                                                                      40 }
                                                                                                                                      41 
                                                                                                                                      43 inline uint8_t bcdToDec(uint8_t val) {
                                                                                                                                      44  return (val/16*10) + (val%16);
                                                                                                                                      45 }
                                                                                                                                      46 
                                                                                                                                      48 inline void printPad2(Print& printer, uint8_t value, char padChar = '0') {
                                                                                                                                      49  if (value < 10) printer.print(padChar);
                                                                                                                                      50  printer.print(value);
                                                                                                                                      51 }
                                                                                                                                      52 
                                                                                                                                      54 inline void printPad3(Print& printer, uint16_t val, char padChar = '0') {
                                                                                                                                      55  if (val < 100) printer.print(padChar);
                                                                                                                                      56  if (val < 10) printer.print(padChar);
                                                                                                                                      57  printer.print(val);
                                                                                                                                      58 }
                                                                                                                                      59 
                                                                                                                                      60 }
                                                                                                                                      61 }
                                                                                                                                      62 
                                                                                                                                      63 #endif
                                                                                                                                      +
                                                                                                                                      1 /*
                                                                                                                                      +
                                                                                                                                      2  * MIT License
                                                                                                                                      +
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      +
                                                                                                                                      4  */
                                                                                                                                      +
                                                                                                                                      5 
                                                                                                                                      +
                                                                                                                                      6 #ifndef ACE_TIME_COMMON_UTIL_H
                                                                                                                                      +
                                                                                                                                      7 #define ACE_TIME_COMMON_UTIL_H
                                                                                                                                      +
                                                                                                                                      8 
                                                                                                                                      +
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      +
                                                                                                                                      10 #include <Print.h>
                                                                                                                                      +
                                                                                                                                      11 
                                                                                                                                      +
                                                                                                                                      12 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      13 namespace common {
                                                                                                                                      +
                                                                                                                                      14 
                                                                                                                                      +
                                                                                                                                      19 template<typename T>
                                                                                                                                      +
                                                                                                                                      20 void incrementMod(T& d, T m) {
                                                                                                                                      +
                                                                                                                                      21  d++;
                                                                                                                                      +
                                                                                                                                      22  if (d >= m) d = 0;
                                                                                                                                      +
                                                                                                                                      23 }
                                                                                                                                      +
                                                                                                                                      24 
                                                                                                                                      +
                                                                                                                                      29 template<typename T>
                                                                                                                                      +
                                                                                                                                      30 void incrementMod(T& d, T m, T offset) {
                                                                                                                                      +
                                                                                                                                      31  d -= offset;
                                                                                                                                      +
                                                                                                                                      32  d++;
                                                                                                                                      +
                                                                                                                                      33  if (d >= m) d = 0;
                                                                                                                                      +
                                                                                                                                      34  d += offset;
                                                                                                                                      +
                                                                                                                                      35 }
                                                                                                                                      +
                                                                                                                                      36 
                                                                                                                                      +
                                                                                                                                      38 inline uint8_t decToBcd(uint8_t val) {
                                                                                                                                      +
                                                                                                                                      39  return (val/10*16) + (val%10);
                                                                                                                                      +
                                                                                                                                      40 }
                                                                                                                                      +
                                                                                                                                      41 
                                                                                                                                      +
                                                                                                                                      43 inline uint8_t bcdToDec(uint8_t val) {
                                                                                                                                      +
                                                                                                                                      44  return (val/16*10) + (val%16);
                                                                                                                                      +
                                                                                                                                      45 }
                                                                                                                                      +
                                                                                                                                      46 
                                                                                                                                      +
                                                                                                                                      48 inline void printPad2(Print& printer, uint8_t value, char padChar = '0') {
                                                                                                                                      +
                                                                                                                                      49  if (value < 10) printer.print(padChar);
                                                                                                                                      +
                                                                                                                                      50  printer.print(value);
                                                                                                                                      +
                                                                                                                                      51 }
                                                                                                                                      +
                                                                                                                                      52 
                                                                                                                                      +
                                                                                                                                      54 inline void printPad3(Print& printer, uint16_t val, char padChar = '0') {
                                                                                                                                      +
                                                                                                                                      55  if (val < 100) printer.print(padChar);
                                                                                                                                      +
                                                                                                                                      56  if (val < 10) printer.print(padChar);
                                                                                                                                      +
                                                                                                                                      57  printer.print(val);
                                                                                                                                      +
                                                                                                                                      58 }
                                                                                                                                      +
                                                                                                                                      59 
                                                                                                                                      +
                                                                                                                                      60 }
                                                                                                                                      +
                                                                                                                                      61 }
                                                                                                                                      +
                                                                                                                                      62 
                                                                                                                                      +
                                                                                                                                      63 #endif
                                                                                                                                      diff --git a/docs/html/zone__infos_8cpp_source.html b/docs/html/zone__infos_8cpp_source.html index f451ac198..9e8acba0b 100644 --- a/docs/html/zone__infos_8cpp_source.html +++ b/docs/html/zone__infos_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb/zone_infos.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb/zone_infos.cpp Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zone_infos.cpp
                                                                                                                                      -
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      2 //
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      4 //
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020a
                                                                                                                                      7 //
                                                                                                                                      8 // Zones: 268
                                                                                                                                      9 // Links: 182
                                                                                                                                      10 // Strings (bytes): 5378
                                                                                                                                      11 // Memory (8-bit): 11685
                                                                                                                                      12 // Memory (32-bit): 15234
                                                                                                                                      13 //
                                                                                                                                      14 // DO NOT EDIT
                                                                                                                                      15 
                                                                                                                                      16 #include <ace_time/common/compat.h>
                                                                                                                                      17 #include "zone_policies.h"
                                                                                                                                      18 #include "zone_infos.h"
                                                                                                                                      19 
                                                                                                                                      20 namespace ace_time {
                                                                                                                                      21 namespace zonedb {
                                                                                                                                      22 
                                                                                                                                      23 //---------------------------------------------------------------------------
                                                                                                                                      24 // ZoneContext (should not be in PROGMEM)
                                                                                                                                      25 //---------------------------------------------------------------------------
                                                                                                                                      26 
                                                                                                                                      27 const char kTzDatabaseVersion[] = "2020a";
                                                                                                                                      28 
                                                                                                                                      29 const basic::ZoneContext kZoneContext = {
                                                                                                                                      30  2000 /*startYear*/,
                                                                                                                                      31  2050 /*untilYear*/,
                                                                                                                                      32  kTzDatabaseVersion /*tzVersion*/,
                                                                                                                                      33 };
                                                                                                                                      34 
                                                                                                                                      35 //---------------------------------------------------------------------------
                                                                                                                                      36 // Zones: 268
                                                                                                                                      37 //---------------------------------------------------------------------------
                                                                                                                                      38 
                                                                                                                                      39 //---------------------------------------------------------------------------
                                                                                                                                      40 // Zone name: Africa/Abidjan
                                                                                                                                      41 // Zone Eras: 1
                                                                                                                                      42 // Strings (bytes): 19
                                                                                                                                      43 // Memory (8-bit): 42
                                                                                                                                      44 // Memory (32-bit): 55
                                                                                                                                      45 //---------------------------------------------------------------------------
                                                                                                                                      46 
                                                                                                                                      47 static const basic::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
                                                                                                                                      48  // 0:00 - GMT
                                                                                                                                      49  {
                                                                                                                                      50  nullptr /*zonePolicy*/,
                                                                                                                                      51  "GMT" /*format*/,
                                                                                                                                      52  0 /*offsetCode*/,
                                                                                                                                      53  0 /*deltaCode*/,
                                                                                                                                      54  127 /*untilYearTiny*/,
                                                                                                                                      55  1 /*untilMonth*/,
                                                                                                                                      56  1 /*untilDay*/,
                                                                                                                                      57  0 /*untilTimeCode*/,
                                                                                                                                      58  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      59  },
                                                                                                                                      60 
                                                                                                                                      61 };
                                                                                                                                      62 
                                                                                                                                      63 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "Africa/Abidjan";
                                                                                                                                      64 
                                                                                                                                      65 const basic::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
                                                                                                                                      66  kZoneNameAfrica_Abidjan /*name*/,
                                                                                                                                      67  0xc21305a3 /*zoneId*/,
                                                                                                                                      68  &kZoneContext /*zoneContext*/,
                                                                                                                                      69  2 /*transitionBufSize*/,
                                                                                                                                      70  1 /*numEras*/,
                                                                                                                                      71  kZoneEraAfrica_Abidjan /*eras*/,
                                                                                                                                      72 };
                                                                                                                                      73 
                                                                                                                                      74 //---------------------------------------------------------------------------
                                                                                                                                      75 // Zone name: Africa/Accra
                                                                                                                                      76 // Zone Eras: 1
                                                                                                                                      77 // Strings (bytes): 23
                                                                                                                                      78 // Memory (8-bit): 46
                                                                                                                                      79 // Memory (32-bit): 59
                                                                                                                                      80 //---------------------------------------------------------------------------
                                                                                                                                      81 
                                                                                                                                      82 static const basic::ZoneEra kZoneEraAfrica_Accra[] ACE_TIME_PROGMEM = {
                                                                                                                                      83  // 0:00 Ghana GMT/+0020
                                                                                                                                      84  {
                                                                                                                                      85  &kPolicyGhana /*zonePolicy*/,
                                                                                                                                      86  "GMT/+0020" /*format*/,
                                                                                                                                      87  0 /*offsetCode*/,
                                                                                                                                      88  0 /*deltaCode*/,
                                                                                                                                      89  127 /*untilYearTiny*/,
                                                                                                                                      90  1 /*untilMonth*/,
                                                                                                                                      91  1 /*untilDay*/,
                                                                                                                                      92  0 /*untilTimeCode*/,
                                                                                                                                      93  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      94  },
                                                                                                                                      95 
                                                                                                                                      96 };
                                                                                                                                      97 
                                                                                                                                      98 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "Africa/Accra";
                                                                                                                                      99 
                                                                                                                                      100 const basic::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
                                                                                                                                      101  kZoneNameAfrica_Accra /*name*/,
                                                                                                                                      102  0x77d5b054 /*zoneId*/,
                                                                                                                                      103  &kZoneContext /*zoneContext*/,
                                                                                                                                      104  2 /*transitionBufSize*/,
                                                                                                                                      105  1 /*numEras*/,
                                                                                                                                      106  kZoneEraAfrica_Accra /*eras*/,
                                                                                                                                      107 };
                                                                                                                                      108 
                                                                                                                                      109 //---------------------------------------------------------------------------
                                                                                                                                      110 // Zone name: Africa/Algiers
                                                                                                                                      111 // Zone Eras: 1
                                                                                                                                      112 // Strings (bytes): 19
                                                                                                                                      113 // Memory (8-bit): 42
                                                                                                                                      114 // Memory (32-bit): 55
                                                                                                                                      115 //---------------------------------------------------------------------------
                                                                                                                                      116 
                                                                                                                                      117 static const basic::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
                                                                                                                                      118  // 1:00 - CET
                                                                                                                                      119  {
                                                                                                                                      120  nullptr /*zonePolicy*/,
                                                                                                                                      121  "CET" /*format*/,
                                                                                                                                      122  4 /*offsetCode*/,
                                                                                                                                      123  0 /*deltaCode*/,
                                                                                                                                      124  127 /*untilYearTiny*/,
                                                                                                                                      125  1 /*untilMonth*/,
                                                                                                                                      126  1 /*untilDay*/,
                                                                                                                                      127  0 /*untilTimeCode*/,
                                                                                                                                      128  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      129  },
                                                                                                                                      130 
                                                                                                                                      131 };
                                                                                                                                      132 
                                                                                                                                      133 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "Africa/Algiers";
                                                                                                                                      134 
                                                                                                                                      135 const basic::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
                                                                                                                                      136  kZoneNameAfrica_Algiers /*name*/,
                                                                                                                                      137  0xd94515c1 /*zoneId*/,
                                                                                                                                      138  &kZoneContext /*zoneContext*/,
                                                                                                                                      139  2 /*transitionBufSize*/,
                                                                                                                                      140  1 /*numEras*/,
                                                                                                                                      141  kZoneEraAfrica_Algiers /*eras*/,
                                                                                                                                      142 };
                                                                                                                                      143 
                                                                                                                                      144 //---------------------------------------------------------------------------
                                                                                                                                      145 // Zone name: Africa/Bissau
                                                                                                                                      146 // Zone Eras: 1
                                                                                                                                      147 // Strings (bytes): 18
                                                                                                                                      148 // Memory (8-bit): 41
                                                                                                                                      149 // Memory (32-bit): 54
                                                                                                                                      150 //---------------------------------------------------------------------------
                                                                                                                                      151 
                                                                                                                                      152 static const basic::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
                                                                                                                                      153  // 0:00 - GMT
                                                                                                                                      154  {
                                                                                                                                      155  nullptr /*zonePolicy*/,
                                                                                                                                      156  "GMT" /*format*/,
                                                                                                                                      157  0 /*offsetCode*/,
                                                                                                                                      158  0 /*deltaCode*/,
                                                                                                                                      159  127 /*untilYearTiny*/,
                                                                                                                                      160  1 /*untilMonth*/,
                                                                                                                                      161  1 /*untilDay*/,
                                                                                                                                      162  0 /*untilTimeCode*/,
                                                                                                                                      163  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      164  },
                                                                                                                                      165 
                                                                                                                                      166 };
                                                                                                                                      167 
                                                                                                                                      168 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "Africa/Bissau";
                                                                                                                                      169 
                                                                                                                                      170 const basic::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
                                                                                                                                      171  kZoneNameAfrica_Bissau /*name*/,
                                                                                                                                      172  0x75564141 /*zoneId*/,
                                                                                                                                      173  &kZoneContext /*zoneContext*/,
                                                                                                                                      174  2 /*transitionBufSize*/,
                                                                                                                                      175  1 /*numEras*/,
                                                                                                                                      176  kZoneEraAfrica_Bissau /*eras*/,
                                                                                                                                      177 };
                                                                                                                                      178 
                                                                                                                                      179 //---------------------------------------------------------------------------
                                                                                                                                      180 // Zone name: Africa/Ceuta
                                                                                                                                      181 // Zone Eras: 1
                                                                                                                                      182 // Strings (bytes): 18
                                                                                                                                      183 // Memory (8-bit): 41
                                                                                                                                      184 // Memory (32-bit): 54
                                                                                                                                      185 //---------------------------------------------------------------------------
                                                                                                                                      186 
                                                                                                                                      187 static const basic::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
                                                                                                                                      188  // 1:00 EU CE%sT
                                                                                                                                      189  {
                                                                                                                                      190  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      191  "CE%T" /*format*/,
                                                                                                                                      192  4 /*offsetCode*/,
                                                                                                                                      193  0 /*deltaCode*/,
                                                                                                                                      194  127 /*untilYearTiny*/,
                                                                                                                                      195  1 /*untilMonth*/,
                                                                                                                                      196  1 /*untilDay*/,
                                                                                                                                      197  0 /*untilTimeCode*/,
                                                                                                                                      198  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      199  },
                                                                                                                                      200 
                                                                                                                                      201 };
                                                                                                                                      202 
                                                                                                                                      203 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "Africa/Ceuta";
                                                                                                                                      204 
                                                                                                                                      205 const basic::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
                                                                                                                                      206  kZoneNameAfrica_Ceuta /*name*/,
                                                                                                                                      207  0x77fb46ec /*zoneId*/,
                                                                                                                                      208  &kZoneContext /*zoneContext*/,
                                                                                                                                      209  5 /*transitionBufSize*/,
                                                                                                                                      210  1 /*numEras*/,
                                                                                                                                      211  kZoneEraAfrica_Ceuta /*eras*/,
                                                                                                                                      212 };
                                                                                                                                      213 
                                                                                                                                      214 //---------------------------------------------------------------------------
                                                                                                                                      215 // Zone name: Africa/Johannesburg
                                                                                                                                      216 // Zone Eras: 1
                                                                                                                                      217 // Strings (bytes): 25
                                                                                                                                      218 // Memory (8-bit): 48
                                                                                                                                      219 // Memory (32-bit): 61
                                                                                                                                      220 //---------------------------------------------------------------------------
                                                                                                                                      221 
                                                                                                                                      222 static const basic::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
                                                                                                                                      223  // 2:00 SA SAST
                                                                                                                                      224  {
                                                                                                                                      225  &kPolicySA /*zonePolicy*/,
                                                                                                                                      226  "SAST" /*format*/,
                                                                                                                                      227  8 /*offsetCode*/,
                                                                                                                                      228  0 /*deltaCode*/,
                                                                                                                                      229  127 /*untilYearTiny*/,
                                                                                                                                      230  1 /*untilMonth*/,
                                                                                                                                      231  1 /*untilDay*/,
                                                                                                                                      232  0 /*untilTimeCode*/,
                                                                                                                                      233  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      234  },
                                                                                                                                      235 
                                                                                                                                      236 };
                                                                                                                                      237 
                                                                                                                                      238 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "Africa/Johannesburg";
                                                                                                                                      239 
                                                                                                                                      240 const basic::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
                                                                                                                                      241  kZoneNameAfrica_Johannesburg /*name*/,
                                                                                                                                      242  0xd5d157a0 /*zoneId*/,
                                                                                                                                      243  &kZoneContext /*zoneContext*/,
                                                                                                                                      244  2 /*transitionBufSize*/,
                                                                                                                                      245  1 /*numEras*/,
                                                                                                                                      246  kZoneEraAfrica_Johannesburg /*eras*/,
                                                                                                                                      247 };
                                                                                                                                      248 
                                                                                                                                      249 //---------------------------------------------------------------------------
                                                                                                                                      250 // Zone name: Africa/Lagos
                                                                                                                                      251 // Zone Eras: 1
                                                                                                                                      252 // Strings (bytes): 17
                                                                                                                                      253 // Memory (8-bit): 40
                                                                                                                                      254 // Memory (32-bit): 53
                                                                                                                                      255 //---------------------------------------------------------------------------
                                                                                                                                      256 
                                                                                                                                      257 static const basic::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
                                                                                                                                      258  // 1:00 - WAT
                                                                                                                                      259  {
                                                                                                                                      260  nullptr /*zonePolicy*/,
                                                                                                                                      261  "WAT" /*format*/,
                                                                                                                                      262  4 /*offsetCode*/,
                                                                                                                                      263  0 /*deltaCode*/,
                                                                                                                                      264  127 /*untilYearTiny*/,
                                                                                                                                      265  1 /*untilMonth*/,
                                                                                                                                      266  1 /*untilDay*/,
                                                                                                                                      267  0 /*untilTimeCode*/,
                                                                                                                                      268  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      269  },
                                                                                                                                      270 
                                                                                                                                      271 };
                                                                                                                                      272 
                                                                                                                                      273 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "Africa/Lagos";
                                                                                                                                      274 
                                                                                                                                      275 const basic::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
                                                                                                                                      276  kZoneNameAfrica_Lagos /*name*/,
                                                                                                                                      277  0x789bb5d0 /*zoneId*/,
                                                                                                                                      278  &kZoneContext /*zoneContext*/,
                                                                                                                                      279  2 /*transitionBufSize*/,
                                                                                                                                      280  1 /*numEras*/,
                                                                                                                                      281  kZoneEraAfrica_Lagos /*eras*/,
                                                                                                                                      282 };
                                                                                                                                      283 
                                                                                                                                      284 //---------------------------------------------------------------------------
                                                                                                                                      285 // Zone name: Africa/Maputo
                                                                                                                                      286 // Zone Eras: 1
                                                                                                                                      287 // Strings (bytes): 18
                                                                                                                                      288 // Memory (8-bit): 41
                                                                                                                                      289 // Memory (32-bit): 54
                                                                                                                                      290 //---------------------------------------------------------------------------
                                                                                                                                      291 
                                                                                                                                      292 static const basic::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
                                                                                                                                      293  // 2:00 - CAT
                                                                                                                                      294  {
                                                                                                                                      295  nullptr /*zonePolicy*/,
                                                                                                                                      296  "CAT" /*format*/,
                                                                                                                                      297  8 /*offsetCode*/,
                                                                                                                                      298  0 /*deltaCode*/,
                                                                                                                                      299  127 /*untilYearTiny*/,
                                                                                                                                      300  1 /*untilMonth*/,
                                                                                                                                      301  1 /*untilDay*/,
                                                                                                                                      302  0 /*untilTimeCode*/,
                                                                                                                                      303  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      304  },
                                                                                                                                      305 
                                                                                                                                      306 };
                                                                                                                                      307 
                                                                                                                                      308 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "Africa/Maputo";
                                                                                                                                      309 
                                                                                                                                      310 const basic::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
                                                                                                                                      311  kZoneNameAfrica_Maputo /*name*/,
                                                                                                                                      312  0x8e6ca1f0 /*zoneId*/,
                                                                                                                                      313  &kZoneContext /*zoneContext*/,
                                                                                                                                      314  2 /*transitionBufSize*/,
                                                                                                                                      315  1 /*numEras*/,
                                                                                                                                      316  kZoneEraAfrica_Maputo /*eras*/,
                                                                                                                                      317 };
                                                                                                                                      318 
                                                                                                                                      319 //---------------------------------------------------------------------------
                                                                                                                                      320 // Zone name: Africa/Monrovia
                                                                                                                                      321 // Zone Eras: 1
                                                                                                                                      322 // Strings (bytes): 20
                                                                                                                                      323 // Memory (8-bit): 43
                                                                                                                                      324 // Memory (32-bit): 56
                                                                                                                                      325 //---------------------------------------------------------------------------
                                                                                                                                      326 
                                                                                                                                      327 static const basic::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
                                                                                                                                      328  // 0:00 - GMT
                                                                                                                                      329  {
                                                                                                                                      330  nullptr /*zonePolicy*/,
                                                                                                                                      331  "GMT" /*format*/,
                                                                                                                                      332  0 /*offsetCode*/,
                                                                                                                                      333  0 /*deltaCode*/,
                                                                                                                                      334  127 /*untilYearTiny*/,
                                                                                                                                      335  1 /*untilMonth*/,
                                                                                                                                      336  1 /*untilDay*/,
                                                                                                                                      337  0 /*untilTimeCode*/,
                                                                                                                                      338  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      339  },
                                                                                                                                      340 
                                                                                                                                      341 };
                                                                                                                                      342 
                                                                                                                                      343 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "Africa/Monrovia";
                                                                                                                                      344 
                                                                                                                                      345 const basic::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
                                                                                                                                      346  kZoneNameAfrica_Monrovia /*name*/,
                                                                                                                                      347  0x0ce90385 /*zoneId*/,
                                                                                                                                      348  &kZoneContext /*zoneContext*/,
                                                                                                                                      349  2 /*transitionBufSize*/,
                                                                                                                                      350  1 /*numEras*/,
                                                                                                                                      351  kZoneEraAfrica_Monrovia /*eras*/,
                                                                                                                                      352 };
                                                                                                                                      353 
                                                                                                                                      354 //---------------------------------------------------------------------------
                                                                                                                                      355 // Zone name: Africa/Nairobi
                                                                                                                                      356 // Zone Eras: 1
                                                                                                                                      357 // Strings (bytes): 19
                                                                                                                                      358 // Memory (8-bit): 42
                                                                                                                                      359 // Memory (32-bit): 55
                                                                                                                                      360 //---------------------------------------------------------------------------
                                                                                                                                      361 
                                                                                                                                      362 static const basic::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
                                                                                                                                      363  // 3:00 - EAT
                                                                                                                                      364  {
                                                                                                                                      365  nullptr /*zonePolicy*/,
                                                                                                                                      366  "EAT" /*format*/,
                                                                                                                                      367  12 /*offsetCode*/,
                                                                                                                                      368  0 /*deltaCode*/,
                                                                                                                                      369  127 /*untilYearTiny*/,
                                                                                                                                      370  1 /*untilMonth*/,
                                                                                                                                      371  1 /*untilDay*/,
                                                                                                                                      372  0 /*untilTimeCode*/,
                                                                                                                                      373  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      374  },
                                                                                                                                      375 
                                                                                                                                      376 };
                                                                                                                                      377 
                                                                                                                                      378 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "Africa/Nairobi";
                                                                                                                                      379 
                                                                                                                                      380 const basic::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
                                                                                                                                      381  kZoneNameAfrica_Nairobi /*name*/,
                                                                                                                                      382  0xa87ab57e /*zoneId*/,
                                                                                                                                      383  &kZoneContext /*zoneContext*/,
                                                                                                                                      384  2 /*transitionBufSize*/,
                                                                                                                                      385  1 /*numEras*/,
                                                                                                                                      386  kZoneEraAfrica_Nairobi /*eras*/,
                                                                                                                                      387 };
                                                                                                                                      388 
                                                                                                                                      389 //---------------------------------------------------------------------------
                                                                                                                                      390 // Zone name: Africa/Ndjamena
                                                                                                                                      391 // Zone Eras: 1
                                                                                                                                      392 // Strings (bytes): 20
                                                                                                                                      393 // Memory (8-bit): 43
                                                                                                                                      394 // Memory (32-bit): 56
                                                                                                                                      395 //---------------------------------------------------------------------------
                                                                                                                                      396 
                                                                                                                                      397 static const basic::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
                                                                                                                                      398  // 1:00 - WAT
                                                                                                                                      399  {
                                                                                                                                      400  nullptr /*zonePolicy*/,
                                                                                                                                      401  "WAT" /*format*/,
                                                                                                                                      402  4 /*offsetCode*/,
                                                                                                                                      403  0 /*deltaCode*/,
                                                                                                                                      404  127 /*untilYearTiny*/,
                                                                                                                                      405  1 /*untilMonth*/,
                                                                                                                                      406  1 /*untilDay*/,
                                                                                                                                      407  0 /*untilTimeCode*/,
                                                                                                                                      408  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      409  },
                                                                                                                                      410 
                                                                                                                                      411 };
                                                                                                                                      412 
                                                                                                                                      413 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "Africa/Ndjamena";
                                                                                                                                      414 
                                                                                                                                      415 const basic::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
                                                                                                                                      416  kZoneNameAfrica_Ndjamena /*name*/,
                                                                                                                                      417  0x9fe09898 /*zoneId*/,
                                                                                                                                      418  &kZoneContext /*zoneContext*/,
                                                                                                                                      419  2 /*transitionBufSize*/,
                                                                                                                                      420  1 /*numEras*/,
                                                                                                                                      421  kZoneEraAfrica_Ndjamena /*eras*/,
                                                                                                                                      422 };
                                                                                                                                      423 
                                                                                                                                      424 //---------------------------------------------------------------------------
                                                                                                                                      425 // Zone name: Africa/Tunis
                                                                                                                                      426 // Zone Eras: 1
                                                                                                                                      427 // Strings (bytes): 18
                                                                                                                                      428 // Memory (8-bit): 41
                                                                                                                                      429 // Memory (32-bit): 54
                                                                                                                                      430 //---------------------------------------------------------------------------
                                                                                                                                      431 
                                                                                                                                      432 static const basic::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
                                                                                                                                      433  // 1:00 Tunisia CE%sT
                                                                                                                                      434  {
                                                                                                                                      435  &kPolicyTunisia /*zonePolicy*/,
                                                                                                                                      436  "CE%T" /*format*/,
                                                                                                                                      437  4 /*offsetCode*/,
                                                                                                                                      438  0 /*deltaCode*/,
                                                                                                                                      439  127 /*untilYearTiny*/,
                                                                                                                                      440  1 /*untilMonth*/,
                                                                                                                                      441  1 /*untilDay*/,
                                                                                                                                      442  0 /*untilTimeCode*/,
                                                                                                                                      443  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      444  },
                                                                                                                                      445 
                                                                                                                                      446 };
                                                                                                                                      447 
                                                                                                                                      448 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "Africa/Tunis";
                                                                                                                                      449 
                                                                                                                                      450 const basic::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
                                                                                                                                      451  kZoneNameAfrica_Tunis /*name*/,
                                                                                                                                      452  0x79378e6d /*zoneId*/,
                                                                                                                                      453  &kZoneContext /*zoneContext*/,
                                                                                                                                      454  5 /*transitionBufSize*/,
                                                                                                                                      455  1 /*numEras*/,
                                                                                                                                      456  kZoneEraAfrica_Tunis /*eras*/,
                                                                                                                                      457 };
                                                                                                                                      458 
                                                                                                                                      459 //---------------------------------------------------------------------------
                                                                                                                                      460 // Zone name: America/Adak
                                                                                                                                      461 // Zone Eras: 1
                                                                                                                                      462 // Strings (bytes): 17
                                                                                                                                      463 // Memory (8-bit): 40
                                                                                                                                      464 // Memory (32-bit): 53
                                                                                                                                      465 //---------------------------------------------------------------------------
                                                                                                                                      466 
                                                                                                                                      467 static const basic::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
                                                                                                                                      468  // -10:00 US H%sT
                                                                                                                                      469  {
                                                                                                                                      470  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      471  "H%T" /*format*/,
                                                                                                                                      472  -40 /*offsetCode*/,
                                                                                                                                      473  0 /*deltaCode*/,
                                                                                                                                      474  127 /*untilYearTiny*/,
                                                                                                                                      475  1 /*untilMonth*/,
                                                                                                                                      476  1 /*untilDay*/,
                                                                                                                                      477  0 /*untilTimeCode*/,
                                                                                                                                      478  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      479  },
                                                                                                                                      480 
                                                                                                                                      481 };
                                                                                                                                      482 
                                                                                                                                      483 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "America/Adak";
                                                                                                                                      484 
                                                                                                                                      485 const basic::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
                                                                                                                                      486  kZoneNameAmerica_Adak /*name*/,
                                                                                                                                      487  0x97fe49d7 /*zoneId*/,
                                                                                                                                      488  &kZoneContext /*zoneContext*/,
                                                                                                                                      489  6 /*transitionBufSize*/,
                                                                                                                                      490  1 /*numEras*/,
                                                                                                                                      491  kZoneEraAmerica_Adak /*eras*/,
                                                                                                                                      492 };
                                                                                                                                      493 
                                                                                                                                      494 //---------------------------------------------------------------------------
                                                                                                                                      495 // Zone name: America/Anchorage
                                                                                                                                      496 // Zone Eras: 1
                                                                                                                                      497 // Strings (bytes): 23
                                                                                                                                      498 // Memory (8-bit): 46
                                                                                                                                      499 // Memory (32-bit): 59
                                                                                                                                      500 //---------------------------------------------------------------------------
                                                                                                                                      501 
                                                                                                                                      502 static const basic::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
                                                                                                                                      503  // -9:00 US AK%sT
                                                                                                                                      504  {
                                                                                                                                      505  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      506  "AK%T" /*format*/,
                                                                                                                                      507  -36 /*offsetCode*/,
                                                                                                                                      508  0 /*deltaCode*/,
                                                                                                                                      509  127 /*untilYearTiny*/,
                                                                                                                                      510  1 /*untilMonth*/,
                                                                                                                                      511  1 /*untilDay*/,
                                                                                                                                      512  0 /*untilTimeCode*/,
                                                                                                                                      513  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      514  },
                                                                                                                                      515 
                                                                                                                                      516 };
                                                                                                                                      517 
                                                                                                                                      518 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "America/Anchorage";
                                                                                                                                      519 
                                                                                                                                      520 const basic::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
                                                                                                                                      521  kZoneNameAmerica_Anchorage /*name*/,
                                                                                                                                      522  0x5a79260e /*zoneId*/,
                                                                                                                                      523  &kZoneContext /*zoneContext*/,
                                                                                                                                      524  6 /*transitionBufSize*/,
                                                                                                                                      525  1 /*numEras*/,
                                                                                                                                      526  kZoneEraAmerica_Anchorage /*eras*/,
                                                                                                                                      527 };
                                                                                                                                      528 
                                                                                                                                      529 //---------------------------------------------------------------------------
                                                                                                                                      530 // Zone name: America/Asuncion
                                                                                                                                      531 // Zone Eras: 1
                                                                                                                                      532 // Strings (bytes): 25
                                                                                                                                      533 // Memory (8-bit): 48
                                                                                                                                      534 // Memory (32-bit): 61
                                                                                                                                      535 //---------------------------------------------------------------------------
                                                                                                                                      536 
                                                                                                                                      537 static const basic::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
                                                                                                                                      538  // -4:00 Para -04/-03
                                                                                                                                      539  {
                                                                                                                                      540  &kPolicyPara /*zonePolicy*/,
                                                                                                                                      541  "-04/-03" /*format*/,
                                                                                                                                      542  -16 /*offsetCode*/,
                                                                                                                                      543  0 /*deltaCode*/,
                                                                                                                                      544  127 /*untilYearTiny*/,
                                                                                                                                      545  1 /*untilMonth*/,
                                                                                                                                      546  1 /*untilDay*/,
                                                                                                                                      547  0 /*untilTimeCode*/,
                                                                                                                                      548  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      549  },
                                                                                                                                      550 
                                                                                                                                      551 };
                                                                                                                                      552 
                                                                                                                                      553 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "America/Asuncion";
                                                                                                                                      554 
                                                                                                                                      555 const basic::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
                                                                                                                                      556  kZoneNameAmerica_Asuncion /*name*/,
                                                                                                                                      557  0x50ec79a6 /*zoneId*/,
                                                                                                                                      558  &kZoneContext /*zoneContext*/,
                                                                                                                                      559  5 /*transitionBufSize*/,
                                                                                                                                      560  1 /*numEras*/,
                                                                                                                                      561  kZoneEraAmerica_Asuncion /*eras*/,
                                                                                                                                      562 };
                                                                                                                                      563 
                                                                                                                                      564 //---------------------------------------------------------------------------
                                                                                                                                      565 // Zone name: America/Atikokan
                                                                                                                                      566 // Zone Eras: 1
                                                                                                                                      567 // Strings (bytes): 21
                                                                                                                                      568 // Memory (8-bit): 44
                                                                                                                                      569 // Memory (32-bit): 57
                                                                                                                                      570 //---------------------------------------------------------------------------
                                                                                                                                      571 
                                                                                                                                      572 static const basic::ZoneEra kZoneEraAmerica_Atikokan[] ACE_TIME_PROGMEM = {
                                                                                                                                      573  // -5:00 - EST
                                                                                                                                      574  {
                                                                                                                                      575  nullptr /*zonePolicy*/,
                                                                                                                                      576  "EST" /*format*/,
                                                                                                                                      577  -20 /*offsetCode*/,
                                                                                                                                      578  0 /*deltaCode*/,
                                                                                                                                      579  127 /*untilYearTiny*/,
                                                                                                                                      580  1 /*untilMonth*/,
                                                                                                                                      581  1 /*untilDay*/,
                                                                                                                                      582  0 /*untilTimeCode*/,
                                                                                                                                      583  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      584  },
                                                                                                                                      585 
                                                                                                                                      586 };
                                                                                                                                      587 
                                                                                                                                      588 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "America/Atikokan";
                                                                                                                                      589 
                                                                                                                                      590 const basic::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
                                                                                                                                      591  kZoneNameAmerica_Atikokan /*name*/,
                                                                                                                                      592  0x81b92098 /*zoneId*/,
                                                                                                                                      593  &kZoneContext /*zoneContext*/,
                                                                                                                                      594  2 /*transitionBufSize*/,
                                                                                                                                      595  1 /*numEras*/,
                                                                                                                                      596  kZoneEraAmerica_Atikokan /*eras*/,
                                                                                                                                      597 };
                                                                                                                                      598 
                                                                                                                                      599 //---------------------------------------------------------------------------
                                                                                                                                      600 // Zone name: America/Barbados
                                                                                                                                      601 // Zone Eras: 1
                                                                                                                                      602 // Strings (bytes): 21
                                                                                                                                      603 // Memory (8-bit): 44
                                                                                                                                      604 // Memory (32-bit): 57
                                                                                                                                      605 //---------------------------------------------------------------------------
                                                                                                                                      606 
                                                                                                                                      607 static const basic::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
                                                                                                                                      608  // -4:00 Barb A%sT
                                                                                                                                      609  {
                                                                                                                                      610  &kPolicyBarb /*zonePolicy*/,
                                                                                                                                      611  "A%T" /*format*/,
                                                                                                                                      612  -16 /*offsetCode*/,
                                                                                                                                      613  0 /*deltaCode*/,
                                                                                                                                      614  127 /*untilYearTiny*/,
                                                                                                                                      615  1 /*untilMonth*/,
                                                                                                                                      616  1 /*untilDay*/,
                                                                                                                                      617  0 /*untilTimeCode*/,
                                                                                                                                      618  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      619  },
                                                                                                                                      620 
                                                                                                                                      621 };
                                                                                                                                      622 
                                                                                                                                      623 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "America/Barbados";
                                                                                                                                      624 
                                                                                                                                      625 const basic::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
                                                                                                                                      626  kZoneNameAmerica_Barbados /*name*/,
                                                                                                                                      627  0xcbbc3b04 /*zoneId*/,
                                                                                                                                      628  &kZoneContext /*zoneContext*/,
                                                                                                                                      629  2 /*transitionBufSize*/,
                                                                                                                                      630  1 /*numEras*/,
                                                                                                                                      631  kZoneEraAmerica_Barbados /*eras*/,
                                                                                                                                      632 };
                                                                                                                                      633 
                                                                                                                                      634 //---------------------------------------------------------------------------
                                                                                                                                      635 // Zone name: America/Belem
                                                                                                                                      636 // Zone Eras: 1
                                                                                                                                      637 // Strings (bytes): 18
                                                                                                                                      638 // Memory (8-bit): 41
                                                                                                                                      639 // Memory (32-bit): 54
                                                                                                                                      640 //---------------------------------------------------------------------------
                                                                                                                                      641 
                                                                                                                                      642 static const basic::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
                                                                                                                                      643  // -3:00 - -03
                                                                                                                                      644  {
                                                                                                                                      645  nullptr /*zonePolicy*/,
                                                                                                                                      646  "-03" /*format*/,
                                                                                                                                      647  -12 /*offsetCode*/,
                                                                                                                                      648  0 /*deltaCode*/,
                                                                                                                                      649  127 /*untilYearTiny*/,
                                                                                                                                      650  1 /*untilMonth*/,
                                                                                                                                      651  1 /*untilDay*/,
                                                                                                                                      652  0 /*untilTimeCode*/,
                                                                                                                                      653  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      654  },
                                                                                                                                      655 
                                                                                                                                      656 };
                                                                                                                                      657 
                                                                                                                                      658 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "America/Belem";
                                                                                                                                      659 
                                                                                                                                      660 const basic::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
                                                                                                                                      661  kZoneNameAmerica_Belem /*name*/,
                                                                                                                                      662  0x97da580b /*zoneId*/,
                                                                                                                                      663  &kZoneContext /*zoneContext*/,
                                                                                                                                      664  2 /*transitionBufSize*/,
                                                                                                                                      665  1 /*numEras*/,
                                                                                                                                      666  kZoneEraAmerica_Belem /*eras*/,
                                                                                                                                      667 };
                                                                                                                                      668 
                                                                                                                                      669 //---------------------------------------------------------------------------
                                                                                                                                      670 // Zone name: America/Blanc-Sablon
                                                                                                                                      671 // Zone Eras: 1
                                                                                                                                      672 // Strings (bytes): 25
                                                                                                                                      673 // Memory (8-bit): 48
                                                                                                                                      674 // Memory (32-bit): 61
                                                                                                                                      675 //---------------------------------------------------------------------------
                                                                                                                                      676 
                                                                                                                                      677 static const basic::ZoneEra kZoneEraAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = {
                                                                                                                                      678  // -4:00 - AST
                                                                                                                                      679  {
                                                                                                                                      680  nullptr /*zonePolicy*/,
                                                                                                                                      681  "AST" /*format*/,
                                                                                                                                      682  -16 /*offsetCode*/,
                                                                                                                                      683  0 /*deltaCode*/,
                                                                                                                                      684  127 /*untilYearTiny*/,
                                                                                                                                      685  1 /*untilMonth*/,
                                                                                                                                      686  1 /*untilDay*/,
                                                                                                                                      687  0 /*untilTimeCode*/,
                                                                                                                                      688  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      689  },
                                                                                                                                      690 
                                                                                                                                      691 };
                                                                                                                                      692 
                                                                                                                                      693 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "America/Blanc-Sablon";
                                                                                                                                      694 
                                                                                                                                      695 const basic::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
                                                                                                                                      696  kZoneNameAmerica_Blanc_Sablon /*name*/,
                                                                                                                                      697  0x6e299892 /*zoneId*/,
                                                                                                                                      698  &kZoneContext /*zoneContext*/,
                                                                                                                                      699  2 /*transitionBufSize*/,
                                                                                                                                      700  1 /*numEras*/,
                                                                                                                                      701  kZoneEraAmerica_Blanc_Sablon /*eras*/,
                                                                                                                                      702 };
                                                                                                                                      703 
                                                                                                                                      704 //---------------------------------------------------------------------------
                                                                                                                                      705 // Zone name: America/Bogota
                                                                                                                                      706 // Zone Eras: 1
                                                                                                                                      707 // Strings (bytes): 23
                                                                                                                                      708 // Memory (8-bit): 46
                                                                                                                                      709 // Memory (32-bit): 59
                                                                                                                                      710 //---------------------------------------------------------------------------
                                                                                                                                      711 
                                                                                                                                      712 static const basic::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
                                                                                                                                      713  // -5:00 CO -05/-04
                                                                                                                                      714  {
                                                                                                                                      715  &kPolicyCO /*zonePolicy*/,
                                                                                                                                      716  "-05/-04" /*format*/,
                                                                                                                                      717  -20 /*offsetCode*/,
                                                                                                                                      718  0 /*deltaCode*/,
                                                                                                                                      719  127 /*untilYearTiny*/,
                                                                                                                                      720  1 /*untilMonth*/,
                                                                                                                                      721  1 /*untilDay*/,
                                                                                                                                      722  0 /*untilTimeCode*/,
                                                                                                                                      723  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      724  },
                                                                                                                                      725 
                                                                                                                                      726 };
                                                                                                                                      727 
                                                                                                                                      728 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "America/Bogota";
                                                                                                                                      729 
                                                                                                                                      730 const basic::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
                                                                                                                                      731  kZoneNameAmerica_Bogota /*name*/,
                                                                                                                                      732  0x93d7bc62 /*zoneId*/,
                                                                                                                                      733  &kZoneContext /*zoneContext*/,
                                                                                                                                      734  2 /*transitionBufSize*/,
                                                                                                                                      735  1 /*numEras*/,
                                                                                                                                      736  kZoneEraAmerica_Bogota /*eras*/,
                                                                                                                                      737 };
                                                                                                                                      738 
                                                                                                                                      739 //---------------------------------------------------------------------------
                                                                                                                                      740 // Zone name: America/Boise
                                                                                                                                      741 // Zone Eras: 1
                                                                                                                                      742 // Strings (bytes): 18
                                                                                                                                      743 // Memory (8-bit): 41
                                                                                                                                      744 // Memory (32-bit): 54
                                                                                                                                      745 //---------------------------------------------------------------------------
                                                                                                                                      746 
                                                                                                                                      747 static const basic::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
                                                                                                                                      748  // -7:00 US M%sT
                                                                                                                                      749  {
                                                                                                                                      750  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      751  "M%T" /*format*/,
                                                                                                                                      752  -28 /*offsetCode*/,
                                                                                                                                      753  0 /*deltaCode*/,
                                                                                                                                      754  127 /*untilYearTiny*/,
                                                                                                                                      755  1 /*untilMonth*/,
                                                                                                                                      756  1 /*untilDay*/,
                                                                                                                                      757  0 /*untilTimeCode*/,
                                                                                                                                      758  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      759  },
                                                                                                                                      760 
                                                                                                                                      761 };
                                                                                                                                      762 
                                                                                                                                      763 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "America/Boise";
                                                                                                                                      764 
                                                                                                                                      765 const basic::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
                                                                                                                                      766  kZoneNameAmerica_Boise /*name*/,
                                                                                                                                      767  0x97dfc8d8 /*zoneId*/,
                                                                                                                                      768  &kZoneContext /*zoneContext*/,
                                                                                                                                      769  6 /*transitionBufSize*/,
                                                                                                                                      770  1 /*numEras*/,
                                                                                                                                      771  kZoneEraAmerica_Boise /*eras*/,
                                                                                                                                      772 };
                                                                                                                                      773 
                                                                                                                                      774 //---------------------------------------------------------------------------
                                                                                                                                      775 // Zone name: America/Campo_Grande
                                                                                                                                      776 // Zone Eras: 1
                                                                                                                                      777 // Strings (bytes): 29
                                                                                                                                      778 // Memory (8-bit): 52
                                                                                                                                      779 // Memory (32-bit): 65
                                                                                                                                      780 //---------------------------------------------------------------------------
                                                                                                                                      781 
                                                                                                                                      782 static const basic::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
                                                                                                                                      783  // -4:00 Brazil -04/-03
                                                                                                                                      784  {
                                                                                                                                      785  &kPolicyBrazil /*zonePolicy*/,
                                                                                                                                      786  "-04/-03" /*format*/,
                                                                                                                                      787  -16 /*offsetCode*/,
                                                                                                                                      788  0 /*deltaCode*/,
                                                                                                                                      789  127 /*untilYearTiny*/,
                                                                                                                                      790  1 /*untilMonth*/,
                                                                                                                                      791  1 /*untilDay*/,
                                                                                                                                      792  0 /*untilTimeCode*/,
                                                                                                                                      793  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      794  },
                                                                                                                                      795 
                                                                                                                                      796 };
                                                                                                                                      797 
                                                                                                                                      798 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "America/Campo_Grande";
                                                                                                                                      799 
                                                                                                                                      800 const basic::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
                                                                                                                                      801  kZoneNameAmerica_Campo_Grande /*name*/,
                                                                                                                                      802  0xfec3e7a6 /*zoneId*/,
                                                                                                                                      803  &kZoneContext /*zoneContext*/,
                                                                                                                                      804  6 /*transitionBufSize*/,
                                                                                                                                      805  1 /*numEras*/,
                                                                                                                                      806  kZoneEraAmerica_Campo_Grande /*eras*/,
                                                                                                                                      807 };
                                                                                                                                      808 
                                                                                                                                      809 //---------------------------------------------------------------------------
                                                                                                                                      810 // Zone name: America/Cayenne
                                                                                                                                      811 // Zone Eras: 1
                                                                                                                                      812 // Strings (bytes): 20
                                                                                                                                      813 // Memory (8-bit): 43
                                                                                                                                      814 // Memory (32-bit): 56
                                                                                                                                      815 //---------------------------------------------------------------------------
                                                                                                                                      816 
                                                                                                                                      817 static const basic::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
                                                                                                                                      818  // -3:00 - -03
                                                                                                                                      819  {
                                                                                                                                      820  nullptr /*zonePolicy*/,
                                                                                                                                      821  "-03" /*format*/,
                                                                                                                                      822  -12 /*offsetCode*/,
                                                                                                                                      823  0 /*deltaCode*/,
                                                                                                                                      824  127 /*untilYearTiny*/,
                                                                                                                                      825  1 /*untilMonth*/,
                                                                                                                                      826  1 /*untilDay*/,
                                                                                                                                      827  0 /*untilTimeCode*/,
                                                                                                                                      828  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      829  },
                                                                                                                                      830 
                                                                                                                                      831 };
                                                                                                                                      832 
                                                                                                                                      833 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "America/Cayenne";
                                                                                                                                      834 
                                                                                                                                      835 const basic::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
                                                                                                                                      836  kZoneNameAmerica_Cayenne /*name*/,
                                                                                                                                      837  0x3c617269 /*zoneId*/,
                                                                                                                                      838  &kZoneContext /*zoneContext*/,
                                                                                                                                      839  2 /*transitionBufSize*/,
                                                                                                                                      840  1 /*numEras*/,
                                                                                                                                      841  kZoneEraAmerica_Cayenne /*eras*/,
                                                                                                                                      842 };
                                                                                                                                      843 
                                                                                                                                      844 //---------------------------------------------------------------------------
                                                                                                                                      845 // Zone name: America/Chicago
                                                                                                                                      846 // Zone Eras: 1
                                                                                                                                      847 // Strings (bytes): 20
                                                                                                                                      848 // Memory (8-bit): 43
                                                                                                                                      849 // Memory (32-bit): 56
                                                                                                                                      850 //---------------------------------------------------------------------------
                                                                                                                                      851 
                                                                                                                                      852 static const basic::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
                                                                                                                                      853  // -6:00 US C%sT
                                                                                                                                      854  {
                                                                                                                                      855  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      856  "C%T" /*format*/,
                                                                                                                                      857  -24 /*offsetCode*/,
                                                                                                                                      858  0 /*deltaCode*/,
                                                                                                                                      859  127 /*untilYearTiny*/,
                                                                                                                                      860  1 /*untilMonth*/,
                                                                                                                                      861  1 /*untilDay*/,
                                                                                                                                      862  0 /*untilTimeCode*/,
                                                                                                                                      863  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      864  },
                                                                                                                                      865 
                                                                                                                                      866 };
                                                                                                                                      867 
                                                                                                                                      868 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "America/Chicago";
                                                                                                                                      869 
                                                                                                                                      870 const basic::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
                                                                                                                                      871  kZoneNameAmerica_Chicago /*name*/,
                                                                                                                                      872  0x4b92b5d4 /*zoneId*/,
                                                                                                                                      873  &kZoneContext /*zoneContext*/,
                                                                                                                                      874  6 /*transitionBufSize*/,
                                                                                                                                      875  1 /*numEras*/,
                                                                                                                                      876  kZoneEraAmerica_Chicago /*eras*/,
                                                                                                                                      877 };
                                                                                                                                      878 
                                                                                                                                      879 //---------------------------------------------------------------------------
                                                                                                                                      880 // Zone name: America/Chihuahua
                                                                                                                                      881 // Zone Eras: 1
                                                                                                                                      882 // Strings (bytes): 22
                                                                                                                                      883 // Memory (8-bit): 45
                                                                                                                                      884 // Memory (32-bit): 58
                                                                                                                                      885 //---------------------------------------------------------------------------
                                                                                                                                      886 
                                                                                                                                      887 static const basic::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
                                                                                                                                      888  // -7:00 Mexico M%sT
                                                                                                                                      889  {
                                                                                                                                      890  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      891  "M%T" /*format*/,
                                                                                                                                      892  -28 /*offsetCode*/,
                                                                                                                                      893  0 /*deltaCode*/,
                                                                                                                                      894  127 /*untilYearTiny*/,
                                                                                                                                      895  1 /*untilMonth*/,
                                                                                                                                      896  1 /*untilDay*/,
                                                                                                                                      897  0 /*untilTimeCode*/,
                                                                                                                                      898  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      899  },
                                                                                                                                      900 
                                                                                                                                      901 };
                                                                                                                                      902 
                                                                                                                                      903 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "America/Chihuahua";
                                                                                                                                      904 
                                                                                                                                      905 const basic::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
                                                                                                                                      906  kZoneNameAmerica_Chihuahua /*name*/,
                                                                                                                                      907  0x8827d776 /*zoneId*/,
                                                                                                                                      908  &kZoneContext /*zoneContext*/,
                                                                                                                                      909  4 /*transitionBufSize*/,
                                                                                                                                      910  1 /*numEras*/,
                                                                                                                                      911  kZoneEraAmerica_Chihuahua /*eras*/,
                                                                                                                                      912 };
                                                                                                                                      913 
                                                                                                                                      914 //---------------------------------------------------------------------------
                                                                                                                                      915 // Zone name: America/Costa_Rica
                                                                                                                                      916 // Zone Eras: 1
                                                                                                                                      917 // Strings (bytes): 23
                                                                                                                                      918 // Memory (8-bit): 46
                                                                                                                                      919 // Memory (32-bit): 59
                                                                                                                                      920 //---------------------------------------------------------------------------
                                                                                                                                      921 
                                                                                                                                      922 static const basic::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
                                                                                                                                      923  // -6:00 CR C%sT
                                                                                                                                      924  {
                                                                                                                                      925  &kPolicyCR /*zonePolicy*/,
                                                                                                                                      926  "C%T" /*format*/,
                                                                                                                                      927  -24 /*offsetCode*/,
                                                                                                                                      928  0 /*deltaCode*/,
                                                                                                                                      929  127 /*untilYearTiny*/,
                                                                                                                                      930  1 /*untilMonth*/,
                                                                                                                                      931  1 /*untilDay*/,
                                                                                                                                      932  0 /*untilTimeCode*/,
                                                                                                                                      933  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      934  },
                                                                                                                                      935 
                                                                                                                                      936 };
                                                                                                                                      937 
                                                                                                                                      938 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "America/Costa_Rica";
                                                                                                                                      939 
                                                                                                                                      940 const basic::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
                                                                                                                                      941  kZoneNameAmerica_Costa_Rica /*name*/,
                                                                                                                                      942  0x63ff66be /*zoneId*/,
                                                                                                                                      943  &kZoneContext /*zoneContext*/,
                                                                                                                                      944  2 /*transitionBufSize*/,
                                                                                                                                      945  1 /*numEras*/,
                                                                                                                                      946  kZoneEraAmerica_Costa_Rica /*eras*/,
                                                                                                                                      947 };
                                                                                                                                      948 
                                                                                                                                      949 //---------------------------------------------------------------------------
                                                                                                                                      950 // Zone name: America/Creston
                                                                                                                                      951 // Zone Eras: 1
                                                                                                                                      952 // Strings (bytes): 20
                                                                                                                                      953 // Memory (8-bit): 43
                                                                                                                                      954 // Memory (32-bit): 56
                                                                                                                                      955 //---------------------------------------------------------------------------
                                                                                                                                      956 
                                                                                                                                      957 static const basic::ZoneEra kZoneEraAmerica_Creston[] ACE_TIME_PROGMEM = {
                                                                                                                                      958  // -7:00 - MST
                                                                                                                                      959  {
                                                                                                                                      960  nullptr /*zonePolicy*/,
                                                                                                                                      961  "MST" /*format*/,
                                                                                                                                      962  -28 /*offsetCode*/,
                                                                                                                                      963  0 /*deltaCode*/,
                                                                                                                                      964  127 /*untilYearTiny*/,
                                                                                                                                      965  1 /*untilMonth*/,
                                                                                                                                      966  1 /*untilDay*/,
                                                                                                                                      967  0 /*untilTimeCode*/,
                                                                                                                                      968  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      969  },
                                                                                                                                      970 
                                                                                                                                      971 };
                                                                                                                                      972 
                                                                                                                                      973 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "America/Creston";
                                                                                                                                      974 
                                                                                                                                      975 const basic::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
                                                                                                                                      976  kZoneNameAmerica_Creston /*name*/,
                                                                                                                                      977  0x62a70204 /*zoneId*/,
                                                                                                                                      978  &kZoneContext /*zoneContext*/,
                                                                                                                                      979  2 /*transitionBufSize*/,
                                                                                                                                      980  1 /*numEras*/,
                                                                                                                                      981  kZoneEraAmerica_Creston /*eras*/,
                                                                                                                                      982 };
                                                                                                                                      983 
                                                                                                                                      984 //---------------------------------------------------------------------------
                                                                                                                                      985 // Zone name: America/Curacao
                                                                                                                                      986 // Zone Eras: 1
                                                                                                                                      987 // Strings (bytes): 20
                                                                                                                                      988 // Memory (8-bit): 43
                                                                                                                                      989 // Memory (32-bit): 56
                                                                                                                                      990 //---------------------------------------------------------------------------
                                                                                                                                      991 
                                                                                                                                      992 static const basic::ZoneEra kZoneEraAmerica_Curacao[] ACE_TIME_PROGMEM = {
                                                                                                                                      993  // -4:00 - AST
                                                                                                                                      994  {
                                                                                                                                      995  nullptr /*zonePolicy*/,
                                                                                                                                      996  "AST" /*format*/,
                                                                                                                                      997  -16 /*offsetCode*/,
                                                                                                                                      998  0 /*deltaCode*/,
                                                                                                                                      999  127 /*untilYearTiny*/,
                                                                                                                                      1000  1 /*untilMonth*/,
                                                                                                                                      1001  1 /*untilDay*/,
                                                                                                                                      1002  0 /*untilTimeCode*/,
                                                                                                                                      1003  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1004  },
                                                                                                                                      1005 
                                                                                                                                      1006 };
                                                                                                                                      1007 
                                                                                                                                      1008 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "America/Curacao";
                                                                                                                                      1009 
                                                                                                                                      1010 const basic::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
                                                                                                                                      1011  kZoneNameAmerica_Curacao /*name*/,
                                                                                                                                      1012  0x6a879184 /*zoneId*/,
                                                                                                                                      1013  &kZoneContext /*zoneContext*/,
                                                                                                                                      1014  2 /*transitionBufSize*/,
                                                                                                                                      1015  1 /*numEras*/,
                                                                                                                                      1016  kZoneEraAmerica_Curacao /*eras*/,
                                                                                                                                      1017 };
                                                                                                                                      1018 
                                                                                                                                      1019 //---------------------------------------------------------------------------
                                                                                                                                      1020 // Zone name: America/Danmarkshavn
                                                                                                                                      1021 // Zone Eras: 1
                                                                                                                                      1022 // Strings (bytes): 25
                                                                                                                                      1023 // Memory (8-bit): 48
                                                                                                                                      1024 // Memory (32-bit): 61
                                                                                                                                      1025 //---------------------------------------------------------------------------
                                                                                                                                      1026 
                                                                                                                                      1027 static const basic::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
                                                                                                                                      1028  // 0:00 - GMT
                                                                                                                                      1029  {
                                                                                                                                      1030  nullptr /*zonePolicy*/,
                                                                                                                                      1031  "GMT" /*format*/,
                                                                                                                                      1032  0 /*offsetCode*/,
                                                                                                                                      1033  0 /*deltaCode*/,
                                                                                                                                      1034  127 /*untilYearTiny*/,
                                                                                                                                      1035  1 /*untilMonth*/,
                                                                                                                                      1036  1 /*untilDay*/,
                                                                                                                                      1037  0 /*untilTimeCode*/,
                                                                                                                                      1038  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1039  },
                                                                                                                                      1040 
                                                                                                                                      1041 };
                                                                                                                                      1042 
                                                                                                                                      1043 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "America/Danmarkshavn";
                                                                                                                                      1044 
                                                                                                                                      1045 const basic::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
                                                                                                                                      1046  kZoneNameAmerica_Danmarkshavn /*name*/,
                                                                                                                                      1047  0xf554d204 /*zoneId*/,
                                                                                                                                      1048  &kZoneContext /*zoneContext*/,
                                                                                                                                      1049  2 /*transitionBufSize*/,
                                                                                                                                      1050  1 /*numEras*/,
                                                                                                                                      1051  kZoneEraAmerica_Danmarkshavn /*eras*/,
                                                                                                                                      1052 };
                                                                                                                                      1053 
                                                                                                                                      1054 //---------------------------------------------------------------------------
                                                                                                                                      1055 // Zone name: America/Dawson_Creek
                                                                                                                                      1056 // Zone Eras: 1
                                                                                                                                      1057 // Strings (bytes): 25
                                                                                                                                      1058 // Memory (8-bit): 48
                                                                                                                                      1059 // Memory (32-bit): 61
                                                                                                                                      1060 //---------------------------------------------------------------------------
                                                                                                                                      1061 
                                                                                                                                      1062 static const basic::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
                                                                                                                                      1063  // -7:00 - MST
                                                                                                                                      1064  {
                                                                                                                                      1065  nullptr /*zonePolicy*/,
                                                                                                                                      1066  "MST" /*format*/,
                                                                                                                                      1067  -28 /*offsetCode*/,
                                                                                                                                      1068  0 /*deltaCode*/,
                                                                                                                                      1069  127 /*untilYearTiny*/,
                                                                                                                                      1070  1 /*untilMonth*/,
                                                                                                                                      1071  1 /*untilDay*/,
                                                                                                                                      1072  0 /*untilTimeCode*/,
                                                                                                                                      1073  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1074  },
                                                                                                                                      1075 
                                                                                                                                      1076 };
                                                                                                                                      1077 
                                                                                                                                      1078 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "America/Dawson_Creek";
                                                                                                                                      1079 
                                                                                                                                      1080 const basic::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
                                                                                                                                      1081  kZoneNameAmerica_Dawson_Creek /*name*/,
                                                                                                                                      1082  0x6cf24e5b /*zoneId*/,
                                                                                                                                      1083  &kZoneContext /*zoneContext*/,
                                                                                                                                      1084  2 /*transitionBufSize*/,
                                                                                                                                      1085  1 /*numEras*/,
                                                                                                                                      1086  kZoneEraAmerica_Dawson_Creek /*eras*/,
                                                                                                                                      1087 };
                                                                                                                                      1088 
                                                                                                                                      1089 //---------------------------------------------------------------------------
                                                                                                                                      1090 // Zone name: America/Denver
                                                                                                                                      1091 // Zone Eras: 1
                                                                                                                                      1092 // Strings (bytes): 19
                                                                                                                                      1093 // Memory (8-bit): 42
                                                                                                                                      1094 // Memory (32-bit): 55
                                                                                                                                      1095 //---------------------------------------------------------------------------
                                                                                                                                      1096 
                                                                                                                                      1097 static const basic::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
                                                                                                                                      1098  // -7:00 US M%sT
                                                                                                                                      1099  {
                                                                                                                                      1100  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1101  "M%T" /*format*/,
                                                                                                                                      1102  -28 /*offsetCode*/,
                                                                                                                                      1103  0 /*deltaCode*/,
                                                                                                                                      1104  127 /*untilYearTiny*/,
                                                                                                                                      1105  1 /*untilMonth*/,
                                                                                                                                      1106  1 /*untilDay*/,
                                                                                                                                      1107  0 /*untilTimeCode*/,
                                                                                                                                      1108  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1109  },
                                                                                                                                      1110 
                                                                                                                                      1111 };
                                                                                                                                      1112 
                                                                                                                                      1113 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "America/Denver";
                                                                                                                                      1114 
                                                                                                                                      1115 const basic::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
                                                                                                                                      1116  kZoneNameAmerica_Denver /*name*/,
                                                                                                                                      1117  0x97d10b2a /*zoneId*/,
                                                                                                                                      1118  &kZoneContext /*zoneContext*/,
                                                                                                                                      1119  6 /*transitionBufSize*/,
                                                                                                                                      1120  1 /*numEras*/,
                                                                                                                                      1121  kZoneEraAmerica_Denver /*eras*/,
                                                                                                                                      1122 };
                                                                                                                                      1123 
                                                                                                                                      1124 //---------------------------------------------------------------------------
                                                                                                                                      1125 // Zone name: America/Detroit
                                                                                                                                      1126 // Zone Eras: 1
                                                                                                                                      1127 // Strings (bytes): 20
                                                                                                                                      1128 // Memory (8-bit): 43
                                                                                                                                      1129 // Memory (32-bit): 56
                                                                                                                                      1130 //---------------------------------------------------------------------------
                                                                                                                                      1131 
                                                                                                                                      1132 static const basic::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
                                                                                                                                      1133  // -5:00 US E%sT
                                                                                                                                      1134  {
                                                                                                                                      1135  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1136  "E%T" /*format*/,
                                                                                                                                      1137  -20 /*offsetCode*/,
                                                                                                                                      1138  0 /*deltaCode*/,
                                                                                                                                      1139  127 /*untilYearTiny*/,
                                                                                                                                      1140  1 /*untilMonth*/,
                                                                                                                                      1141  1 /*untilDay*/,
                                                                                                                                      1142  0 /*untilTimeCode*/,
                                                                                                                                      1143  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1144  },
                                                                                                                                      1145 
                                                                                                                                      1146 };
                                                                                                                                      1147 
                                                                                                                                      1148 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "America/Detroit";
                                                                                                                                      1149 
                                                                                                                                      1150 const basic::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
                                                                                                                                      1151  kZoneNameAmerica_Detroit /*name*/,
                                                                                                                                      1152  0x925cfbc1 /*zoneId*/,
                                                                                                                                      1153  &kZoneContext /*zoneContext*/,
                                                                                                                                      1154  6 /*transitionBufSize*/,
                                                                                                                                      1155  1 /*numEras*/,
                                                                                                                                      1156  kZoneEraAmerica_Detroit /*eras*/,
                                                                                                                                      1157 };
                                                                                                                                      1158 
                                                                                                                                      1159 //---------------------------------------------------------------------------
                                                                                                                                      1160 // Zone name: America/Edmonton
                                                                                                                                      1161 // Zone Eras: 1
                                                                                                                                      1162 // Strings (bytes): 21
                                                                                                                                      1163 // Memory (8-bit): 44
                                                                                                                                      1164 // Memory (32-bit): 57
                                                                                                                                      1165 //---------------------------------------------------------------------------
                                                                                                                                      1166 
                                                                                                                                      1167 static const basic::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
                                                                                                                                      1168  // -7:00 Canada M%sT
                                                                                                                                      1169  {
                                                                                                                                      1170  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      1171  "M%T" /*format*/,
                                                                                                                                      1172  -28 /*offsetCode*/,
                                                                                                                                      1173  0 /*deltaCode*/,
                                                                                                                                      1174  127 /*untilYearTiny*/,
                                                                                                                                      1175  1 /*untilMonth*/,
                                                                                                                                      1176  1 /*untilDay*/,
                                                                                                                                      1177  0 /*untilTimeCode*/,
                                                                                                                                      1178  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1179  },
                                                                                                                                      1180 
                                                                                                                                      1181 };
                                                                                                                                      1182 
                                                                                                                                      1183 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "America/Edmonton";
                                                                                                                                      1184 
                                                                                                                                      1185 const basic::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
                                                                                                                                      1186  kZoneNameAmerica_Edmonton /*name*/,
                                                                                                                                      1187  0x6cb9484a /*zoneId*/,
                                                                                                                                      1188  &kZoneContext /*zoneContext*/,
                                                                                                                                      1189  6 /*transitionBufSize*/,
                                                                                                                                      1190  1 /*numEras*/,
                                                                                                                                      1191  kZoneEraAmerica_Edmonton /*eras*/,
                                                                                                                                      1192 };
                                                                                                                                      1193 
                                                                                                                                      1194 //---------------------------------------------------------------------------
                                                                                                                                      1195 // Zone name: America/El_Salvador
                                                                                                                                      1196 // Zone Eras: 1
                                                                                                                                      1197 // Strings (bytes): 24
                                                                                                                                      1198 // Memory (8-bit): 47
                                                                                                                                      1199 // Memory (32-bit): 60
                                                                                                                                      1200 //---------------------------------------------------------------------------
                                                                                                                                      1201 
                                                                                                                                      1202 static const basic::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
                                                                                                                                      1203  // -6:00 Salv C%sT
                                                                                                                                      1204  {
                                                                                                                                      1205  &kPolicySalv /*zonePolicy*/,
                                                                                                                                      1206  "C%T" /*format*/,
                                                                                                                                      1207  -24 /*offsetCode*/,
                                                                                                                                      1208  0 /*deltaCode*/,
                                                                                                                                      1209  127 /*untilYearTiny*/,
                                                                                                                                      1210  1 /*untilMonth*/,
                                                                                                                                      1211  1 /*untilDay*/,
                                                                                                                                      1212  0 /*untilTimeCode*/,
                                                                                                                                      1213  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1214  },
                                                                                                                                      1215 
                                                                                                                                      1216 };
                                                                                                                                      1217 
                                                                                                                                      1218 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "America/El_Salvador";
                                                                                                                                      1219 
                                                                                                                                      1220 const basic::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
                                                                                                                                      1221  kZoneNameAmerica_El_Salvador /*name*/,
                                                                                                                                      1222  0x752ad652 /*zoneId*/,
                                                                                                                                      1223  &kZoneContext /*zoneContext*/,
                                                                                                                                      1224  2 /*transitionBufSize*/,
                                                                                                                                      1225  1 /*numEras*/,
                                                                                                                                      1226  kZoneEraAmerica_El_Salvador /*eras*/,
                                                                                                                                      1227 };
                                                                                                                                      1228 
                                                                                                                                      1229 //---------------------------------------------------------------------------
                                                                                                                                      1230 // Zone name: America/Glace_Bay
                                                                                                                                      1231 // Zone Eras: 1
                                                                                                                                      1232 // Strings (bytes): 22
                                                                                                                                      1233 // Memory (8-bit): 45
                                                                                                                                      1234 // Memory (32-bit): 58
                                                                                                                                      1235 //---------------------------------------------------------------------------
                                                                                                                                      1236 
                                                                                                                                      1237 static const basic::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
                                                                                                                                      1238  // -4:00 Canada A%sT
                                                                                                                                      1239  {
                                                                                                                                      1240  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      1241  "A%T" /*format*/,
                                                                                                                                      1242  -16 /*offsetCode*/,
                                                                                                                                      1243  0 /*deltaCode*/,
                                                                                                                                      1244  127 /*untilYearTiny*/,
                                                                                                                                      1245  1 /*untilMonth*/,
                                                                                                                                      1246  1 /*untilDay*/,
                                                                                                                                      1247  0 /*untilTimeCode*/,
                                                                                                                                      1248  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1249  },
                                                                                                                                      1250 
                                                                                                                                      1251 };
                                                                                                                                      1252 
                                                                                                                                      1253 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "America/Glace_Bay";
                                                                                                                                      1254 
                                                                                                                                      1255 const basic::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
                                                                                                                                      1256  kZoneNameAmerica_Glace_Bay /*name*/,
                                                                                                                                      1257  0x9681f8dd /*zoneId*/,
                                                                                                                                      1258  &kZoneContext /*zoneContext*/,
                                                                                                                                      1259  6 /*transitionBufSize*/,
                                                                                                                                      1260  1 /*numEras*/,
                                                                                                                                      1261  kZoneEraAmerica_Glace_Bay /*eras*/,
                                                                                                                                      1262 };
                                                                                                                                      1263 
                                                                                                                                      1264 //---------------------------------------------------------------------------
                                                                                                                                      1265 // Zone name: America/Guatemala
                                                                                                                                      1266 // Zone Eras: 1
                                                                                                                                      1267 // Strings (bytes): 22
                                                                                                                                      1268 // Memory (8-bit): 45
                                                                                                                                      1269 // Memory (32-bit): 58
                                                                                                                                      1270 //---------------------------------------------------------------------------
                                                                                                                                      1271 
                                                                                                                                      1272 static const basic::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
                                                                                                                                      1273  // -6:00 Guat C%sT
                                                                                                                                      1274  {
                                                                                                                                      1275  &kPolicyGuat /*zonePolicy*/,
                                                                                                                                      1276  "C%T" /*format*/,
                                                                                                                                      1277  -24 /*offsetCode*/,
                                                                                                                                      1278  0 /*deltaCode*/,
                                                                                                                                      1279  127 /*untilYearTiny*/,
                                                                                                                                      1280  1 /*untilMonth*/,
                                                                                                                                      1281  1 /*untilDay*/,
                                                                                                                                      1282  0 /*untilTimeCode*/,
                                                                                                                                      1283  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1284  },
                                                                                                                                      1285 
                                                                                                                                      1286 };
                                                                                                                                      1287 
                                                                                                                                      1288 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "America/Guatemala";
                                                                                                                                      1289 
                                                                                                                                      1290 const basic::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
                                                                                                                                      1291  kZoneNameAmerica_Guatemala /*name*/,
                                                                                                                                      1292  0x0c8259f7 /*zoneId*/,
                                                                                                                                      1293  &kZoneContext /*zoneContext*/,
                                                                                                                                      1294  4 /*transitionBufSize*/,
                                                                                                                                      1295  1 /*numEras*/,
                                                                                                                                      1296  kZoneEraAmerica_Guatemala /*eras*/,
                                                                                                                                      1297 };
                                                                                                                                      1298 
                                                                                                                                      1299 //---------------------------------------------------------------------------
                                                                                                                                      1300 // Zone name: America/Guayaquil
                                                                                                                                      1301 // Zone Eras: 1
                                                                                                                                      1302 // Strings (bytes): 26
                                                                                                                                      1303 // Memory (8-bit): 49
                                                                                                                                      1304 // Memory (32-bit): 62
                                                                                                                                      1305 //---------------------------------------------------------------------------
                                                                                                                                      1306 
                                                                                                                                      1307 static const basic::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
                                                                                                                                      1308  // -5:00 Ecuador -05/-04
                                                                                                                                      1309  {
                                                                                                                                      1310  &kPolicyEcuador /*zonePolicy*/,
                                                                                                                                      1311  "-05/-04" /*format*/,
                                                                                                                                      1312  -20 /*offsetCode*/,
                                                                                                                                      1313  0 /*deltaCode*/,
                                                                                                                                      1314  127 /*untilYearTiny*/,
                                                                                                                                      1315  1 /*untilMonth*/,
                                                                                                                                      1316  1 /*untilDay*/,
                                                                                                                                      1317  0 /*untilTimeCode*/,
                                                                                                                                      1318  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1319  },
                                                                                                                                      1320 
                                                                                                                                      1321 };
                                                                                                                                      1322 
                                                                                                                                      1323 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "America/Guayaquil";
                                                                                                                                      1324 
                                                                                                                                      1325 const basic::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
                                                                                                                                      1326  kZoneNameAmerica_Guayaquil /*name*/,
                                                                                                                                      1327  0x17e64958 /*zoneId*/,
                                                                                                                                      1328  &kZoneContext /*zoneContext*/,
                                                                                                                                      1329  2 /*transitionBufSize*/,
                                                                                                                                      1330  1 /*numEras*/,
                                                                                                                                      1331  kZoneEraAmerica_Guayaquil /*eras*/,
                                                                                                                                      1332 };
                                                                                                                                      1333 
                                                                                                                                      1334 //---------------------------------------------------------------------------
                                                                                                                                      1335 // Zone name: America/Guyana
                                                                                                                                      1336 // Zone Eras: 1
                                                                                                                                      1337 // Strings (bytes): 19
                                                                                                                                      1338 // Memory (8-bit): 42
                                                                                                                                      1339 // Memory (32-bit): 55
                                                                                                                                      1340 //---------------------------------------------------------------------------
                                                                                                                                      1341 
                                                                                                                                      1342 static const basic::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
                                                                                                                                      1343  // -4:00 - -04
                                                                                                                                      1344  {
                                                                                                                                      1345  nullptr /*zonePolicy*/,
                                                                                                                                      1346  "-04" /*format*/,
                                                                                                                                      1347  -16 /*offsetCode*/,
                                                                                                                                      1348  0 /*deltaCode*/,
                                                                                                                                      1349  127 /*untilYearTiny*/,
                                                                                                                                      1350  1 /*untilMonth*/,
                                                                                                                                      1351  1 /*untilDay*/,
                                                                                                                                      1352  0 /*untilTimeCode*/,
                                                                                                                                      1353  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1354  },
                                                                                                                                      1355 
                                                                                                                                      1356 };
                                                                                                                                      1357 
                                                                                                                                      1358 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "America/Guyana";
                                                                                                                                      1359 
                                                                                                                                      1360 const basic::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
                                                                                                                                      1361  kZoneNameAmerica_Guyana /*name*/,
                                                                                                                                      1362  0x9ff7bd0b /*zoneId*/,
                                                                                                                                      1363  &kZoneContext /*zoneContext*/,
                                                                                                                                      1364  2 /*transitionBufSize*/,
                                                                                                                                      1365  1 /*numEras*/,
                                                                                                                                      1366  kZoneEraAmerica_Guyana /*eras*/,
                                                                                                                                      1367 };
                                                                                                                                      1368 
                                                                                                                                      1369 //---------------------------------------------------------------------------
                                                                                                                                      1370 // Zone name: America/Halifax
                                                                                                                                      1371 // Zone Eras: 1
                                                                                                                                      1372 // Strings (bytes): 20
                                                                                                                                      1373 // Memory (8-bit): 43
                                                                                                                                      1374 // Memory (32-bit): 56
                                                                                                                                      1375 //---------------------------------------------------------------------------
                                                                                                                                      1376 
                                                                                                                                      1377 static const basic::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
                                                                                                                                      1378  // -4:00 Canada A%sT
                                                                                                                                      1379  {
                                                                                                                                      1380  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      1381  "A%T" /*format*/,
                                                                                                                                      1382  -16 /*offsetCode*/,
                                                                                                                                      1383  0 /*deltaCode*/,
                                                                                                                                      1384  127 /*untilYearTiny*/,
                                                                                                                                      1385  1 /*untilMonth*/,
                                                                                                                                      1386  1 /*untilDay*/,
                                                                                                                                      1387  0 /*untilTimeCode*/,
                                                                                                                                      1388  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1389  },
                                                                                                                                      1390 
                                                                                                                                      1391 };
                                                                                                                                      1392 
                                                                                                                                      1393 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "America/Halifax";
                                                                                                                                      1394 
                                                                                                                                      1395 const basic::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
                                                                                                                                      1396  kZoneNameAmerica_Halifax /*name*/,
                                                                                                                                      1397  0xbc5b7183 /*zoneId*/,
                                                                                                                                      1398  &kZoneContext /*zoneContext*/,
                                                                                                                                      1399  6 /*transitionBufSize*/,
                                                                                                                                      1400  1 /*numEras*/,
                                                                                                                                      1401  kZoneEraAmerica_Halifax /*eras*/,
                                                                                                                                      1402 };
                                                                                                                                      1403 
                                                                                                                                      1404 //---------------------------------------------------------------------------
                                                                                                                                      1405 // Zone name: America/Havana
                                                                                                                                      1406 // Zone Eras: 1
                                                                                                                                      1407 // Strings (bytes): 19
                                                                                                                                      1408 // Memory (8-bit): 42
                                                                                                                                      1409 // Memory (32-bit): 55
                                                                                                                                      1410 //---------------------------------------------------------------------------
                                                                                                                                      1411 
                                                                                                                                      1412 static const basic::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
                                                                                                                                      1413  // -5:00 Cuba C%sT
                                                                                                                                      1414  {
                                                                                                                                      1415  &kPolicyCuba /*zonePolicy*/,
                                                                                                                                      1416  "C%T" /*format*/,
                                                                                                                                      1417  -20 /*offsetCode*/,
                                                                                                                                      1418  0 /*deltaCode*/,
                                                                                                                                      1419  127 /*untilYearTiny*/,
                                                                                                                                      1420  1 /*untilMonth*/,
                                                                                                                                      1421  1 /*untilDay*/,
                                                                                                                                      1422  0 /*untilTimeCode*/,
                                                                                                                                      1423  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1424  },
                                                                                                                                      1425 
                                                                                                                                      1426 };
                                                                                                                                      1427 
                                                                                                                                      1428 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "America/Havana";
                                                                                                                                      1429 
                                                                                                                                      1430 const basic::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
                                                                                                                                      1431  kZoneNameAmerica_Havana /*name*/,
                                                                                                                                      1432  0xa0e15675 /*zoneId*/,
                                                                                                                                      1433  &kZoneContext /*zoneContext*/,
                                                                                                                                      1434  6 /*transitionBufSize*/,
                                                                                                                                      1435  1 /*numEras*/,
                                                                                                                                      1436  kZoneEraAmerica_Havana /*eras*/,
                                                                                                                                      1437 };
                                                                                                                                      1438 
                                                                                                                                      1439 //---------------------------------------------------------------------------
                                                                                                                                      1440 // Zone name: America/Hermosillo
                                                                                                                                      1441 // Zone Eras: 2
                                                                                                                                      1442 // Strings (bytes): 27
                                                                                                                                      1443 // Memory (8-bit): 61
                                                                                                                                      1444 // Memory (32-bit): 79
                                                                                                                                      1445 //---------------------------------------------------------------------------
                                                                                                                                      1446 
                                                                                                                                      1447 static const basic::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
                                                                                                                                      1448  // -7:00 Mexico M%sT 1999
                                                                                                                                      1449  {
                                                                                                                                      1450  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      1451  "M%T" /*format*/,
                                                                                                                                      1452  -28 /*offsetCode*/,
                                                                                                                                      1453  0 /*deltaCode*/,
                                                                                                                                      1454  -1 /*untilYearTiny*/,
                                                                                                                                      1455  1 /*untilMonth*/,
                                                                                                                                      1456  1 /*untilDay*/,
                                                                                                                                      1457  0 /*untilTimeCode*/,
                                                                                                                                      1458  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1459  },
                                                                                                                                      1460  // -7:00 - MST
                                                                                                                                      1461  {
                                                                                                                                      1462  nullptr /*zonePolicy*/,
                                                                                                                                      1463  "MST" /*format*/,
                                                                                                                                      1464  -28 /*offsetCode*/,
                                                                                                                                      1465  0 /*deltaCode*/,
                                                                                                                                      1466  127 /*untilYearTiny*/,
                                                                                                                                      1467  1 /*untilMonth*/,
                                                                                                                                      1468  1 /*untilDay*/,
                                                                                                                                      1469  0 /*untilTimeCode*/,
                                                                                                                                      1470  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1471  },
                                                                                                                                      1472 
                                                                                                                                      1473 };
                                                                                                                                      1474 
                                                                                                                                      1475 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "America/Hermosillo";
                                                                                                                                      1476 
                                                                                                                                      1477 const basic::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
                                                                                                                                      1478  kZoneNameAmerica_Hermosillo /*name*/,
                                                                                                                                      1479  0x065d21c4 /*zoneId*/,
                                                                                                                                      1480  &kZoneContext /*zoneContext*/,
                                                                                                                                      1481  2 /*transitionBufSize*/,
                                                                                                                                      1482  2 /*numEras*/,
                                                                                                                                      1483  kZoneEraAmerica_Hermosillo /*eras*/,
                                                                                                                                      1484 };
                                                                                                                                      1485 
                                                                                                                                      1486 //---------------------------------------------------------------------------
                                                                                                                                      1487 // Zone name: America/Indiana/Indianapolis
                                                                                                                                      1488 // Zone Eras: 2
                                                                                                                                      1489 // Strings (bytes): 37
                                                                                                                                      1490 // Memory (8-bit): 71
                                                                                                                                      1491 // Memory (32-bit): 89
                                                                                                                                      1492 //---------------------------------------------------------------------------
                                                                                                                                      1493 
                                                                                                                                      1494 static const basic::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
                                                                                                                                      1495  // -5:00 - EST 2006
                                                                                                                                      1496  {
                                                                                                                                      1497  nullptr /*zonePolicy*/,
                                                                                                                                      1498  "EST" /*format*/,
                                                                                                                                      1499  -20 /*offsetCode*/,
                                                                                                                                      1500  0 /*deltaCode*/,
                                                                                                                                      1501  6 /*untilYearTiny*/,
                                                                                                                                      1502  1 /*untilMonth*/,
                                                                                                                                      1503  1 /*untilDay*/,
                                                                                                                                      1504  0 /*untilTimeCode*/,
                                                                                                                                      1505  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1506  },
                                                                                                                                      1507  // -5:00 US E%sT
                                                                                                                                      1508  {
                                                                                                                                      1509  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1510  "E%T" /*format*/,
                                                                                                                                      1511  -20 /*offsetCode*/,
                                                                                                                                      1512  0 /*deltaCode*/,
                                                                                                                                      1513  127 /*untilYearTiny*/,
                                                                                                                                      1514  1 /*untilMonth*/,
                                                                                                                                      1515  1 /*untilDay*/,
                                                                                                                                      1516  0 /*untilTimeCode*/,
                                                                                                                                      1517  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1518  },
                                                                                                                                      1519 
                                                                                                                                      1520 };
                                                                                                                                      1521 
                                                                                                                                      1522 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "America/Indiana/Indianapolis";
                                                                                                                                      1523 
                                                                                                                                      1524 const basic::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
                                                                                                                                      1525  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
                                                                                                                                      1526  0x28a669a4 /*zoneId*/,
                                                                                                                                      1527  &kZoneContext /*zoneContext*/,
                                                                                                                                      1528  6 /*transitionBufSize*/,
                                                                                                                                      1529  2 /*numEras*/,
                                                                                                                                      1530  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
                                                                                                                                      1531 };
                                                                                                                                      1532 
                                                                                                                                      1533 //---------------------------------------------------------------------------
                                                                                                                                      1534 // Zone name: America/Indiana/Marengo
                                                                                                                                      1535 // Zone Eras: 2
                                                                                                                                      1536 // Strings (bytes): 32
                                                                                                                                      1537 // Memory (8-bit): 66
                                                                                                                                      1538 // Memory (32-bit): 84
                                                                                                                                      1539 //---------------------------------------------------------------------------
                                                                                                                                      1540 
                                                                                                                                      1541 static const basic::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
                                                                                                                                      1542  // -5:00 - EST 2006
                                                                                                                                      1543  {
                                                                                                                                      1544  nullptr /*zonePolicy*/,
                                                                                                                                      1545  "EST" /*format*/,
                                                                                                                                      1546  -20 /*offsetCode*/,
                                                                                                                                      1547  0 /*deltaCode*/,
                                                                                                                                      1548  6 /*untilYearTiny*/,
                                                                                                                                      1549  1 /*untilMonth*/,
                                                                                                                                      1550  1 /*untilDay*/,
                                                                                                                                      1551  0 /*untilTimeCode*/,
                                                                                                                                      1552  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1553  },
                                                                                                                                      1554  // -5:00 US E%sT
                                                                                                                                      1555  {
                                                                                                                                      1556  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1557  "E%T" /*format*/,
                                                                                                                                      1558  -20 /*offsetCode*/,
                                                                                                                                      1559  0 /*deltaCode*/,
                                                                                                                                      1560  127 /*untilYearTiny*/,
                                                                                                                                      1561  1 /*untilMonth*/,
                                                                                                                                      1562  1 /*untilDay*/,
                                                                                                                                      1563  0 /*untilTimeCode*/,
                                                                                                                                      1564  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1565  },
                                                                                                                                      1566 
                                                                                                                                      1567 };
                                                                                                                                      1568 
                                                                                                                                      1569 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "America/Indiana/Marengo";
                                                                                                                                      1570 
                                                                                                                                      1571 const basic::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
                                                                                                                                      1572  kZoneNameAmerica_Indiana_Marengo /*name*/,
                                                                                                                                      1573  0x2feeee72 /*zoneId*/,
                                                                                                                                      1574  &kZoneContext /*zoneContext*/,
                                                                                                                                      1575  6 /*transitionBufSize*/,
                                                                                                                                      1576  2 /*numEras*/,
                                                                                                                                      1577  kZoneEraAmerica_Indiana_Marengo /*eras*/,
                                                                                                                                      1578 };
                                                                                                                                      1579 
                                                                                                                                      1580 //---------------------------------------------------------------------------
                                                                                                                                      1581 // Zone name: America/Indiana/Vevay
                                                                                                                                      1582 // Zone Eras: 2
                                                                                                                                      1583 // Strings (bytes): 30
                                                                                                                                      1584 // Memory (8-bit): 64
                                                                                                                                      1585 // Memory (32-bit): 82
                                                                                                                                      1586 //---------------------------------------------------------------------------
                                                                                                                                      1587 
                                                                                                                                      1588 static const basic::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
                                                                                                                                      1589  // -5:00 - EST 2006
                                                                                                                                      1590  {
                                                                                                                                      1591  nullptr /*zonePolicy*/,
                                                                                                                                      1592  "EST" /*format*/,
                                                                                                                                      1593  -20 /*offsetCode*/,
                                                                                                                                      1594  0 /*deltaCode*/,
                                                                                                                                      1595  6 /*untilYearTiny*/,
                                                                                                                                      1596  1 /*untilMonth*/,
                                                                                                                                      1597  1 /*untilDay*/,
                                                                                                                                      1598  0 /*untilTimeCode*/,
                                                                                                                                      1599  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1600  },
                                                                                                                                      1601  // -5:00 US E%sT
                                                                                                                                      1602  {
                                                                                                                                      1603  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1604  "E%T" /*format*/,
                                                                                                                                      1605  -20 /*offsetCode*/,
                                                                                                                                      1606  0 /*deltaCode*/,
                                                                                                                                      1607  127 /*untilYearTiny*/,
                                                                                                                                      1608  1 /*untilMonth*/,
                                                                                                                                      1609  1 /*untilDay*/,
                                                                                                                                      1610  0 /*untilTimeCode*/,
                                                                                                                                      1611  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1612  },
                                                                                                                                      1613 
                                                                                                                                      1614 };
                                                                                                                                      1615 
                                                                                                                                      1616 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "America/Indiana/Vevay";
                                                                                                                                      1617 
                                                                                                                                      1618 const basic::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
                                                                                                                                      1619  kZoneNameAmerica_Indiana_Vevay /*name*/,
                                                                                                                                      1620  0x10aca054 /*zoneId*/,
                                                                                                                                      1621  &kZoneContext /*zoneContext*/,
                                                                                                                                      1622  6 /*transitionBufSize*/,
                                                                                                                                      1623  2 /*numEras*/,
                                                                                                                                      1624  kZoneEraAmerica_Indiana_Vevay /*eras*/,
                                                                                                                                      1625 };
                                                                                                                                      1626 
                                                                                                                                      1627 //---------------------------------------------------------------------------
                                                                                                                                      1628 // Zone name: America/Inuvik
                                                                                                                                      1629 // Zone Eras: 1
                                                                                                                                      1630 // Strings (bytes): 19
                                                                                                                                      1631 // Memory (8-bit): 42
                                                                                                                                      1632 // Memory (32-bit): 55
                                                                                                                                      1633 //---------------------------------------------------------------------------
                                                                                                                                      1634 
                                                                                                                                      1635 static const basic::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
                                                                                                                                      1636  // -7:00 Canada M%sT
                                                                                                                                      1637  {
                                                                                                                                      1638  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      1639  "M%T" /*format*/,
                                                                                                                                      1640  -28 /*offsetCode*/,
                                                                                                                                      1641  0 /*deltaCode*/,
                                                                                                                                      1642  127 /*untilYearTiny*/,
                                                                                                                                      1643  1 /*untilMonth*/,
                                                                                                                                      1644  1 /*untilDay*/,
                                                                                                                                      1645  0 /*untilTimeCode*/,
                                                                                                                                      1646  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1647  },
                                                                                                                                      1648 
                                                                                                                                      1649 };
                                                                                                                                      1650 
                                                                                                                                      1651 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "America/Inuvik";
                                                                                                                                      1652 
                                                                                                                                      1653 const basic::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
                                                                                                                                      1654  kZoneNameAmerica_Inuvik /*name*/,
                                                                                                                                      1655  0xa42189fc /*zoneId*/,
                                                                                                                                      1656  &kZoneContext /*zoneContext*/,
                                                                                                                                      1657  6 /*transitionBufSize*/,
                                                                                                                                      1658  1 /*numEras*/,
                                                                                                                                      1659  kZoneEraAmerica_Inuvik /*eras*/,
                                                                                                                                      1660 };
                                                                                                                                      1661 
                                                                                                                                      1662 //---------------------------------------------------------------------------
                                                                                                                                      1663 // Zone name: America/Jamaica
                                                                                                                                      1664 // Zone Eras: 1
                                                                                                                                      1665 // Strings (bytes): 20
                                                                                                                                      1666 // Memory (8-bit): 43
                                                                                                                                      1667 // Memory (32-bit): 56
                                                                                                                                      1668 //---------------------------------------------------------------------------
                                                                                                                                      1669 
                                                                                                                                      1670 static const basic::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
                                                                                                                                      1671  // -5:00 - EST
                                                                                                                                      1672  {
                                                                                                                                      1673  nullptr /*zonePolicy*/,
                                                                                                                                      1674  "EST" /*format*/,
                                                                                                                                      1675  -20 /*offsetCode*/,
                                                                                                                                      1676  0 /*deltaCode*/,
                                                                                                                                      1677  127 /*untilYearTiny*/,
                                                                                                                                      1678  1 /*untilMonth*/,
                                                                                                                                      1679  1 /*untilDay*/,
                                                                                                                                      1680  0 /*untilTimeCode*/,
                                                                                                                                      1681  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1682  },
                                                                                                                                      1683 
                                                                                                                                      1684 };
                                                                                                                                      1685 
                                                                                                                                      1686 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "America/Jamaica";
                                                                                                                                      1687 
                                                                                                                                      1688 const basic::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
                                                                                                                                      1689  kZoneNameAmerica_Jamaica /*name*/,
                                                                                                                                      1690  0x565dad6c /*zoneId*/,
                                                                                                                                      1691  &kZoneContext /*zoneContext*/,
                                                                                                                                      1692  2 /*transitionBufSize*/,
                                                                                                                                      1693  1 /*numEras*/,
                                                                                                                                      1694  kZoneEraAmerica_Jamaica /*eras*/,
                                                                                                                                      1695 };
                                                                                                                                      1696 
                                                                                                                                      1697 //---------------------------------------------------------------------------
                                                                                                                                      1698 // Zone name: America/Juneau
                                                                                                                                      1699 // Zone Eras: 1
                                                                                                                                      1700 // Strings (bytes): 20
                                                                                                                                      1701 // Memory (8-bit): 43
                                                                                                                                      1702 // Memory (32-bit): 56
                                                                                                                                      1703 //---------------------------------------------------------------------------
                                                                                                                                      1704 
                                                                                                                                      1705 static const basic::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
                                                                                                                                      1706  // -9:00 US AK%sT
                                                                                                                                      1707  {
                                                                                                                                      1708  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1709  "AK%T" /*format*/,
                                                                                                                                      1710  -36 /*offsetCode*/,
                                                                                                                                      1711  0 /*deltaCode*/,
                                                                                                                                      1712  127 /*untilYearTiny*/,
                                                                                                                                      1713  1 /*untilMonth*/,
                                                                                                                                      1714  1 /*untilDay*/,
                                                                                                                                      1715  0 /*untilTimeCode*/,
                                                                                                                                      1716  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1717  },
                                                                                                                                      1718 
                                                                                                                                      1719 };
                                                                                                                                      1720 
                                                                                                                                      1721 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "America/Juneau";
                                                                                                                                      1722 
                                                                                                                                      1723 const basic::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
                                                                                                                                      1724  kZoneNameAmerica_Juneau /*name*/,
                                                                                                                                      1725  0xa6f13e2e /*zoneId*/,
                                                                                                                                      1726  &kZoneContext /*zoneContext*/,
                                                                                                                                      1727  6 /*transitionBufSize*/,
                                                                                                                                      1728  1 /*numEras*/,
                                                                                                                                      1729  kZoneEraAmerica_Juneau /*eras*/,
                                                                                                                                      1730 };
                                                                                                                                      1731 
                                                                                                                                      1732 //---------------------------------------------------------------------------
                                                                                                                                      1733 // Zone name: America/Kentucky/Louisville
                                                                                                                                      1734 // Zone Eras: 1
                                                                                                                                      1735 // Strings (bytes): 32
                                                                                                                                      1736 // Memory (8-bit): 55
                                                                                                                                      1737 // Memory (32-bit): 68
                                                                                                                                      1738 //---------------------------------------------------------------------------
                                                                                                                                      1739 
                                                                                                                                      1740 static const basic::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
                                                                                                                                      1741  // -5:00 US E%sT
                                                                                                                                      1742  {
                                                                                                                                      1743  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1744  "E%T" /*format*/,
                                                                                                                                      1745  -20 /*offsetCode*/,
                                                                                                                                      1746  0 /*deltaCode*/,
                                                                                                                                      1747  127 /*untilYearTiny*/,
                                                                                                                                      1748  1 /*untilMonth*/,
                                                                                                                                      1749  1 /*untilDay*/,
                                                                                                                                      1750  0 /*untilTimeCode*/,
                                                                                                                                      1751  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1752  },
                                                                                                                                      1753 
                                                                                                                                      1754 };
                                                                                                                                      1755 
                                                                                                                                      1756 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "America/Kentucky/Louisville";
                                                                                                                                      1757 
                                                                                                                                      1758 const basic::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
                                                                                                                                      1759  kZoneNameAmerica_Kentucky_Louisville /*name*/,
                                                                                                                                      1760  0x1a21024b /*zoneId*/,
                                                                                                                                      1761  &kZoneContext /*zoneContext*/,
                                                                                                                                      1762  6 /*transitionBufSize*/,
                                                                                                                                      1763  1 /*numEras*/,
                                                                                                                                      1764  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
                                                                                                                                      1765 };
                                                                                                                                      1766 
                                                                                                                                      1767 //---------------------------------------------------------------------------
                                                                                                                                      1768 // Zone name: America/La_Paz
                                                                                                                                      1769 // Zone Eras: 1
                                                                                                                                      1770 // Strings (bytes): 19
                                                                                                                                      1771 // Memory (8-bit): 42
                                                                                                                                      1772 // Memory (32-bit): 55
                                                                                                                                      1773 //---------------------------------------------------------------------------
                                                                                                                                      1774 
                                                                                                                                      1775 static const basic::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
                                                                                                                                      1776  // -4:00 - -04
                                                                                                                                      1777  {
                                                                                                                                      1778  nullptr /*zonePolicy*/,
                                                                                                                                      1779  "-04" /*format*/,
                                                                                                                                      1780  -16 /*offsetCode*/,
                                                                                                                                      1781  0 /*deltaCode*/,
                                                                                                                                      1782  127 /*untilYearTiny*/,
                                                                                                                                      1783  1 /*untilMonth*/,
                                                                                                                                      1784  1 /*untilDay*/,
                                                                                                                                      1785  0 /*untilTimeCode*/,
                                                                                                                                      1786  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1787  },
                                                                                                                                      1788 
                                                                                                                                      1789 };
                                                                                                                                      1790 
                                                                                                                                      1791 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "America/La_Paz";
                                                                                                                                      1792 
                                                                                                                                      1793 const basic::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
                                                                                                                                      1794  kZoneNameAmerica_La_Paz /*name*/,
                                                                                                                                      1795  0xaa29125d /*zoneId*/,
                                                                                                                                      1796  &kZoneContext /*zoneContext*/,
                                                                                                                                      1797  2 /*transitionBufSize*/,
                                                                                                                                      1798  1 /*numEras*/,
                                                                                                                                      1799  kZoneEraAmerica_La_Paz /*eras*/,
                                                                                                                                      1800 };
                                                                                                                                      1801 
                                                                                                                                      1802 //---------------------------------------------------------------------------
                                                                                                                                      1803 // Zone name: America/Lima
                                                                                                                                      1804 // Zone Eras: 1
                                                                                                                                      1805 // Strings (bytes): 21
                                                                                                                                      1806 // Memory (8-bit): 44
                                                                                                                                      1807 // Memory (32-bit): 57
                                                                                                                                      1808 //---------------------------------------------------------------------------
                                                                                                                                      1809 
                                                                                                                                      1810 static const basic::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
                                                                                                                                      1811  // -5:00 Peru -05/-04
                                                                                                                                      1812  {
                                                                                                                                      1813  &kPolicyPeru /*zonePolicy*/,
                                                                                                                                      1814  "-05/-04" /*format*/,
                                                                                                                                      1815  -20 /*offsetCode*/,
                                                                                                                                      1816  0 /*deltaCode*/,
                                                                                                                                      1817  127 /*untilYearTiny*/,
                                                                                                                                      1818  1 /*untilMonth*/,
                                                                                                                                      1819  1 /*untilDay*/,
                                                                                                                                      1820  0 /*untilTimeCode*/,
                                                                                                                                      1821  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1822  },
                                                                                                                                      1823 
                                                                                                                                      1824 };
                                                                                                                                      1825 
                                                                                                                                      1826 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "America/Lima";
                                                                                                                                      1827 
                                                                                                                                      1828 const basic::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
                                                                                                                                      1829  kZoneNameAmerica_Lima /*name*/,
                                                                                                                                      1830  0x980468c9 /*zoneId*/,
                                                                                                                                      1831  &kZoneContext /*zoneContext*/,
                                                                                                                                      1832  2 /*transitionBufSize*/,
                                                                                                                                      1833  1 /*numEras*/,
                                                                                                                                      1834  kZoneEraAmerica_Lima /*eras*/,
                                                                                                                                      1835 };
                                                                                                                                      1836 
                                                                                                                                      1837 //---------------------------------------------------------------------------
                                                                                                                                      1838 // Zone name: America/Los_Angeles
                                                                                                                                      1839 // Zone Eras: 1
                                                                                                                                      1840 // Strings (bytes): 24
                                                                                                                                      1841 // Memory (8-bit): 47
                                                                                                                                      1842 // Memory (32-bit): 60
                                                                                                                                      1843 //---------------------------------------------------------------------------
                                                                                                                                      1844 
                                                                                                                                      1845 static const basic::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
                                                                                                                                      1846  // -8:00 US P%sT
                                                                                                                                      1847  {
                                                                                                                                      1848  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      1849  "P%T" /*format*/,
                                                                                                                                      1850  -32 /*offsetCode*/,
                                                                                                                                      1851  0 /*deltaCode*/,
                                                                                                                                      1852  127 /*untilYearTiny*/,
                                                                                                                                      1853  1 /*untilMonth*/,
                                                                                                                                      1854  1 /*untilDay*/,
                                                                                                                                      1855  0 /*untilTimeCode*/,
                                                                                                                                      1856  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1857  },
                                                                                                                                      1858 
                                                                                                                                      1859 };
                                                                                                                                      1860 
                                                                                                                                      1861 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "America/Los_Angeles";
                                                                                                                                      1862 
                                                                                                                                      1863 const basic::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
                                                                                                                                      1864  kZoneNameAmerica_Los_Angeles /*name*/,
                                                                                                                                      1865  0xb7f7e8f2 /*zoneId*/,
                                                                                                                                      1866  &kZoneContext /*zoneContext*/,
                                                                                                                                      1867  6 /*transitionBufSize*/,
                                                                                                                                      1868  1 /*numEras*/,
                                                                                                                                      1869  kZoneEraAmerica_Los_Angeles /*eras*/,
                                                                                                                                      1870 };
                                                                                                                                      1871 
                                                                                                                                      1872 //---------------------------------------------------------------------------
                                                                                                                                      1873 // Zone name: America/Managua
                                                                                                                                      1874 // Zone Eras: 1
                                                                                                                                      1875 // Strings (bytes): 20
                                                                                                                                      1876 // Memory (8-bit): 43
                                                                                                                                      1877 // Memory (32-bit): 56
                                                                                                                                      1878 //---------------------------------------------------------------------------
                                                                                                                                      1879 
                                                                                                                                      1880 static const basic::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
                                                                                                                                      1881  // -6:00 Nic C%sT
                                                                                                                                      1882  {
                                                                                                                                      1883  &kPolicyNic /*zonePolicy*/,
                                                                                                                                      1884  "C%T" /*format*/,
                                                                                                                                      1885  -24 /*offsetCode*/,
                                                                                                                                      1886  0 /*deltaCode*/,
                                                                                                                                      1887  127 /*untilYearTiny*/,
                                                                                                                                      1888  1 /*untilMonth*/,
                                                                                                                                      1889  1 /*untilDay*/,
                                                                                                                                      1890  0 /*untilTimeCode*/,
                                                                                                                                      1891  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1892  },
                                                                                                                                      1893 
                                                                                                                                      1894 };
                                                                                                                                      1895 
                                                                                                                                      1896 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "America/Managua";
                                                                                                                                      1897 
                                                                                                                                      1898 const basic::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
                                                                                                                                      1899  kZoneNameAmerica_Managua /*name*/,
                                                                                                                                      1900  0x3d5e7600 /*zoneId*/,
                                                                                                                                      1901  &kZoneContext /*zoneContext*/,
                                                                                                                                      1902  4 /*transitionBufSize*/,
                                                                                                                                      1903  1 /*numEras*/,
                                                                                                                                      1904  kZoneEraAmerica_Managua /*eras*/,
                                                                                                                                      1905 };
                                                                                                                                      1906 
                                                                                                                                      1907 //---------------------------------------------------------------------------
                                                                                                                                      1908 // Zone name: America/Manaus
                                                                                                                                      1909 // Zone Eras: 1
                                                                                                                                      1910 // Strings (bytes): 19
                                                                                                                                      1911 // Memory (8-bit): 42
                                                                                                                                      1912 // Memory (32-bit): 55
                                                                                                                                      1913 //---------------------------------------------------------------------------
                                                                                                                                      1914 
                                                                                                                                      1915 static const basic::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
                                                                                                                                      1916  // -4:00 - -04
                                                                                                                                      1917  {
                                                                                                                                      1918  nullptr /*zonePolicy*/,
                                                                                                                                      1919  "-04" /*format*/,
                                                                                                                                      1920  -16 /*offsetCode*/,
                                                                                                                                      1921  0 /*deltaCode*/,
                                                                                                                                      1922  127 /*untilYearTiny*/,
                                                                                                                                      1923  1 /*untilMonth*/,
                                                                                                                                      1924  1 /*untilDay*/,
                                                                                                                                      1925  0 /*untilTimeCode*/,
                                                                                                                                      1926  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1927  },
                                                                                                                                      1928 
                                                                                                                                      1929 };
                                                                                                                                      1930 
                                                                                                                                      1931 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "America/Manaus";
                                                                                                                                      1932 
                                                                                                                                      1933 const basic::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
                                                                                                                                      1934  kZoneNameAmerica_Manaus /*name*/,
                                                                                                                                      1935  0xac86bf8b /*zoneId*/,
                                                                                                                                      1936  &kZoneContext /*zoneContext*/,
                                                                                                                                      1937  2 /*transitionBufSize*/,
                                                                                                                                      1938  1 /*numEras*/,
                                                                                                                                      1939  kZoneEraAmerica_Manaus /*eras*/,
                                                                                                                                      1940 };
                                                                                                                                      1941 
                                                                                                                                      1942 //---------------------------------------------------------------------------
                                                                                                                                      1943 // Zone name: America/Martinique
                                                                                                                                      1944 // Zone Eras: 1
                                                                                                                                      1945 // Strings (bytes): 23
                                                                                                                                      1946 // Memory (8-bit): 46
                                                                                                                                      1947 // Memory (32-bit): 59
                                                                                                                                      1948 //---------------------------------------------------------------------------
                                                                                                                                      1949 
                                                                                                                                      1950 static const basic::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
                                                                                                                                      1951  // -4:00 - AST
                                                                                                                                      1952  {
                                                                                                                                      1953  nullptr /*zonePolicy*/,
                                                                                                                                      1954  "AST" /*format*/,
                                                                                                                                      1955  -16 /*offsetCode*/,
                                                                                                                                      1956  0 /*deltaCode*/,
                                                                                                                                      1957  127 /*untilYearTiny*/,
                                                                                                                                      1958  1 /*untilMonth*/,
                                                                                                                                      1959  1 /*untilDay*/,
                                                                                                                                      1960  0 /*untilTimeCode*/,
                                                                                                                                      1961  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1962  },
                                                                                                                                      1963 
                                                                                                                                      1964 };
                                                                                                                                      1965 
                                                                                                                                      1966 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "America/Martinique";
                                                                                                                                      1967 
                                                                                                                                      1968 const basic::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
                                                                                                                                      1969  kZoneNameAmerica_Martinique /*name*/,
                                                                                                                                      1970  0x551e84c5 /*zoneId*/,
                                                                                                                                      1971  &kZoneContext /*zoneContext*/,
                                                                                                                                      1972  2 /*transitionBufSize*/,
                                                                                                                                      1973  1 /*numEras*/,
                                                                                                                                      1974  kZoneEraAmerica_Martinique /*eras*/,
                                                                                                                                      1975 };
                                                                                                                                      1976 
                                                                                                                                      1977 //---------------------------------------------------------------------------
                                                                                                                                      1978 // Zone name: America/Matamoros
                                                                                                                                      1979 // Zone Eras: 2
                                                                                                                                      1980 // Strings (bytes): 26
                                                                                                                                      1981 // Memory (8-bit): 60
                                                                                                                                      1982 // Memory (32-bit): 78
                                                                                                                                      1983 //---------------------------------------------------------------------------
                                                                                                                                      1984 
                                                                                                                                      1985 static const basic::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
                                                                                                                                      1986  // -6:00 Mexico C%sT 2010
                                                                                                                                      1987  {
                                                                                                                                      1988  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      1989  "C%T" /*format*/,
                                                                                                                                      1990  -24 /*offsetCode*/,
                                                                                                                                      1991  0 /*deltaCode*/,
                                                                                                                                      1992  10 /*untilYearTiny*/,
                                                                                                                                      1993  1 /*untilMonth*/,
                                                                                                                                      1994  1 /*untilDay*/,
                                                                                                                                      1995  0 /*untilTimeCode*/,
                                                                                                                                      1996  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      1997  },
                                                                                                                                      1998  // -6:00 US C%sT
                                                                                                                                      1999  {
                                                                                                                                      2000  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2001  "C%T" /*format*/,
                                                                                                                                      2002  -24 /*offsetCode*/,
                                                                                                                                      2003  0 /*deltaCode*/,
                                                                                                                                      2004  127 /*untilYearTiny*/,
                                                                                                                                      2005  1 /*untilMonth*/,
                                                                                                                                      2006  1 /*untilDay*/,
                                                                                                                                      2007  0 /*untilTimeCode*/,
                                                                                                                                      2008  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2009  },
                                                                                                                                      2010 
                                                                                                                                      2011 };
                                                                                                                                      2012 
                                                                                                                                      2013 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "America/Matamoros";
                                                                                                                                      2014 
                                                                                                                                      2015 const basic::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
                                                                                                                                      2016  kZoneNameAmerica_Matamoros /*name*/,
                                                                                                                                      2017  0xdd1b0259 /*zoneId*/,
                                                                                                                                      2018  &kZoneContext /*zoneContext*/,
                                                                                                                                      2019  6 /*transitionBufSize*/,
                                                                                                                                      2020  2 /*numEras*/,
                                                                                                                                      2021  kZoneEraAmerica_Matamoros /*eras*/,
                                                                                                                                      2022 };
                                                                                                                                      2023 
                                                                                                                                      2024 //---------------------------------------------------------------------------
                                                                                                                                      2025 // Zone name: America/Mazatlan
                                                                                                                                      2026 // Zone Eras: 1
                                                                                                                                      2027 // Strings (bytes): 21
                                                                                                                                      2028 // Memory (8-bit): 44
                                                                                                                                      2029 // Memory (32-bit): 57
                                                                                                                                      2030 //---------------------------------------------------------------------------
                                                                                                                                      2031 
                                                                                                                                      2032 static const basic::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
                                                                                                                                      2033  // -7:00 Mexico M%sT
                                                                                                                                      2034  {
                                                                                                                                      2035  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      2036  "M%T" /*format*/,
                                                                                                                                      2037  -28 /*offsetCode*/,
                                                                                                                                      2038  0 /*deltaCode*/,
                                                                                                                                      2039  127 /*untilYearTiny*/,
                                                                                                                                      2040  1 /*untilMonth*/,
                                                                                                                                      2041  1 /*untilDay*/,
                                                                                                                                      2042  0 /*untilTimeCode*/,
                                                                                                                                      2043  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2044  },
                                                                                                                                      2045 
                                                                                                                                      2046 };
                                                                                                                                      2047 
                                                                                                                                      2048 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "America/Mazatlan";
                                                                                                                                      2049 
                                                                                                                                      2050 const basic::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
                                                                                                                                      2051  kZoneNameAmerica_Mazatlan /*name*/,
                                                                                                                                      2052  0x0532189e /*zoneId*/,
                                                                                                                                      2053  &kZoneContext /*zoneContext*/,
                                                                                                                                      2054  4 /*transitionBufSize*/,
                                                                                                                                      2055  1 /*numEras*/,
                                                                                                                                      2056  kZoneEraAmerica_Mazatlan /*eras*/,
                                                                                                                                      2057 };
                                                                                                                                      2058 
                                                                                                                                      2059 //---------------------------------------------------------------------------
                                                                                                                                      2060 // Zone name: America/Menominee
                                                                                                                                      2061 // Zone Eras: 1
                                                                                                                                      2062 // Strings (bytes): 22
                                                                                                                                      2063 // Memory (8-bit): 45
                                                                                                                                      2064 // Memory (32-bit): 58
                                                                                                                                      2065 //---------------------------------------------------------------------------
                                                                                                                                      2066 
                                                                                                                                      2067 static const basic::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
                                                                                                                                      2068  // -6:00 US C%sT
                                                                                                                                      2069  {
                                                                                                                                      2070  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2071  "C%T" /*format*/,
                                                                                                                                      2072  -24 /*offsetCode*/,
                                                                                                                                      2073  0 /*deltaCode*/,
                                                                                                                                      2074  127 /*untilYearTiny*/,
                                                                                                                                      2075  1 /*untilMonth*/,
                                                                                                                                      2076  1 /*untilDay*/,
                                                                                                                                      2077  0 /*untilTimeCode*/,
                                                                                                                                      2078  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2079  },
                                                                                                                                      2080 
                                                                                                                                      2081 };
                                                                                                                                      2082 
                                                                                                                                      2083 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "America/Menominee";
                                                                                                                                      2084 
                                                                                                                                      2085 const basic::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
                                                                                                                                      2086  kZoneNameAmerica_Menominee /*name*/,
                                                                                                                                      2087  0xe0e9c583 /*zoneId*/,
                                                                                                                                      2088  &kZoneContext /*zoneContext*/,
                                                                                                                                      2089  6 /*transitionBufSize*/,
                                                                                                                                      2090  1 /*numEras*/,
                                                                                                                                      2091  kZoneEraAmerica_Menominee /*eras*/,
                                                                                                                                      2092 };
                                                                                                                                      2093 
                                                                                                                                      2094 //---------------------------------------------------------------------------
                                                                                                                                      2095 // Zone name: America/Merida
                                                                                                                                      2096 // Zone Eras: 1
                                                                                                                                      2097 // Strings (bytes): 19
                                                                                                                                      2098 // Memory (8-bit): 42
                                                                                                                                      2099 // Memory (32-bit): 55
                                                                                                                                      2100 //---------------------------------------------------------------------------
                                                                                                                                      2101 
                                                                                                                                      2102 static const basic::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
                                                                                                                                      2103  // -6:00 Mexico C%sT
                                                                                                                                      2104  {
                                                                                                                                      2105  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      2106  "C%T" /*format*/,
                                                                                                                                      2107  -24 /*offsetCode*/,
                                                                                                                                      2108  0 /*deltaCode*/,
                                                                                                                                      2109  127 /*untilYearTiny*/,
                                                                                                                                      2110  1 /*untilMonth*/,
                                                                                                                                      2111  1 /*untilDay*/,
                                                                                                                                      2112  0 /*untilTimeCode*/,
                                                                                                                                      2113  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2114  },
                                                                                                                                      2115 
                                                                                                                                      2116 };
                                                                                                                                      2117 
                                                                                                                                      2118 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "America/Merida";
                                                                                                                                      2119 
                                                                                                                                      2120 const basic::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
                                                                                                                                      2121  kZoneNameAmerica_Merida /*name*/,
                                                                                                                                      2122  0xacd172d8 /*zoneId*/,
                                                                                                                                      2123  &kZoneContext /*zoneContext*/,
                                                                                                                                      2124  4 /*transitionBufSize*/,
                                                                                                                                      2125  1 /*numEras*/,
                                                                                                                                      2126  kZoneEraAmerica_Merida /*eras*/,
                                                                                                                                      2127 };
                                                                                                                                      2128 
                                                                                                                                      2129 //---------------------------------------------------------------------------
                                                                                                                                      2130 // Zone name: America/Miquelon
                                                                                                                                      2131 // Zone Eras: 1
                                                                                                                                      2132 // Strings (bytes): 25
                                                                                                                                      2133 // Memory (8-bit): 48
                                                                                                                                      2134 // Memory (32-bit): 61
                                                                                                                                      2135 //---------------------------------------------------------------------------
                                                                                                                                      2136 
                                                                                                                                      2137 static const basic::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
                                                                                                                                      2138  // -3:00 Canada -03/-02
                                                                                                                                      2139  {
                                                                                                                                      2140  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      2141  "-03/-02" /*format*/,
                                                                                                                                      2142  -12 /*offsetCode*/,
                                                                                                                                      2143  0 /*deltaCode*/,
                                                                                                                                      2144  127 /*untilYearTiny*/,
                                                                                                                                      2145  1 /*untilMonth*/,
                                                                                                                                      2146  1 /*untilDay*/,
                                                                                                                                      2147  0 /*untilTimeCode*/,
                                                                                                                                      2148  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2149  },
                                                                                                                                      2150 
                                                                                                                                      2151 };
                                                                                                                                      2152 
                                                                                                                                      2153 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "America/Miquelon";
                                                                                                                                      2154 
                                                                                                                                      2155 const basic::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
                                                                                                                                      2156  kZoneNameAmerica_Miquelon /*name*/,
                                                                                                                                      2157  0x59674330 /*zoneId*/,
                                                                                                                                      2158  &kZoneContext /*zoneContext*/,
                                                                                                                                      2159  6 /*transitionBufSize*/,
                                                                                                                                      2160  1 /*numEras*/,
                                                                                                                                      2161  kZoneEraAmerica_Miquelon /*eras*/,
                                                                                                                                      2162 };
                                                                                                                                      2163 
                                                                                                                                      2164 //---------------------------------------------------------------------------
                                                                                                                                      2165 // Zone name: America/Moncton
                                                                                                                                      2166 // Zone Eras: 2
                                                                                                                                      2167 // Strings (bytes): 24
                                                                                                                                      2168 // Memory (8-bit): 58
                                                                                                                                      2169 // Memory (32-bit): 76
                                                                                                                                      2170 //---------------------------------------------------------------------------
                                                                                                                                      2171 
                                                                                                                                      2172 static const basic::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
                                                                                                                                      2173  // -4:00 Moncton A%sT 2007
                                                                                                                                      2174  {
                                                                                                                                      2175  &kPolicyMoncton /*zonePolicy*/,
                                                                                                                                      2176  "A%T" /*format*/,
                                                                                                                                      2177  -16 /*offsetCode*/,
                                                                                                                                      2178  0 /*deltaCode*/,
                                                                                                                                      2179  7 /*untilYearTiny*/,
                                                                                                                                      2180  1 /*untilMonth*/,
                                                                                                                                      2181  1 /*untilDay*/,
                                                                                                                                      2182  0 /*untilTimeCode*/,
                                                                                                                                      2183  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2184  },
                                                                                                                                      2185  // -4:00 Canada A%sT
                                                                                                                                      2186  {
                                                                                                                                      2187  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      2188  "A%T" /*format*/,
                                                                                                                                      2189  -16 /*offsetCode*/,
                                                                                                                                      2190  0 /*deltaCode*/,
                                                                                                                                      2191  127 /*untilYearTiny*/,
                                                                                                                                      2192  1 /*untilMonth*/,
                                                                                                                                      2193  1 /*untilDay*/,
                                                                                                                                      2194  0 /*untilTimeCode*/,
                                                                                                                                      2195  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2196  },
                                                                                                                                      2197 
                                                                                                                                      2198 };
                                                                                                                                      2199 
                                                                                                                                      2200 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "America/Moncton";
                                                                                                                                      2201 
                                                                                                                                      2202 const basic::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
                                                                                                                                      2203  kZoneNameAmerica_Moncton /*name*/,
                                                                                                                                      2204  0x5e07fe24 /*zoneId*/,
                                                                                                                                      2205  &kZoneContext /*zoneContext*/,
                                                                                                                                      2206  6 /*transitionBufSize*/,
                                                                                                                                      2207  2 /*numEras*/,
                                                                                                                                      2208  kZoneEraAmerica_Moncton /*eras*/,
                                                                                                                                      2209 };
                                                                                                                                      2210 
                                                                                                                                      2211 //---------------------------------------------------------------------------
                                                                                                                                      2212 // Zone name: America/Monterrey
                                                                                                                                      2213 // Zone Eras: 1
                                                                                                                                      2214 // Strings (bytes): 22
                                                                                                                                      2215 // Memory (8-bit): 45
                                                                                                                                      2216 // Memory (32-bit): 58
                                                                                                                                      2217 //---------------------------------------------------------------------------
                                                                                                                                      2218 
                                                                                                                                      2219 static const basic::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
                                                                                                                                      2220  // -6:00 Mexico C%sT
                                                                                                                                      2221  {
                                                                                                                                      2222  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      2223  "C%T" /*format*/,
                                                                                                                                      2224  -24 /*offsetCode*/,
                                                                                                                                      2225  0 /*deltaCode*/,
                                                                                                                                      2226  127 /*untilYearTiny*/,
                                                                                                                                      2227  1 /*untilMonth*/,
                                                                                                                                      2228  1 /*untilDay*/,
                                                                                                                                      2229  0 /*untilTimeCode*/,
                                                                                                                                      2230  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2231  },
                                                                                                                                      2232 
                                                                                                                                      2233 };
                                                                                                                                      2234 
                                                                                                                                      2235 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "America/Monterrey";
                                                                                                                                      2236 
                                                                                                                                      2237 const basic::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
                                                                                                                                      2238  kZoneNameAmerica_Monterrey /*name*/,
                                                                                                                                      2239  0x269a1deb /*zoneId*/,
                                                                                                                                      2240  &kZoneContext /*zoneContext*/,
                                                                                                                                      2241  4 /*transitionBufSize*/,
                                                                                                                                      2242  1 /*numEras*/,
                                                                                                                                      2243  kZoneEraAmerica_Monterrey /*eras*/,
                                                                                                                                      2244 };
                                                                                                                                      2245 
                                                                                                                                      2246 //---------------------------------------------------------------------------
                                                                                                                                      2247 // Zone name: America/Montevideo
                                                                                                                                      2248 // Zone Eras: 1
                                                                                                                                      2249 // Strings (bytes): 27
                                                                                                                                      2250 // Memory (8-bit): 50
                                                                                                                                      2251 // Memory (32-bit): 63
                                                                                                                                      2252 //---------------------------------------------------------------------------
                                                                                                                                      2253 
                                                                                                                                      2254 static const basic::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
                                                                                                                                      2255  // -3:00 Uruguay -03/-02
                                                                                                                                      2256  {
                                                                                                                                      2257  &kPolicyUruguay /*zonePolicy*/,
                                                                                                                                      2258  "-03/-02" /*format*/,
                                                                                                                                      2259  -12 /*offsetCode*/,
                                                                                                                                      2260  0 /*deltaCode*/,
                                                                                                                                      2261  127 /*untilYearTiny*/,
                                                                                                                                      2262  1 /*untilMonth*/,
                                                                                                                                      2263  1 /*untilDay*/,
                                                                                                                                      2264  0 /*untilTimeCode*/,
                                                                                                                                      2265  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2266  },
                                                                                                                                      2267 
                                                                                                                                      2268 };
                                                                                                                                      2269 
                                                                                                                                      2270 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "America/Montevideo";
                                                                                                                                      2271 
                                                                                                                                      2272 const basic::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
                                                                                                                                      2273  kZoneNameAmerica_Montevideo /*name*/,
                                                                                                                                      2274  0xfa214780 /*zoneId*/,
                                                                                                                                      2275  &kZoneContext /*zoneContext*/,
                                                                                                                                      2276  5 /*transitionBufSize*/,
                                                                                                                                      2277  1 /*numEras*/,
                                                                                                                                      2278  kZoneEraAmerica_Montevideo /*eras*/,
                                                                                                                                      2279 };
                                                                                                                                      2280 
                                                                                                                                      2281 //---------------------------------------------------------------------------
                                                                                                                                      2282 // Zone name: America/Nassau
                                                                                                                                      2283 // Zone Eras: 1
                                                                                                                                      2284 // Strings (bytes): 19
                                                                                                                                      2285 // Memory (8-bit): 42
                                                                                                                                      2286 // Memory (32-bit): 55
                                                                                                                                      2287 //---------------------------------------------------------------------------
                                                                                                                                      2288 
                                                                                                                                      2289 static const basic::ZoneEra kZoneEraAmerica_Nassau[] ACE_TIME_PROGMEM = {
                                                                                                                                      2290  // -5:00 US E%sT
                                                                                                                                      2291  {
                                                                                                                                      2292  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2293  "E%T" /*format*/,
                                                                                                                                      2294  -20 /*offsetCode*/,
                                                                                                                                      2295  0 /*deltaCode*/,
                                                                                                                                      2296  127 /*untilYearTiny*/,
                                                                                                                                      2297  1 /*untilMonth*/,
                                                                                                                                      2298  1 /*untilDay*/,
                                                                                                                                      2299  0 /*untilTimeCode*/,
                                                                                                                                      2300  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2301  },
                                                                                                                                      2302 
                                                                                                                                      2303 };
                                                                                                                                      2304 
                                                                                                                                      2305 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "America/Nassau";
                                                                                                                                      2306 
                                                                                                                                      2307 const basic::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
                                                                                                                                      2308  kZoneNameAmerica_Nassau /*name*/,
                                                                                                                                      2309  0xaedef011 /*zoneId*/,
                                                                                                                                      2310  &kZoneContext /*zoneContext*/,
                                                                                                                                      2311  6 /*transitionBufSize*/,
                                                                                                                                      2312  1 /*numEras*/,
                                                                                                                                      2313  kZoneEraAmerica_Nassau /*eras*/,
                                                                                                                                      2314 };
                                                                                                                                      2315 
                                                                                                                                      2316 //---------------------------------------------------------------------------
                                                                                                                                      2317 // Zone name: America/New_York
                                                                                                                                      2318 // Zone Eras: 1
                                                                                                                                      2319 // Strings (bytes): 21
                                                                                                                                      2320 // Memory (8-bit): 44
                                                                                                                                      2321 // Memory (32-bit): 57
                                                                                                                                      2322 //---------------------------------------------------------------------------
                                                                                                                                      2323 
                                                                                                                                      2324 static const basic::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
                                                                                                                                      2325  // -5:00 US E%sT
                                                                                                                                      2326  {
                                                                                                                                      2327  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2328  "E%T" /*format*/,
                                                                                                                                      2329  -20 /*offsetCode*/,
                                                                                                                                      2330  0 /*deltaCode*/,
                                                                                                                                      2331  127 /*untilYearTiny*/,
                                                                                                                                      2332  1 /*untilMonth*/,
                                                                                                                                      2333  1 /*untilDay*/,
                                                                                                                                      2334  0 /*untilTimeCode*/,
                                                                                                                                      2335  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2336  },
                                                                                                                                      2337 
                                                                                                                                      2338 };
                                                                                                                                      2339 
                                                                                                                                      2340 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "America/New_York";
                                                                                                                                      2341 
                                                                                                                                      2342 const basic::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
                                                                                                                                      2343  kZoneNameAmerica_New_York /*name*/,
                                                                                                                                      2344  0x1e2a7654 /*zoneId*/,
                                                                                                                                      2345  &kZoneContext /*zoneContext*/,
                                                                                                                                      2346  6 /*transitionBufSize*/,
                                                                                                                                      2347  1 /*numEras*/,
                                                                                                                                      2348  kZoneEraAmerica_New_York /*eras*/,
                                                                                                                                      2349 };
                                                                                                                                      2350 
                                                                                                                                      2351 //---------------------------------------------------------------------------
                                                                                                                                      2352 // Zone name: America/Nipigon
                                                                                                                                      2353 // Zone Eras: 1
                                                                                                                                      2354 // Strings (bytes): 20
                                                                                                                                      2355 // Memory (8-bit): 43
                                                                                                                                      2356 // Memory (32-bit): 56
                                                                                                                                      2357 //---------------------------------------------------------------------------
                                                                                                                                      2358 
                                                                                                                                      2359 static const basic::ZoneEra kZoneEraAmerica_Nipigon[] ACE_TIME_PROGMEM = {
                                                                                                                                      2360  // -5:00 Canada E%sT
                                                                                                                                      2361  {
                                                                                                                                      2362  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      2363  "E%T" /*format*/,
                                                                                                                                      2364  -20 /*offsetCode*/,
                                                                                                                                      2365  0 /*deltaCode*/,
                                                                                                                                      2366  127 /*untilYearTiny*/,
                                                                                                                                      2367  1 /*untilMonth*/,
                                                                                                                                      2368  1 /*untilDay*/,
                                                                                                                                      2369  0 /*untilTimeCode*/,
                                                                                                                                      2370  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2371  },
                                                                                                                                      2372 
                                                                                                                                      2373 };
                                                                                                                                      2374 
                                                                                                                                      2375 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "America/Nipigon";
                                                                                                                                      2376 
                                                                                                                                      2377 const basic::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
                                                                                                                                      2378  kZoneNameAmerica_Nipigon /*name*/,
                                                                                                                                      2379  0x9d2a8b1a /*zoneId*/,
                                                                                                                                      2380  &kZoneContext /*zoneContext*/,
                                                                                                                                      2381  6 /*transitionBufSize*/,
                                                                                                                                      2382  1 /*numEras*/,
                                                                                                                                      2383  kZoneEraAmerica_Nipigon /*eras*/,
                                                                                                                                      2384 };
                                                                                                                                      2385 
                                                                                                                                      2386 //---------------------------------------------------------------------------
                                                                                                                                      2387 // Zone name: America/Nome
                                                                                                                                      2388 // Zone Eras: 1
                                                                                                                                      2389 // Strings (bytes): 18
                                                                                                                                      2390 // Memory (8-bit): 41
                                                                                                                                      2391 // Memory (32-bit): 54
                                                                                                                                      2392 //---------------------------------------------------------------------------
                                                                                                                                      2393 
                                                                                                                                      2394 static const basic::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
                                                                                                                                      2395  // -9:00 US AK%sT
                                                                                                                                      2396  {
                                                                                                                                      2397  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2398  "AK%T" /*format*/,
                                                                                                                                      2399  -36 /*offsetCode*/,
                                                                                                                                      2400  0 /*deltaCode*/,
                                                                                                                                      2401  127 /*untilYearTiny*/,
                                                                                                                                      2402  1 /*untilMonth*/,
                                                                                                                                      2403  1 /*untilDay*/,
                                                                                                                                      2404  0 /*untilTimeCode*/,
                                                                                                                                      2405  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2406  },
                                                                                                                                      2407 
                                                                                                                                      2408 };
                                                                                                                                      2409 
                                                                                                                                      2410 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "America/Nome";
                                                                                                                                      2411 
                                                                                                                                      2412 const basic::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
                                                                                                                                      2413  kZoneNameAmerica_Nome /*name*/,
                                                                                                                                      2414  0x98059b15 /*zoneId*/,
                                                                                                                                      2415  &kZoneContext /*zoneContext*/,
                                                                                                                                      2416  6 /*transitionBufSize*/,
                                                                                                                                      2417  1 /*numEras*/,
                                                                                                                                      2418  kZoneEraAmerica_Nome /*eras*/,
                                                                                                                                      2419 };
                                                                                                                                      2420 
                                                                                                                                      2421 //---------------------------------------------------------------------------
                                                                                                                                      2422 // Zone name: America/North_Dakota/Center
                                                                                                                                      2423 // Zone Eras: 1
                                                                                                                                      2424 // Strings (bytes): 32
                                                                                                                                      2425 // Memory (8-bit): 55
                                                                                                                                      2426 // Memory (32-bit): 68
                                                                                                                                      2427 //---------------------------------------------------------------------------
                                                                                                                                      2428 
                                                                                                                                      2429 static const basic::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
                                                                                                                                      2430  // -6:00 US C%sT
                                                                                                                                      2431  {
                                                                                                                                      2432  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2433  "C%T" /*format*/,
                                                                                                                                      2434  -24 /*offsetCode*/,
                                                                                                                                      2435  0 /*deltaCode*/,
                                                                                                                                      2436  127 /*untilYearTiny*/,
                                                                                                                                      2437  1 /*untilMonth*/,
                                                                                                                                      2438  1 /*untilDay*/,
                                                                                                                                      2439  0 /*untilTimeCode*/,
                                                                                                                                      2440  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2441  },
                                                                                                                                      2442 
                                                                                                                                      2443 };
                                                                                                                                      2444 
                                                                                                                                      2445 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "America/North_Dakota/Center";
                                                                                                                                      2446 
                                                                                                                                      2447 const basic::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
                                                                                                                                      2448  kZoneNameAmerica_North_Dakota_Center /*name*/,
                                                                                                                                      2449  0x9da42814 /*zoneId*/,
                                                                                                                                      2450  &kZoneContext /*zoneContext*/,
                                                                                                                                      2451  6 /*transitionBufSize*/,
                                                                                                                                      2452  1 /*numEras*/,
                                                                                                                                      2453  kZoneEraAmerica_North_Dakota_Center /*eras*/,
                                                                                                                                      2454 };
                                                                                                                                      2455 
                                                                                                                                      2456 //---------------------------------------------------------------------------
                                                                                                                                      2457 // Zone name: America/Nuuk
                                                                                                                                      2458 // Zone Eras: 1
                                                                                                                                      2459 // Strings (bytes): 21
                                                                                                                                      2460 // Memory (8-bit): 44
                                                                                                                                      2461 // Memory (32-bit): 57
                                                                                                                                      2462 //---------------------------------------------------------------------------
                                                                                                                                      2463 
                                                                                                                                      2464 static const basic::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
                                                                                                                                      2465  // -3:00 EU -03/-02
                                                                                                                                      2466  {
                                                                                                                                      2467  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      2468  "-03/-02" /*format*/,
                                                                                                                                      2469  -12 /*offsetCode*/,
                                                                                                                                      2470  0 /*deltaCode*/,
                                                                                                                                      2471  127 /*untilYearTiny*/,
                                                                                                                                      2472  1 /*untilMonth*/,
                                                                                                                                      2473  1 /*untilDay*/,
                                                                                                                                      2474  0 /*untilTimeCode*/,
                                                                                                                                      2475  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2476  },
                                                                                                                                      2477 
                                                                                                                                      2478 };
                                                                                                                                      2479 
                                                                                                                                      2480 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "America/Nuuk";
                                                                                                                                      2481 
                                                                                                                                      2482 const basic::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
                                                                                                                                      2483  kZoneNameAmerica_Nuuk /*name*/,
                                                                                                                                      2484  0x9805b5a9 /*zoneId*/,
                                                                                                                                      2485  &kZoneContext /*zoneContext*/,
                                                                                                                                      2486  5 /*transitionBufSize*/,
                                                                                                                                      2487  1 /*numEras*/,
                                                                                                                                      2488  kZoneEraAmerica_Nuuk /*eras*/,
                                                                                                                                      2489 };
                                                                                                                                      2490 
                                                                                                                                      2491 //---------------------------------------------------------------------------
                                                                                                                                      2492 // Zone name: America/Ojinaga
                                                                                                                                      2493 // Zone Eras: 2
                                                                                                                                      2494 // Strings (bytes): 24
                                                                                                                                      2495 // Memory (8-bit): 58
                                                                                                                                      2496 // Memory (32-bit): 76
                                                                                                                                      2497 //---------------------------------------------------------------------------
                                                                                                                                      2498 
                                                                                                                                      2499 static const basic::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
                                                                                                                                      2500  // -7:00 Mexico M%sT 2010
                                                                                                                                      2501  {
                                                                                                                                      2502  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      2503  "M%T" /*format*/,
                                                                                                                                      2504  -28 /*offsetCode*/,
                                                                                                                                      2505  0 /*deltaCode*/,
                                                                                                                                      2506  10 /*untilYearTiny*/,
                                                                                                                                      2507  1 /*untilMonth*/,
                                                                                                                                      2508  1 /*untilDay*/,
                                                                                                                                      2509  0 /*untilTimeCode*/,
                                                                                                                                      2510  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2511  },
                                                                                                                                      2512  // -7:00 US M%sT
                                                                                                                                      2513  {
                                                                                                                                      2514  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2515  "M%T" /*format*/,
                                                                                                                                      2516  -28 /*offsetCode*/,
                                                                                                                                      2517  0 /*deltaCode*/,
                                                                                                                                      2518  127 /*untilYearTiny*/,
                                                                                                                                      2519  1 /*untilMonth*/,
                                                                                                                                      2520  1 /*untilDay*/,
                                                                                                                                      2521  0 /*untilTimeCode*/,
                                                                                                                                      2522  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2523  },
                                                                                                                                      2524 
                                                                                                                                      2525 };
                                                                                                                                      2526 
                                                                                                                                      2527 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "America/Ojinaga";
                                                                                                                                      2528 
                                                                                                                                      2529 const basic::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
                                                                                                                                      2530  kZoneNameAmerica_Ojinaga /*name*/,
                                                                                                                                      2531  0xebfde83f /*zoneId*/,
                                                                                                                                      2532  &kZoneContext /*zoneContext*/,
                                                                                                                                      2533  6 /*transitionBufSize*/,
                                                                                                                                      2534  2 /*numEras*/,
                                                                                                                                      2535  kZoneEraAmerica_Ojinaga /*eras*/,
                                                                                                                                      2536 };
                                                                                                                                      2537 
                                                                                                                                      2538 //---------------------------------------------------------------------------
                                                                                                                                      2539 // Zone name: America/Panama
                                                                                                                                      2540 // Zone Eras: 1
                                                                                                                                      2541 // Strings (bytes): 19
                                                                                                                                      2542 // Memory (8-bit): 42
                                                                                                                                      2543 // Memory (32-bit): 55
                                                                                                                                      2544 //---------------------------------------------------------------------------
                                                                                                                                      2545 
                                                                                                                                      2546 static const basic::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
                                                                                                                                      2547  // -5:00 - EST
                                                                                                                                      2548  {
                                                                                                                                      2549  nullptr /*zonePolicy*/,
                                                                                                                                      2550  "EST" /*format*/,
                                                                                                                                      2551  -20 /*offsetCode*/,
                                                                                                                                      2552  0 /*deltaCode*/,
                                                                                                                                      2553  127 /*untilYearTiny*/,
                                                                                                                                      2554  1 /*untilMonth*/,
                                                                                                                                      2555  1 /*untilDay*/,
                                                                                                                                      2556  0 /*untilTimeCode*/,
                                                                                                                                      2557  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2558  },
                                                                                                                                      2559 
                                                                                                                                      2560 };
                                                                                                                                      2561 
                                                                                                                                      2562 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "America/Panama";
                                                                                                                                      2563 
                                                                                                                                      2564 const basic::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
                                                                                                                                      2565  kZoneNameAmerica_Panama /*name*/,
                                                                                                                                      2566  0xb3863854 /*zoneId*/,
                                                                                                                                      2567  &kZoneContext /*zoneContext*/,
                                                                                                                                      2568  2 /*transitionBufSize*/,
                                                                                                                                      2569  1 /*numEras*/,
                                                                                                                                      2570  kZoneEraAmerica_Panama /*eras*/,
                                                                                                                                      2571 };
                                                                                                                                      2572 
                                                                                                                                      2573 //---------------------------------------------------------------------------
                                                                                                                                      2574 // Zone name: America/Paramaribo
                                                                                                                                      2575 // Zone Eras: 1
                                                                                                                                      2576 // Strings (bytes): 23
                                                                                                                                      2577 // Memory (8-bit): 46
                                                                                                                                      2578 // Memory (32-bit): 59
                                                                                                                                      2579 //---------------------------------------------------------------------------
                                                                                                                                      2580 
                                                                                                                                      2581 static const basic::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
                                                                                                                                      2582  // -3:00 - -03
                                                                                                                                      2583  {
                                                                                                                                      2584  nullptr /*zonePolicy*/,
                                                                                                                                      2585  "-03" /*format*/,
                                                                                                                                      2586  -12 /*offsetCode*/,
                                                                                                                                      2587  0 /*deltaCode*/,
                                                                                                                                      2588  127 /*untilYearTiny*/,
                                                                                                                                      2589  1 /*untilMonth*/,
                                                                                                                                      2590  1 /*untilDay*/,
                                                                                                                                      2591  0 /*untilTimeCode*/,
                                                                                                                                      2592  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2593  },
                                                                                                                                      2594 
                                                                                                                                      2595 };
                                                                                                                                      2596 
                                                                                                                                      2597 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "America/Paramaribo";
                                                                                                                                      2598 
                                                                                                                                      2599 const basic::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
                                                                                                                                      2600  kZoneNameAmerica_Paramaribo /*name*/,
                                                                                                                                      2601  0xb319e4c4 /*zoneId*/,
                                                                                                                                      2602  &kZoneContext /*zoneContext*/,
                                                                                                                                      2603  2 /*transitionBufSize*/,
                                                                                                                                      2604  1 /*numEras*/,
                                                                                                                                      2605  kZoneEraAmerica_Paramaribo /*eras*/,
                                                                                                                                      2606 };
                                                                                                                                      2607 
                                                                                                                                      2608 //---------------------------------------------------------------------------
                                                                                                                                      2609 // Zone name: America/Phoenix
                                                                                                                                      2610 // Zone Eras: 1
                                                                                                                                      2611 // Strings (bytes): 20
                                                                                                                                      2612 // Memory (8-bit): 43
                                                                                                                                      2613 // Memory (32-bit): 56
                                                                                                                                      2614 //---------------------------------------------------------------------------
                                                                                                                                      2615 
                                                                                                                                      2616 static const basic::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
                                                                                                                                      2617  // -7:00 - MST
                                                                                                                                      2618  {
                                                                                                                                      2619  nullptr /*zonePolicy*/,
                                                                                                                                      2620  "MST" /*format*/,
                                                                                                                                      2621  -28 /*offsetCode*/,
                                                                                                                                      2622  0 /*deltaCode*/,
                                                                                                                                      2623  127 /*untilYearTiny*/,
                                                                                                                                      2624  1 /*untilMonth*/,
                                                                                                                                      2625  1 /*untilDay*/,
                                                                                                                                      2626  0 /*untilTimeCode*/,
                                                                                                                                      2627  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2628  },
                                                                                                                                      2629 
                                                                                                                                      2630 };
                                                                                                                                      2631 
                                                                                                                                      2632 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "America/Phoenix";
                                                                                                                                      2633 
                                                                                                                                      2634 const basic::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
                                                                                                                                      2635  kZoneNameAmerica_Phoenix /*name*/,
                                                                                                                                      2636  0x34b5af01 /*zoneId*/,
                                                                                                                                      2637  &kZoneContext /*zoneContext*/,
                                                                                                                                      2638  2 /*transitionBufSize*/,
                                                                                                                                      2639  1 /*numEras*/,
                                                                                                                                      2640  kZoneEraAmerica_Phoenix /*eras*/,
                                                                                                                                      2641 };
                                                                                                                                      2642 
                                                                                                                                      2643 //---------------------------------------------------------------------------
                                                                                                                                      2644 // Zone name: America/Port-au-Prince
                                                                                                                                      2645 // Zone Eras: 1
                                                                                                                                      2646 // Strings (bytes): 27
                                                                                                                                      2647 // Memory (8-bit): 50
                                                                                                                                      2648 // Memory (32-bit): 63
                                                                                                                                      2649 //---------------------------------------------------------------------------
                                                                                                                                      2650 
                                                                                                                                      2651 static const basic::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
                                                                                                                                      2652  // -5:00 Haiti E%sT
                                                                                                                                      2653  {
                                                                                                                                      2654  &kPolicyHaiti /*zonePolicy*/,
                                                                                                                                      2655  "E%T" /*format*/,
                                                                                                                                      2656  -20 /*offsetCode*/,
                                                                                                                                      2657  0 /*deltaCode*/,
                                                                                                                                      2658  127 /*untilYearTiny*/,
                                                                                                                                      2659  1 /*untilMonth*/,
                                                                                                                                      2660  1 /*untilDay*/,
                                                                                                                                      2661  0 /*untilTimeCode*/,
                                                                                                                                      2662  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2663  },
                                                                                                                                      2664 
                                                                                                                                      2665 };
                                                                                                                                      2666 
                                                                                                                                      2667 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "America/Port-au-Prince";
                                                                                                                                      2668 
                                                                                                                                      2669 const basic::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
                                                                                                                                      2670  kZoneNameAmerica_Port_au_Prince /*name*/,
                                                                                                                                      2671  0x8e4a7bdc /*zoneId*/,
                                                                                                                                      2672  &kZoneContext /*zoneContext*/,
                                                                                                                                      2673  6 /*transitionBufSize*/,
                                                                                                                                      2674  1 /*numEras*/,
                                                                                                                                      2675  kZoneEraAmerica_Port_au_Prince /*eras*/,
                                                                                                                                      2676 };
                                                                                                                                      2677 
                                                                                                                                      2678 //---------------------------------------------------------------------------
                                                                                                                                      2679 // Zone name: America/Port_of_Spain
                                                                                                                                      2680 // Zone Eras: 1
                                                                                                                                      2681 // Strings (bytes): 26
                                                                                                                                      2682 // Memory (8-bit): 49
                                                                                                                                      2683 // Memory (32-bit): 62
                                                                                                                                      2684 //---------------------------------------------------------------------------
                                                                                                                                      2685 
                                                                                                                                      2686 static const basic::ZoneEra kZoneEraAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = {
                                                                                                                                      2687  // -4:00 - AST
                                                                                                                                      2688  {
                                                                                                                                      2689  nullptr /*zonePolicy*/,
                                                                                                                                      2690  "AST" /*format*/,
                                                                                                                                      2691  -16 /*offsetCode*/,
                                                                                                                                      2692  0 /*deltaCode*/,
                                                                                                                                      2693  127 /*untilYearTiny*/,
                                                                                                                                      2694  1 /*untilMonth*/,
                                                                                                                                      2695  1 /*untilDay*/,
                                                                                                                                      2696  0 /*untilTimeCode*/,
                                                                                                                                      2697  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2698  },
                                                                                                                                      2699 
                                                                                                                                      2700 };
                                                                                                                                      2701 
                                                                                                                                      2702 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "America/Port_of_Spain";
                                                                                                                                      2703 
                                                                                                                                      2704 const basic::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
                                                                                                                                      2705  kZoneNameAmerica_Port_of_Spain /*name*/,
                                                                                                                                      2706  0xd8b28d59 /*zoneId*/,
                                                                                                                                      2707  &kZoneContext /*zoneContext*/,
                                                                                                                                      2708  2 /*transitionBufSize*/,
                                                                                                                                      2709  1 /*numEras*/,
                                                                                                                                      2710  kZoneEraAmerica_Port_of_Spain /*eras*/,
                                                                                                                                      2711 };
                                                                                                                                      2712 
                                                                                                                                      2713 //---------------------------------------------------------------------------
                                                                                                                                      2714 // Zone name: America/Porto_Velho
                                                                                                                                      2715 // Zone Eras: 1
                                                                                                                                      2716 // Strings (bytes): 24
                                                                                                                                      2717 // Memory (8-bit): 47
                                                                                                                                      2718 // Memory (32-bit): 60
                                                                                                                                      2719 //---------------------------------------------------------------------------
                                                                                                                                      2720 
                                                                                                                                      2721 static const basic::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
                                                                                                                                      2722  // -4:00 - -04
                                                                                                                                      2723  {
                                                                                                                                      2724  nullptr /*zonePolicy*/,
                                                                                                                                      2725  "-04" /*format*/,
                                                                                                                                      2726  -16 /*offsetCode*/,
                                                                                                                                      2727  0 /*deltaCode*/,
                                                                                                                                      2728  127 /*untilYearTiny*/,
                                                                                                                                      2729  1 /*untilMonth*/,
                                                                                                                                      2730  1 /*untilDay*/,
                                                                                                                                      2731  0 /*untilTimeCode*/,
                                                                                                                                      2732  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2733  },
                                                                                                                                      2734 
                                                                                                                                      2735 };
                                                                                                                                      2736 
                                                                                                                                      2737 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "America/Porto_Velho";
                                                                                                                                      2738 
                                                                                                                                      2739 const basic::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
                                                                                                                                      2740  kZoneNameAmerica_Porto_Velho /*name*/,
                                                                                                                                      2741  0x6b1aac77 /*zoneId*/,
                                                                                                                                      2742  &kZoneContext /*zoneContext*/,
                                                                                                                                      2743  2 /*transitionBufSize*/,
                                                                                                                                      2744  1 /*numEras*/,
                                                                                                                                      2745  kZoneEraAmerica_Porto_Velho /*eras*/,
                                                                                                                                      2746 };
                                                                                                                                      2747 
                                                                                                                                      2748 //---------------------------------------------------------------------------
                                                                                                                                      2749 // Zone name: America/Puerto_Rico
                                                                                                                                      2750 // Zone Eras: 1
                                                                                                                                      2751 // Strings (bytes): 24
                                                                                                                                      2752 // Memory (8-bit): 47
                                                                                                                                      2753 // Memory (32-bit): 60
                                                                                                                                      2754 //---------------------------------------------------------------------------
                                                                                                                                      2755 
                                                                                                                                      2756 static const basic::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
                                                                                                                                      2757  // -4:00 - AST
                                                                                                                                      2758  {
                                                                                                                                      2759  nullptr /*zonePolicy*/,
                                                                                                                                      2760  "AST" /*format*/,
                                                                                                                                      2761  -16 /*offsetCode*/,
                                                                                                                                      2762  0 /*deltaCode*/,
                                                                                                                                      2763  127 /*untilYearTiny*/,
                                                                                                                                      2764  1 /*untilMonth*/,
                                                                                                                                      2765  1 /*untilDay*/,
                                                                                                                                      2766  0 /*untilTimeCode*/,
                                                                                                                                      2767  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2768  },
                                                                                                                                      2769 
                                                                                                                                      2770 };
                                                                                                                                      2771 
                                                                                                                                      2772 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "America/Puerto_Rico";
                                                                                                                                      2773 
                                                                                                                                      2774 const basic::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
                                                                                                                                      2775  kZoneNameAmerica_Puerto_Rico /*name*/,
                                                                                                                                      2776  0x6752ca31 /*zoneId*/,
                                                                                                                                      2777  &kZoneContext /*zoneContext*/,
                                                                                                                                      2778  2 /*transitionBufSize*/,
                                                                                                                                      2779  1 /*numEras*/,
                                                                                                                                      2780  kZoneEraAmerica_Puerto_Rico /*eras*/,
                                                                                                                                      2781 };
                                                                                                                                      2782 
                                                                                                                                      2783 //---------------------------------------------------------------------------
                                                                                                                                      2784 // Zone name: America/Rainy_River
                                                                                                                                      2785 // Zone Eras: 1
                                                                                                                                      2786 // Strings (bytes): 24
                                                                                                                                      2787 // Memory (8-bit): 47
                                                                                                                                      2788 // Memory (32-bit): 60
                                                                                                                                      2789 //---------------------------------------------------------------------------
                                                                                                                                      2790 
                                                                                                                                      2791 static const basic::ZoneEra kZoneEraAmerica_Rainy_River[] ACE_TIME_PROGMEM = {
                                                                                                                                      2792  // -6:00 Canada C%sT
                                                                                                                                      2793  {
                                                                                                                                      2794  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      2795  "C%T" /*format*/,
                                                                                                                                      2796  -24 /*offsetCode*/,
                                                                                                                                      2797  0 /*deltaCode*/,
                                                                                                                                      2798  127 /*untilYearTiny*/,
                                                                                                                                      2799  1 /*untilMonth*/,
                                                                                                                                      2800  1 /*untilDay*/,
                                                                                                                                      2801  0 /*untilTimeCode*/,
                                                                                                                                      2802  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2803  },
                                                                                                                                      2804 
                                                                                                                                      2805 };
                                                                                                                                      2806 
                                                                                                                                      2807 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "America/Rainy_River";
                                                                                                                                      2808 
                                                                                                                                      2809 const basic::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
                                                                                                                                      2810  kZoneNameAmerica_Rainy_River /*name*/,
                                                                                                                                      2811  0x9cd58a10 /*zoneId*/,
                                                                                                                                      2812  &kZoneContext /*zoneContext*/,
                                                                                                                                      2813  6 /*transitionBufSize*/,
                                                                                                                                      2814  1 /*numEras*/,
                                                                                                                                      2815  kZoneEraAmerica_Rainy_River /*eras*/,
                                                                                                                                      2816 };
                                                                                                                                      2817 
                                                                                                                                      2818 //---------------------------------------------------------------------------
                                                                                                                                      2819 // Zone name: America/Regina
                                                                                                                                      2820 // Zone Eras: 1
                                                                                                                                      2821 // Strings (bytes): 19
                                                                                                                                      2822 // Memory (8-bit): 42
                                                                                                                                      2823 // Memory (32-bit): 55
                                                                                                                                      2824 //---------------------------------------------------------------------------
                                                                                                                                      2825 
                                                                                                                                      2826 static const basic::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
                                                                                                                                      2827  // -6:00 - CST
                                                                                                                                      2828  {
                                                                                                                                      2829  nullptr /*zonePolicy*/,
                                                                                                                                      2830  "CST" /*format*/,
                                                                                                                                      2831  -24 /*offsetCode*/,
                                                                                                                                      2832  0 /*deltaCode*/,
                                                                                                                                      2833  127 /*untilYearTiny*/,
                                                                                                                                      2834  1 /*untilMonth*/,
                                                                                                                                      2835  1 /*untilDay*/,
                                                                                                                                      2836  0 /*untilTimeCode*/,
                                                                                                                                      2837  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2838  },
                                                                                                                                      2839 
                                                                                                                                      2840 };
                                                                                                                                      2841 
                                                                                                                                      2842 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "America/Regina";
                                                                                                                                      2843 
                                                                                                                                      2844 const basic::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
                                                                                                                                      2845  kZoneNameAmerica_Regina /*name*/,
                                                                                                                                      2846  0xb875371c /*zoneId*/,
                                                                                                                                      2847  &kZoneContext /*zoneContext*/,
                                                                                                                                      2848  2 /*transitionBufSize*/,
                                                                                                                                      2849  1 /*numEras*/,
                                                                                                                                      2850  kZoneEraAmerica_Regina /*eras*/,
                                                                                                                                      2851 };
                                                                                                                                      2852 
                                                                                                                                      2853 //---------------------------------------------------------------------------
                                                                                                                                      2854 // Zone name: America/Santiago
                                                                                                                                      2855 // Zone Eras: 1
                                                                                                                                      2856 // Strings (bytes): 25
                                                                                                                                      2857 // Memory (8-bit): 48
                                                                                                                                      2858 // Memory (32-bit): 61
                                                                                                                                      2859 //---------------------------------------------------------------------------
                                                                                                                                      2860 
                                                                                                                                      2861 static const basic::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
                                                                                                                                      2862  // -4:00 Chile -04/-03
                                                                                                                                      2863  {
                                                                                                                                      2864  &kPolicyChile /*zonePolicy*/,
                                                                                                                                      2865  "-04/-03" /*format*/,
                                                                                                                                      2866  -16 /*offsetCode*/,
                                                                                                                                      2867  0 /*deltaCode*/,
                                                                                                                                      2868  127 /*untilYearTiny*/,
                                                                                                                                      2869  1 /*untilMonth*/,
                                                                                                                                      2870  1 /*untilDay*/,
                                                                                                                                      2871  0 /*untilTimeCode*/,
                                                                                                                                      2872  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2873  },
                                                                                                                                      2874 
                                                                                                                                      2875 };
                                                                                                                                      2876 
                                                                                                                                      2877 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "America/Santiago";
                                                                                                                                      2878 
                                                                                                                                      2879 const basic::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
                                                                                                                                      2880  kZoneNameAmerica_Santiago /*name*/,
                                                                                                                                      2881  0x7410c9bc /*zoneId*/,
                                                                                                                                      2882  &kZoneContext /*zoneContext*/,
                                                                                                                                      2883  5 /*transitionBufSize*/,
                                                                                                                                      2884  1 /*numEras*/,
                                                                                                                                      2885  kZoneEraAmerica_Santiago /*eras*/,
                                                                                                                                      2886 };
                                                                                                                                      2887 
                                                                                                                                      2888 //---------------------------------------------------------------------------
                                                                                                                                      2889 // Zone name: America/Sao_Paulo
                                                                                                                                      2890 // Zone Eras: 1
                                                                                                                                      2891 // Strings (bytes): 26
                                                                                                                                      2892 // Memory (8-bit): 49
                                                                                                                                      2893 // Memory (32-bit): 62
                                                                                                                                      2894 //---------------------------------------------------------------------------
                                                                                                                                      2895 
                                                                                                                                      2896 static const basic::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
                                                                                                                                      2897  // -3:00 Brazil -03/-02
                                                                                                                                      2898  {
                                                                                                                                      2899  &kPolicyBrazil /*zonePolicy*/,
                                                                                                                                      2900  "-03/-02" /*format*/,
                                                                                                                                      2901  -12 /*offsetCode*/,
                                                                                                                                      2902  0 /*deltaCode*/,
                                                                                                                                      2903  127 /*untilYearTiny*/,
                                                                                                                                      2904  1 /*untilMonth*/,
                                                                                                                                      2905  1 /*untilDay*/,
                                                                                                                                      2906  0 /*untilTimeCode*/,
                                                                                                                                      2907  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2908  },
                                                                                                                                      2909 
                                                                                                                                      2910 };
                                                                                                                                      2911 
                                                                                                                                      2912 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "America/Sao_Paulo";
                                                                                                                                      2913 
                                                                                                                                      2914 const basic::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
                                                                                                                                      2915  kZoneNameAmerica_Sao_Paulo /*name*/,
                                                                                                                                      2916  0x1063bfc9 /*zoneId*/,
                                                                                                                                      2917  &kZoneContext /*zoneContext*/,
                                                                                                                                      2918  6 /*transitionBufSize*/,
                                                                                                                                      2919  1 /*numEras*/,
                                                                                                                                      2920  kZoneEraAmerica_Sao_Paulo /*eras*/,
                                                                                                                                      2921 };
                                                                                                                                      2922 
                                                                                                                                      2923 //---------------------------------------------------------------------------
                                                                                                                                      2924 // Zone name: America/Scoresbysund
                                                                                                                                      2925 // Zone Eras: 1
                                                                                                                                      2926 // Strings (bytes): 29
                                                                                                                                      2927 // Memory (8-bit): 52
                                                                                                                                      2928 // Memory (32-bit): 65
                                                                                                                                      2929 //---------------------------------------------------------------------------
                                                                                                                                      2930 
                                                                                                                                      2931 static const basic::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
                                                                                                                                      2932  // -1:00 EU -01/+00
                                                                                                                                      2933  {
                                                                                                                                      2934  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      2935  "-01/+00" /*format*/,
                                                                                                                                      2936  -4 /*offsetCode*/,
                                                                                                                                      2937  0 /*deltaCode*/,
                                                                                                                                      2938  127 /*untilYearTiny*/,
                                                                                                                                      2939  1 /*untilMonth*/,
                                                                                                                                      2940  1 /*untilDay*/,
                                                                                                                                      2941  0 /*untilTimeCode*/,
                                                                                                                                      2942  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2943  },
                                                                                                                                      2944 
                                                                                                                                      2945 };
                                                                                                                                      2946 
                                                                                                                                      2947 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "America/Scoresbysund";
                                                                                                                                      2948 
                                                                                                                                      2949 const basic::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
                                                                                                                                      2950  kZoneNameAmerica_Scoresbysund /*name*/,
                                                                                                                                      2951  0x123f8d2a /*zoneId*/,
                                                                                                                                      2952  &kZoneContext /*zoneContext*/,
                                                                                                                                      2953  5 /*transitionBufSize*/,
                                                                                                                                      2954  1 /*numEras*/,
                                                                                                                                      2955  kZoneEraAmerica_Scoresbysund /*eras*/,
                                                                                                                                      2956 };
                                                                                                                                      2957 
                                                                                                                                      2958 //---------------------------------------------------------------------------
                                                                                                                                      2959 // Zone name: America/Sitka
                                                                                                                                      2960 // Zone Eras: 1
                                                                                                                                      2961 // Strings (bytes): 19
                                                                                                                                      2962 // Memory (8-bit): 42
                                                                                                                                      2963 // Memory (32-bit): 55
                                                                                                                                      2964 //---------------------------------------------------------------------------
                                                                                                                                      2965 
                                                                                                                                      2966 static const basic::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
                                                                                                                                      2967  // -9:00 US AK%sT
                                                                                                                                      2968  {
                                                                                                                                      2969  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      2970  "AK%T" /*format*/,
                                                                                                                                      2971  -36 /*offsetCode*/,
                                                                                                                                      2972  0 /*deltaCode*/,
                                                                                                                                      2973  127 /*untilYearTiny*/,
                                                                                                                                      2974  1 /*untilMonth*/,
                                                                                                                                      2975  1 /*untilDay*/,
                                                                                                                                      2976  0 /*untilTimeCode*/,
                                                                                                                                      2977  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      2978  },
                                                                                                                                      2979 
                                                                                                                                      2980 };
                                                                                                                                      2981 
                                                                                                                                      2982 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "America/Sitka";
                                                                                                                                      2983 
                                                                                                                                      2984 const basic::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
                                                                                                                                      2985  kZoneNameAmerica_Sitka /*name*/,
                                                                                                                                      2986  0x99104ce2 /*zoneId*/,
                                                                                                                                      2987  &kZoneContext /*zoneContext*/,
                                                                                                                                      2988  6 /*transitionBufSize*/,
                                                                                                                                      2989  1 /*numEras*/,
                                                                                                                                      2990  kZoneEraAmerica_Sitka /*eras*/,
                                                                                                                                      2991 };
                                                                                                                                      2992 
                                                                                                                                      2993 //---------------------------------------------------------------------------
                                                                                                                                      2994 // Zone name: America/Swift_Current
                                                                                                                                      2995 // Zone Eras: 1
                                                                                                                                      2996 // Strings (bytes): 26
                                                                                                                                      2997 // Memory (8-bit): 49
                                                                                                                                      2998 // Memory (32-bit): 62
                                                                                                                                      2999 //---------------------------------------------------------------------------
                                                                                                                                      3000 
                                                                                                                                      3001 static const basic::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
                                                                                                                                      3002  // -6:00 - CST
                                                                                                                                      3003  {
                                                                                                                                      3004  nullptr /*zonePolicy*/,
                                                                                                                                      3005  "CST" /*format*/,
                                                                                                                                      3006  -24 /*offsetCode*/,
                                                                                                                                      3007  0 /*deltaCode*/,
                                                                                                                                      3008  127 /*untilYearTiny*/,
                                                                                                                                      3009  1 /*untilMonth*/,
                                                                                                                                      3010  1 /*untilDay*/,
                                                                                                                                      3011  0 /*untilTimeCode*/,
                                                                                                                                      3012  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3013  },
                                                                                                                                      3014 
                                                                                                                                      3015 };
                                                                                                                                      3016 
                                                                                                                                      3017 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "America/Swift_Current";
                                                                                                                                      3018 
                                                                                                                                      3019 const basic::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
                                                                                                                                      3020  kZoneNameAmerica_Swift_Current /*name*/,
                                                                                                                                      3021  0xdef98e55 /*zoneId*/,
                                                                                                                                      3022  &kZoneContext /*zoneContext*/,
                                                                                                                                      3023  2 /*transitionBufSize*/,
                                                                                                                                      3024  1 /*numEras*/,
                                                                                                                                      3025  kZoneEraAmerica_Swift_Current /*eras*/,
                                                                                                                                      3026 };
                                                                                                                                      3027 
                                                                                                                                      3028 //---------------------------------------------------------------------------
                                                                                                                                      3029 // Zone name: America/Tegucigalpa
                                                                                                                                      3030 // Zone Eras: 1
                                                                                                                                      3031 // Strings (bytes): 24
                                                                                                                                      3032 // Memory (8-bit): 47
                                                                                                                                      3033 // Memory (32-bit): 60
                                                                                                                                      3034 //---------------------------------------------------------------------------
                                                                                                                                      3035 
                                                                                                                                      3036 static const basic::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
                                                                                                                                      3037  // -6:00 Hond C%sT
                                                                                                                                      3038  {
                                                                                                                                      3039  &kPolicyHond /*zonePolicy*/,
                                                                                                                                      3040  "C%T" /*format*/,
                                                                                                                                      3041  -24 /*offsetCode*/,
                                                                                                                                      3042  0 /*deltaCode*/,
                                                                                                                                      3043  127 /*untilYearTiny*/,
                                                                                                                                      3044  1 /*untilMonth*/,
                                                                                                                                      3045  1 /*untilDay*/,
                                                                                                                                      3046  0 /*untilTimeCode*/,
                                                                                                                                      3047  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3048  },
                                                                                                                                      3049 
                                                                                                                                      3050 };
                                                                                                                                      3051 
                                                                                                                                      3052 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "America/Tegucigalpa";
                                                                                                                                      3053 
                                                                                                                                      3054 const basic::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
                                                                                                                                      3055  kZoneNameAmerica_Tegucigalpa /*name*/,
                                                                                                                                      3056  0xbfd6fd4c /*zoneId*/,
                                                                                                                                      3057  &kZoneContext /*zoneContext*/,
                                                                                                                                      3058  4 /*transitionBufSize*/,
                                                                                                                                      3059  1 /*numEras*/,
                                                                                                                                      3060  kZoneEraAmerica_Tegucigalpa /*eras*/,
                                                                                                                                      3061 };
                                                                                                                                      3062 
                                                                                                                                      3063 //---------------------------------------------------------------------------
                                                                                                                                      3064 // Zone name: America/Thule
                                                                                                                                      3065 // Zone Eras: 1
                                                                                                                                      3066 // Strings (bytes): 18
                                                                                                                                      3067 // Memory (8-bit): 41
                                                                                                                                      3068 // Memory (32-bit): 54
                                                                                                                                      3069 //---------------------------------------------------------------------------
                                                                                                                                      3070 
                                                                                                                                      3071 static const basic::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
                                                                                                                                      3072  // -4:00 Thule A%sT
                                                                                                                                      3073  {
                                                                                                                                      3074  &kPolicyThule /*zonePolicy*/,
                                                                                                                                      3075  "A%T" /*format*/,
                                                                                                                                      3076  -16 /*offsetCode*/,
                                                                                                                                      3077  0 /*deltaCode*/,
                                                                                                                                      3078  127 /*untilYearTiny*/,
                                                                                                                                      3079  1 /*untilMonth*/,
                                                                                                                                      3080  1 /*untilDay*/,
                                                                                                                                      3081  0 /*untilTimeCode*/,
                                                                                                                                      3082  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3083  },
                                                                                                                                      3084 
                                                                                                                                      3085 };
                                                                                                                                      3086 
                                                                                                                                      3087 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "America/Thule";
                                                                                                                                      3088 
                                                                                                                                      3089 const basic::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
                                                                                                                                      3090  kZoneNameAmerica_Thule /*name*/,
                                                                                                                                      3091  0x9921dd68 /*zoneId*/,
                                                                                                                                      3092  &kZoneContext /*zoneContext*/,
                                                                                                                                      3093  6 /*transitionBufSize*/,
                                                                                                                                      3094  1 /*numEras*/,
                                                                                                                                      3095  kZoneEraAmerica_Thule /*eras*/,
                                                                                                                                      3096 };
                                                                                                                                      3097 
                                                                                                                                      3098 //---------------------------------------------------------------------------
                                                                                                                                      3099 // Zone name: America/Thunder_Bay
                                                                                                                                      3100 // Zone Eras: 1
                                                                                                                                      3101 // Strings (bytes): 24
                                                                                                                                      3102 // Memory (8-bit): 47
                                                                                                                                      3103 // Memory (32-bit): 60
                                                                                                                                      3104 //---------------------------------------------------------------------------
                                                                                                                                      3105 
                                                                                                                                      3106 static const basic::ZoneEra kZoneEraAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = {
                                                                                                                                      3107  // -5:00 Canada E%sT
                                                                                                                                      3108  {
                                                                                                                                      3109  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      3110  "E%T" /*format*/,
                                                                                                                                      3111  -20 /*offsetCode*/,
                                                                                                                                      3112  0 /*deltaCode*/,
                                                                                                                                      3113  127 /*untilYearTiny*/,
                                                                                                                                      3114  1 /*untilMonth*/,
                                                                                                                                      3115  1 /*untilDay*/,
                                                                                                                                      3116  0 /*untilTimeCode*/,
                                                                                                                                      3117  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3118  },
                                                                                                                                      3119 
                                                                                                                                      3120 };
                                                                                                                                      3121 
                                                                                                                                      3122 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "America/Thunder_Bay";
                                                                                                                                      3123 
                                                                                                                                      3124 const basic::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
                                                                                                                                      3125  kZoneNameAmerica_Thunder_Bay /*name*/,
                                                                                                                                      3126  0xf962e71b /*zoneId*/,
                                                                                                                                      3127  &kZoneContext /*zoneContext*/,
                                                                                                                                      3128  6 /*transitionBufSize*/,
                                                                                                                                      3129  1 /*numEras*/,
                                                                                                                                      3130  kZoneEraAmerica_Thunder_Bay /*eras*/,
                                                                                                                                      3131 };
                                                                                                                                      3132 
                                                                                                                                      3133 //---------------------------------------------------------------------------
                                                                                                                                      3134 // Zone name: America/Toronto
                                                                                                                                      3135 // Zone Eras: 1
                                                                                                                                      3136 // Strings (bytes): 20
                                                                                                                                      3137 // Memory (8-bit): 43
                                                                                                                                      3138 // Memory (32-bit): 56
                                                                                                                                      3139 //---------------------------------------------------------------------------
                                                                                                                                      3140 
                                                                                                                                      3141 static const basic::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
                                                                                                                                      3142  // -5:00 Canada E%sT
                                                                                                                                      3143  {
                                                                                                                                      3144  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      3145  "E%T" /*format*/,
                                                                                                                                      3146  -20 /*offsetCode*/,
                                                                                                                                      3147  0 /*deltaCode*/,
                                                                                                                                      3148  127 /*untilYearTiny*/,
                                                                                                                                      3149  1 /*untilMonth*/,
                                                                                                                                      3150  1 /*untilDay*/,
                                                                                                                                      3151  0 /*untilTimeCode*/,
                                                                                                                                      3152  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3153  },
                                                                                                                                      3154 
                                                                                                                                      3155 };
                                                                                                                                      3156 
                                                                                                                                      3157 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "America/Toronto";
                                                                                                                                      3158 
                                                                                                                                      3159 const basic::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
                                                                                                                                      3160  kZoneNameAmerica_Toronto /*name*/,
                                                                                                                                      3161  0x792e851b /*zoneId*/,
                                                                                                                                      3162  &kZoneContext /*zoneContext*/,
                                                                                                                                      3163  6 /*transitionBufSize*/,
                                                                                                                                      3164  1 /*numEras*/,
                                                                                                                                      3165  kZoneEraAmerica_Toronto /*eras*/,
                                                                                                                                      3166 };
                                                                                                                                      3167 
                                                                                                                                      3168 //---------------------------------------------------------------------------
                                                                                                                                      3169 // Zone name: America/Vancouver
                                                                                                                                      3170 // Zone Eras: 1
                                                                                                                                      3171 // Strings (bytes): 22
                                                                                                                                      3172 // Memory (8-bit): 45
                                                                                                                                      3173 // Memory (32-bit): 58
                                                                                                                                      3174 //---------------------------------------------------------------------------
                                                                                                                                      3175 
                                                                                                                                      3176 static const basic::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
                                                                                                                                      3177  // -8:00 Canada P%sT
                                                                                                                                      3178  {
                                                                                                                                      3179  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      3180  "P%T" /*format*/,
                                                                                                                                      3181  -32 /*offsetCode*/,
                                                                                                                                      3182  0 /*deltaCode*/,
                                                                                                                                      3183  127 /*untilYearTiny*/,
                                                                                                                                      3184  1 /*untilMonth*/,
                                                                                                                                      3185  1 /*untilDay*/,
                                                                                                                                      3186  0 /*untilTimeCode*/,
                                                                                                                                      3187  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3188  },
                                                                                                                                      3189 
                                                                                                                                      3190 };
                                                                                                                                      3191 
                                                                                                                                      3192 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "America/Vancouver";
                                                                                                                                      3193 
                                                                                                                                      3194 const basic::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
                                                                                                                                      3195  kZoneNameAmerica_Vancouver /*name*/,
                                                                                                                                      3196  0x2c6f6b1f /*zoneId*/,
                                                                                                                                      3197  &kZoneContext /*zoneContext*/,
                                                                                                                                      3198  6 /*transitionBufSize*/,
                                                                                                                                      3199  1 /*numEras*/,
                                                                                                                                      3200  kZoneEraAmerica_Vancouver /*eras*/,
                                                                                                                                      3201 };
                                                                                                                                      3202 
                                                                                                                                      3203 //---------------------------------------------------------------------------
                                                                                                                                      3204 // Zone name: America/Winnipeg
                                                                                                                                      3205 // Zone Eras: 2
                                                                                                                                      3206 // Strings (bytes): 25
                                                                                                                                      3207 // Memory (8-bit): 59
                                                                                                                                      3208 // Memory (32-bit): 77
                                                                                                                                      3209 //---------------------------------------------------------------------------
                                                                                                                                      3210 
                                                                                                                                      3211 static const basic::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
                                                                                                                                      3212  // -6:00 Winn C%sT 2006
                                                                                                                                      3213  {
                                                                                                                                      3214  &kPolicyWinn /*zonePolicy*/,
                                                                                                                                      3215  "C%T" /*format*/,
                                                                                                                                      3216  -24 /*offsetCode*/,
                                                                                                                                      3217  0 /*deltaCode*/,
                                                                                                                                      3218  6 /*untilYearTiny*/,
                                                                                                                                      3219  1 /*untilMonth*/,
                                                                                                                                      3220  1 /*untilDay*/,
                                                                                                                                      3221  0 /*untilTimeCode*/,
                                                                                                                                      3222  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3223  },
                                                                                                                                      3224  // -6:00 Canada C%sT
                                                                                                                                      3225  {
                                                                                                                                      3226  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      3227  "C%T" /*format*/,
                                                                                                                                      3228  -24 /*offsetCode*/,
                                                                                                                                      3229  0 /*deltaCode*/,
                                                                                                                                      3230  127 /*untilYearTiny*/,
                                                                                                                                      3231  1 /*untilMonth*/,
                                                                                                                                      3232  1 /*untilDay*/,
                                                                                                                                      3233  0 /*untilTimeCode*/,
                                                                                                                                      3234  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3235  },
                                                                                                                                      3236 
                                                                                                                                      3237 };
                                                                                                                                      3238 
                                                                                                                                      3239 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "America/Winnipeg";
                                                                                                                                      3240 
                                                                                                                                      3241 const basic::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
                                                                                                                                      3242  kZoneNameAmerica_Winnipeg /*name*/,
                                                                                                                                      3243  0x8c7dafc7 /*zoneId*/,
                                                                                                                                      3244  &kZoneContext /*zoneContext*/,
                                                                                                                                      3245  6 /*transitionBufSize*/,
                                                                                                                                      3246  2 /*numEras*/,
                                                                                                                                      3247  kZoneEraAmerica_Winnipeg /*eras*/,
                                                                                                                                      3248 };
                                                                                                                                      3249 
                                                                                                                                      3250 //---------------------------------------------------------------------------
                                                                                                                                      3251 // Zone name: America/Yakutat
                                                                                                                                      3252 // Zone Eras: 1
                                                                                                                                      3253 // Strings (bytes): 21
                                                                                                                                      3254 // Memory (8-bit): 44
                                                                                                                                      3255 // Memory (32-bit): 57
                                                                                                                                      3256 //---------------------------------------------------------------------------
                                                                                                                                      3257 
                                                                                                                                      3258 static const basic::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
                                                                                                                                      3259  // -9:00 US AK%sT
                                                                                                                                      3260  {
                                                                                                                                      3261  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      3262  "AK%T" /*format*/,
                                                                                                                                      3263  -36 /*offsetCode*/,
                                                                                                                                      3264  0 /*deltaCode*/,
                                                                                                                                      3265  127 /*untilYearTiny*/,
                                                                                                                                      3266  1 /*untilMonth*/,
                                                                                                                                      3267  1 /*untilDay*/,
                                                                                                                                      3268  0 /*untilTimeCode*/,
                                                                                                                                      3269  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3270  },
                                                                                                                                      3271 
                                                                                                                                      3272 };
                                                                                                                                      3273 
                                                                                                                                      3274 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "America/Yakutat";
                                                                                                                                      3275 
                                                                                                                                      3276 const basic::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
                                                                                                                                      3277  kZoneNameAmerica_Yakutat /*name*/,
                                                                                                                                      3278  0xd8ee31e9 /*zoneId*/,
                                                                                                                                      3279  &kZoneContext /*zoneContext*/,
                                                                                                                                      3280  6 /*transitionBufSize*/,
                                                                                                                                      3281  1 /*numEras*/,
                                                                                                                                      3282  kZoneEraAmerica_Yakutat /*eras*/,
                                                                                                                                      3283 };
                                                                                                                                      3284 
                                                                                                                                      3285 //---------------------------------------------------------------------------
                                                                                                                                      3286 // Zone name: America/Yellowknife
                                                                                                                                      3287 // Zone Eras: 1
                                                                                                                                      3288 // Strings (bytes): 24
                                                                                                                                      3289 // Memory (8-bit): 47
                                                                                                                                      3290 // Memory (32-bit): 60
                                                                                                                                      3291 //---------------------------------------------------------------------------
                                                                                                                                      3292 
                                                                                                                                      3293 static const basic::ZoneEra kZoneEraAmerica_Yellowknife[] ACE_TIME_PROGMEM = {
                                                                                                                                      3294  // -7:00 Canada M%sT
                                                                                                                                      3295  {
                                                                                                                                      3296  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      3297  "M%T" /*format*/,
                                                                                                                                      3298  -28 /*offsetCode*/,
                                                                                                                                      3299  0 /*deltaCode*/,
                                                                                                                                      3300  127 /*untilYearTiny*/,
                                                                                                                                      3301  1 /*untilMonth*/,
                                                                                                                                      3302  1 /*untilDay*/,
                                                                                                                                      3303  0 /*untilTimeCode*/,
                                                                                                                                      3304  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3305  },
                                                                                                                                      3306 
                                                                                                                                      3307 };
                                                                                                                                      3308 
                                                                                                                                      3309 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "America/Yellowknife";
                                                                                                                                      3310 
                                                                                                                                      3311 const basic::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
                                                                                                                                      3312  kZoneNameAmerica_Yellowknife /*name*/,
                                                                                                                                      3313  0x0f76c76f /*zoneId*/,
                                                                                                                                      3314  &kZoneContext /*zoneContext*/,
                                                                                                                                      3315  6 /*transitionBufSize*/,
                                                                                                                                      3316  1 /*numEras*/,
                                                                                                                                      3317  kZoneEraAmerica_Yellowknife /*eras*/,
                                                                                                                                      3318 };
                                                                                                                                      3319 
                                                                                                                                      3320 //---------------------------------------------------------------------------
                                                                                                                                      3321 // Zone name: Antarctica/DumontDUrville
                                                                                                                                      3322 // Zone Eras: 1
                                                                                                                                      3323 // Strings (bytes): 30
                                                                                                                                      3324 // Memory (8-bit): 53
                                                                                                                                      3325 // Memory (32-bit): 66
                                                                                                                                      3326 //---------------------------------------------------------------------------
                                                                                                                                      3327 
                                                                                                                                      3328 static const basic::ZoneEra kZoneEraAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = {
                                                                                                                                      3329  // 10:00 - +10
                                                                                                                                      3330  {
                                                                                                                                      3331  nullptr /*zonePolicy*/,
                                                                                                                                      3332  "+10" /*format*/,
                                                                                                                                      3333  40 /*offsetCode*/,
                                                                                                                                      3334  0 /*deltaCode*/,
                                                                                                                                      3335  127 /*untilYearTiny*/,
                                                                                                                                      3336  1 /*untilMonth*/,
                                                                                                                                      3337  1 /*untilDay*/,
                                                                                                                                      3338  0 /*untilTimeCode*/,
                                                                                                                                      3339  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3340  },
                                                                                                                                      3341 
                                                                                                                                      3342 };
                                                                                                                                      3343 
                                                                                                                                      3344 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "Antarctica/DumontDUrville";
                                                                                                                                      3345 
                                                                                                                                      3346 const basic::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
                                                                                                                                      3347  kZoneNameAntarctica_DumontDUrville /*name*/,
                                                                                                                                      3348  0x5a3c656c /*zoneId*/,
                                                                                                                                      3349  &kZoneContext /*zoneContext*/,
                                                                                                                                      3350  2 /*transitionBufSize*/,
                                                                                                                                      3351  1 /*numEras*/,
                                                                                                                                      3352  kZoneEraAntarctica_DumontDUrville /*eras*/,
                                                                                                                                      3353 };
                                                                                                                                      3354 
                                                                                                                                      3355 //---------------------------------------------------------------------------
                                                                                                                                      3356 // Zone name: Antarctica/Rothera
                                                                                                                                      3357 // Zone Eras: 1
                                                                                                                                      3358 // Strings (bytes): 23
                                                                                                                                      3359 // Memory (8-bit): 46
                                                                                                                                      3360 // Memory (32-bit): 59
                                                                                                                                      3361 //---------------------------------------------------------------------------
                                                                                                                                      3362 
                                                                                                                                      3363 static const basic::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
                                                                                                                                      3364  // -3:00 - -03
                                                                                                                                      3365  {
                                                                                                                                      3366  nullptr /*zonePolicy*/,
                                                                                                                                      3367  "-03" /*format*/,
                                                                                                                                      3368  -12 /*offsetCode*/,
                                                                                                                                      3369  0 /*deltaCode*/,
                                                                                                                                      3370  127 /*untilYearTiny*/,
                                                                                                                                      3371  1 /*untilMonth*/,
                                                                                                                                      3372  1 /*untilDay*/,
                                                                                                                                      3373  0 /*untilTimeCode*/,
                                                                                                                                      3374  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3375  },
                                                                                                                                      3376 
                                                                                                                                      3377 };
                                                                                                                                      3378 
                                                                                                                                      3379 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "Antarctica/Rothera";
                                                                                                                                      3380 
                                                                                                                                      3381 const basic::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
                                                                                                                                      3382  kZoneNameAntarctica_Rothera /*name*/,
                                                                                                                                      3383  0x0e86d203 /*zoneId*/,
                                                                                                                                      3384  &kZoneContext /*zoneContext*/,
                                                                                                                                      3385  2 /*transitionBufSize*/,
                                                                                                                                      3386  1 /*numEras*/,
                                                                                                                                      3387  kZoneEraAntarctica_Rothera /*eras*/,
                                                                                                                                      3388 };
                                                                                                                                      3389 
                                                                                                                                      3390 //---------------------------------------------------------------------------
                                                                                                                                      3391 // Zone name: Antarctica/Syowa
                                                                                                                                      3392 // Zone Eras: 1
                                                                                                                                      3393 // Strings (bytes): 21
                                                                                                                                      3394 // Memory (8-bit): 44
                                                                                                                                      3395 // Memory (32-bit): 57
                                                                                                                                      3396 //---------------------------------------------------------------------------
                                                                                                                                      3397 
                                                                                                                                      3398 static const basic::ZoneEra kZoneEraAntarctica_Syowa[] ACE_TIME_PROGMEM = {
                                                                                                                                      3399  // 3:00 - +03
                                                                                                                                      3400  {
                                                                                                                                      3401  nullptr /*zonePolicy*/,
                                                                                                                                      3402  "+03" /*format*/,
                                                                                                                                      3403  12 /*offsetCode*/,
                                                                                                                                      3404  0 /*deltaCode*/,
                                                                                                                                      3405  127 /*untilYearTiny*/,
                                                                                                                                      3406  1 /*untilMonth*/,
                                                                                                                                      3407  1 /*untilDay*/,
                                                                                                                                      3408  0 /*untilTimeCode*/,
                                                                                                                                      3409  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3410  },
                                                                                                                                      3411 
                                                                                                                                      3412 };
                                                                                                                                      3413 
                                                                                                                                      3414 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "Antarctica/Syowa";
                                                                                                                                      3415 
                                                                                                                                      3416 const basic::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
                                                                                                                                      3417  kZoneNameAntarctica_Syowa /*name*/,
                                                                                                                                      3418  0xe330c7e1 /*zoneId*/,
                                                                                                                                      3419  &kZoneContext /*zoneContext*/,
                                                                                                                                      3420  2 /*transitionBufSize*/,
                                                                                                                                      3421  1 /*numEras*/,
                                                                                                                                      3422  kZoneEraAntarctica_Syowa /*eras*/,
                                                                                                                                      3423 };
                                                                                                                                      3424 
                                                                                                                                      3425 //---------------------------------------------------------------------------
                                                                                                                                      3426 // Zone name: Antarctica/Vostok
                                                                                                                                      3427 // Zone Eras: 1
                                                                                                                                      3428 // Strings (bytes): 22
                                                                                                                                      3429 // Memory (8-bit): 45
                                                                                                                                      3430 // Memory (32-bit): 58
                                                                                                                                      3431 //---------------------------------------------------------------------------
                                                                                                                                      3432 
                                                                                                                                      3433 static const basic::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
                                                                                                                                      3434  // 6:00 - +06
                                                                                                                                      3435  {
                                                                                                                                      3436  nullptr /*zonePolicy*/,
                                                                                                                                      3437  "+06" /*format*/,
                                                                                                                                      3438  24 /*offsetCode*/,
                                                                                                                                      3439  0 /*deltaCode*/,
                                                                                                                                      3440  127 /*untilYearTiny*/,
                                                                                                                                      3441  1 /*untilMonth*/,
                                                                                                                                      3442  1 /*untilDay*/,
                                                                                                                                      3443  0 /*untilTimeCode*/,
                                                                                                                                      3444  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3445  },
                                                                                                                                      3446 
                                                                                                                                      3447 };
                                                                                                                                      3448 
                                                                                                                                      3449 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "Antarctica/Vostok";
                                                                                                                                      3450 
                                                                                                                                      3451 const basic::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
                                                                                                                                      3452  kZoneNameAntarctica_Vostok /*name*/,
                                                                                                                                      3453  0x4f966fd4 /*zoneId*/,
                                                                                                                                      3454  &kZoneContext /*zoneContext*/,
                                                                                                                                      3455  2 /*transitionBufSize*/,
                                                                                                                                      3456  1 /*numEras*/,
                                                                                                                                      3457  kZoneEraAntarctica_Vostok /*eras*/,
                                                                                                                                      3458 };
                                                                                                                                      3459 
                                                                                                                                      3460 //---------------------------------------------------------------------------
                                                                                                                                      3461 // Zone name: Asia/Amman
                                                                                                                                      3462 // Zone Eras: 1
                                                                                                                                      3463 // Strings (bytes): 16
                                                                                                                                      3464 // Memory (8-bit): 39
                                                                                                                                      3465 // Memory (32-bit): 52
                                                                                                                                      3466 //---------------------------------------------------------------------------
                                                                                                                                      3467 
                                                                                                                                      3468 static const basic::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
                                                                                                                                      3469  // 2:00 Jordan EE%sT
                                                                                                                                      3470  {
                                                                                                                                      3471  &kPolicyJordan /*zonePolicy*/,
                                                                                                                                      3472  "EE%T" /*format*/,
                                                                                                                                      3473  8 /*offsetCode*/,
                                                                                                                                      3474  0 /*deltaCode*/,
                                                                                                                                      3475  127 /*untilYearTiny*/,
                                                                                                                                      3476  1 /*untilMonth*/,
                                                                                                                                      3477  1 /*untilDay*/,
                                                                                                                                      3478  0 /*untilTimeCode*/,
                                                                                                                                      3479  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3480  },
                                                                                                                                      3481 
                                                                                                                                      3482 };
                                                                                                                                      3483 
                                                                                                                                      3484 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "Asia/Amman";
                                                                                                                                      3485 
                                                                                                                                      3486 const basic::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
                                                                                                                                      3487  kZoneNameAsia_Amman /*name*/,
                                                                                                                                      3488  0x148d21bc /*zoneId*/,
                                                                                                                                      3489  &kZoneContext /*zoneContext*/,
                                                                                                                                      3490  6 /*transitionBufSize*/,
                                                                                                                                      3491  1 /*numEras*/,
                                                                                                                                      3492  kZoneEraAsia_Amman /*eras*/,
                                                                                                                                      3493 };
                                                                                                                                      3494 
                                                                                                                                      3495 //---------------------------------------------------------------------------
                                                                                                                                      3496 // Zone name: Asia/Ashgabat
                                                                                                                                      3497 // Zone Eras: 1
                                                                                                                                      3498 // Strings (bytes): 18
                                                                                                                                      3499 // Memory (8-bit): 41
                                                                                                                                      3500 // Memory (32-bit): 54
                                                                                                                                      3501 //---------------------------------------------------------------------------
                                                                                                                                      3502 
                                                                                                                                      3503 static const basic::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
                                                                                                                                      3504  // 5:00 - +05
                                                                                                                                      3505  {
                                                                                                                                      3506  nullptr /*zonePolicy*/,
                                                                                                                                      3507  "+05" /*format*/,
                                                                                                                                      3508  20 /*offsetCode*/,
                                                                                                                                      3509  0 /*deltaCode*/,
                                                                                                                                      3510  127 /*untilYearTiny*/,
                                                                                                                                      3511  1 /*untilMonth*/,
                                                                                                                                      3512  1 /*untilDay*/,
                                                                                                                                      3513  0 /*untilTimeCode*/,
                                                                                                                                      3514  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3515  },
                                                                                                                                      3516 
                                                                                                                                      3517 };
                                                                                                                                      3518 
                                                                                                                                      3519 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "Asia/Ashgabat";
                                                                                                                                      3520 
                                                                                                                                      3521 const basic::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
                                                                                                                                      3522  kZoneNameAsia_Ashgabat /*name*/,
                                                                                                                                      3523  0xba87598d /*zoneId*/,
                                                                                                                                      3524  &kZoneContext /*zoneContext*/,
                                                                                                                                      3525  2 /*transitionBufSize*/,
                                                                                                                                      3526  1 /*numEras*/,
                                                                                                                                      3527  kZoneEraAsia_Ashgabat /*eras*/,
                                                                                                                                      3528 };
                                                                                                                                      3529 
                                                                                                                                      3530 //---------------------------------------------------------------------------
                                                                                                                                      3531 // Zone name: Asia/Baghdad
                                                                                                                                      3532 // Zone Eras: 1
                                                                                                                                      3533 // Strings (bytes): 21
                                                                                                                                      3534 // Memory (8-bit): 44
                                                                                                                                      3535 // Memory (32-bit): 57
                                                                                                                                      3536 //---------------------------------------------------------------------------
                                                                                                                                      3537 
                                                                                                                                      3538 static const basic::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
                                                                                                                                      3539  // 3:00 Iraq +03/+04
                                                                                                                                      3540  {
                                                                                                                                      3541  &kPolicyIraq /*zonePolicy*/,
                                                                                                                                      3542  "+03/+04" /*format*/,
                                                                                                                                      3543  12 /*offsetCode*/,
                                                                                                                                      3544  0 /*deltaCode*/,
                                                                                                                                      3545  127 /*untilYearTiny*/,
                                                                                                                                      3546  1 /*untilMonth*/,
                                                                                                                                      3547  1 /*untilDay*/,
                                                                                                                                      3548  0 /*untilTimeCode*/,
                                                                                                                                      3549  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3550  },
                                                                                                                                      3551 
                                                                                                                                      3552 };
                                                                                                                                      3553 
                                                                                                                                      3554 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "Asia/Baghdad";
                                                                                                                                      3555 
                                                                                                                                      3556 const basic::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
                                                                                                                                      3557  kZoneNameAsia_Baghdad /*name*/,
                                                                                                                                      3558  0x9ceffbed /*zoneId*/,
                                                                                                                                      3559  &kZoneContext /*zoneContext*/,
                                                                                                                                      3560  4 /*transitionBufSize*/,
                                                                                                                                      3561  1 /*numEras*/,
                                                                                                                                      3562  kZoneEraAsia_Baghdad /*eras*/,
                                                                                                                                      3563 };
                                                                                                                                      3564 
                                                                                                                                      3565 //---------------------------------------------------------------------------
                                                                                                                                      3566 // Zone name: Asia/Baku
                                                                                                                                      3567 // Zone Eras: 1
                                                                                                                                      3568 // Strings (bytes): 18
                                                                                                                                      3569 // Memory (8-bit): 41
                                                                                                                                      3570 // Memory (32-bit): 54
                                                                                                                                      3571 //---------------------------------------------------------------------------
                                                                                                                                      3572 
                                                                                                                                      3573 static const basic::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
                                                                                                                                      3574  // 4:00 Azer +04/+05
                                                                                                                                      3575  {
                                                                                                                                      3576  &kPolicyAzer /*zonePolicy*/,
                                                                                                                                      3577  "+04/+05" /*format*/,
                                                                                                                                      3578  16 /*offsetCode*/,
                                                                                                                                      3579  0 /*deltaCode*/,
                                                                                                                                      3580  127 /*untilYearTiny*/,
                                                                                                                                      3581  1 /*untilMonth*/,
                                                                                                                                      3582  1 /*untilDay*/,
                                                                                                                                      3583  0 /*untilTimeCode*/,
                                                                                                                                      3584  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3585  },
                                                                                                                                      3586 
                                                                                                                                      3587 };
                                                                                                                                      3588 
                                                                                                                                      3589 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "Asia/Baku";
                                                                                                                                      3590 
                                                                                                                                      3591 const basic::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
                                                                                                                                      3592  kZoneNameAsia_Baku /*name*/,
                                                                                                                                      3593  0x1fa788b5 /*zoneId*/,
                                                                                                                                      3594  &kZoneContext /*zoneContext*/,
                                                                                                                                      3595  5 /*transitionBufSize*/,
                                                                                                                                      3596  1 /*numEras*/,
                                                                                                                                      3597  kZoneEraAsia_Baku /*eras*/,
                                                                                                                                      3598 };
                                                                                                                                      3599 
                                                                                                                                      3600 //---------------------------------------------------------------------------
                                                                                                                                      3601 // Zone name: Asia/Bangkok
                                                                                                                                      3602 // Zone Eras: 1
                                                                                                                                      3603 // Strings (bytes): 17
                                                                                                                                      3604 // Memory (8-bit): 40
                                                                                                                                      3605 // Memory (32-bit): 53
                                                                                                                                      3606 //---------------------------------------------------------------------------
                                                                                                                                      3607 
                                                                                                                                      3608 static const basic::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
                                                                                                                                      3609  // 7:00 - +07
                                                                                                                                      3610  {
                                                                                                                                      3611  nullptr /*zonePolicy*/,
                                                                                                                                      3612  "+07" /*format*/,
                                                                                                                                      3613  28 /*offsetCode*/,
                                                                                                                                      3614  0 /*deltaCode*/,
                                                                                                                                      3615  127 /*untilYearTiny*/,
                                                                                                                                      3616  1 /*untilMonth*/,
                                                                                                                                      3617  1 /*untilDay*/,
                                                                                                                                      3618  0 /*untilTimeCode*/,
                                                                                                                                      3619  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3620  },
                                                                                                                                      3621 
                                                                                                                                      3622 };
                                                                                                                                      3623 
                                                                                                                                      3624 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "Asia/Bangkok";
                                                                                                                                      3625 
                                                                                                                                      3626 const basic::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
                                                                                                                                      3627  kZoneNameAsia_Bangkok /*name*/,
                                                                                                                                      3628  0x9d6e3aaf /*zoneId*/,
                                                                                                                                      3629  &kZoneContext /*zoneContext*/,
                                                                                                                                      3630  2 /*transitionBufSize*/,
                                                                                                                                      3631  1 /*numEras*/,
                                                                                                                                      3632  kZoneEraAsia_Bangkok /*eras*/,
                                                                                                                                      3633 };
                                                                                                                                      3634 
                                                                                                                                      3635 //---------------------------------------------------------------------------
                                                                                                                                      3636 // Zone name: Asia/Beirut
                                                                                                                                      3637 // Zone Eras: 1
                                                                                                                                      3638 // Strings (bytes): 17
                                                                                                                                      3639 // Memory (8-bit): 40
                                                                                                                                      3640 // Memory (32-bit): 53
                                                                                                                                      3641 //---------------------------------------------------------------------------
                                                                                                                                      3642 
                                                                                                                                      3643 static const basic::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
                                                                                                                                      3644  // 2:00 Lebanon EE%sT
                                                                                                                                      3645  {
                                                                                                                                      3646  &kPolicyLebanon /*zonePolicy*/,
                                                                                                                                      3647  "EE%T" /*format*/,
                                                                                                                                      3648  8 /*offsetCode*/,
                                                                                                                                      3649  0 /*deltaCode*/,
                                                                                                                                      3650  127 /*untilYearTiny*/,
                                                                                                                                      3651  1 /*untilMonth*/,
                                                                                                                                      3652  1 /*untilDay*/,
                                                                                                                                      3653  0 /*untilTimeCode*/,
                                                                                                                                      3654  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3655  },
                                                                                                                                      3656 
                                                                                                                                      3657 };
                                                                                                                                      3658 
                                                                                                                                      3659 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "Asia/Beirut";
                                                                                                                                      3660 
                                                                                                                                      3661 const basic::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
                                                                                                                                      3662  kZoneNameAsia_Beirut /*name*/,
                                                                                                                                      3663  0xa7f3d5fd /*zoneId*/,
                                                                                                                                      3664  &kZoneContext /*zoneContext*/,
                                                                                                                                      3665  5 /*transitionBufSize*/,
                                                                                                                                      3666  1 /*numEras*/,
                                                                                                                                      3667  kZoneEraAsia_Beirut /*eras*/,
                                                                                                                                      3668 };
                                                                                                                                      3669 
                                                                                                                                      3670 //---------------------------------------------------------------------------
                                                                                                                                      3671 // Zone name: Asia/Brunei
                                                                                                                                      3672 // Zone Eras: 1
                                                                                                                                      3673 // Strings (bytes): 16
                                                                                                                                      3674 // Memory (8-bit): 39
                                                                                                                                      3675 // Memory (32-bit): 52
                                                                                                                                      3676 //---------------------------------------------------------------------------
                                                                                                                                      3677 
                                                                                                                                      3678 static const basic::ZoneEra kZoneEraAsia_Brunei[] ACE_TIME_PROGMEM = {
                                                                                                                                      3679  // 8:00 - +08
                                                                                                                                      3680  {
                                                                                                                                      3681  nullptr /*zonePolicy*/,
                                                                                                                                      3682  "+08" /*format*/,
                                                                                                                                      3683  32 /*offsetCode*/,
                                                                                                                                      3684  0 /*deltaCode*/,
                                                                                                                                      3685  127 /*untilYearTiny*/,
                                                                                                                                      3686  1 /*untilMonth*/,
                                                                                                                                      3687  1 /*untilDay*/,
                                                                                                                                      3688  0 /*untilTimeCode*/,
                                                                                                                                      3689  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3690  },
                                                                                                                                      3691 
                                                                                                                                      3692 };
                                                                                                                                      3693 
                                                                                                                                      3694 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "Asia/Brunei";
                                                                                                                                      3695 
                                                                                                                                      3696 const basic::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
                                                                                                                                      3697  kZoneNameAsia_Brunei /*name*/,
                                                                                                                                      3698  0xa8e595f7 /*zoneId*/,
                                                                                                                                      3699  &kZoneContext /*zoneContext*/,
                                                                                                                                      3700  2 /*transitionBufSize*/,
                                                                                                                                      3701  1 /*numEras*/,
                                                                                                                                      3702  kZoneEraAsia_Brunei /*eras*/,
                                                                                                                                      3703 };
                                                                                                                                      3704 
                                                                                                                                      3705 //---------------------------------------------------------------------------
                                                                                                                                      3706 // Zone name: Asia/Damascus
                                                                                                                                      3707 // Zone Eras: 1
                                                                                                                                      3708 // Strings (bytes): 19
                                                                                                                                      3709 // Memory (8-bit): 42
                                                                                                                                      3710 // Memory (32-bit): 55
                                                                                                                                      3711 //---------------------------------------------------------------------------
                                                                                                                                      3712 
                                                                                                                                      3713 static const basic::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
                                                                                                                                      3714  // 2:00 Syria EE%sT
                                                                                                                                      3715  {
                                                                                                                                      3716  &kPolicySyria /*zonePolicy*/,
                                                                                                                                      3717  "EE%T" /*format*/,
                                                                                                                                      3718  8 /*offsetCode*/,
                                                                                                                                      3719  0 /*deltaCode*/,
                                                                                                                                      3720  127 /*untilYearTiny*/,
                                                                                                                                      3721  1 /*untilMonth*/,
                                                                                                                                      3722  1 /*untilDay*/,
                                                                                                                                      3723  0 /*untilTimeCode*/,
                                                                                                                                      3724  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3725  },
                                                                                                                                      3726 
                                                                                                                                      3727 };
                                                                                                                                      3728 
                                                                                                                                      3729 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "Asia/Damascus";
                                                                                                                                      3730 
                                                                                                                                      3731 const basic::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
                                                                                                                                      3732  kZoneNameAsia_Damascus /*name*/,
                                                                                                                                      3733  0x20fbb063 /*zoneId*/,
                                                                                                                                      3734  &kZoneContext /*zoneContext*/,
                                                                                                                                      3735  6 /*transitionBufSize*/,
                                                                                                                                      3736  1 /*numEras*/,
                                                                                                                                      3737  kZoneEraAsia_Damascus /*eras*/,
                                                                                                                                      3738 };
                                                                                                                                      3739 
                                                                                                                                      3740 //---------------------------------------------------------------------------
                                                                                                                                      3741 // Zone name: Asia/Dhaka
                                                                                                                                      3742 // Zone Eras: 2
                                                                                                                                      3743 // Strings (bytes): 23
                                                                                                                                      3744 // Memory (8-bit): 57
                                                                                                                                      3745 // Memory (32-bit): 75
                                                                                                                                      3746 //---------------------------------------------------------------------------
                                                                                                                                      3747 
                                                                                                                                      3748 static const basic::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
                                                                                                                                      3749  // 6:00 - +06 2009
                                                                                                                                      3750  {
                                                                                                                                      3751  nullptr /*zonePolicy*/,
                                                                                                                                      3752  "+06" /*format*/,
                                                                                                                                      3753  24 /*offsetCode*/,
                                                                                                                                      3754  0 /*deltaCode*/,
                                                                                                                                      3755  9 /*untilYearTiny*/,
                                                                                                                                      3756  1 /*untilMonth*/,
                                                                                                                                      3757  1 /*untilDay*/,
                                                                                                                                      3758  0 /*untilTimeCode*/,
                                                                                                                                      3759  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3760  },
                                                                                                                                      3761  // 6:00 Dhaka +06/+07
                                                                                                                                      3762  {
                                                                                                                                      3763  &kPolicyDhaka /*zonePolicy*/,
                                                                                                                                      3764  "+06/+07" /*format*/,
                                                                                                                                      3765  24 /*offsetCode*/,
                                                                                                                                      3766  0 /*deltaCode*/,
                                                                                                                                      3767  127 /*untilYearTiny*/,
                                                                                                                                      3768  1 /*untilMonth*/,
                                                                                                                                      3769  1 /*untilDay*/,
                                                                                                                                      3770  0 /*untilTimeCode*/,
                                                                                                                                      3771  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3772  },
                                                                                                                                      3773 
                                                                                                                                      3774 };
                                                                                                                                      3775 
                                                                                                                                      3776 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "Asia/Dhaka";
                                                                                                                                      3777 
                                                                                                                                      3778 const basic::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
                                                                                                                                      3779  kZoneNameAsia_Dhaka /*name*/,
                                                                                                                                      3780  0x14c07b8b /*zoneId*/,
                                                                                                                                      3781  &kZoneContext /*zoneContext*/,
                                                                                                                                      3782  5 /*transitionBufSize*/,
                                                                                                                                      3783  2 /*numEras*/,
                                                                                                                                      3784  kZoneEraAsia_Dhaka /*eras*/,
                                                                                                                                      3785 };
                                                                                                                                      3786 
                                                                                                                                      3787 //---------------------------------------------------------------------------
                                                                                                                                      3788 // Zone name: Asia/Dubai
                                                                                                                                      3789 // Zone Eras: 1
                                                                                                                                      3790 // Strings (bytes): 15
                                                                                                                                      3791 // Memory (8-bit): 38
                                                                                                                                      3792 // Memory (32-bit): 51
                                                                                                                                      3793 //---------------------------------------------------------------------------
                                                                                                                                      3794 
                                                                                                                                      3795 static const basic::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
                                                                                                                                      3796  // 4:00 - +04
                                                                                                                                      3797  {
                                                                                                                                      3798  nullptr /*zonePolicy*/,
                                                                                                                                      3799  "+04" /*format*/,
                                                                                                                                      3800  16 /*offsetCode*/,
                                                                                                                                      3801  0 /*deltaCode*/,
                                                                                                                                      3802  127 /*untilYearTiny*/,
                                                                                                                                      3803  1 /*untilMonth*/,
                                                                                                                                      3804  1 /*untilDay*/,
                                                                                                                                      3805  0 /*untilTimeCode*/,
                                                                                                                                      3806  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3807  },
                                                                                                                                      3808 
                                                                                                                                      3809 };
                                                                                                                                      3810 
                                                                                                                                      3811 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "Asia/Dubai";
                                                                                                                                      3812 
                                                                                                                                      3813 const basic::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
                                                                                                                                      3814  kZoneNameAsia_Dubai /*name*/,
                                                                                                                                      3815  0x14c79f77 /*zoneId*/,
                                                                                                                                      3816  &kZoneContext /*zoneContext*/,
                                                                                                                                      3817  2 /*transitionBufSize*/,
                                                                                                                                      3818  1 /*numEras*/,
                                                                                                                                      3819  kZoneEraAsia_Dubai /*eras*/,
                                                                                                                                      3820 };
                                                                                                                                      3821 
                                                                                                                                      3822 //---------------------------------------------------------------------------
                                                                                                                                      3823 // Zone name: Asia/Dushanbe
                                                                                                                                      3824 // Zone Eras: 1
                                                                                                                                      3825 // Strings (bytes): 18
                                                                                                                                      3826 // Memory (8-bit): 41
                                                                                                                                      3827 // Memory (32-bit): 54
                                                                                                                                      3828 //---------------------------------------------------------------------------
                                                                                                                                      3829 
                                                                                                                                      3830 static const basic::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
                                                                                                                                      3831  // 5:00 - +05
                                                                                                                                      3832  {
                                                                                                                                      3833  nullptr /*zonePolicy*/,
                                                                                                                                      3834  "+05" /*format*/,
                                                                                                                                      3835  20 /*offsetCode*/,
                                                                                                                                      3836  0 /*deltaCode*/,
                                                                                                                                      3837  127 /*untilYearTiny*/,
                                                                                                                                      3838  1 /*untilMonth*/,
                                                                                                                                      3839  1 /*untilDay*/,
                                                                                                                                      3840  0 /*untilTimeCode*/,
                                                                                                                                      3841  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3842  },
                                                                                                                                      3843 
                                                                                                                                      3844 };
                                                                                                                                      3845 
                                                                                                                                      3846 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "Asia/Dushanbe";
                                                                                                                                      3847 
                                                                                                                                      3848 const basic::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
                                                                                                                                      3849  kZoneNameAsia_Dushanbe /*name*/,
                                                                                                                                      3850  0x32fc5c3c /*zoneId*/,
                                                                                                                                      3851  &kZoneContext /*zoneContext*/,
                                                                                                                                      3852  2 /*transitionBufSize*/,
                                                                                                                                      3853  1 /*numEras*/,
                                                                                                                                      3854  kZoneEraAsia_Dushanbe /*eras*/,
                                                                                                                                      3855 };
                                                                                                                                      3856 
                                                                                                                                      3857 //---------------------------------------------------------------------------
                                                                                                                                      3858 // Zone name: Asia/Ho_Chi_Minh
                                                                                                                                      3859 // Zone Eras: 1
                                                                                                                                      3860 // Strings (bytes): 21
                                                                                                                                      3861 // Memory (8-bit): 44
                                                                                                                                      3862 // Memory (32-bit): 57
                                                                                                                                      3863 //---------------------------------------------------------------------------
                                                                                                                                      3864 
                                                                                                                                      3865 static const basic::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
                                                                                                                                      3866  // 7:00 - +07
                                                                                                                                      3867  {
                                                                                                                                      3868  nullptr /*zonePolicy*/,
                                                                                                                                      3869  "+07" /*format*/,
                                                                                                                                      3870  28 /*offsetCode*/,
                                                                                                                                      3871  0 /*deltaCode*/,
                                                                                                                                      3872  127 /*untilYearTiny*/,
                                                                                                                                      3873  1 /*untilMonth*/,
                                                                                                                                      3874  1 /*untilDay*/,
                                                                                                                                      3875  0 /*untilTimeCode*/,
                                                                                                                                      3876  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3877  },
                                                                                                                                      3878 
                                                                                                                                      3879 };
                                                                                                                                      3880 
                                                                                                                                      3881 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "Asia/Ho_Chi_Minh";
                                                                                                                                      3882 
                                                                                                                                      3883 const basic::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
                                                                                                                                      3884  kZoneNameAsia_Ho_Chi_Minh /*name*/,
                                                                                                                                      3885  0x20f2d127 /*zoneId*/,
                                                                                                                                      3886  &kZoneContext /*zoneContext*/,
                                                                                                                                      3887  2 /*transitionBufSize*/,
                                                                                                                                      3888  1 /*numEras*/,
                                                                                                                                      3889  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
                                                                                                                                      3890 };
                                                                                                                                      3891 
                                                                                                                                      3892 //---------------------------------------------------------------------------
                                                                                                                                      3893 // Zone name: Asia/Hong_Kong
                                                                                                                                      3894 // Zone Eras: 1
                                                                                                                                      3895 // Strings (bytes): 20
                                                                                                                                      3896 // Memory (8-bit): 43
                                                                                                                                      3897 // Memory (32-bit): 56
                                                                                                                                      3898 //---------------------------------------------------------------------------
                                                                                                                                      3899 
                                                                                                                                      3900 static const basic::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
                                                                                                                                      3901  // 8:00 HK HK%sT
                                                                                                                                      3902  {
                                                                                                                                      3903  &kPolicyHK /*zonePolicy*/,
                                                                                                                                      3904  "HK%T" /*format*/,
                                                                                                                                      3905  32 /*offsetCode*/,
                                                                                                                                      3906  0 /*deltaCode*/,
                                                                                                                                      3907  127 /*untilYearTiny*/,
                                                                                                                                      3908  1 /*untilMonth*/,
                                                                                                                                      3909  1 /*untilDay*/,
                                                                                                                                      3910  0 /*untilTimeCode*/,
                                                                                                                                      3911  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3912  },
                                                                                                                                      3913 
                                                                                                                                      3914 };
                                                                                                                                      3915 
                                                                                                                                      3916 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "Asia/Hong_Kong";
                                                                                                                                      3917 
                                                                                                                                      3918 const basic::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
                                                                                                                                      3919  kZoneNameAsia_Hong_Kong /*name*/,
                                                                                                                                      3920  0x577f28ac /*zoneId*/,
                                                                                                                                      3921  &kZoneContext /*zoneContext*/,
                                                                                                                                      3922  2 /*transitionBufSize*/,
                                                                                                                                      3923  1 /*numEras*/,
                                                                                                                                      3924  kZoneEraAsia_Hong_Kong /*eras*/,
                                                                                                                                      3925 };
                                                                                                                                      3926 
                                                                                                                                      3927 //---------------------------------------------------------------------------
                                                                                                                                      3928 // Zone name: Asia/Hovd
                                                                                                                                      3929 // Zone Eras: 1
                                                                                                                                      3930 // Strings (bytes): 18
                                                                                                                                      3931 // Memory (8-bit): 41
                                                                                                                                      3932 // Memory (32-bit): 54
                                                                                                                                      3933 //---------------------------------------------------------------------------
                                                                                                                                      3934 
                                                                                                                                      3935 static const basic::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
                                                                                                                                      3936  // 7:00 Mongol +07/+08
                                                                                                                                      3937  {
                                                                                                                                      3938  &kPolicyMongol /*zonePolicy*/,
                                                                                                                                      3939  "+07/+08" /*format*/,
                                                                                                                                      3940  28 /*offsetCode*/,
                                                                                                                                      3941  0 /*deltaCode*/,
                                                                                                                                      3942  127 /*untilYearTiny*/,
                                                                                                                                      3943  1 /*untilMonth*/,
                                                                                                                                      3944  1 /*untilDay*/,
                                                                                                                                      3945  0 /*untilTimeCode*/,
                                                                                                                                      3946  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3947  },
                                                                                                                                      3948 
                                                                                                                                      3949 };
                                                                                                                                      3950 
                                                                                                                                      3951 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "Asia/Hovd";
                                                                                                                                      3952 
                                                                                                                                      3953 const basic::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
                                                                                                                                      3954  kZoneNameAsia_Hovd /*name*/,
                                                                                                                                      3955  0x1fab0fe3 /*zoneId*/,
                                                                                                                                      3956  &kZoneContext /*zoneContext*/,
                                                                                                                                      3957  5 /*transitionBufSize*/,
                                                                                                                                      3958  1 /*numEras*/,
                                                                                                                                      3959  kZoneEraAsia_Hovd /*eras*/,
                                                                                                                                      3960 };
                                                                                                                                      3961 
                                                                                                                                      3962 //---------------------------------------------------------------------------
                                                                                                                                      3963 // Zone name: Asia/Jakarta
                                                                                                                                      3964 // Zone Eras: 1
                                                                                                                                      3965 // Strings (bytes): 17
                                                                                                                                      3966 // Memory (8-bit): 40
                                                                                                                                      3967 // Memory (32-bit): 53
                                                                                                                                      3968 //---------------------------------------------------------------------------
                                                                                                                                      3969 
                                                                                                                                      3970 static const basic::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
                                                                                                                                      3971  // 7:00 - WIB
                                                                                                                                      3972  {
                                                                                                                                      3973  nullptr /*zonePolicy*/,
                                                                                                                                      3974  "WIB" /*format*/,
                                                                                                                                      3975  28 /*offsetCode*/,
                                                                                                                                      3976  0 /*deltaCode*/,
                                                                                                                                      3977  127 /*untilYearTiny*/,
                                                                                                                                      3978  1 /*untilMonth*/,
                                                                                                                                      3979  1 /*untilDay*/,
                                                                                                                                      3980  0 /*untilTimeCode*/,
                                                                                                                                      3981  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      3982  },
                                                                                                                                      3983 
                                                                                                                                      3984 };
                                                                                                                                      3985 
                                                                                                                                      3986 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "Asia/Jakarta";
                                                                                                                                      3987 
                                                                                                                                      3988 const basic::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
                                                                                                                                      3989  kZoneNameAsia_Jakarta /*name*/,
                                                                                                                                      3990  0x0506ab50 /*zoneId*/,
                                                                                                                                      3991  &kZoneContext /*zoneContext*/,
                                                                                                                                      3992  2 /*transitionBufSize*/,
                                                                                                                                      3993  1 /*numEras*/,
                                                                                                                                      3994  kZoneEraAsia_Jakarta /*eras*/,
                                                                                                                                      3995 };
                                                                                                                                      3996 
                                                                                                                                      3997 //---------------------------------------------------------------------------
                                                                                                                                      3998 // Zone name: Asia/Jayapura
                                                                                                                                      3999 // Zone Eras: 1
                                                                                                                                      4000 // Strings (bytes): 18
                                                                                                                                      4001 // Memory (8-bit): 41
                                                                                                                                      4002 // Memory (32-bit): 54
                                                                                                                                      4003 //---------------------------------------------------------------------------
                                                                                                                                      4004 
                                                                                                                                      4005 static const basic::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
                                                                                                                                      4006  // 9:00 - WIT
                                                                                                                                      4007  {
                                                                                                                                      4008  nullptr /*zonePolicy*/,
                                                                                                                                      4009  "WIT" /*format*/,
                                                                                                                                      4010  36 /*offsetCode*/,
                                                                                                                                      4011  0 /*deltaCode*/,
                                                                                                                                      4012  127 /*untilYearTiny*/,
                                                                                                                                      4013  1 /*untilMonth*/,
                                                                                                                                      4014  1 /*untilDay*/,
                                                                                                                                      4015  0 /*untilTimeCode*/,
                                                                                                                                      4016  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4017  },
                                                                                                                                      4018 
                                                                                                                                      4019 };
                                                                                                                                      4020 
                                                                                                                                      4021 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "Asia/Jayapura";
                                                                                                                                      4022 
                                                                                                                                      4023 const basic::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
                                                                                                                                      4024  kZoneNameAsia_Jayapura /*name*/,
                                                                                                                                      4025  0xc6833c2f /*zoneId*/,
                                                                                                                                      4026  &kZoneContext /*zoneContext*/,
                                                                                                                                      4027  2 /*transitionBufSize*/,
                                                                                                                                      4028  1 /*numEras*/,
                                                                                                                                      4029  kZoneEraAsia_Jayapura /*eras*/,
                                                                                                                                      4030 };
                                                                                                                                      4031 
                                                                                                                                      4032 //---------------------------------------------------------------------------
                                                                                                                                      4033 // Zone name: Asia/Jerusalem
                                                                                                                                      4034 // Zone Eras: 1
                                                                                                                                      4035 // Strings (bytes): 19
                                                                                                                                      4036 // Memory (8-bit): 42
                                                                                                                                      4037 // Memory (32-bit): 55
                                                                                                                                      4038 //---------------------------------------------------------------------------
                                                                                                                                      4039 
                                                                                                                                      4040 static const basic::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
                                                                                                                                      4041  // 2:00 Zion I%sT
                                                                                                                                      4042  {
                                                                                                                                      4043  &kPolicyZion /*zonePolicy*/,
                                                                                                                                      4044  "I%T" /*format*/,
                                                                                                                                      4045  8 /*offsetCode*/,
                                                                                                                                      4046  0 /*deltaCode*/,
                                                                                                                                      4047  127 /*untilYearTiny*/,
                                                                                                                                      4048  1 /*untilMonth*/,
                                                                                                                                      4049  1 /*untilDay*/,
                                                                                                                                      4050  0 /*untilTimeCode*/,
                                                                                                                                      4051  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4052  },
                                                                                                                                      4053 
                                                                                                                                      4054 };
                                                                                                                                      4055 
                                                                                                                                      4056 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "Asia/Jerusalem";
                                                                                                                                      4057 
                                                                                                                                      4058 const basic::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
                                                                                                                                      4059  kZoneNameAsia_Jerusalem /*name*/,
                                                                                                                                      4060  0x5becd23a /*zoneId*/,
                                                                                                                                      4061  &kZoneContext /*zoneContext*/,
                                                                                                                                      4062  5 /*transitionBufSize*/,
                                                                                                                                      4063  1 /*numEras*/,
                                                                                                                                      4064  kZoneEraAsia_Jerusalem /*eras*/,
                                                                                                                                      4065 };
                                                                                                                                      4066 
                                                                                                                                      4067 //---------------------------------------------------------------------------
                                                                                                                                      4068 // Zone name: Asia/Kabul
                                                                                                                                      4069 // Zone Eras: 1
                                                                                                                                      4070 // Strings (bytes): 17
                                                                                                                                      4071 // Memory (8-bit): 40
                                                                                                                                      4072 // Memory (32-bit): 53
                                                                                                                                      4073 //---------------------------------------------------------------------------
                                                                                                                                      4074 
                                                                                                                                      4075 static const basic::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
                                                                                                                                      4076  // 4:30 - +0430
                                                                                                                                      4077  {
                                                                                                                                      4078  nullptr /*zonePolicy*/,
                                                                                                                                      4079  "+0430" /*format*/,
                                                                                                                                      4080  18 /*offsetCode*/,
                                                                                                                                      4081  0 /*deltaCode*/,
                                                                                                                                      4082  127 /*untilYearTiny*/,
                                                                                                                                      4083  1 /*untilMonth*/,
                                                                                                                                      4084  1 /*untilDay*/,
                                                                                                                                      4085  0 /*untilTimeCode*/,
                                                                                                                                      4086  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4087  },
                                                                                                                                      4088 
                                                                                                                                      4089 };
                                                                                                                                      4090 
                                                                                                                                      4091 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "Asia/Kabul";
                                                                                                                                      4092 
                                                                                                                                      4093 const basic::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
                                                                                                                                      4094  kZoneNameAsia_Kabul /*name*/,
                                                                                                                                      4095  0x153b5601 /*zoneId*/,
                                                                                                                                      4096  &kZoneContext /*zoneContext*/,
                                                                                                                                      4097  2 /*transitionBufSize*/,
                                                                                                                                      4098  1 /*numEras*/,
                                                                                                                                      4099  kZoneEraAsia_Kabul /*eras*/,
                                                                                                                                      4100 };
                                                                                                                                      4101 
                                                                                                                                      4102 //---------------------------------------------------------------------------
                                                                                                                                      4103 // Zone name: Asia/Karachi
                                                                                                                                      4104 // Zone Eras: 1
                                                                                                                                      4105 // Strings (bytes): 18
                                                                                                                                      4106 // Memory (8-bit): 41
                                                                                                                                      4107 // Memory (32-bit): 54
                                                                                                                                      4108 //---------------------------------------------------------------------------
                                                                                                                                      4109 
                                                                                                                                      4110 static const basic::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
                                                                                                                                      4111  // 5:00 Pakistan PK%sT
                                                                                                                                      4112  {
                                                                                                                                      4113  &kPolicyPakistan /*zonePolicy*/,
                                                                                                                                      4114  "PK%T" /*format*/,
                                                                                                                                      4115  20 /*offsetCode*/,
                                                                                                                                      4116  0 /*deltaCode*/,
                                                                                                                                      4117  127 /*untilYearTiny*/,
                                                                                                                                      4118  1 /*untilMonth*/,
                                                                                                                                      4119  1 /*untilDay*/,
                                                                                                                                      4120  0 /*untilTimeCode*/,
                                                                                                                                      4121  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4122  },
                                                                                                                                      4123 
                                                                                                                                      4124 };
                                                                                                                                      4125 
                                                                                                                                      4126 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "Asia/Karachi";
                                                                                                                                      4127 
                                                                                                                                      4128 const basic::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
                                                                                                                                      4129  kZoneNameAsia_Karachi /*name*/,
                                                                                                                                      4130  0x527f5245 /*zoneId*/,
                                                                                                                                      4131  &kZoneContext /*zoneContext*/,
                                                                                                                                      4132  5 /*transitionBufSize*/,
                                                                                                                                      4133  1 /*numEras*/,
                                                                                                                                      4134  kZoneEraAsia_Karachi /*eras*/,
                                                                                                                                      4135 };
                                                                                                                                      4136 
                                                                                                                                      4137 //---------------------------------------------------------------------------
                                                                                                                                      4138 // Zone name: Asia/Kathmandu
                                                                                                                                      4139 // Zone Eras: 1
                                                                                                                                      4140 // Strings (bytes): 21
                                                                                                                                      4141 // Memory (8-bit): 44
                                                                                                                                      4142 // Memory (32-bit): 57
                                                                                                                                      4143 //---------------------------------------------------------------------------
                                                                                                                                      4144 
                                                                                                                                      4145 static const basic::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
                                                                                                                                      4146  // 5:45 - +0545
                                                                                                                                      4147  {
                                                                                                                                      4148  nullptr /*zonePolicy*/,
                                                                                                                                      4149  "+0545" /*format*/,
                                                                                                                                      4150  23 /*offsetCode*/,
                                                                                                                                      4151  0 /*deltaCode*/,
                                                                                                                                      4152  127 /*untilYearTiny*/,
                                                                                                                                      4153  1 /*untilMonth*/,
                                                                                                                                      4154  1 /*untilDay*/,
                                                                                                                                      4155  0 /*untilTimeCode*/,
                                                                                                                                      4156  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4157  },
                                                                                                                                      4158 
                                                                                                                                      4159 };
                                                                                                                                      4160 
                                                                                                                                      4161 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "Asia/Kathmandu";
                                                                                                                                      4162 
                                                                                                                                      4163 const basic::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
                                                                                                                                      4164  kZoneNameAsia_Kathmandu /*name*/,
                                                                                                                                      4165  0x9a96ce6f /*zoneId*/,
                                                                                                                                      4166  &kZoneContext /*zoneContext*/,
                                                                                                                                      4167  2 /*transitionBufSize*/,
                                                                                                                                      4168  1 /*numEras*/,
                                                                                                                                      4169  kZoneEraAsia_Kathmandu /*eras*/,
                                                                                                                                      4170 };
                                                                                                                                      4171 
                                                                                                                                      4172 //---------------------------------------------------------------------------
                                                                                                                                      4173 // Zone name: Asia/Kolkata
                                                                                                                                      4174 // Zone Eras: 1
                                                                                                                                      4175 // Strings (bytes): 17
                                                                                                                                      4176 // Memory (8-bit): 40
                                                                                                                                      4177 // Memory (32-bit): 53
                                                                                                                                      4178 //---------------------------------------------------------------------------
                                                                                                                                      4179 
                                                                                                                                      4180 static const basic::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
                                                                                                                                      4181  // 5:30 - IST
                                                                                                                                      4182  {
                                                                                                                                      4183  nullptr /*zonePolicy*/,
                                                                                                                                      4184  "IST" /*format*/,
                                                                                                                                      4185  22 /*offsetCode*/,
                                                                                                                                      4186  0 /*deltaCode*/,
                                                                                                                                      4187  127 /*untilYearTiny*/,
                                                                                                                                      4188  1 /*untilMonth*/,
                                                                                                                                      4189  1 /*untilDay*/,
                                                                                                                                      4190  0 /*untilTimeCode*/,
                                                                                                                                      4191  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4192  },
                                                                                                                                      4193 
                                                                                                                                      4194 };
                                                                                                                                      4195 
                                                                                                                                      4196 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "Asia/Kolkata";
                                                                                                                                      4197 
                                                                                                                                      4198 const basic::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
                                                                                                                                      4199  kZoneNameAsia_Kolkata /*name*/,
                                                                                                                                      4200  0x72c06cd9 /*zoneId*/,
                                                                                                                                      4201  &kZoneContext /*zoneContext*/,
                                                                                                                                      4202  2 /*transitionBufSize*/,
                                                                                                                                      4203  1 /*numEras*/,
                                                                                                                                      4204  kZoneEraAsia_Kolkata /*eras*/,
                                                                                                                                      4205 };
                                                                                                                                      4206 
                                                                                                                                      4207 //---------------------------------------------------------------------------
                                                                                                                                      4208 // Zone name: Asia/Kuala_Lumpur
                                                                                                                                      4209 // Zone Eras: 1
                                                                                                                                      4210 // Strings (bytes): 22
                                                                                                                                      4211 // Memory (8-bit): 45
                                                                                                                                      4212 // Memory (32-bit): 58
                                                                                                                                      4213 //---------------------------------------------------------------------------
                                                                                                                                      4214 
                                                                                                                                      4215 static const basic::ZoneEra kZoneEraAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = {
                                                                                                                                      4216  // 8:00 - +08
                                                                                                                                      4217  {
                                                                                                                                      4218  nullptr /*zonePolicy*/,
                                                                                                                                      4219  "+08" /*format*/,
                                                                                                                                      4220  32 /*offsetCode*/,
                                                                                                                                      4221  0 /*deltaCode*/,
                                                                                                                                      4222  127 /*untilYearTiny*/,
                                                                                                                                      4223  1 /*untilMonth*/,
                                                                                                                                      4224  1 /*untilDay*/,
                                                                                                                                      4225  0 /*untilTimeCode*/,
                                                                                                                                      4226  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4227  },
                                                                                                                                      4228 
                                                                                                                                      4229 };
                                                                                                                                      4230 
                                                                                                                                      4231 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "Asia/Kuala_Lumpur";
                                                                                                                                      4232 
                                                                                                                                      4233 const basic::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
                                                                                                                                      4234  kZoneNameAsia_Kuala_Lumpur /*name*/,
                                                                                                                                      4235  0x014763c4 /*zoneId*/,
                                                                                                                                      4236  &kZoneContext /*zoneContext*/,
                                                                                                                                      4237  2 /*transitionBufSize*/,
                                                                                                                                      4238  1 /*numEras*/,
                                                                                                                                      4239  kZoneEraAsia_Kuala_Lumpur /*eras*/,
                                                                                                                                      4240 };
                                                                                                                                      4241 
                                                                                                                                      4242 //---------------------------------------------------------------------------
                                                                                                                                      4243 // Zone name: Asia/Kuching
                                                                                                                                      4244 // Zone Eras: 1
                                                                                                                                      4245 // Strings (bytes): 17
                                                                                                                                      4246 // Memory (8-bit): 40
                                                                                                                                      4247 // Memory (32-bit): 53
                                                                                                                                      4248 //---------------------------------------------------------------------------
                                                                                                                                      4249 
                                                                                                                                      4250 static const basic::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
                                                                                                                                      4251  // 8:00 - +08
                                                                                                                                      4252  {
                                                                                                                                      4253  nullptr /*zonePolicy*/,
                                                                                                                                      4254  "+08" /*format*/,
                                                                                                                                      4255  32 /*offsetCode*/,
                                                                                                                                      4256  0 /*deltaCode*/,
                                                                                                                                      4257  127 /*untilYearTiny*/,
                                                                                                                                      4258  1 /*untilMonth*/,
                                                                                                                                      4259  1 /*untilDay*/,
                                                                                                                                      4260  0 /*untilTimeCode*/,
                                                                                                                                      4261  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4262  },
                                                                                                                                      4263 
                                                                                                                                      4264 };
                                                                                                                                      4265 
                                                                                                                                      4266 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "Asia/Kuching";
                                                                                                                                      4267 
                                                                                                                                      4268 const basic::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
                                                                                                                                      4269  kZoneNameAsia_Kuching /*name*/,
                                                                                                                                      4270  0x801b003b /*zoneId*/,
                                                                                                                                      4271  &kZoneContext /*zoneContext*/,
                                                                                                                                      4272  2 /*transitionBufSize*/,
                                                                                                                                      4273  1 /*numEras*/,
                                                                                                                                      4274  kZoneEraAsia_Kuching /*eras*/,
                                                                                                                                      4275 };
                                                                                                                                      4276 
                                                                                                                                      4277 //---------------------------------------------------------------------------
                                                                                                                                      4278 // Zone name: Asia/Macau
                                                                                                                                      4279 // Zone Eras: 1
                                                                                                                                      4280 // Strings (bytes): 15
                                                                                                                                      4281 // Memory (8-bit): 38
                                                                                                                                      4282 // Memory (32-bit): 51
                                                                                                                                      4283 //---------------------------------------------------------------------------
                                                                                                                                      4284 
                                                                                                                                      4285 static const basic::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
                                                                                                                                      4286  // 8:00 Macau C%sT
                                                                                                                                      4287  {
                                                                                                                                      4288  &kPolicyMacau /*zonePolicy*/,
                                                                                                                                      4289  "C%T" /*format*/,
                                                                                                                                      4290  32 /*offsetCode*/,
                                                                                                                                      4291  0 /*deltaCode*/,
                                                                                                                                      4292  127 /*untilYearTiny*/,
                                                                                                                                      4293  1 /*untilMonth*/,
                                                                                                                                      4294  1 /*untilDay*/,
                                                                                                                                      4295  0 /*untilTimeCode*/,
                                                                                                                                      4296  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4297  },
                                                                                                                                      4298 
                                                                                                                                      4299 };
                                                                                                                                      4300 
                                                                                                                                      4301 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "Asia/Macau";
                                                                                                                                      4302 
                                                                                                                                      4303 const basic::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
                                                                                                                                      4304  kZoneNameAsia_Macau /*name*/,
                                                                                                                                      4305  0x155f88b9 /*zoneId*/,
                                                                                                                                      4306  &kZoneContext /*zoneContext*/,
                                                                                                                                      4307  2 /*transitionBufSize*/,
                                                                                                                                      4308  1 /*numEras*/,
                                                                                                                                      4309  kZoneEraAsia_Macau /*eras*/,
                                                                                                                                      4310 };
                                                                                                                                      4311 
                                                                                                                                      4312 //---------------------------------------------------------------------------
                                                                                                                                      4313 // Zone name: Asia/Makassar
                                                                                                                                      4314 // Zone Eras: 1
                                                                                                                                      4315 // Strings (bytes): 19
                                                                                                                                      4316 // Memory (8-bit): 42
                                                                                                                                      4317 // Memory (32-bit): 55
                                                                                                                                      4318 //---------------------------------------------------------------------------
                                                                                                                                      4319 
                                                                                                                                      4320 static const basic::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
                                                                                                                                      4321  // 8:00 - WITA
                                                                                                                                      4322  {
                                                                                                                                      4323  nullptr /*zonePolicy*/,
                                                                                                                                      4324  "WITA" /*format*/,
                                                                                                                                      4325  32 /*offsetCode*/,
                                                                                                                                      4326  0 /*deltaCode*/,
                                                                                                                                      4327  127 /*untilYearTiny*/,
                                                                                                                                      4328  1 /*untilMonth*/,
                                                                                                                                      4329  1 /*untilDay*/,
                                                                                                                                      4330  0 /*untilTimeCode*/,
                                                                                                                                      4331  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4332  },
                                                                                                                                      4333 
                                                                                                                                      4334 };
                                                                                                                                      4335 
                                                                                                                                      4336 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "Asia/Makassar";
                                                                                                                                      4337 
                                                                                                                                      4338 const basic::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
                                                                                                                                      4339  kZoneNameAsia_Makassar /*name*/,
                                                                                                                                      4340  0x6aa21c85 /*zoneId*/,
                                                                                                                                      4341  &kZoneContext /*zoneContext*/,
                                                                                                                                      4342  2 /*transitionBufSize*/,
                                                                                                                                      4343  1 /*numEras*/,
                                                                                                                                      4344  kZoneEraAsia_Makassar /*eras*/,
                                                                                                                                      4345 };
                                                                                                                                      4346 
                                                                                                                                      4347 //---------------------------------------------------------------------------
                                                                                                                                      4348 // Zone name: Asia/Manila
                                                                                                                                      4349 // Zone Eras: 1
                                                                                                                                      4350 // Strings (bytes): 16
                                                                                                                                      4351 // Memory (8-bit): 39
                                                                                                                                      4352 // Memory (32-bit): 52
                                                                                                                                      4353 //---------------------------------------------------------------------------
                                                                                                                                      4354 
                                                                                                                                      4355 static const basic::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
                                                                                                                                      4356  // 8:00 Phil P%sT
                                                                                                                                      4357  {
                                                                                                                                      4358  &kPolicyPhil /*zonePolicy*/,
                                                                                                                                      4359  "P%T" /*format*/,
                                                                                                                                      4360  32 /*offsetCode*/,
                                                                                                                                      4361  0 /*deltaCode*/,
                                                                                                                                      4362  127 /*untilYearTiny*/,
                                                                                                                                      4363  1 /*untilMonth*/,
                                                                                                                                      4364  1 /*untilDay*/,
                                                                                                                                      4365  0 /*untilTimeCode*/,
                                                                                                                                      4366  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4367  },
                                                                                                                                      4368 
                                                                                                                                      4369 };
                                                                                                                                      4370 
                                                                                                                                      4371 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "Asia/Manila";
                                                                                                                                      4372 
                                                                                                                                      4373 const basic::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
                                                                                                                                      4374  kZoneNameAsia_Manila /*name*/,
                                                                                                                                      4375  0xc156c944 /*zoneId*/,
                                                                                                                                      4376  &kZoneContext /*zoneContext*/,
                                                                                                                                      4377  2 /*transitionBufSize*/,
                                                                                                                                      4378  1 /*numEras*/,
                                                                                                                                      4379  kZoneEraAsia_Manila /*eras*/,
                                                                                                                                      4380 };
                                                                                                                                      4381 
                                                                                                                                      4382 //---------------------------------------------------------------------------
                                                                                                                                      4383 // Zone name: Asia/Nicosia
                                                                                                                                      4384 // Zone Eras: 1
                                                                                                                                      4385 // Strings (bytes): 18
                                                                                                                                      4386 // Memory (8-bit): 41
                                                                                                                                      4387 // Memory (32-bit): 54
                                                                                                                                      4388 //---------------------------------------------------------------------------
                                                                                                                                      4389 
                                                                                                                                      4390 static const basic::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
                                                                                                                                      4391  // 2:00 EUAsia EE%sT
                                                                                                                                      4392  {
                                                                                                                                      4393  &kPolicyEUAsia /*zonePolicy*/,
                                                                                                                                      4394  "EE%T" /*format*/,
                                                                                                                                      4395  8 /*offsetCode*/,
                                                                                                                                      4396  0 /*deltaCode*/,
                                                                                                                                      4397  127 /*untilYearTiny*/,
                                                                                                                                      4398  1 /*untilMonth*/,
                                                                                                                                      4399  1 /*untilDay*/,
                                                                                                                                      4400  0 /*untilTimeCode*/,
                                                                                                                                      4401  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4402  },
                                                                                                                                      4403 
                                                                                                                                      4404 };
                                                                                                                                      4405 
                                                                                                                                      4406 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "Asia/Nicosia";
                                                                                                                                      4407 
                                                                                                                                      4408 const basic::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
                                                                                                                                      4409  kZoneNameAsia_Nicosia /*name*/,
                                                                                                                                      4410  0x4b0fcf78 /*zoneId*/,
                                                                                                                                      4411  &kZoneContext /*zoneContext*/,
                                                                                                                                      4412  5 /*transitionBufSize*/,
                                                                                                                                      4413  1 /*numEras*/,
                                                                                                                                      4414  kZoneEraAsia_Nicosia /*eras*/,
                                                                                                                                      4415 };
                                                                                                                                      4416 
                                                                                                                                      4417 //---------------------------------------------------------------------------
                                                                                                                                      4418 // Zone name: Asia/Pontianak
                                                                                                                                      4419 // Zone Eras: 1
                                                                                                                                      4420 // Strings (bytes): 19
                                                                                                                                      4421 // Memory (8-bit): 42
                                                                                                                                      4422 // Memory (32-bit): 55
                                                                                                                                      4423 //---------------------------------------------------------------------------
                                                                                                                                      4424 
                                                                                                                                      4425 static const basic::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
                                                                                                                                      4426  // 7:00 - WIB
                                                                                                                                      4427  {
                                                                                                                                      4428  nullptr /*zonePolicy*/,
                                                                                                                                      4429  "WIB" /*format*/,
                                                                                                                                      4430  28 /*offsetCode*/,
                                                                                                                                      4431  0 /*deltaCode*/,
                                                                                                                                      4432  127 /*untilYearTiny*/,
                                                                                                                                      4433  1 /*untilMonth*/,
                                                                                                                                      4434  1 /*untilDay*/,
                                                                                                                                      4435  0 /*untilTimeCode*/,
                                                                                                                                      4436  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4437  },
                                                                                                                                      4438 
                                                                                                                                      4439 };
                                                                                                                                      4440 
                                                                                                                                      4441 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "Asia/Pontianak";
                                                                                                                                      4442 
                                                                                                                                      4443 const basic::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
                                                                                                                                      4444  kZoneNameAsia_Pontianak /*name*/,
                                                                                                                                      4445  0x1a76c057 /*zoneId*/,
                                                                                                                                      4446  &kZoneContext /*zoneContext*/,
                                                                                                                                      4447  2 /*transitionBufSize*/,
                                                                                                                                      4448  1 /*numEras*/,
                                                                                                                                      4449  kZoneEraAsia_Pontianak /*eras*/,
                                                                                                                                      4450 };
                                                                                                                                      4451 
                                                                                                                                      4452 //---------------------------------------------------------------------------
                                                                                                                                      4453 // Zone name: Asia/Qatar
                                                                                                                                      4454 // Zone Eras: 1
                                                                                                                                      4455 // Strings (bytes): 15
                                                                                                                                      4456 // Memory (8-bit): 38
                                                                                                                                      4457 // Memory (32-bit): 51
                                                                                                                                      4458 //---------------------------------------------------------------------------
                                                                                                                                      4459 
                                                                                                                                      4460 static const basic::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
                                                                                                                                      4461  // 3:00 - +03
                                                                                                                                      4462  {
                                                                                                                                      4463  nullptr /*zonePolicy*/,
                                                                                                                                      4464  "+03" /*format*/,
                                                                                                                                      4465  12 /*offsetCode*/,
                                                                                                                                      4466  0 /*deltaCode*/,
                                                                                                                                      4467  127 /*untilYearTiny*/,
                                                                                                                                      4468  1 /*untilMonth*/,
                                                                                                                                      4469  1 /*untilDay*/,
                                                                                                                                      4470  0 /*untilTimeCode*/,
                                                                                                                                      4471  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4472  },
                                                                                                                                      4473 
                                                                                                                                      4474 };
                                                                                                                                      4475 
                                                                                                                                      4476 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "Asia/Qatar";
                                                                                                                                      4477 
                                                                                                                                      4478 const basic::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
                                                                                                                                      4479  kZoneNameAsia_Qatar /*name*/,
                                                                                                                                      4480  0x15a8330b /*zoneId*/,
                                                                                                                                      4481  &kZoneContext /*zoneContext*/,
                                                                                                                                      4482  2 /*transitionBufSize*/,
                                                                                                                                      4483  1 /*numEras*/,
                                                                                                                                      4484  kZoneEraAsia_Qatar /*eras*/,
                                                                                                                                      4485 };
                                                                                                                                      4486 
                                                                                                                                      4487 //---------------------------------------------------------------------------
                                                                                                                                      4488 // Zone name: Asia/Riyadh
                                                                                                                                      4489 // Zone Eras: 1
                                                                                                                                      4490 // Strings (bytes): 16
                                                                                                                                      4491 // Memory (8-bit): 39
                                                                                                                                      4492 // Memory (32-bit): 52
                                                                                                                                      4493 //---------------------------------------------------------------------------
                                                                                                                                      4494 
                                                                                                                                      4495 static const basic::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
                                                                                                                                      4496  // 3:00 - +03
                                                                                                                                      4497  {
                                                                                                                                      4498  nullptr /*zonePolicy*/,
                                                                                                                                      4499  "+03" /*format*/,
                                                                                                                                      4500  12 /*offsetCode*/,
                                                                                                                                      4501  0 /*deltaCode*/,
                                                                                                                                      4502  127 /*untilYearTiny*/,
                                                                                                                                      4503  1 /*untilMonth*/,
                                                                                                                                      4504  1 /*untilDay*/,
                                                                                                                                      4505  0 /*untilTimeCode*/,
                                                                                                                                      4506  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4507  },
                                                                                                                                      4508 
                                                                                                                                      4509 };
                                                                                                                                      4510 
                                                                                                                                      4511 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "Asia/Riyadh";
                                                                                                                                      4512 
                                                                                                                                      4513 const basic::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
                                                                                                                                      4514  kZoneNameAsia_Riyadh /*name*/,
                                                                                                                                      4515  0xcd973d93 /*zoneId*/,
                                                                                                                                      4516  &kZoneContext /*zoneContext*/,
                                                                                                                                      4517  2 /*transitionBufSize*/,
                                                                                                                                      4518  1 /*numEras*/,
                                                                                                                                      4519  kZoneEraAsia_Riyadh /*eras*/,
                                                                                                                                      4520 };
                                                                                                                                      4521 
                                                                                                                                      4522 //---------------------------------------------------------------------------
                                                                                                                                      4523 // Zone name: Asia/Samarkand
                                                                                                                                      4524 // Zone Eras: 1
                                                                                                                                      4525 // Strings (bytes): 19
                                                                                                                                      4526 // Memory (8-bit): 42
                                                                                                                                      4527 // Memory (32-bit): 55
                                                                                                                                      4528 //---------------------------------------------------------------------------
                                                                                                                                      4529 
                                                                                                                                      4530 static const basic::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
                                                                                                                                      4531  // 5:00 - +05
                                                                                                                                      4532  {
                                                                                                                                      4533  nullptr /*zonePolicy*/,
                                                                                                                                      4534  "+05" /*format*/,
                                                                                                                                      4535  20 /*offsetCode*/,
                                                                                                                                      4536  0 /*deltaCode*/,
                                                                                                                                      4537  127 /*untilYearTiny*/,
                                                                                                                                      4538  1 /*untilMonth*/,
                                                                                                                                      4539  1 /*untilDay*/,
                                                                                                                                      4540  0 /*untilTimeCode*/,
                                                                                                                                      4541  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4542  },
                                                                                                                                      4543 
                                                                                                                                      4544 };
                                                                                                                                      4545 
                                                                                                                                      4546 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "Asia/Samarkand";
                                                                                                                                      4547 
                                                                                                                                      4548 const basic::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
                                                                                                                                      4549  kZoneNameAsia_Samarkand /*name*/,
                                                                                                                                      4550  0x13ae5104 /*zoneId*/,
                                                                                                                                      4551  &kZoneContext /*zoneContext*/,
                                                                                                                                      4552  2 /*transitionBufSize*/,
                                                                                                                                      4553  1 /*numEras*/,
                                                                                                                                      4554  kZoneEraAsia_Samarkand /*eras*/,
                                                                                                                                      4555 };
                                                                                                                                      4556 
                                                                                                                                      4557 //---------------------------------------------------------------------------
                                                                                                                                      4558 // Zone name: Asia/Seoul
                                                                                                                                      4559 // Zone Eras: 1
                                                                                                                                      4560 // Strings (bytes): 15
                                                                                                                                      4561 // Memory (8-bit): 38
                                                                                                                                      4562 // Memory (32-bit): 51
                                                                                                                                      4563 //---------------------------------------------------------------------------
                                                                                                                                      4564 
                                                                                                                                      4565 static const basic::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
                                                                                                                                      4566  // 9:00 ROK K%sT
                                                                                                                                      4567  {
                                                                                                                                      4568  &kPolicyROK /*zonePolicy*/,
                                                                                                                                      4569  "K%T" /*format*/,
                                                                                                                                      4570  36 /*offsetCode*/,
                                                                                                                                      4571  0 /*deltaCode*/,
                                                                                                                                      4572  127 /*untilYearTiny*/,
                                                                                                                                      4573  1 /*untilMonth*/,
                                                                                                                                      4574  1 /*untilDay*/,
                                                                                                                                      4575  0 /*untilTimeCode*/,
                                                                                                                                      4576  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4577  },
                                                                                                                                      4578 
                                                                                                                                      4579 };
                                                                                                                                      4580 
                                                                                                                                      4581 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "Asia/Seoul";
                                                                                                                                      4582 
                                                                                                                                      4583 const basic::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
                                                                                                                                      4584  kZoneNameAsia_Seoul /*name*/,
                                                                                                                                      4585  0x15ce82da /*zoneId*/,
                                                                                                                                      4586  &kZoneContext /*zoneContext*/,
                                                                                                                                      4587  2 /*transitionBufSize*/,
                                                                                                                                      4588  1 /*numEras*/,
                                                                                                                                      4589  kZoneEraAsia_Seoul /*eras*/,
                                                                                                                                      4590 };
                                                                                                                                      4591 
                                                                                                                                      4592 //---------------------------------------------------------------------------
                                                                                                                                      4593 // Zone name: Asia/Shanghai
                                                                                                                                      4594 // Zone Eras: 1
                                                                                                                                      4595 // Strings (bytes): 18
                                                                                                                                      4596 // Memory (8-bit): 41
                                                                                                                                      4597 // Memory (32-bit): 54
                                                                                                                                      4598 //---------------------------------------------------------------------------
                                                                                                                                      4599 
                                                                                                                                      4600 static const basic::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
                                                                                                                                      4601  // 8:00 PRC C%sT
                                                                                                                                      4602  {
                                                                                                                                      4603  &kPolicyPRC /*zonePolicy*/,
                                                                                                                                      4604  "C%T" /*format*/,
                                                                                                                                      4605  32 /*offsetCode*/,
                                                                                                                                      4606  0 /*deltaCode*/,
                                                                                                                                      4607  127 /*untilYearTiny*/,
                                                                                                                                      4608  1 /*untilMonth*/,
                                                                                                                                      4609  1 /*untilDay*/,
                                                                                                                                      4610  0 /*untilTimeCode*/,
                                                                                                                                      4611  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4612  },
                                                                                                                                      4613 
                                                                                                                                      4614 };
                                                                                                                                      4615 
                                                                                                                                      4616 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "Asia/Shanghai";
                                                                                                                                      4617 
                                                                                                                                      4618 const basic::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
                                                                                                                                      4619  kZoneNameAsia_Shanghai /*name*/,
                                                                                                                                      4620  0xf895a7f5 /*zoneId*/,
                                                                                                                                      4621  &kZoneContext /*zoneContext*/,
                                                                                                                                      4622  2 /*transitionBufSize*/,
                                                                                                                                      4623  1 /*numEras*/,
                                                                                                                                      4624  kZoneEraAsia_Shanghai /*eras*/,
                                                                                                                                      4625 };
                                                                                                                                      4626 
                                                                                                                                      4627 //---------------------------------------------------------------------------
                                                                                                                                      4628 // Zone name: Asia/Singapore
                                                                                                                                      4629 // Zone Eras: 1
                                                                                                                                      4630 // Strings (bytes): 19
                                                                                                                                      4631 // Memory (8-bit): 42
                                                                                                                                      4632 // Memory (32-bit): 55
                                                                                                                                      4633 //---------------------------------------------------------------------------
                                                                                                                                      4634 
                                                                                                                                      4635 static const basic::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
                                                                                                                                      4636  // 8:00 - +08
                                                                                                                                      4637  {
                                                                                                                                      4638  nullptr /*zonePolicy*/,
                                                                                                                                      4639  "+08" /*format*/,
                                                                                                                                      4640  32 /*offsetCode*/,
                                                                                                                                      4641  0 /*deltaCode*/,
                                                                                                                                      4642  127 /*untilYearTiny*/,
                                                                                                                                      4643  1 /*untilMonth*/,
                                                                                                                                      4644  1 /*untilDay*/,
                                                                                                                                      4645  0 /*untilTimeCode*/,
                                                                                                                                      4646  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4647  },
                                                                                                                                      4648 
                                                                                                                                      4649 };
                                                                                                                                      4650 
                                                                                                                                      4651 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "Asia/Singapore";
                                                                                                                                      4652 
                                                                                                                                      4653 const basic::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
                                                                                                                                      4654  kZoneNameAsia_Singapore /*name*/,
                                                                                                                                      4655  0xcf8581fa /*zoneId*/,
                                                                                                                                      4656  &kZoneContext /*zoneContext*/,
                                                                                                                                      4657  2 /*transitionBufSize*/,
                                                                                                                                      4658  1 /*numEras*/,
                                                                                                                                      4659  kZoneEraAsia_Singapore /*eras*/,
                                                                                                                                      4660 };
                                                                                                                                      4661 
                                                                                                                                      4662 //---------------------------------------------------------------------------
                                                                                                                                      4663 // Zone name: Asia/Taipei
                                                                                                                                      4664 // Zone Eras: 1
                                                                                                                                      4665 // Strings (bytes): 16
                                                                                                                                      4666 // Memory (8-bit): 39
                                                                                                                                      4667 // Memory (32-bit): 52
                                                                                                                                      4668 //---------------------------------------------------------------------------
                                                                                                                                      4669 
                                                                                                                                      4670 static const basic::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
                                                                                                                                      4671  // 8:00 Taiwan C%sT
                                                                                                                                      4672  {
                                                                                                                                      4673  &kPolicyTaiwan /*zonePolicy*/,
                                                                                                                                      4674  "C%T" /*format*/,
                                                                                                                                      4675  32 /*offsetCode*/,
                                                                                                                                      4676  0 /*deltaCode*/,
                                                                                                                                      4677  127 /*untilYearTiny*/,
                                                                                                                                      4678  1 /*untilMonth*/,
                                                                                                                                      4679  1 /*untilDay*/,
                                                                                                                                      4680  0 /*untilTimeCode*/,
                                                                                                                                      4681  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4682  },
                                                                                                                                      4683 
                                                                                                                                      4684 };
                                                                                                                                      4685 
                                                                                                                                      4686 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "Asia/Taipei";
                                                                                                                                      4687 
                                                                                                                                      4688 const basic::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
                                                                                                                                      4689  kZoneNameAsia_Taipei /*name*/,
                                                                                                                                      4690  0xd1a844ae /*zoneId*/,
                                                                                                                                      4691  &kZoneContext /*zoneContext*/,
                                                                                                                                      4692  2 /*transitionBufSize*/,
                                                                                                                                      4693  1 /*numEras*/,
                                                                                                                                      4694  kZoneEraAsia_Taipei /*eras*/,
                                                                                                                                      4695 };
                                                                                                                                      4696 
                                                                                                                                      4697 //---------------------------------------------------------------------------
                                                                                                                                      4698 // Zone name: Asia/Tashkent
                                                                                                                                      4699 // Zone Eras: 1
                                                                                                                                      4700 // Strings (bytes): 18
                                                                                                                                      4701 // Memory (8-bit): 41
                                                                                                                                      4702 // Memory (32-bit): 54
                                                                                                                                      4703 //---------------------------------------------------------------------------
                                                                                                                                      4704 
                                                                                                                                      4705 static const basic::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
                                                                                                                                      4706  // 5:00 - +05
                                                                                                                                      4707  {
                                                                                                                                      4708  nullptr /*zonePolicy*/,
                                                                                                                                      4709  "+05" /*format*/,
                                                                                                                                      4710  20 /*offsetCode*/,
                                                                                                                                      4711  0 /*deltaCode*/,
                                                                                                                                      4712  127 /*untilYearTiny*/,
                                                                                                                                      4713  1 /*untilMonth*/,
                                                                                                                                      4714  1 /*untilDay*/,
                                                                                                                                      4715  0 /*untilTimeCode*/,
                                                                                                                                      4716  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4717  },
                                                                                                                                      4718 
                                                                                                                                      4719 };
                                                                                                                                      4720 
                                                                                                                                      4721 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "Asia/Tashkent";
                                                                                                                                      4722 
                                                                                                                                      4723 const basic::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
                                                                                                                                      4724  kZoneNameAsia_Tashkent /*name*/,
                                                                                                                                      4725  0xf3924254 /*zoneId*/,
                                                                                                                                      4726  &kZoneContext /*zoneContext*/,
                                                                                                                                      4727  2 /*transitionBufSize*/,
                                                                                                                                      4728  1 /*numEras*/,
                                                                                                                                      4729  kZoneEraAsia_Tashkent /*eras*/,
                                                                                                                                      4730 };
                                                                                                                                      4731 
                                                                                                                                      4732 //---------------------------------------------------------------------------
                                                                                                                                      4733 // Zone name: Asia/Tehran
                                                                                                                                      4734 // Zone Eras: 1
                                                                                                                                      4735 // Strings (bytes): 24
                                                                                                                                      4736 // Memory (8-bit): 47
                                                                                                                                      4737 // Memory (32-bit): 60
                                                                                                                                      4738 //---------------------------------------------------------------------------
                                                                                                                                      4739 
                                                                                                                                      4740 static const basic::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
                                                                                                                                      4741  // 3:30 Iran +0330/+0430
                                                                                                                                      4742  {
                                                                                                                                      4743  &kPolicyIran /*zonePolicy*/,
                                                                                                                                      4744  "+0330/+0430" /*format*/,
                                                                                                                                      4745  14 /*offsetCode*/,
                                                                                                                                      4746  0 /*deltaCode*/,
                                                                                                                                      4747  127 /*untilYearTiny*/,
                                                                                                                                      4748  1 /*untilMonth*/,
                                                                                                                                      4749  1 /*untilDay*/,
                                                                                                                                      4750  0 /*untilTimeCode*/,
                                                                                                                                      4751  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4752  },
                                                                                                                                      4753 
                                                                                                                                      4754 };
                                                                                                                                      4755 
                                                                                                                                      4756 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "Asia/Tehran";
                                                                                                                                      4757 
                                                                                                                                      4758 const basic::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
                                                                                                                                      4759  kZoneNameAsia_Tehran /*name*/,
                                                                                                                                      4760  0xd1f02254 /*zoneId*/,
                                                                                                                                      4761  &kZoneContext /*zoneContext*/,
                                                                                                                                      4762  5 /*transitionBufSize*/,
                                                                                                                                      4763  1 /*numEras*/,
                                                                                                                                      4764  kZoneEraAsia_Tehran /*eras*/,
                                                                                                                                      4765 };
                                                                                                                                      4766 
                                                                                                                                      4767 //---------------------------------------------------------------------------
                                                                                                                                      4768 // Zone name: Asia/Thimphu
                                                                                                                                      4769 // Zone Eras: 1
                                                                                                                                      4770 // Strings (bytes): 17
                                                                                                                                      4771 // Memory (8-bit): 40
                                                                                                                                      4772 // Memory (32-bit): 53
                                                                                                                                      4773 //---------------------------------------------------------------------------
                                                                                                                                      4774 
                                                                                                                                      4775 static const basic::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
                                                                                                                                      4776  // 6:00 - +06
                                                                                                                                      4777  {
                                                                                                                                      4778  nullptr /*zonePolicy*/,
                                                                                                                                      4779  "+06" /*format*/,
                                                                                                                                      4780  24 /*offsetCode*/,
                                                                                                                                      4781  0 /*deltaCode*/,
                                                                                                                                      4782  127 /*untilYearTiny*/,
                                                                                                                                      4783  1 /*untilMonth*/,
                                                                                                                                      4784  1 /*untilDay*/,
                                                                                                                                      4785  0 /*untilTimeCode*/,
                                                                                                                                      4786  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4787  },
                                                                                                                                      4788 
                                                                                                                                      4789 };
                                                                                                                                      4790 
                                                                                                                                      4791 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "Asia/Thimphu";
                                                                                                                                      4792 
                                                                                                                                      4793 const basic::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
                                                                                                                                      4794  kZoneNameAsia_Thimphu /*name*/,
                                                                                                                                      4795  0x170380d1 /*zoneId*/,
                                                                                                                                      4796  &kZoneContext /*zoneContext*/,
                                                                                                                                      4797  2 /*transitionBufSize*/,
                                                                                                                                      4798  1 /*numEras*/,
                                                                                                                                      4799  kZoneEraAsia_Thimphu /*eras*/,
                                                                                                                                      4800 };
                                                                                                                                      4801 
                                                                                                                                      4802 //---------------------------------------------------------------------------
                                                                                                                                      4803 // Zone name: Asia/Tokyo
                                                                                                                                      4804 // Zone Eras: 1
                                                                                                                                      4805 // Strings (bytes): 15
                                                                                                                                      4806 // Memory (8-bit): 38
                                                                                                                                      4807 // Memory (32-bit): 51
                                                                                                                                      4808 //---------------------------------------------------------------------------
                                                                                                                                      4809 
                                                                                                                                      4810 static const basic::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
                                                                                                                                      4811  // 9:00 Japan J%sT
                                                                                                                                      4812  {
                                                                                                                                      4813  &kPolicyJapan /*zonePolicy*/,
                                                                                                                                      4814  "J%T" /*format*/,
                                                                                                                                      4815  36 /*offsetCode*/,
                                                                                                                                      4816  0 /*deltaCode*/,
                                                                                                                                      4817  127 /*untilYearTiny*/,
                                                                                                                                      4818  1 /*untilMonth*/,
                                                                                                                                      4819  1 /*untilDay*/,
                                                                                                                                      4820  0 /*untilTimeCode*/,
                                                                                                                                      4821  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4822  },
                                                                                                                                      4823 
                                                                                                                                      4824 };
                                                                                                                                      4825 
                                                                                                                                      4826 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "Asia/Tokyo";
                                                                                                                                      4827 
                                                                                                                                      4828 const basic::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
                                                                                                                                      4829  kZoneNameAsia_Tokyo /*name*/,
                                                                                                                                      4830  0x15e606a8 /*zoneId*/,
                                                                                                                                      4831  &kZoneContext /*zoneContext*/,
                                                                                                                                      4832  2 /*transitionBufSize*/,
                                                                                                                                      4833  1 /*numEras*/,
                                                                                                                                      4834  kZoneEraAsia_Tokyo /*eras*/,
                                                                                                                                      4835 };
                                                                                                                                      4836 
                                                                                                                                      4837 //---------------------------------------------------------------------------
                                                                                                                                      4838 // Zone name: Asia/Ulaanbaatar
                                                                                                                                      4839 // Zone Eras: 1
                                                                                                                                      4840 // Strings (bytes): 25
                                                                                                                                      4841 // Memory (8-bit): 48
                                                                                                                                      4842 // Memory (32-bit): 61
                                                                                                                                      4843 //---------------------------------------------------------------------------
                                                                                                                                      4844 
                                                                                                                                      4845 static const basic::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
                                                                                                                                      4846  // 8:00 Mongol +08/+09
                                                                                                                                      4847  {
                                                                                                                                      4848  &kPolicyMongol /*zonePolicy*/,
                                                                                                                                      4849  "+08/+09" /*format*/,
                                                                                                                                      4850  32 /*offsetCode*/,
                                                                                                                                      4851  0 /*deltaCode*/,
                                                                                                                                      4852  127 /*untilYearTiny*/,
                                                                                                                                      4853  1 /*untilMonth*/,
                                                                                                                                      4854  1 /*untilDay*/,
                                                                                                                                      4855  0 /*untilTimeCode*/,
                                                                                                                                      4856  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4857  },
                                                                                                                                      4858 
                                                                                                                                      4859 };
                                                                                                                                      4860 
                                                                                                                                      4861 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "Asia/Ulaanbaatar";
                                                                                                                                      4862 
                                                                                                                                      4863 const basic::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
                                                                                                                                      4864  kZoneNameAsia_Ulaanbaatar /*name*/,
                                                                                                                                      4865  0x30f0cc4e /*zoneId*/,
                                                                                                                                      4866  &kZoneContext /*zoneContext*/,
                                                                                                                                      4867  5 /*transitionBufSize*/,
                                                                                                                                      4868  1 /*numEras*/,
                                                                                                                                      4869  kZoneEraAsia_Ulaanbaatar /*eras*/,
                                                                                                                                      4870 };
                                                                                                                                      4871 
                                                                                                                                      4872 //---------------------------------------------------------------------------
                                                                                                                                      4873 // Zone name: Asia/Urumqi
                                                                                                                                      4874 // Zone Eras: 1
                                                                                                                                      4875 // Strings (bytes): 16
                                                                                                                                      4876 // Memory (8-bit): 39
                                                                                                                                      4877 // Memory (32-bit): 52
                                                                                                                                      4878 //---------------------------------------------------------------------------
                                                                                                                                      4879 
                                                                                                                                      4880 static const basic::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
                                                                                                                                      4881  // 6:00 - +06
                                                                                                                                      4882  {
                                                                                                                                      4883  nullptr /*zonePolicy*/,
                                                                                                                                      4884  "+06" /*format*/,
                                                                                                                                      4885  24 /*offsetCode*/,
                                                                                                                                      4886  0 /*deltaCode*/,
                                                                                                                                      4887  127 /*untilYearTiny*/,
                                                                                                                                      4888  1 /*untilMonth*/,
                                                                                                                                      4889  1 /*untilDay*/,
                                                                                                                                      4890  0 /*untilTimeCode*/,
                                                                                                                                      4891  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4892  },
                                                                                                                                      4893 
                                                                                                                                      4894 };
                                                                                                                                      4895 
                                                                                                                                      4896 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "Asia/Urumqi";
                                                                                                                                      4897 
                                                                                                                                      4898 const basic::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
                                                                                                                                      4899  kZoneNameAsia_Urumqi /*name*/,
                                                                                                                                      4900  0xd5379735 /*zoneId*/,
                                                                                                                                      4901  &kZoneContext /*zoneContext*/,
                                                                                                                                      4902  2 /*transitionBufSize*/,
                                                                                                                                      4903  1 /*numEras*/,
                                                                                                                                      4904  kZoneEraAsia_Urumqi /*eras*/,
                                                                                                                                      4905 };
                                                                                                                                      4906 
                                                                                                                                      4907 //---------------------------------------------------------------------------
                                                                                                                                      4908 // Zone name: Asia/Yangon
                                                                                                                                      4909 // Zone Eras: 1
                                                                                                                                      4910 // Strings (bytes): 18
                                                                                                                                      4911 // Memory (8-bit): 41
                                                                                                                                      4912 // Memory (32-bit): 54
                                                                                                                                      4913 //---------------------------------------------------------------------------
                                                                                                                                      4914 
                                                                                                                                      4915 static const basic::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
                                                                                                                                      4916  // 6:30 - +0630
                                                                                                                                      4917  {
                                                                                                                                      4918  nullptr /*zonePolicy*/,
                                                                                                                                      4919  "+0630" /*format*/,
                                                                                                                                      4920  26 /*offsetCode*/,
                                                                                                                                      4921  0 /*deltaCode*/,
                                                                                                                                      4922  127 /*untilYearTiny*/,
                                                                                                                                      4923  1 /*untilMonth*/,
                                                                                                                                      4924  1 /*untilDay*/,
                                                                                                                                      4925  0 /*untilTimeCode*/,
                                                                                                                                      4926  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4927  },
                                                                                                                                      4928 
                                                                                                                                      4929 };
                                                                                                                                      4930 
                                                                                                                                      4931 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "Asia/Yangon";
                                                                                                                                      4932 
                                                                                                                                      4933 const basic::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
                                                                                                                                      4934  kZoneNameAsia_Yangon /*name*/,
                                                                                                                                      4935  0xdd54a8be /*zoneId*/,
                                                                                                                                      4936  &kZoneContext /*zoneContext*/,
                                                                                                                                      4937  2 /*transitionBufSize*/,
                                                                                                                                      4938  1 /*numEras*/,
                                                                                                                                      4939  kZoneEraAsia_Yangon /*eras*/,
                                                                                                                                      4940 };
                                                                                                                                      4941 
                                                                                                                                      4942 //---------------------------------------------------------------------------
                                                                                                                                      4943 // Zone name: Asia/Yerevan
                                                                                                                                      4944 // Zone Eras: 2
                                                                                                                                      4945 // Strings (bytes): 29
                                                                                                                                      4946 // Memory (8-bit): 63
                                                                                                                                      4947 // Memory (32-bit): 81
                                                                                                                                      4948 //---------------------------------------------------------------------------
                                                                                                                                      4949 
                                                                                                                                      4950 static const basic::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
                                                                                                                                      4951  // 4:00 RussiaAsia +04/+05 2011
                                                                                                                                      4952  {
                                                                                                                                      4953  &kPolicyRussiaAsia /*zonePolicy*/,
                                                                                                                                      4954  "+04/+05" /*format*/,
                                                                                                                                      4955  16 /*offsetCode*/,
                                                                                                                                      4956  0 /*deltaCode*/,
                                                                                                                                      4957  11 /*untilYearTiny*/,
                                                                                                                                      4958  1 /*untilMonth*/,
                                                                                                                                      4959  1 /*untilDay*/,
                                                                                                                                      4960  0 /*untilTimeCode*/,
                                                                                                                                      4961  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4962  },
                                                                                                                                      4963  // 4:00 Armenia +04/+05
                                                                                                                                      4964  {
                                                                                                                                      4965  &kPolicyArmenia /*zonePolicy*/,
                                                                                                                                      4966  "+04/+05" /*format*/,
                                                                                                                                      4967  16 /*offsetCode*/,
                                                                                                                                      4968  0 /*deltaCode*/,
                                                                                                                                      4969  127 /*untilYearTiny*/,
                                                                                                                                      4970  1 /*untilMonth*/,
                                                                                                                                      4971  1 /*untilDay*/,
                                                                                                                                      4972  0 /*untilTimeCode*/,
                                                                                                                                      4973  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      4974  },
                                                                                                                                      4975 
                                                                                                                                      4976 };
                                                                                                                                      4977 
                                                                                                                                      4978 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "Asia/Yerevan";
                                                                                                                                      4979 
                                                                                                                                      4980 const basic::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
                                                                                                                                      4981  kZoneNameAsia_Yerevan /*name*/,
                                                                                                                                      4982  0x9185c8cc /*zoneId*/,
                                                                                                                                      4983  &kZoneContext /*zoneContext*/,
                                                                                                                                      4984  6 /*transitionBufSize*/,
                                                                                                                                      4985  2 /*numEras*/,
                                                                                                                                      4986  kZoneEraAsia_Yerevan /*eras*/,
                                                                                                                                      4987 };
                                                                                                                                      4988 
                                                                                                                                      4989 //---------------------------------------------------------------------------
                                                                                                                                      4990 // Zone name: Atlantic/Azores
                                                                                                                                      4991 // Zone Eras: 1
                                                                                                                                      4992 // Strings (bytes): 24
                                                                                                                                      4993 // Memory (8-bit): 47
                                                                                                                                      4994 // Memory (32-bit): 60
                                                                                                                                      4995 //---------------------------------------------------------------------------
                                                                                                                                      4996 
                                                                                                                                      4997 static const basic::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
                                                                                                                                      4998  // -1:00 EU -01/+00
                                                                                                                                      4999  {
                                                                                                                                      5000  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      5001  "-01/+00" /*format*/,
                                                                                                                                      5002  -4 /*offsetCode*/,
                                                                                                                                      5003  0 /*deltaCode*/,
                                                                                                                                      5004  127 /*untilYearTiny*/,
                                                                                                                                      5005  1 /*untilMonth*/,
                                                                                                                                      5006  1 /*untilDay*/,
                                                                                                                                      5007  0 /*untilTimeCode*/,
                                                                                                                                      5008  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5009  },
                                                                                                                                      5010 
                                                                                                                                      5011 };
                                                                                                                                      5012 
                                                                                                                                      5013 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "Atlantic/Azores";
                                                                                                                                      5014 
                                                                                                                                      5015 const basic::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
                                                                                                                                      5016  kZoneNameAtlantic_Azores /*name*/,
                                                                                                                                      5017  0xf93ed918 /*zoneId*/,
                                                                                                                                      5018  &kZoneContext /*zoneContext*/,
                                                                                                                                      5019  5 /*transitionBufSize*/,
                                                                                                                                      5020  1 /*numEras*/,
                                                                                                                                      5021  kZoneEraAtlantic_Azores /*eras*/,
                                                                                                                                      5022 };
                                                                                                                                      5023 
                                                                                                                                      5024 //---------------------------------------------------------------------------
                                                                                                                                      5025 // Zone name: Atlantic/Bermuda
                                                                                                                                      5026 // Zone Eras: 1
                                                                                                                                      5027 // Strings (bytes): 21
                                                                                                                                      5028 // Memory (8-bit): 44
                                                                                                                                      5029 // Memory (32-bit): 57
                                                                                                                                      5030 //---------------------------------------------------------------------------
                                                                                                                                      5031 
                                                                                                                                      5032 static const basic::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
                                                                                                                                      5033  // -4:00 US A%sT
                                                                                                                                      5034  {
                                                                                                                                      5035  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      5036  "A%T" /*format*/,
                                                                                                                                      5037  -16 /*offsetCode*/,
                                                                                                                                      5038  0 /*deltaCode*/,
                                                                                                                                      5039  127 /*untilYearTiny*/,
                                                                                                                                      5040  1 /*untilMonth*/,
                                                                                                                                      5041  1 /*untilDay*/,
                                                                                                                                      5042  0 /*untilTimeCode*/,
                                                                                                                                      5043  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5044  },
                                                                                                                                      5045 
                                                                                                                                      5046 };
                                                                                                                                      5047 
                                                                                                                                      5048 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "Atlantic/Bermuda";
                                                                                                                                      5049 
                                                                                                                                      5050 const basic::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
                                                                                                                                      5051  kZoneNameAtlantic_Bermuda /*name*/,
                                                                                                                                      5052  0x3d4bb1c4 /*zoneId*/,
                                                                                                                                      5053  &kZoneContext /*zoneContext*/,
                                                                                                                                      5054  6 /*transitionBufSize*/,
                                                                                                                                      5055  1 /*numEras*/,
                                                                                                                                      5056  kZoneEraAtlantic_Bermuda /*eras*/,
                                                                                                                                      5057 };
                                                                                                                                      5058 
                                                                                                                                      5059 //---------------------------------------------------------------------------
                                                                                                                                      5060 // Zone name: Atlantic/Canary
                                                                                                                                      5061 // Zone Eras: 1
                                                                                                                                      5062 // Strings (bytes): 21
                                                                                                                                      5063 // Memory (8-bit): 44
                                                                                                                                      5064 // Memory (32-bit): 57
                                                                                                                                      5065 //---------------------------------------------------------------------------
                                                                                                                                      5066 
                                                                                                                                      5067 static const basic::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
                                                                                                                                      5068  // 0:00 EU WE%sT
                                                                                                                                      5069  {
                                                                                                                                      5070  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      5071  "WE%T" /*format*/,
                                                                                                                                      5072  0 /*offsetCode*/,
                                                                                                                                      5073  0 /*deltaCode*/,
                                                                                                                                      5074  127 /*untilYearTiny*/,
                                                                                                                                      5075  1 /*untilMonth*/,
                                                                                                                                      5076  1 /*untilDay*/,
                                                                                                                                      5077  0 /*untilTimeCode*/,
                                                                                                                                      5078  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5079  },
                                                                                                                                      5080 
                                                                                                                                      5081 };
                                                                                                                                      5082 
                                                                                                                                      5083 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "Atlantic/Canary";
                                                                                                                                      5084 
                                                                                                                                      5085 const basic::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
                                                                                                                                      5086  kZoneNameAtlantic_Canary /*name*/,
                                                                                                                                      5087  0xfc23f2c2 /*zoneId*/,
                                                                                                                                      5088  &kZoneContext /*zoneContext*/,
                                                                                                                                      5089  5 /*transitionBufSize*/,
                                                                                                                                      5090  1 /*numEras*/,
                                                                                                                                      5091  kZoneEraAtlantic_Canary /*eras*/,
                                                                                                                                      5092 };
                                                                                                                                      5093 
                                                                                                                                      5094 //---------------------------------------------------------------------------
                                                                                                                                      5095 // Zone name: Atlantic/Cape_Verde
                                                                                                                                      5096 // Zone Eras: 1
                                                                                                                                      5097 // Strings (bytes): 24
                                                                                                                                      5098 // Memory (8-bit): 47
                                                                                                                                      5099 // Memory (32-bit): 60
                                                                                                                                      5100 //---------------------------------------------------------------------------
                                                                                                                                      5101 
                                                                                                                                      5102 static const basic::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
                                                                                                                                      5103  // -1:00 - -01
                                                                                                                                      5104  {
                                                                                                                                      5105  nullptr /*zonePolicy*/,
                                                                                                                                      5106  "-01" /*format*/,
                                                                                                                                      5107  -4 /*offsetCode*/,
                                                                                                                                      5108  0 /*deltaCode*/,
                                                                                                                                      5109  127 /*untilYearTiny*/,
                                                                                                                                      5110  1 /*untilMonth*/,
                                                                                                                                      5111  1 /*untilDay*/,
                                                                                                                                      5112  0 /*untilTimeCode*/,
                                                                                                                                      5113  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5114  },
                                                                                                                                      5115 
                                                                                                                                      5116 };
                                                                                                                                      5117 
                                                                                                                                      5118 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "Atlantic/Cape_Verde";
                                                                                                                                      5119 
                                                                                                                                      5120 const basic::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
                                                                                                                                      5121  kZoneNameAtlantic_Cape_Verde /*name*/,
                                                                                                                                      5122  0x5c5e1772 /*zoneId*/,
                                                                                                                                      5123  &kZoneContext /*zoneContext*/,
                                                                                                                                      5124  2 /*transitionBufSize*/,
                                                                                                                                      5125  1 /*numEras*/,
                                                                                                                                      5126  kZoneEraAtlantic_Cape_Verde /*eras*/,
                                                                                                                                      5127 };
                                                                                                                                      5128 
                                                                                                                                      5129 //---------------------------------------------------------------------------
                                                                                                                                      5130 // Zone name: Atlantic/Faroe
                                                                                                                                      5131 // Zone Eras: 1
                                                                                                                                      5132 // Strings (bytes): 20
                                                                                                                                      5133 // Memory (8-bit): 43
                                                                                                                                      5134 // Memory (32-bit): 56
                                                                                                                                      5135 //---------------------------------------------------------------------------
                                                                                                                                      5136 
                                                                                                                                      5137 static const basic::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
                                                                                                                                      5138  // 0:00 EU WE%sT
                                                                                                                                      5139  {
                                                                                                                                      5140  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      5141  "WE%T" /*format*/,
                                                                                                                                      5142  0 /*offsetCode*/,
                                                                                                                                      5143  0 /*deltaCode*/,
                                                                                                                                      5144  127 /*untilYearTiny*/,
                                                                                                                                      5145  1 /*untilMonth*/,
                                                                                                                                      5146  1 /*untilDay*/,
                                                                                                                                      5147  0 /*untilTimeCode*/,
                                                                                                                                      5148  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5149  },
                                                                                                                                      5150 
                                                                                                                                      5151 };
                                                                                                                                      5152 
                                                                                                                                      5153 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "Atlantic/Faroe";
                                                                                                                                      5154 
                                                                                                                                      5155 const basic::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
                                                                                                                                      5156  kZoneNameAtlantic_Faroe /*name*/,
                                                                                                                                      5157  0xe110a971 /*zoneId*/,
                                                                                                                                      5158  &kZoneContext /*zoneContext*/,
                                                                                                                                      5159  5 /*transitionBufSize*/,
                                                                                                                                      5160  1 /*numEras*/,
                                                                                                                                      5161  kZoneEraAtlantic_Faroe /*eras*/,
                                                                                                                                      5162 };
                                                                                                                                      5163 
                                                                                                                                      5164 //---------------------------------------------------------------------------
                                                                                                                                      5165 // Zone name: Atlantic/Madeira
                                                                                                                                      5166 // Zone Eras: 1
                                                                                                                                      5167 // Strings (bytes): 22
                                                                                                                                      5168 // Memory (8-bit): 45
                                                                                                                                      5169 // Memory (32-bit): 58
                                                                                                                                      5170 //---------------------------------------------------------------------------
                                                                                                                                      5171 
                                                                                                                                      5172 static const basic::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
                                                                                                                                      5173  // 0:00 EU WE%sT
                                                                                                                                      5174  {
                                                                                                                                      5175  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      5176  "WE%T" /*format*/,
                                                                                                                                      5177  0 /*offsetCode*/,
                                                                                                                                      5178  0 /*deltaCode*/,
                                                                                                                                      5179  127 /*untilYearTiny*/,
                                                                                                                                      5180  1 /*untilMonth*/,
                                                                                                                                      5181  1 /*untilDay*/,
                                                                                                                                      5182  0 /*untilTimeCode*/,
                                                                                                                                      5183  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5184  },
                                                                                                                                      5185 
                                                                                                                                      5186 };
                                                                                                                                      5187 
                                                                                                                                      5188 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "Atlantic/Madeira";
                                                                                                                                      5189 
                                                                                                                                      5190 const basic::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
                                                                                                                                      5191  kZoneNameAtlantic_Madeira /*name*/,
                                                                                                                                      5192  0x81b5c037 /*zoneId*/,
                                                                                                                                      5193  &kZoneContext /*zoneContext*/,
                                                                                                                                      5194  5 /*transitionBufSize*/,
                                                                                                                                      5195  1 /*numEras*/,
                                                                                                                                      5196  kZoneEraAtlantic_Madeira /*eras*/,
                                                                                                                                      5197 };
                                                                                                                                      5198 
                                                                                                                                      5199 //---------------------------------------------------------------------------
                                                                                                                                      5200 // Zone name: Atlantic/Reykjavik
                                                                                                                                      5201 // Zone Eras: 1
                                                                                                                                      5202 // Strings (bytes): 23
                                                                                                                                      5203 // Memory (8-bit): 46
                                                                                                                                      5204 // Memory (32-bit): 59
                                                                                                                                      5205 //---------------------------------------------------------------------------
                                                                                                                                      5206 
                                                                                                                                      5207 static const basic::ZoneEra kZoneEraAtlantic_Reykjavik[] ACE_TIME_PROGMEM = {
                                                                                                                                      5208  // 0:00 - GMT
                                                                                                                                      5209  {
                                                                                                                                      5210  nullptr /*zonePolicy*/,
                                                                                                                                      5211  "GMT" /*format*/,
                                                                                                                                      5212  0 /*offsetCode*/,
                                                                                                                                      5213  0 /*deltaCode*/,
                                                                                                                                      5214  127 /*untilYearTiny*/,
                                                                                                                                      5215  1 /*untilMonth*/,
                                                                                                                                      5216  1 /*untilDay*/,
                                                                                                                                      5217  0 /*untilTimeCode*/,
                                                                                                                                      5218  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5219  },
                                                                                                                                      5220 
                                                                                                                                      5221 };
                                                                                                                                      5222 
                                                                                                                                      5223 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "Atlantic/Reykjavik";
                                                                                                                                      5224 
                                                                                                                                      5225 const basic::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
                                                                                                                                      5226  kZoneNameAtlantic_Reykjavik /*name*/,
                                                                                                                                      5227  0x1c2b4f74 /*zoneId*/,
                                                                                                                                      5228  &kZoneContext /*zoneContext*/,
                                                                                                                                      5229  2 /*transitionBufSize*/,
                                                                                                                                      5230  1 /*numEras*/,
                                                                                                                                      5231  kZoneEraAtlantic_Reykjavik /*eras*/,
                                                                                                                                      5232 };
                                                                                                                                      5233 
                                                                                                                                      5234 //---------------------------------------------------------------------------
                                                                                                                                      5235 // Zone name: Atlantic/South_Georgia
                                                                                                                                      5236 // Zone Eras: 1
                                                                                                                                      5237 // Strings (bytes): 27
                                                                                                                                      5238 // Memory (8-bit): 50
                                                                                                                                      5239 // Memory (32-bit): 63
                                                                                                                                      5240 //---------------------------------------------------------------------------
                                                                                                                                      5241 
                                                                                                                                      5242 static const basic::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
                                                                                                                                      5243  // -2:00 - -02
                                                                                                                                      5244  {
                                                                                                                                      5245  nullptr /*zonePolicy*/,
                                                                                                                                      5246  "-02" /*format*/,
                                                                                                                                      5247  -8 /*offsetCode*/,
                                                                                                                                      5248  0 /*deltaCode*/,
                                                                                                                                      5249  127 /*untilYearTiny*/,
                                                                                                                                      5250  1 /*untilMonth*/,
                                                                                                                                      5251  1 /*untilDay*/,
                                                                                                                                      5252  0 /*untilTimeCode*/,
                                                                                                                                      5253  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5254  },
                                                                                                                                      5255 
                                                                                                                                      5256 };
                                                                                                                                      5257 
                                                                                                                                      5258 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "Atlantic/South_Georgia";
                                                                                                                                      5259 
                                                                                                                                      5260 const basic::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
                                                                                                                                      5261  kZoneNameAtlantic_South_Georgia /*name*/,
                                                                                                                                      5262  0x33013174 /*zoneId*/,
                                                                                                                                      5263  &kZoneContext /*zoneContext*/,
                                                                                                                                      5264  2 /*transitionBufSize*/,
                                                                                                                                      5265  1 /*numEras*/,
                                                                                                                                      5266  kZoneEraAtlantic_South_Georgia /*eras*/,
                                                                                                                                      5267 };
                                                                                                                                      5268 
                                                                                                                                      5269 //---------------------------------------------------------------------------
                                                                                                                                      5270 // Zone name: Australia/Adelaide
                                                                                                                                      5271 // Zone Eras: 1
                                                                                                                                      5272 // Strings (bytes): 24
                                                                                                                                      5273 // Memory (8-bit): 47
                                                                                                                                      5274 // Memory (32-bit): 60
                                                                                                                                      5275 //---------------------------------------------------------------------------
                                                                                                                                      5276 
                                                                                                                                      5277 static const basic::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
                                                                                                                                      5278  // 9:30 AS AC%sT
                                                                                                                                      5279  {
                                                                                                                                      5280  &kPolicyAS /*zonePolicy*/,
                                                                                                                                      5281  "AC%T" /*format*/,
                                                                                                                                      5282  38 /*offsetCode*/,
                                                                                                                                      5283  0 /*deltaCode*/,
                                                                                                                                      5284  127 /*untilYearTiny*/,
                                                                                                                                      5285  1 /*untilMonth*/,
                                                                                                                                      5286  1 /*untilDay*/,
                                                                                                                                      5287  0 /*untilTimeCode*/,
                                                                                                                                      5288  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5289  },
                                                                                                                                      5290 
                                                                                                                                      5291 };
                                                                                                                                      5292 
                                                                                                                                      5293 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "Australia/Adelaide";
                                                                                                                                      5294 
                                                                                                                                      5295 const basic::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
                                                                                                                                      5296  kZoneNameAustralia_Adelaide /*name*/,
                                                                                                                                      5297  0x2428e8a3 /*zoneId*/,
                                                                                                                                      5298  &kZoneContext /*zoneContext*/,
                                                                                                                                      5299  5 /*transitionBufSize*/,
                                                                                                                                      5300  1 /*numEras*/,
                                                                                                                                      5301  kZoneEraAustralia_Adelaide /*eras*/,
                                                                                                                                      5302 };
                                                                                                                                      5303 
                                                                                                                                      5304 //---------------------------------------------------------------------------
                                                                                                                                      5305 // Zone name: Australia/Brisbane
                                                                                                                                      5306 // Zone Eras: 1
                                                                                                                                      5307 // Strings (bytes): 24
                                                                                                                                      5308 // Memory (8-bit): 47
                                                                                                                                      5309 // Memory (32-bit): 60
                                                                                                                                      5310 //---------------------------------------------------------------------------
                                                                                                                                      5311 
                                                                                                                                      5312 static const basic::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
                                                                                                                                      5313  // 10:00 AQ AE%sT
                                                                                                                                      5314  {
                                                                                                                                      5315  &kPolicyAQ /*zonePolicy*/,
                                                                                                                                      5316  "AE%T" /*format*/,
                                                                                                                                      5317  40 /*offsetCode*/,
                                                                                                                                      5318  0 /*deltaCode*/,
                                                                                                                                      5319  127 /*untilYearTiny*/,
                                                                                                                                      5320  1 /*untilMonth*/,
                                                                                                                                      5321  1 /*untilDay*/,
                                                                                                                                      5322  0 /*untilTimeCode*/,
                                                                                                                                      5323  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5324  },
                                                                                                                                      5325 
                                                                                                                                      5326 };
                                                                                                                                      5327 
                                                                                                                                      5328 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "Australia/Brisbane";
                                                                                                                                      5329 
                                                                                                                                      5330 const basic::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
                                                                                                                                      5331  kZoneNameAustralia_Brisbane /*name*/,
                                                                                                                                      5332  0x4fedc9c0 /*zoneId*/,
                                                                                                                                      5333  &kZoneContext /*zoneContext*/,
                                                                                                                                      5334  2 /*transitionBufSize*/,
                                                                                                                                      5335  1 /*numEras*/,
                                                                                                                                      5336  kZoneEraAustralia_Brisbane /*eras*/,
                                                                                                                                      5337 };
                                                                                                                                      5338 
                                                                                                                                      5339 //---------------------------------------------------------------------------
                                                                                                                                      5340 // Zone name: Australia/Broken_Hill
                                                                                                                                      5341 // Zone Eras: 2
                                                                                                                                      5342 // Strings (bytes): 32
                                                                                                                                      5343 // Memory (8-bit): 66
                                                                                                                                      5344 // Memory (32-bit): 84
                                                                                                                                      5345 //---------------------------------------------------------------------------
                                                                                                                                      5346 
                                                                                                                                      5347 static const basic::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
                                                                                                                                      5348  // 9:30 AN AC%sT 2000
                                                                                                                                      5349  {
                                                                                                                                      5350  &kPolicyAN /*zonePolicy*/,
                                                                                                                                      5351  "AC%T" /*format*/,
                                                                                                                                      5352  38 /*offsetCode*/,
                                                                                                                                      5353  0 /*deltaCode*/,
                                                                                                                                      5354  0 /*untilYearTiny*/,
                                                                                                                                      5355  1 /*untilMonth*/,
                                                                                                                                      5356  1 /*untilDay*/,
                                                                                                                                      5357  0 /*untilTimeCode*/,
                                                                                                                                      5358  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5359  },
                                                                                                                                      5360  // 9:30 AS AC%sT
                                                                                                                                      5361  {
                                                                                                                                      5362  &kPolicyAS /*zonePolicy*/,
                                                                                                                                      5363  "AC%T" /*format*/,
                                                                                                                                      5364  38 /*offsetCode*/,
                                                                                                                                      5365  0 /*deltaCode*/,
                                                                                                                                      5366  127 /*untilYearTiny*/,
                                                                                                                                      5367  1 /*untilMonth*/,
                                                                                                                                      5368  1 /*untilDay*/,
                                                                                                                                      5369  0 /*untilTimeCode*/,
                                                                                                                                      5370  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5371  },
                                                                                                                                      5372 
                                                                                                                                      5373 };
                                                                                                                                      5374 
                                                                                                                                      5375 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "Australia/Broken_Hill";
                                                                                                                                      5376 
                                                                                                                                      5377 const basic::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
                                                                                                                                      5378  kZoneNameAustralia_Broken_Hill /*name*/,
                                                                                                                                      5379  0xb06eada3 /*zoneId*/,
                                                                                                                                      5380  &kZoneContext /*zoneContext*/,
                                                                                                                                      5381  6 /*transitionBufSize*/,
                                                                                                                                      5382  2 /*numEras*/,
                                                                                                                                      5383  kZoneEraAustralia_Broken_Hill /*eras*/,
                                                                                                                                      5384 };
                                                                                                                                      5385 
                                                                                                                                      5386 //---------------------------------------------------------------------------
                                                                                                                                      5387 // Zone name: Australia/Currie
                                                                                                                                      5388 // Zone Eras: 1
                                                                                                                                      5389 // Strings (bytes): 22
                                                                                                                                      5390 // Memory (8-bit): 45
                                                                                                                                      5391 // Memory (32-bit): 58
                                                                                                                                      5392 //---------------------------------------------------------------------------
                                                                                                                                      5393 
                                                                                                                                      5394 static const basic::ZoneEra kZoneEraAustralia_Currie[] ACE_TIME_PROGMEM = {
                                                                                                                                      5395  // 10:00 AT AE%sT
                                                                                                                                      5396  {
                                                                                                                                      5397  &kPolicyAT /*zonePolicy*/,
                                                                                                                                      5398  "AE%T" /*format*/,
                                                                                                                                      5399  40 /*offsetCode*/,
                                                                                                                                      5400  0 /*deltaCode*/,
                                                                                                                                      5401  127 /*untilYearTiny*/,
                                                                                                                                      5402  1 /*untilMonth*/,
                                                                                                                                      5403  1 /*untilDay*/,
                                                                                                                                      5404  0 /*untilTimeCode*/,
                                                                                                                                      5405  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5406  },
                                                                                                                                      5407 
                                                                                                                                      5408 };
                                                                                                                                      5409 
                                                                                                                                      5410 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "Australia/Currie";
                                                                                                                                      5411 
                                                                                                                                      5412 const basic::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
                                                                                                                                      5413  kZoneNameAustralia_Currie /*name*/,
                                                                                                                                      5414  0x278b6a24 /*zoneId*/,
                                                                                                                                      5415  &kZoneContext /*zoneContext*/,
                                                                                                                                      5416  5 /*transitionBufSize*/,
                                                                                                                                      5417  1 /*numEras*/,
                                                                                                                                      5418  kZoneEraAustralia_Currie /*eras*/,
                                                                                                                                      5419 };
                                                                                                                                      5420 
                                                                                                                                      5421 //---------------------------------------------------------------------------
                                                                                                                                      5422 // Zone name: Australia/Darwin
                                                                                                                                      5423 // Zone Eras: 1
                                                                                                                                      5424 // Strings (bytes): 22
                                                                                                                                      5425 // Memory (8-bit): 45
                                                                                                                                      5426 // Memory (32-bit): 58
                                                                                                                                      5427 //---------------------------------------------------------------------------
                                                                                                                                      5428 
                                                                                                                                      5429 static const basic::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
                                                                                                                                      5430  // 9:30 Aus AC%sT
                                                                                                                                      5431  {
                                                                                                                                      5432  &kPolicyAus /*zonePolicy*/,
                                                                                                                                      5433  "AC%T" /*format*/,
                                                                                                                                      5434  38 /*offsetCode*/,
                                                                                                                                      5435  0 /*deltaCode*/,
                                                                                                                                      5436  127 /*untilYearTiny*/,
                                                                                                                                      5437  1 /*untilMonth*/,
                                                                                                                                      5438  1 /*untilDay*/,
                                                                                                                                      5439  0 /*untilTimeCode*/,
                                                                                                                                      5440  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5441  },
                                                                                                                                      5442 
                                                                                                                                      5443 };
                                                                                                                                      5444 
                                                                                                                                      5445 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "Australia/Darwin";
                                                                                                                                      5446 
                                                                                                                                      5447 const basic::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
                                                                                                                                      5448  kZoneNameAustralia_Darwin /*name*/,
                                                                                                                                      5449  0x2876bdff /*zoneId*/,
                                                                                                                                      5450  &kZoneContext /*zoneContext*/,
                                                                                                                                      5451  2 /*transitionBufSize*/,
                                                                                                                                      5452  1 /*numEras*/,
                                                                                                                                      5453  kZoneEraAustralia_Darwin /*eras*/,
                                                                                                                                      5454 };
                                                                                                                                      5455 
                                                                                                                                      5456 //---------------------------------------------------------------------------
                                                                                                                                      5457 // Zone name: Australia/Eucla
                                                                                                                                      5458 // Zone Eras: 1
                                                                                                                                      5459 // Strings (bytes): 28
                                                                                                                                      5460 // Memory (8-bit): 51
                                                                                                                                      5461 // Memory (32-bit): 64
                                                                                                                                      5462 //---------------------------------------------------------------------------
                                                                                                                                      5463 
                                                                                                                                      5464 static const basic::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
                                                                                                                                      5465  // 8:45 AW +0845/+0945
                                                                                                                                      5466  {
                                                                                                                                      5467  &kPolicyAW /*zonePolicy*/,
                                                                                                                                      5468  "+0845/+0945" /*format*/,
                                                                                                                                      5469  35 /*offsetCode*/,
                                                                                                                                      5470  0 /*deltaCode*/,
                                                                                                                                      5471  127 /*untilYearTiny*/,
                                                                                                                                      5472  1 /*untilMonth*/,
                                                                                                                                      5473  1 /*untilDay*/,
                                                                                                                                      5474  0 /*untilTimeCode*/,
                                                                                                                                      5475  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5476  },
                                                                                                                                      5477 
                                                                                                                                      5478 };
                                                                                                                                      5479 
                                                                                                                                      5480 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "Australia/Eucla";
                                                                                                                                      5481 
                                                                                                                                      5482 const basic::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
                                                                                                                                      5483  kZoneNameAustralia_Eucla /*name*/,
                                                                                                                                      5484  0x8cf99e44 /*zoneId*/,
                                                                                                                                      5485  &kZoneContext /*zoneContext*/,
                                                                                                                                      5486  6 /*transitionBufSize*/,
                                                                                                                                      5487  1 /*numEras*/,
                                                                                                                                      5488  kZoneEraAustralia_Eucla /*eras*/,
                                                                                                                                      5489 };
                                                                                                                                      5490 
                                                                                                                                      5491 //---------------------------------------------------------------------------
                                                                                                                                      5492 // Zone name: Australia/Hobart
                                                                                                                                      5493 // Zone Eras: 1
                                                                                                                                      5494 // Strings (bytes): 22
                                                                                                                                      5495 // Memory (8-bit): 45
                                                                                                                                      5496 // Memory (32-bit): 58
                                                                                                                                      5497 //---------------------------------------------------------------------------
                                                                                                                                      5498 
                                                                                                                                      5499 static const basic::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
                                                                                                                                      5500  // 10:00 AT AE%sT
                                                                                                                                      5501  {
                                                                                                                                      5502  &kPolicyAT /*zonePolicy*/,
                                                                                                                                      5503  "AE%T" /*format*/,
                                                                                                                                      5504  40 /*offsetCode*/,
                                                                                                                                      5505  0 /*deltaCode*/,
                                                                                                                                      5506  127 /*untilYearTiny*/,
                                                                                                                                      5507  1 /*untilMonth*/,
                                                                                                                                      5508  1 /*untilDay*/,
                                                                                                                                      5509  0 /*untilTimeCode*/,
                                                                                                                                      5510  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5511  },
                                                                                                                                      5512 
                                                                                                                                      5513 };
                                                                                                                                      5514 
                                                                                                                                      5515 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "Australia/Hobart";
                                                                                                                                      5516 
                                                                                                                                      5517 const basic::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
                                                                                                                                      5518  kZoneNameAustralia_Hobart /*name*/,
                                                                                                                                      5519  0x32bf951a /*zoneId*/,
                                                                                                                                      5520  &kZoneContext /*zoneContext*/,
                                                                                                                                      5521  5 /*transitionBufSize*/,
                                                                                                                                      5522  1 /*numEras*/,
                                                                                                                                      5523  kZoneEraAustralia_Hobart /*eras*/,
                                                                                                                                      5524 };
                                                                                                                                      5525 
                                                                                                                                      5526 //---------------------------------------------------------------------------
                                                                                                                                      5527 // Zone name: Australia/Lindeman
                                                                                                                                      5528 // Zone Eras: 1
                                                                                                                                      5529 // Strings (bytes): 24
                                                                                                                                      5530 // Memory (8-bit): 47
                                                                                                                                      5531 // Memory (32-bit): 60
                                                                                                                                      5532 //---------------------------------------------------------------------------
                                                                                                                                      5533 
                                                                                                                                      5534 static const basic::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
                                                                                                                                      5535  // 10:00 Holiday AE%sT
                                                                                                                                      5536  {
                                                                                                                                      5537  &kPolicyHoliday /*zonePolicy*/,
                                                                                                                                      5538  "AE%T" /*format*/,
                                                                                                                                      5539  40 /*offsetCode*/,
                                                                                                                                      5540  0 /*deltaCode*/,
                                                                                                                                      5541  127 /*untilYearTiny*/,
                                                                                                                                      5542  1 /*untilMonth*/,
                                                                                                                                      5543  1 /*untilDay*/,
                                                                                                                                      5544  0 /*untilTimeCode*/,
                                                                                                                                      5545  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5546  },
                                                                                                                                      5547 
                                                                                                                                      5548 };
                                                                                                                                      5549 
                                                                                                                                      5550 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "Australia/Lindeman";
                                                                                                                                      5551 
                                                                                                                                      5552 const basic::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
                                                                                                                                      5553  kZoneNameAustralia_Lindeman /*name*/,
                                                                                                                                      5554  0xe05029e2 /*zoneId*/,
                                                                                                                                      5555  &kZoneContext /*zoneContext*/,
                                                                                                                                      5556  2 /*transitionBufSize*/,
                                                                                                                                      5557  1 /*numEras*/,
                                                                                                                                      5558  kZoneEraAustralia_Lindeman /*eras*/,
                                                                                                                                      5559 };
                                                                                                                                      5560 
                                                                                                                                      5561 //---------------------------------------------------------------------------
                                                                                                                                      5562 // Zone name: Australia/Lord_Howe
                                                                                                                                      5563 // Zone Eras: 1
                                                                                                                                      5564 // Strings (bytes): 30
                                                                                                                                      5565 // Memory (8-bit): 53
                                                                                                                                      5566 // Memory (32-bit): 66
                                                                                                                                      5567 //---------------------------------------------------------------------------
                                                                                                                                      5568 
                                                                                                                                      5569 static const basic::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
                                                                                                                                      5570  // 10:30 LH +1030/+11
                                                                                                                                      5571  {
                                                                                                                                      5572  &kPolicyLH /*zonePolicy*/,
                                                                                                                                      5573  "+1030/+11" /*format*/,
                                                                                                                                      5574  42 /*offsetCode*/,
                                                                                                                                      5575  0 /*deltaCode*/,
                                                                                                                                      5576  127 /*untilYearTiny*/,
                                                                                                                                      5577  1 /*untilMonth*/,
                                                                                                                                      5578  1 /*untilDay*/,
                                                                                                                                      5579  0 /*untilTimeCode*/,
                                                                                                                                      5580  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5581  },
                                                                                                                                      5582 
                                                                                                                                      5583 };
                                                                                                                                      5584 
                                                                                                                                      5585 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "Australia/Lord_Howe";
                                                                                                                                      5586 
                                                                                                                                      5587 const basic::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
                                                                                                                                      5588  kZoneNameAustralia_Lord_Howe /*name*/,
                                                                                                                                      5589  0xa748b67d /*zoneId*/,
                                                                                                                                      5590  &kZoneContext /*zoneContext*/,
                                                                                                                                      5591  5 /*transitionBufSize*/,
                                                                                                                                      5592  1 /*numEras*/,
                                                                                                                                      5593  kZoneEraAustralia_Lord_Howe /*eras*/,
                                                                                                                                      5594 };
                                                                                                                                      5595 
                                                                                                                                      5596 //---------------------------------------------------------------------------
                                                                                                                                      5597 // Zone name: Australia/Melbourne
                                                                                                                                      5598 // Zone Eras: 1
                                                                                                                                      5599 // Strings (bytes): 25
                                                                                                                                      5600 // Memory (8-bit): 48
                                                                                                                                      5601 // Memory (32-bit): 61
                                                                                                                                      5602 //---------------------------------------------------------------------------
                                                                                                                                      5603 
                                                                                                                                      5604 static const basic::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
                                                                                                                                      5605  // 10:00 AV AE%sT
                                                                                                                                      5606  {
                                                                                                                                      5607  &kPolicyAV /*zonePolicy*/,
                                                                                                                                      5608  "AE%T" /*format*/,
                                                                                                                                      5609  40 /*offsetCode*/,
                                                                                                                                      5610  0 /*deltaCode*/,
                                                                                                                                      5611  127 /*untilYearTiny*/,
                                                                                                                                      5612  1 /*untilMonth*/,
                                                                                                                                      5613  1 /*untilDay*/,
                                                                                                                                      5614  0 /*untilTimeCode*/,
                                                                                                                                      5615  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5616  },
                                                                                                                                      5617 
                                                                                                                                      5618 };
                                                                                                                                      5619 
                                                                                                                                      5620 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "Australia/Melbourne";
                                                                                                                                      5621 
                                                                                                                                      5622 const basic::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
                                                                                                                                      5623  kZoneNameAustralia_Melbourne /*name*/,
                                                                                                                                      5624  0x0fe559a3 /*zoneId*/,
                                                                                                                                      5625  &kZoneContext /*zoneContext*/,
                                                                                                                                      5626  5 /*transitionBufSize*/,
                                                                                                                                      5627  1 /*numEras*/,
                                                                                                                                      5628  kZoneEraAustralia_Melbourne /*eras*/,
                                                                                                                                      5629 };
                                                                                                                                      5630 
                                                                                                                                      5631 //---------------------------------------------------------------------------
                                                                                                                                      5632 // Zone name: Australia/Perth
                                                                                                                                      5633 // Zone Eras: 1
                                                                                                                                      5634 // Strings (bytes): 21
                                                                                                                                      5635 // Memory (8-bit): 44
                                                                                                                                      5636 // Memory (32-bit): 57
                                                                                                                                      5637 //---------------------------------------------------------------------------
                                                                                                                                      5638 
                                                                                                                                      5639 static const basic::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
                                                                                                                                      5640  // 8:00 AW AW%sT
                                                                                                                                      5641  {
                                                                                                                                      5642  &kPolicyAW /*zonePolicy*/,
                                                                                                                                      5643  "AW%T" /*format*/,
                                                                                                                                      5644  32 /*offsetCode*/,
                                                                                                                                      5645  0 /*deltaCode*/,
                                                                                                                                      5646  127 /*untilYearTiny*/,
                                                                                                                                      5647  1 /*untilMonth*/,
                                                                                                                                      5648  1 /*untilDay*/,
                                                                                                                                      5649  0 /*untilTimeCode*/,
                                                                                                                                      5650  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5651  },
                                                                                                                                      5652 
                                                                                                                                      5653 };
                                                                                                                                      5654 
                                                                                                                                      5655 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "Australia/Perth";
                                                                                                                                      5656 
                                                                                                                                      5657 const basic::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
                                                                                                                                      5658  kZoneNameAustralia_Perth /*name*/,
                                                                                                                                      5659  0x8db8269d /*zoneId*/,
                                                                                                                                      5660  &kZoneContext /*zoneContext*/,
                                                                                                                                      5661  6 /*transitionBufSize*/,
                                                                                                                                      5662  1 /*numEras*/,
                                                                                                                                      5663  kZoneEraAustralia_Perth /*eras*/,
                                                                                                                                      5664 };
                                                                                                                                      5665 
                                                                                                                                      5666 //---------------------------------------------------------------------------
                                                                                                                                      5667 // Zone name: Australia/Sydney
                                                                                                                                      5668 // Zone Eras: 1
                                                                                                                                      5669 // Strings (bytes): 22
                                                                                                                                      5670 // Memory (8-bit): 45
                                                                                                                                      5671 // Memory (32-bit): 58
                                                                                                                                      5672 //---------------------------------------------------------------------------
                                                                                                                                      5673 
                                                                                                                                      5674 static const basic::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
                                                                                                                                      5675  // 10:00 AN AE%sT
                                                                                                                                      5676  {
                                                                                                                                      5677  &kPolicyAN /*zonePolicy*/,
                                                                                                                                      5678  "AE%T" /*format*/,
                                                                                                                                      5679  40 /*offsetCode*/,
                                                                                                                                      5680  0 /*deltaCode*/,
                                                                                                                                      5681  127 /*untilYearTiny*/,
                                                                                                                                      5682  1 /*untilMonth*/,
                                                                                                                                      5683  1 /*untilDay*/,
                                                                                                                                      5684  0 /*untilTimeCode*/,
                                                                                                                                      5685  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5686  },
                                                                                                                                      5687 
                                                                                                                                      5688 };
                                                                                                                                      5689 
                                                                                                                                      5690 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "Australia/Sydney";
                                                                                                                                      5691 
                                                                                                                                      5692 const basic::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
                                                                                                                                      5693  kZoneNameAustralia_Sydney /*name*/,
                                                                                                                                      5694  0x4d1e9776 /*zoneId*/,
                                                                                                                                      5695  &kZoneContext /*zoneContext*/,
                                                                                                                                      5696  5 /*transitionBufSize*/,
                                                                                                                                      5697  1 /*numEras*/,
                                                                                                                                      5698  kZoneEraAustralia_Sydney /*eras*/,
                                                                                                                                      5699 };
                                                                                                                                      5700 
                                                                                                                                      5701 //---------------------------------------------------------------------------
                                                                                                                                      5702 // Zone name: CET
                                                                                                                                      5703 // Zone Eras: 1
                                                                                                                                      5704 // Strings (bytes): 9
                                                                                                                                      5705 // Memory (8-bit): 32
                                                                                                                                      5706 // Memory (32-bit): 45
                                                                                                                                      5707 //---------------------------------------------------------------------------
                                                                                                                                      5708 
                                                                                                                                      5709 static const basic::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = {
                                                                                                                                      5710  // 1:00 C-Eur CE%sT
                                                                                                                                      5711  {
                                                                                                                                      5712  &kPolicyC_Eur /*zonePolicy*/,
                                                                                                                                      5713  "CE%T" /*format*/,
                                                                                                                                      5714  4 /*offsetCode*/,
                                                                                                                                      5715  0 /*deltaCode*/,
                                                                                                                                      5716  127 /*untilYearTiny*/,
                                                                                                                                      5717  1 /*untilMonth*/,
                                                                                                                                      5718  1 /*untilDay*/,
                                                                                                                                      5719  0 /*untilTimeCode*/,
                                                                                                                                      5720  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5721  },
                                                                                                                                      5722 
                                                                                                                                      5723 };
                                                                                                                                      5724 
                                                                                                                                      5725 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
                                                                                                                                      5726 
                                                                                                                                      5727 const basic::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
                                                                                                                                      5728  kZoneNameCET /*name*/,
                                                                                                                                      5729  0x0b87d921 /*zoneId*/,
                                                                                                                                      5730  &kZoneContext /*zoneContext*/,
                                                                                                                                      5731  5 /*transitionBufSize*/,
                                                                                                                                      5732  1 /*numEras*/,
                                                                                                                                      5733  kZoneEraCET /*eras*/,
                                                                                                                                      5734 };
                                                                                                                                      5735 
                                                                                                                                      5736 //---------------------------------------------------------------------------
                                                                                                                                      5737 // Zone name: CST6CDT
                                                                                                                                      5738 // Zone Eras: 1
                                                                                                                                      5739 // Strings (bytes): 12
                                                                                                                                      5740 // Memory (8-bit): 35
                                                                                                                                      5741 // Memory (32-bit): 48
                                                                                                                                      5742 //---------------------------------------------------------------------------
                                                                                                                                      5743 
                                                                                                                                      5744 static const basic::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      5745  // -6:00 US C%sT
                                                                                                                                      5746  {
                                                                                                                                      5747  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      5748  "C%T" /*format*/,
                                                                                                                                      5749  -24 /*offsetCode*/,
                                                                                                                                      5750  0 /*deltaCode*/,
                                                                                                                                      5751  127 /*untilYearTiny*/,
                                                                                                                                      5752  1 /*untilMonth*/,
                                                                                                                                      5753  1 /*untilDay*/,
                                                                                                                                      5754  0 /*untilTimeCode*/,
                                                                                                                                      5755  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5756  },
                                                                                                                                      5757 
                                                                                                                                      5758 };
                                                                                                                                      5759 
                                                                                                                                      5760 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
                                                                                                                                      5761 
                                                                                                                                      5762 const basic::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
                                                                                                                                      5763  kZoneNameCST6CDT /*name*/,
                                                                                                                                      5764  0xf0e87d00 /*zoneId*/,
                                                                                                                                      5765  &kZoneContext /*zoneContext*/,
                                                                                                                                      5766  6 /*transitionBufSize*/,
                                                                                                                                      5767  1 /*numEras*/,
                                                                                                                                      5768  kZoneEraCST6CDT /*eras*/,
                                                                                                                                      5769 };
                                                                                                                                      5770 
                                                                                                                                      5771 //---------------------------------------------------------------------------
                                                                                                                                      5772 // Zone name: EET
                                                                                                                                      5773 // Zone Eras: 1
                                                                                                                                      5774 // Strings (bytes): 9
                                                                                                                                      5775 // Memory (8-bit): 32
                                                                                                                                      5776 // Memory (32-bit): 45
                                                                                                                                      5777 //---------------------------------------------------------------------------
                                                                                                                                      5778 
                                                                                                                                      5779 static const basic::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = {
                                                                                                                                      5780  // 2:00 EU EE%sT
                                                                                                                                      5781  {
                                                                                                                                      5782  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      5783  "EE%T" /*format*/,
                                                                                                                                      5784  8 /*offsetCode*/,
                                                                                                                                      5785  0 /*deltaCode*/,
                                                                                                                                      5786  127 /*untilYearTiny*/,
                                                                                                                                      5787  1 /*untilMonth*/,
                                                                                                                                      5788  1 /*untilDay*/,
                                                                                                                                      5789  0 /*untilTimeCode*/,
                                                                                                                                      5790  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5791  },
                                                                                                                                      5792 
                                                                                                                                      5793 };
                                                                                                                                      5794 
                                                                                                                                      5795 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
                                                                                                                                      5796 
                                                                                                                                      5797 const basic::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
                                                                                                                                      5798  kZoneNameEET /*name*/,
                                                                                                                                      5799  0x0b87e1a3 /*zoneId*/,
                                                                                                                                      5800  &kZoneContext /*zoneContext*/,
                                                                                                                                      5801  5 /*transitionBufSize*/,
                                                                                                                                      5802  1 /*numEras*/,
                                                                                                                                      5803  kZoneEraEET /*eras*/,
                                                                                                                                      5804 };
                                                                                                                                      5805 
                                                                                                                                      5806 //---------------------------------------------------------------------------
                                                                                                                                      5807 // Zone name: EST
                                                                                                                                      5808 // Zone Eras: 1
                                                                                                                                      5809 // Strings (bytes): 8
                                                                                                                                      5810 // Memory (8-bit): 31
                                                                                                                                      5811 // Memory (32-bit): 44
                                                                                                                                      5812 //---------------------------------------------------------------------------
                                                                                                                                      5813 
                                                                                                                                      5814 static const basic::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = {
                                                                                                                                      5815  // -5:00 - EST
                                                                                                                                      5816  {
                                                                                                                                      5817  nullptr /*zonePolicy*/,
                                                                                                                                      5818  "EST" /*format*/,
                                                                                                                                      5819  -20 /*offsetCode*/,
                                                                                                                                      5820  0 /*deltaCode*/,
                                                                                                                                      5821  127 /*untilYearTiny*/,
                                                                                                                                      5822  1 /*untilMonth*/,
                                                                                                                                      5823  1 /*untilDay*/,
                                                                                                                                      5824  0 /*untilTimeCode*/,
                                                                                                                                      5825  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5826  },
                                                                                                                                      5827 
                                                                                                                                      5828 };
                                                                                                                                      5829 
                                                                                                                                      5830 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
                                                                                                                                      5831 
                                                                                                                                      5832 const basic::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
                                                                                                                                      5833  kZoneNameEST /*name*/,
                                                                                                                                      5834  0x0b87e371 /*zoneId*/,
                                                                                                                                      5835  &kZoneContext /*zoneContext*/,
                                                                                                                                      5836  2 /*transitionBufSize*/,
                                                                                                                                      5837  1 /*numEras*/,
                                                                                                                                      5838  kZoneEraEST /*eras*/,
                                                                                                                                      5839 };
                                                                                                                                      5840 
                                                                                                                                      5841 //---------------------------------------------------------------------------
                                                                                                                                      5842 // Zone name: EST5EDT
                                                                                                                                      5843 // Zone Eras: 1
                                                                                                                                      5844 // Strings (bytes): 12
                                                                                                                                      5845 // Memory (8-bit): 35
                                                                                                                                      5846 // Memory (32-bit): 48
                                                                                                                                      5847 //---------------------------------------------------------------------------
                                                                                                                                      5848 
                                                                                                                                      5849 static const basic::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      5850  // -5:00 US E%sT
                                                                                                                                      5851  {
                                                                                                                                      5852  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      5853  "E%T" /*format*/,
                                                                                                                                      5854  -20 /*offsetCode*/,
                                                                                                                                      5855  0 /*deltaCode*/,
                                                                                                                                      5856  127 /*untilYearTiny*/,
                                                                                                                                      5857  1 /*untilMonth*/,
                                                                                                                                      5858  1 /*untilDay*/,
                                                                                                                                      5859  0 /*untilTimeCode*/,
                                                                                                                                      5860  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5861  },
                                                                                                                                      5862 
                                                                                                                                      5863 };
                                                                                                                                      5864 
                                                                                                                                      5865 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
                                                                                                                                      5866 
                                                                                                                                      5867 const basic::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
                                                                                                                                      5868  kZoneNameEST5EDT /*name*/,
                                                                                                                                      5869  0x8adc72a3 /*zoneId*/,
                                                                                                                                      5870  &kZoneContext /*zoneContext*/,
                                                                                                                                      5871  6 /*transitionBufSize*/,
                                                                                                                                      5872  1 /*numEras*/,
                                                                                                                                      5873  kZoneEraEST5EDT /*eras*/,
                                                                                                                                      5874 };
                                                                                                                                      5875 
                                                                                                                                      5876 //---------------------------------------------------------------------------
                                                                                                                                      5877 // Zone name: Etc/GMT
                                                                                                                                      5878 // Zone Eras: 1
                                                                                                                                      5879 // Strings (bytes): 12
                                                                                                                                      5880 // Memory (8-bit): 35
                                                                                                                                      5881 // Memory (32-bit): 48
                                                                                                                                      5882 //---------------------------------------------------------------------------
                                                                                                                                      5883 
                                                                                                                                      5884 static const basic::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
                                                                                                                                      5885  // 0 - GMT
                                                                                                                                      5886  {
                                                                                                                                      5887  nullptr /*zonePolicy*/,
                                                                                                                                      5888  "GMT" /*format*/,
                                                                                                                                      5889  0 /*offsetCode*/,
                                                                                                                                      5890  0 /*deltaCode*/,
                                                                                                                                      5891  127 /*untilYearTiny*/,
                                                                                                                                      5892  1 /*untilMonth*/,
                                                                                                                                      5893  1 /*untilDay*/,
                                                                                                                                      5894  0 /*untilTimeCode*/,
                                                                                                                                      5895  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5896  },
                                                                                                                                      5897 
                                                                                                                                      5898 };
                                                                                                                                      5899 
                                                                                                                                      5900 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "Etc/GMT";
                                                                                                                                      5901 
                                                                                                                                      5902 const basic::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
                                                                                                                                      5903  kZoneNameEtc_GMT /*name*/,
                                                                                                                                      5904  0xd8e2de58 /*zoneId*/,
                                                                                                                                      5905  &kZoneContext /*zoneContext*/,
                                                                                                                                      5906  2 /*transitionBufSize*/,
                                                                                                                                      5907  1 /*numEras*/,
                                                                                                                                      5908  kZoneEraEtc_GMT /*eras*/,
                                                                                                                                      5909 };
                                                                                                                                      5910 
                                                                                                                                      5911 //---------------------------------------------------------------------------
                                                                                                                                      5912 // Zone name: Etc/GMT+1
                                                                                                                                      5913 // Zone Eras: 1
                                                                                                                                      5914 // Strings (bytes): 14
                                                                                                                                      5915 // Memory (8-bit): 37
                                                                                                                                      5916 // Memory (32-bit): 50
                                                                                                                                      5917 //---------------------------------------------------------------------------
                                                                                                                                      5918 
                                                                                                                                      5919 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
                                                                                                                                      5920  // -1 - -01
                                                                                                                                      5921  {
                                                                                                                                      5922  nullptr /*zonePolicy*/,
                                                                                                                                      5923  "-01" /*format*/,
                                                                                                                                      5924  -4 /*offsetCode*/,
                                                                                                                                      5925  0 /*deltaCode*/,
                                                                                                                                      5926  127 /*untilYearTiny*/,
                                                                                                                                      5927  1 /*untilMonth*/,
                                                                                                                                      5928  1 /*untilDay*/,
                                                                                                                                      5929  0 /*untilTimeCode*/,
                                                                                                                                      5930  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5931  },
                                                                                                                                      5932 
                                                                                                                                      5933 };
                                                                                                                                      5934 
                                                                                                                                      5935 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "Etc/GMT+1";
                                                                                                                                      5936 
                                                                                                                                      5937 const basic::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
                                                                                                                                      5938  kZoneNameEtc_GMT_PLUS_1 /*name*/,
                                                                                                                                      5939  0x9d13da14 /*zoneId*/,
                                                                                                                                      5940  &kZoneContext /*zoneContext*/,
                                                                                                                                      5941  2 /*transitionBufSize*/,
                                                                                                                                      5942  1 /*numEras*/,
                                                                                                                                      5943  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
                                                                                                                                      5944 };
                                                                                                                                      5945 
                                                                                                                                      5946 //---------------------------------------------------------------------------
                                                                                                                                      5947 // Zone name: Etc/GMT+10
                                                                                                                                      5948 // Zone Eras: 1
                                                                                                                                      5949 // Strings (bytes): 15
                                                                                                                                      5950 // Memory (8-bit): 38
                                                                                                                                      5951 // Memory (32-bit): 51
                                                                                                                                      5952 //---------------------------------------------------------------------------
                                                                                                                                      5953 
                                                                                                                                      5954 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
                                                                                                                                      5955  // -10 - -10
                                                                                                                                      5956  {
                                                                                                                                      5957  nullptr /*zonePolicy*/,
                                                                                                                                      5958  "-10" /*format*/,
                                                                                                                                      5959  -40 /*offsetCode*/,
                                                                                                                                      5960  0 /*deltaCode*/,
                                                                                                                                      5961  127 /*untilYearTiny*/,
                                                                                                                                      5962  1 /*untilMonth*/,
                                                                                                                                      5963  1 /*untilDay*/,
                                                                                                                                      5964  0 /*untilTimeCode*/,
                                                                                                                                      5965  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      5966  },
                                                                                                                                      5967 
                                                                                                                                      5968 };
                                                                                                                                      5969 
                                                                                                                                      5970 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "Etc/GMT+10";
                                                                                                                                      5971 
                                                                                                                                      5972 const basic::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
                                                                                                                                      5973  kZoneNameEtc_GMT_PLUS_10 /*name*/,
                                                                                                                                      5974  0x3f8f1cc4 /*zoneId*/,
                                                                                                                                      5975  &kZoneContext /*zoneContext*/,
                                                                                                                                      5976  2 /*transitionBufSize*/,
                                                                                                                                      5977  1 /*numEras*/,
                                                                                                                                      5978  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
                                                                                                                                      5979 };
                                                                                                                                      5980 
                                                                                                                                      5981 //---------------------------------------------------------------------------
                                                                                                                                      5982 // Zone name: Etc/GMT+11
                                                                                                                                      5983 // Zone Eras: 1
                                                                                                                                      5984 // Strings (bytes): 15
                                                                                                                                      5985 // Memory (8-bit): 38
                                                                                                                                      5986 // Memory (32-bit): 51
                                                                                                                                      5987 //---------------------------------------------------------------------------
                                                                                                                                      5988 
                                                                                                                                      5989 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
                                                                                                                                      5990  // -11 - -11
                                                                                                                                      5991  {
                                                                                                                                      5992  nullptr /*zonePolicy*/,
                                                                                                                                      5993  "-11" /*format*/,
                                                                                                                                      5994  -44 /*offsetCode*/,
                                                                                                                                      5995  0 /*deltaCode*/,
                                                                                                                                      5996  127 /*untilYearTiny*/,
                                                                                                                                      5997  1 /*untilMonth*/,
                                                                                                                                      5998  1 /*untilDay*/,
                                                                                                                                      5999  0 /*untilTimeCode*/,
                                                                                                                                      6000  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6001  },
                                                                                                                                      6002 
                                                                                                                                      6003 };
                                                                                                                                      6004 
                                                                                                                                      6005 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "Etc/GMT+11";
                                                                                                                                      6006 
                                                                                                                                      6007 const basic::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
                                                                                                                                      6008  kZoneNameEtc_GMT_PLUS_11 /*name*/,
                                                                                                                                      6009  0x3f8f1cc5 /*zoneId*/,
                                                                                                                                      6010  &kZoneContext /*zoneContext*/,
                                                                                                                                      6011  2 /*transitionBufSize*/,
                                                                                                                                      6012  1 /*numEras*/,
                                                                                                                                      6013  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
                                                                                                                                      6014 };
                                                                                                                                      6015 
                                                                                                                                      6016 //---------------------------------------------------------------------------
                                                                                                                                      6017 // Zone name: Etc/GMT+12
                                                                                                                                      6018 // Zone Eras: 1
                                                                                                                                      6019 // Strings (bytes): 15
                                                                                                                                      6020 // Memory (8-bit): 38
                                                                                                                                      6021 // Memory (32-bit): 51
                                                                                                                                      6022 //---------------------------------------------------------------------------
                                                                                                                                      6023 
                                                                                                                                      6024 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
                                                                                                                                      6025  // -12 - -12
                                                                                                                                      6026  {
                                                                                                                                      6027  nullptr /*zonePolicy*/,
                                                                                                                                      6028  "-12" /*format*/,
                                                                                                                                      6029  -48 /*offsetCode*/,
                                                                                                                                      6030  0 /*deltaCode*/,
                                                                                                                                      6031  127 /*untilYearTiny*/,
                                                                                                                                      6032  1 /*untilMonth*/,
                                                                                                                                      6033  1 /*untilDay*/,
                                                                                                                                      6034  0 /*untilTimeCode*/,
                                                                                                                                      6035  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6036  },
                                                                                                                                      6037 
                                                                                                                                      6038 };
                                                                                                                                      6039 
                                                                                                                                      6040 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "Etc/GMT+12";
                                                                                                                                      6041 
                                                                                                                                      6042 const basic::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
                                                                                                                                      6043  kZoneNameEtc_GMT_PLUS_12 /*name*/,
                                                                                                                                      6044  0x3f8f1cc6 /*zoneId*/,
                                                                                                                                      6045  &kZoneContext /*zoneContext*/,
                                                                                                                                      6046  2 /*transitionBufSize*/,
                                                                                                                                      6047  1 /*numEras*/,
                                                                                                                                      6048  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
                                                                                                                                      6049 };
                                                                                                                                      6050 
                                                                                                                                      6051 //---------------------------------------------------------------------------
                                                                                                                                      6052 // Zone name: Etc/GMT+2
                                                                                                                                      6053 // Zone Eras: 1
                                                                                                                                      6054 // Strings (bytes): 14
                                                                                                                                      6055 // Memory (8-bit): 37
                                                                                                                                      6056 // Memory (32-bit): 50
                                                                                                                                      6057 //---------------------------------------------------------------------------
                                                                                                                                      6058 
                                                                                                                                      6059 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
                                                                                                                                      6060  // -2 - -02
                                                                                                                                      6061  {
                                                                                                                                      6062  nullptr /*zonePolicy*/,
                                                                                                                                      6063  "-02" /*format*/,
                                                                                                                                      6064  -8 /*offsetCode*/,
                                                                                                                                      6065  0 /*deltaCode*/,
                                                                                                                                      6066  127 /*untilYearTiny*/,
                                                                                                                                      6067  1 /*untilMonth*/,
                                                                                                                                      6068  1 /*untilDay*/,
                                                                                                                                      6069  0 /*untilTimeCode*/,
                                                                                                                                      6070  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6071  },
                                                                                                                                      6072 
                                                                                                                                      6073 };
                                                                                                                                      6074 
                                                                                                                                      6075 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "Etc/GMT+2";
                                                                                                                                      6076 
                                                                                                                                      6077 const basic::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
                                                                                                                                      6078  kZoneNameEtc_GMT_PLUS_2 /*name*/,
                                                                                                                                      6079  0x9d13da15 /*zoneId*/,
                                                                                                                                      6080  &kZoneContext /*zoneContext*/,
                                                                                                                                      6081  2 /*transitionBufSize*/,
                                                                                                                                      6082  1 /*numEras*/,
                                                                                                                                      6083  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
                                                                                                                                      6084 };
                                                                                                                                      6085 
                                                                                                                                      6086 //---------------------------------------------------------------------------
                                                                                                                                      6087 // Zone name: Etc/GMT+3
                                                                                                                                      6088 // Zone Eras: 1
                                                                                                                                      6089 // Strings (bytes): 14
                                                                                                                                      6090 // Memory (8-bit): 37
                                                                                                                                      6091 // Memory (32-bit): 50
                                                                                                                                      6092 //---------------------------------------------------------------------------
                                                                                                                                      6093 
                                                                                                                                      6094 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
                                                                                                                                      6095  // -3 - -03
                                                                                                                                      6096  {
                                                                                                                                      6097  nullptr /*zonePolicy*/,
                                                                                                                                      6098  "-03" /*format*/,
                                                                                                                                      6099  -12 /*offsetCode*/,
                                                                                                                                      6100  0 /*deltaCode*/,
                                                                                                                                      6101  127 /*untilYearTiny*/,
                                                                                                                                      6102  1 /*untilMonth*/,
                                                                                                                                      6103  1 /*untilDay*/,
                                                                                                                                      6104  0 /*untilTimeCode*/,
                                                                                                                                      6105  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6106  },
                                                                                                                                      6107 
                                                                                                                                      6108 };
                                                                                                                                      6109 
                                                                                                                                      6110 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "Etc/GMT+3";
                                                                                                                                      6111 
                                                                                                                                      6112 const basic::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
                                                                                                                                      6113  kZoneNameEtc_GMT_PLUS_3 /*name*/,
                                                                                                                                      6114  0x9d13da16 /*zoneId*/,
                                                                                                                                      6115  &kZoneContext /*zoneContext*/,
                                                                                                                                      6116  2 /*transitionBufSize*/,
                                                                                                                                      6117  1 /*numEras*/,
                                                                                                                                      6118  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
                                                                                                                                      6119 };
                                                                                                                                      6120 
                                                                                                                                      6121 //---------------------------------------------------------------------------
                                                                                                                                      6122 // Zone name: Etc/GMT+4
                                                                                                                                      6123 // Zone Eras: 1
                                                                                                                                      6124 // Strings (bytes): 14
                                                                                                                                      6125 // Memory (8-bit): 37
                                                                                                                                      6126 // Memory (32-bit): 50
                                                                                                                                      6127 //---------------------------------------------------------------------------
                                                                                                                                      6128 
                                                                                                                                      6129 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
                                                                                                                                      6130  // -4 - -04
                                                                                                                                      6131  {
                                                                                                                                      6132  nullptr /*zonePolicy*/,
                                                                                                                                      6133  "-04" /*format*/,
                                                                                                                                      6134  -16 /*offsetCode*/,
                                                                                                                                      6135  0 /*deltaCode*/,
                                                                                                                                      6136  127 /*untilYearTiny*/,
                                                                                                                                      6137  1 /*untilMonth*/,
                                                                                                                                      6138  1 /*untilDay*/,
                                                                                                                                      6139  0 /*untilTimeCode*/,
                                                                                                                                      6140  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6141  },
                                                                                                                                      6142 
                                                                                                                                      6143 };
                                                                                                                                      6144 
                                                                                                                                      6145 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "Etc/GMT+4";
                                                                                                                                      6146 
                                                                                                                                      6147 const basic::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
                                                                                                                                      6148  kZoneNameEtc_GMT_PLUS_4 /*name*/,
                                                                                                                                      6149  0x9d13da17 /*zoneId*/,
                                                                                                                                      6150  &kZoneContext /*zoneContext*/,
                                                                                                                                      6151  2 /*transitionBufSize*/,
                                                                                                                                      6152  1 /*numEras*/,
                                                                                                                                      6153  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
                                                                                                                                      6154 };
                                                                                                                                      6155 
                                                                                                                                      6156 //---------------------------------------------------------------------------
                                                                                                                                      6157 // Zone name: Etc/GMT+5
                                                                                                                                      6158 // Zone Eras: 1
                                                                                                                                      6159 // Strings (bytes): 14
                                                                                                                                      6160 // Memory (8-bit): 37
                                                                                                                                      6161 // Memory (32-bit): 50
                                                                                                                                      6162 //---------------------------------------------------------------------------
                                                                                                                                      6163 
                                                                                                                                      6164 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
                                                                                                                                      6165  // -5 - -05
                                                                                                                                      6166  {
                                                                                                                                      6167  nullptr /*zonePolicy*/,
                                                                                                                                      6168  "-05" /*format*/,
                                                                                                                                      6169  -20 /*offsetCode*/,
                                                                                                                                      6170  0 /*deltaCode*/,
                                                                                                                                      6171  127 /*untilYearTiny*/,
                                                                                                                                      6172  1 /*untilMonth*/,
                                                                                                                                      6173  1 /*untilDay*/,
                                                                                                                                      6174  0 /*untilTimeCode*/,
                                                                                                                                      6175  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6176  },
                                                                                                                                      6177 
                                                                                                                                      6178 };
                                                                                                                                      6179 
                                                                                                                                      6180 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "Etc/GMT+5";
                                                                                                                                      6181 
                                                                                                                                      6182 const basic::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
                                                                                                                                      6183  kZoneNameEtc_GMT_PLUS_5 /*name*/,
                                                                                                                                      6184  0x9d13da18 /*zoneId*/,
                                                                                                                                      6185  &kZoneContext /*zoneContext*/,
                                                                                                                                      6186  2 /*transitionBufSize*/,
                                                                                                                                      6187  1 /*numEras*/,
                                                                                                                                      6188  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
                                                                                                                                      6189 };
                                                                                                                                      6190 
                                                                                                                                      6191 //---------------------------------------------------------------------------
                                                                                                                                      6192 // Zone name: Etc/GMT+6
                                                                                                                                      6193 // Zone Eras: 1
                                                                                                                                      6194 // Strings (bytes): 14
                                                                                                                                      6195 // Memory (8-bit): 37
                                                                                                                                      6196 // Memory (32-bit): 50
                                                                                                                                      6197 //---------------------------------------------------------------------------
                                                                                                                                      6198 
                                                                                                                                      6199 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
                                                                                                                                      6200  // -6 - -06
                                                                                                                                      6201  {
                                                                                                                                      6202  nullptr /*zonePolicy*/,
                                                                                                                                      6203  "-06" /*format*/,
                                                                                                                                      6204  -24 /*offsetCode*/,
                                                                                                                                      6205  0 /*deltaCode*/,
                                                                                                                                      6206  127 /*untilYearTiny*/,
                                                                                                                                      6207  1 /*untilMonth*/,
                                                                                                                                      6208  1 /*untilDay*/,
                                                                                                                                      6209  0 /*untilTimeCode*/,
                                                                                                                                      6210  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6211  },
                                                                                                                                      6212 
                                                                                                                                      6213 };
                                                                                                                                      6214 
                                                                                                                                      6215 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "Etc/GMT+6";
                                                                                                                                      6216 
                                                                                                                                      6217 const basic::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
                                                                                                                                      6218  kZoneNameEtc_GMT_PLUS_6 /*name*/,
                                                                                                                                      6219  0x9d13da19 /*zoneId*/,
                                                                                                                                      6220  &kZoneContext /*zoneContext*/,
                                                                                                                                      6221  2 /*transitionBufSize*/,
                                                                                                                                      6222  1 /*numEras*/,
                                                                                                                                      6223  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
                                                                                                                                      6224 };
                                                                                                                                      6225 
                                                                                                                                      6226 //---------------------------------------------------------------------------
                                                                                                                                      6227 // Zone name: Etc/GMT+7
                                                                                                                                      6228 // Zone Eras: 1
                                                                                                                                      6229 // Strings (bytes): 14
                                                                                                                                      6230 // Memory (8-bit): 37
                                                                                                                                      6231 // Memory (32-bit): 50
                                                                                                                                      6232 //---------------------------------------------------------------------------
                                                                                                                                      6233 
                                                                                                                                      6234 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
                                                                                                                                      6235  // -7 - -07
                                                                                                                                      6236  {
                                                                                                                                      6237  nullptr /*zonePolicy*/,
                                                                                                                                      6238  "-07" /*format*/,
                                                                                                                                      6239  -28 /*offsetCode*/,
                                                                                                                                      6240  0 /*deltaCode*/,
                                                                                                                                      6241  127 /*untilYearTiny*/,
                                                                                                                                      6242  1 /*untilMonth*/,
                                                                                                                                      6243  1 /*untilDay*/,
                                                                                                                                      6244  0 /*untilTimeCode*/,
                                                                                                                                      6245  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6246  },
                                                                                                                                      6247 
                                                                                                                                      6248 };
                                                                                                                                      6249 
                                                                                                                                      6250 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "Etc/GMT+7";
                                                                                                                                      6251 
                                                                                                                                      6252 const basic::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
                                                                                                                                      6253  kZoneNameEtc_GMT_PLUS_7 /*name*/,
                                                                                                                                      6254  0x9d13da1a /*zoneId*/,
                                                                                                                                      6255  &kZoneContext /*zoneContext*/,
                                                                                                                                      6256  2 /*transitionBufSize*/,
                                                                                                                                      6257  1 /*numEras*/,
                                                                                                                                      6258  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
                                                                                                                                      6259 };
                                                                                                                                      6260 
                                                                                                                                      6261 //---------------------------------------------------------------------------
                                                                                                                                      6262 // Zone name: Etc/GMT+8
                                                                                                                                      6263 // Zone Eras: 1
                                                                                                                                      6264 // Strings (bytes): 14
                                                                                                                                      6265 // Memory (8-bit): 37
                                                                                                                                      6266 // Memory (32-bit): 50
                                                                                                                                      6267 //---------------------------------------------------------------------------
                                                                                                                                      6268 
                                                                                                                                      6269 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
                                                                                                                                      6270  // -8 - -08
                                                                                                                                      6271  {
                                                                                                                                      6272  nullptr /*zonePolicy*/,
                                                                                                                                      6273  "-08" /*format*/,
                                                                                                                                      6274  -32 /*offsetCode*/,
                                                                                                                                      6275  0 /*deltaCode*/,
                                                                                                                                      6276  127 /*untilYearTiny*/,
                                                                                                                                      6277  1 /*untilMonth*/,
                                                                                                                                      6278  1 /*untilDay*/,
                                                                                                                                      6279  0 /*untilTimeCode*/,
                                                                                                                                      6280  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6281  },
                                                                                                                                      6282 
                                                                                                                                      6283 };
                                                                                                                                      6284 
                                                                                                                                      6285 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "Etc/GMT+8";
                                                                                                                                      6286 
                                                                                                                                      6287 const basic::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
                                                                                                                                      6288  kZoneNameEtc_GMT_PLUS_8 /*name*/,
                                                                                                                                      6289  0x9d13da1b /*zoneId*/,
                                                                                                                                      6290  &kZoneContext /*zoneContext*/,
                                                                                                                                      6291  2 /*transitionBufSize*/,
                                                                                                                                      6292  1 /*numEras*/,
                                                                                                                                      6293  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
                                                                                                                                      6294 };
                                                                                                                                      6295 
                                                                                                                                      6296 //---------------------------------------------------------------------------
                                                                                                                                      6297 // Zone name: Etc/GMT+9
                                                                                                                                      6298 // Zone Eras: 1
                                                                                                                                      6299 // Strings (bytes): 14
                                                                                                                                      6300 // Memory (8-bit): 37
                                                                                                                                      6301 // Memory (32-bit): 50
                                                                                                                                      6302 //---------------------------------------------------------------------------
                                                                                                                                      6303 
                                                                                                                                      6304 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
                                                                                                                                      6305  // -9 - -09
                                                                                                                                      6306  {
                                                                                                                                      6307  nullptr /*zonePolicy*/,
                                                                                                                                      6308  "-09" /*format*/,
                                                                                                                                      6309  -36 /*offsetCode*/,
                                                                                                                                      6310  0 /*deltaCode*/,
                                                                                                                                      6311  127 /*untilYearTiny*/,
                                                                                                                                      6312  1 /*untilMonth*/,
                                                                                                                                      6313  1 /*untilDay*/,
                                                                                                                                      6314  0 /*untilTimeCode*/,
                                                                                                                                      6315  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6316  },
                                                                                                                                      6317 
                                                                                                                                      6318 };
                                                                                                                                      6319 
                                                                                                                                      6320 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "Etc/GMT+9";
                                                                                                                                      6321 
                                                                                                                                      6322 const basic::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
                                                                                                                                      6323  kZoneNameEtc_GMT_PLUS_9 /*name*/,
                                                                                                                                      6324  0x9d13da1c /*zoneId*/,
                                                                                                                                      6325  &kZoneContext /*zoneContext*/,
                                                                                                                                      6326  2 /*transitionBufSize*/,
                                                                                                                                      6327  1 /*numEras*/,
                                                                                                                                      6328  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
                                                                                                                                      6329 };
                                                                                                                                      6330 
                                                                                                                                      6331 //---------------------------------------------------------------------------
                                                                                                                                      6332 // Zone name: Etc/GMT-1
                                                                                                                                      6333 // Zone Eras: 1
                                                                                                                                      6334 // Strings (bytes): 14
                                                                                                                                      6335 // Memory (8-bit): 37
                                                                                                                                      6336 // Memory (32-bit): 50
                                                                                                                                      6337 //---------------------------------------------------------------------------
                                                                                                                                      6338 
                                                                                                                                      6339 static const basic::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
                                                                                                                                      6340  // 1 - +01
                                                                                                                                      6341  {
                                                                                                                                      6342  nullptr /*zonePolicy*/,
                                                                                                                                      6343  "+01" /*format*/,
                                                                                                                                      6344  4 /*offsetCode*/,
                                                                                                                                      6345  0 /*deltaCode*/,
                                                                                                                                      6346  127 /*untilYearTiny*/,
                                                                                                                                      6347  1 /*untilMonth*/,
                                                                                                                                      6348  1 /*untilDay*/,
                                                                                                                                      6349  0 /*untilTimeCode*/,
                                                                                                                                      6350  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6351  },
                                                                                                                                      6352 
                                                                                                                                      6353 };
                                                                                                                                      6354 
                                                                                                                                      6355 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "Etc/GMT-1";
                                                                                                                                      6356 
                                                                                                                                      6357 const basic::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
                                                                                                                                      6358  kZoneNameEtc_GMT_1 /*name*/,
                                                                                                                                      6359  0x9d13da56 /*zoneId*/,
                                                                                                                                      6360  &kZoneContext /*zoneContext*/,
                                                                                                                                      6361  2 /*transitionBufSize*/,
                                                                                                                                      6362  1 /*numEras*/,
                                                                                                                                      6363  kZoneEraEtc_GMT_1 /*eras*/,
                                                                                                                                      6364 };
                                                                                                                                      6365 
                                                                                                                                      6366 //---------------------------------------------------------------------------
                                                                                                                                      6367 // Zone name: Etc/GMT-10
                                                                                                                                      6368 // Zone Eras: 1
                                                                                                                                      6369 // Strings (bytes): 15
                                                                                                                                      6370 // Memory (8-bit): 38
                                                                                                                                      6371 // Memory (32-bit): 51
                                                                                                                                      6372 //---------------------------------------------------------------------------
                                                                                                                                      6373 
                                                                                                                                      6374 static const basic::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
                                                                                                                                      6375  // 10 - +10
                                                                                                                                      6376  {
                                                                                                                                      6377  nullptr /*zonePolicy*/,
                                                                                                                                      6378  "+10" /*format*/,
                                                                                                                                      6379  40 /*offsetCode*/,
                                                                                                                                      6380  0 /*deltaCode*/,
                                                                                                                                      6381  127 /*untilYearTiny*/,
                                                                                                                                      6382  1 /*untilMonth*/,
                                                                                                                                      6383  1 /*untilDay*/,
                                                                                                                                      6384  0 /*untilTimeCode*/,
                                                                                                                                      6385  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6386  },
                                                                                                                                      6387 
                                                                                                                                      6388 };
                                                                                                                                      6389 
                                                                                                                                      6390 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "Etc/GMT-10";
                                                                                                                                      6391 
                                                                                                                                      6392 const basic::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
                                                                                                                                      6393  kZoneNameEtc_GMT_10 /*name*/,
                                                                                                                                      6394  0x3f8f2546 /*zoneId*/,
                                                                                                                                      6395  &kZoneContext /*zoneContext*/,
                                                                                                                                      6396  2 /*transitionBufSize*/,
                                                                                                                                      6397  1 /*numEras*/,
                                                                                                                                      6398  kZoneEraEtc_GMT_10 /*eras*/,
                                                                                                                                      6399 };
                                                                                                                                      6400 
                                                                                                                                      6401 //---------------------------------------------------------------------------
                                                                                                                                      6402 // Zone name: Etc/GMT-11
                                                                                                                                      6403 // Zone Eras: 1
                                                                                                                                      6404 // Strings (bytes): 15
                                                                                                                                      6405 // Memory (8-bit): 38
                                                                                                                                      6406 // Memory (32-bit): 51
                                                                                                                                      6407 //---------------------------------------------------------------------------
                                                                                                                                      6408 
                                                                                                                                      6409 static const basic::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
                                                                                                                                      6410  // 11 - +11
                                                                                                                                      6411  {
                                                                                                                                      6412  nullptr /*zonePolicy*/,
                                                                                                                                      6413  "+11" /*format*/,
                                                                                                                                      6414  44 /*offsetCode*/,
                                                                                                                                      6415  0 /*deltaCode*/,
                                                                                                                                      6416  127 /*untilYearTiny*/,
                                                                                                                                      6417  1 /*untilMonth*/,
                                                                                                                                      6418  1 /*untilDay*/,
                                                                                                                                      6419  0 /*untilTimeCode*/,
                                                                                                                                      6420  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6421  },
                                                                                                                                      6422 
                                                                                                                                      6423 };
                                                                                                                                      6424 
                                                                                                                                      6425 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "Etc/GMT-11";
                                                                                                                                      6426 
                                                                                                                                      6427 const basic::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
                                                                                                                                      6428  kZoneNameEtc_GMT_11 /*name*/,
                                                                                                                                      6429  0x3f8f2547 /*zoneId*/,
                                                                                                                                      6430  &kZoneContext /*zoneContext*/,
                                                                                                                                      6431  2 /*transitionBufSize*/,
                                                                                                                                      6432  1 /*numEras*/,
                                                                                                                                      6433  kZoneEraEtc_GMT_11 /*eras*/,
                                                                                                                                      6434 };
                                                                                                                                      6435 
                                                                                                                                      6436 //---------------------------------------------------------------------------
                                                                                                                                      6437 // Zone name: Etc/GMT-12
                                                                                                                                      6438 // Zone Eras: 1
                                                                                                                                      6439 // Strings (bytes): 15
                                                                                                                                      6440 // Memory (8-bit): 38
                                                                                                                                      6441 // Memory (32-bit): 51
                                                                                                                                      6442 //---------------------------------------------------------------------------
                                                                                                                                      6443 
                                                                                                                                      6444 static const basic::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
                                                                                                                                      6445  // 12 - +12
                                                                                                                                      6446  {
                                                                                                                                      6447  nullptr /*zonePolicy*/,
                                                                                                                                      6448  "+12" /*format*/,
                                                                                                                                      6449  48 /*offsetCode*/,
                                                                                                                                      6450  0 /*deltaCode*/,
                                                                                                                                      6451  127 /*untilYearTiny*/,
                                                                                                                                      6452  1 /*untilMonth*/,
                                                                                                                                      6453  1 /*untilDay*/,
                                                                                                                                      6454  0 /*untilTimeCode*/,
                                                                                                                                      6455  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6456  },
                                                                                                                                      6457 
                                                                                                                                      6458 };
                                                                                                                                      6459 
                                                                                                                                      6460 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "Etc/GMT-12";
                                                                                                                                      6461 
                                                                                                                                      6462 const basic::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
                                                                                                                                      6463  kZoneNameEtc_GMT_12 /*name*/,
                                                                                                                                      6464  0x3f8f2548 /*zoneId*/,
                                                                                                                                      6465  &kZoneContext /*zoneContext*/,
                                                                                                                                      6466  2 /*transitionBufSize*/,
                                                                                                                                      6467  1 /*numEras*/,
                                                                                                                                      6468  kZoneEraEtc_GMT_12 /*eras*/,
                                                                                                                                      6469 };
                                                                                                                                      6470 
                                                                                                                                      6471 //---------------------------------------------------------------------------
                                                                                                                                      6472 // Zone name: Etc/GMT-13
                                                                                                                                      6473 // Zone Eras: 1
                                                                                                                                      6474 // Strings (bytes): 15
                                                                                                                                      6475 // Memory (8-bit): 38
                                                                                                                                      6476 // Memory (32-bit): 51
                                                                                                                                      6477 //---------------------------------------------------------------------------
                                                                                                                                      6478 
                                                                                                                                      6479 static const basic::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
                                                                                                                                      6480  // 13 - +13
                                                                                                                                      6481  {
                                                                                                                                      6482  nullptr /*zonePolicy*/,
                                                                                                                                      6483  "+13" /*format*/,
                                                                                                                                      6484  52 /*offsetCode*/,
                                                                                                                                      6485  0 /*deltaCode*/,
                                                                                                                                      6486  127 /*untilYearTiny*/,
                                                                                                                                      6487  1 /*untilMonth*/,
                                                                                                                                      6488  1 /*untilDay*/,
                                                                                                                                      6489  0 /*untilTimeCode*/,
                                                                                                                                      6490  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6491  },
                                                                                                                                      6492 
                                                                                                                                      6493 };
                                                                                                                                      6494 
                                                                                                                                      6495 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "Etc/GMT-13";
                                                                                                                                      6496 
                                                                                                                                      6497 const basic::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
                                                                                                                                      6498  kZoneNameEtc_GMT_13 /*name*/,
                                                                                                                                      6499  0x3f8f2549 /*zoneId*/,
                                                                                                                                      6500  &kZoneContext /*zoneContext*/,
                                                                                                                                      6501  2 /*transitionBufSize*/,
                                                                                                                                      6502  1 /*numEras*/,
                                                                                                                                      6503  kZoneEraEtc_GMT_13 /*eras*/,
                                                                                                                                      6504 };
                                                                                                                                      6505 
                                                                                                                                      6506 //---------------------------------------------------------------------------
                                                                                                                                      6507 // Zone name: Etc/GMT-14
                                                                                                                                      6508 // Zone Eras: 1
                                                                                                                                      6509 // Strings (bytes): 15
                                                                                                                                      6510 // Memory (8-bit): 38
                                                                                                                                      6511 // Memory (32-bit): 51
                                                                                                                                      6512 //---------------------------------------------------------------------------
                                                                                                                                      6513 
                                                                                                                                      6514 static const basic::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
                                                                                                                                      6515  // 14 - +14
                                                                                                                                      6516  {
                                                                                                                                      6517  nullptr /*zonePolicy*/,
                                                                                                                                      6518  "+14" /*format*/,
                                                                                                                                      6519  56 /*offsetCode*/,
                                                                                                                                      6520  0 /*deltaCode*/,
                                                                                                                                      6521  127 /*untilYearTiny*/,
                                                                                                                                      6522  1 /*untilMonth*/,
                                                                                                                                      6523  1 /*untilDay*/,
                                                                                                                                      6524  0 /*untilTimeCode*/,
                                                                                                                                      6525  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6526  },
                                                                                                                                      6527 
                                                                                                                                      6528 };
                                                                                                                                      6529 
                                                                                                                                      6530 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "Etc/GMT-14";
                                                                                                                                      6531 
                                                                                                                                      6532 const basic::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
                                                                                                                                      6533  kZoneNameEtc_GMT_14 /*name*/,
                                                                                                                                      6534  0x3f8f254a /*zoneId*/,
                                                                                                                                      6535  &kZoneContext /*zoneContext*/,
                                                                                                                                      6536  2 /*transitionBufSize*/,
                                                                                                                                      6537  1 /*numEras*/,
                                                                                                                                      6538  kZoneEraEtc_GMT_14 /*eras*/,
                                                                                                                                      6539 };
                                                                                                                                      6540 
                                                                                                                                      6541 //---------------------------------------------------------------------------
                                                                                                                                      6542 // Zone name: Etc/GMT-2
                                                                                                                                      6543 // Zone Eras: 1
                                                                                                                                      6544 // Strings (bytes): 14
                                                                                                                                      6545 // Memory (8-bit): 37
                                                                                                                                      6546 // Memory (32-bit): 50
                                                                                                                                      6547 //---------------------------------------------------------------------------
                                                                                                                                      6548 
                                                                                                                                      6549 static const basic::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
                                                                                                                                      6550  // 2 - +02
                                                                                                                                      6551  {
                                                                                                                                      6552  nullptr /*zonePolicy*/,
                                                                                                                                      6553  "+02" /*format*/,
                                                                                                                                      6554  8 /*offsetCode*/,
                                                                                                                                      6555  0 /*deltaCode*/,
                                                                                                                                      6556  127 /*untilYearTiny*/,
                                                                                                                                      6557  1 /*untilMonth*/,
                                                                                                                                      6558  1 /*untilDay*/,
                                                                                                                                      6559  0 /*untilTimeCode*/,
                                                                                                                                      6560  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6561  },
                                                                                                                                      6562 
                                                                                                                                      6563 };
                                                                                                                                      6564 
                                                                                                                                      6565 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "Etc/GMT-2";
                                                                                                                                      6566 
                                                                                                                                      6567 const basic::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
                                                                                                                                      6568  kZoneNameEtc_GMT_2 /*name*/,
                                                                                                                                      6569  0x9d13da57 /*zoneId*/,
                                                                                                                                      6570  &kZoneContext /*zoneContext*/,
                                                                                                                                      6571  2 /*transitionBufSize*/,
                                                                                                                                      6572  1 /*numEras*/,
                                                                                                                                      6573  kZoneEraEtc_GMT_2 /*eras*/,
                                                                                                                                      6574 };
                                                                                                                                      6575 
                                                                                                                                      6576 //---------------------------------------------------------------------------
                                                                                                                                      6577 // Zone name: Etc/GMT-3
                                                                                                                                      6578 // Zone Eras: 1
                                                                                                                                      6579 // Strings (bytes): 14
                                                                                                                                      6580 // Memory (8-bit): 37
                                                                                                                                      6581 // Memory (32-bit): 50
                                                                                                                                      6582 //---------------------------------------------------------------------------
                                                                                                                                      6583 
                                                                                                                                      6584 static const basic::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
                                                                                                                                      6585  // 3 - +03
                                                                                                                                      6586  {
                                                                                                                                      6587  nullptr /*zonePolicy*/,
                                                                                                                                      6588  "+03" /*format*/,
                                                                                                                                      6589  12 /*offsetCode*/,
                                                                                                                                      6590  0 /*deltaCode*/,
                                                                                                                                      6591  127 /*untilYearTiny*/,
                                                                                                                                      6592  1 /*untilMonth*/,
                                                                                                                                      6593  1 /*untilDay*/,
                                                                                                                                      6594  0 /*untilTimeCode*/,
                                                                                                                                      6595  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6596  },
                                                                                                                                      6597 
                                                                                                                                      6598 };
                                                                                                                                      6599 
                                                                                                                                      6600 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "Etc/GMT-3";
                                                                                                                                      6601 
                                                                                                                                      6602 const basic::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
                                                                                                                                      6603  kZoneNameEtc_GMT_3 /*name*/,
                                                                                                                                      6604  0x9d13da58 /*zoneId*/,
                                                                                                                                      6605  &kZoneContext /*zoneContext*/,
                                                                                                                                      6606  2 /*transitionBufSize*/,
                                                                                                                                      6607  1 /*numEras*/,
                                                                                                                                      6608  kZoneEraEtc_GMT_3 /*eras*/,
                                                                                                                                      6609 };
                                                                                                                                      6610 
                                                                                                                                      6611 //---------------------------------------------------------------------------
                                                                                                                                      6612 // Zone name: Etc/GMT-4
                                                                                                                                      6613 // Zone Eras: 1
                                                                                                                                      6614 // Strings (bytes): 14
                                                                                                                                      6615 // Memory (8-bit): 37
                                                                                                                                      6616 // Memory (32-bit): 50
                                                                                                                                      6617 //---------------------------------------------------------------------------
                                                                                                                                      6618 
                                                                                                                                      6619 static const basic::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
                                                                                                                                      6620  // 4 - +04
                                                                                                                                      6621  {
                                                                                                                                      6622  nullptr /*zonePolicy*/,
                                                                                                                                      6623  "+04" /*format*/,
                                                                                                                                      6624  16 /*offsetCode*/,
                                                                                                                                      6625  0 /*deltaCode*/,
                                                                                                                                      6626  127 /*untilYearTiny*/,
                                                                                                                                      6627  1 /*untilMonth*/,
                                                                                                                                      6628  1 /*untilDay*/,
                                                                                                                                      6629  0 /*untilTimeCode*/,
                                                                                                                                      6630  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6631  },
                                                                                                                                      6632 
                                                                                                                                      6633 };
                                                                                                                                      6634 
                                                                                                                                      6635 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "Etc/GMT-4";
                                                                                                                                      6636 
                                                                                                                                      6637 const basic::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
                                                                                                                                      6638  kZoneNameEtc_GMT_4 /*name*/,
                                                                                                                                      6639  0x9d13da59 /*zoneId*/,
                                                                                                                                      6640  &kZoneContext /*zoneContext*/,
                                                                                                                                      6641  2 /*transitionBufSize*/,
                                                                                                                                      6642  1 /*numEras*/,
                                                                                                                                      6643  kZoneEraEtc_GMT_4 /*eras*/,
                                                                                                                                      6644 };
                                                                                                                                      6645 
                                                                                                                                      6646 //---------------------------------------------------------------------------
                                                                                                                                      6647 // Zone name: Etc/GMT-5
                                                                                                                                      6648 // Zone Eras: 1
                                                                                                                                      6649 // Strings (bytes): 14
                                                                                                                                      6650 // Memory (8-bit): 37
                                                                                                                                      6651 // Memory (32-bit): 50
                                                                                                                                      6652 //---------------------------------------------------------------------------
                                                                                                                                      6653 
                                                                                                                                      6654 static const basic::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
                                                                                                                                      6655  // 5 - +05
                                                                                                                                      6656  {
                                                                                                                                      6657  nullptr /*zonePolicy*/,
                                                                                                                                      6658  "+05" /*format*/,
                                                                                                                                      6659  20 /*offsetCode*/,
                                                                                                                                      6660  0 /*deltaCode*/,
                                                                                                                                      6661  127 /*untilYearTiny*/,
                                                                                                                                      6662  1 /*untilMonth*/,
                                                                                                                                      6663  1 /*untilDay*/,
                                                                                                                                      6664  0 /*untilTimeCode*/,
                                                                                                                                      6665  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6666  },
                                                                                                                                      6667 
                                                                                                                                      6668 };
                                                                                                                                      6669 
                                                                                                                                      6670 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "Etc/GMT-5";
                                                                                                                                      6671 
                                                                                                                                      6672 const basic::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
                                                                                                                                      6673  kZoneNameEtc_GMT_5 /*name*/,
                                                                                                                                      6674  0x9d13da5a /*zoneId*/,
                                                                                                                                      6675  &kZoneContext /*zoneContext*/,
                                                                                                                                      6676  2 /*transitionBufSize*/,
                                                                                                                                      6677  1 /*numEras*/,
                                                                                                                                      6678  kZoneEraEtc_GMT_5 /*eras*/,
                                                                                                                                      6679 };
                                                                                                                                      6680 
                                                                                                                                      6681 //---------------------------------------------------------------------------
                                                                                                                                      6682 // Zone name: Etc/GMT-6
                                                                                                                                      6683 // Zone Eras: 1
                                                                                                                                      6684 // Strings (bytes): 14
                                                                                                                                      6685 // Memory (8-bit): 37
                                                                                                                                      6686 // Memory (32-bit): 50
                                                                                                                                      6687 //---------------------------------------------------------------------------
                                                                                                                                      6688 
                                                                                                                                      6689 static const basic::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
                                                                                                                                      6690  // 6 - +06
                                                                                                                                      6691  {
                                                                                                                                      6692  nullptr /*zonePolicy*/,
                                                                                                                                      6693  "+06" /*format*/,
                                                                                                                                      6694  24 /*offsetCode*/,
                                                                                                                                      6695  0 /*deltaCode*/,
                                                                                                                                      6696  127 /*untilYearTiny*/,
                                                                                                                                      6697  1 /*untilMonth*/,
                                                                                                                                      6698  1 /*untilDay*/,
                                                                                                                                      6699  0 /*untilTimeCode*/,
                                                                                                                                      6700  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6701  },
                                                                                                                                      6702 
                                                                                                                                      6703 };
                                                                                                                                      6704 
                                                                                                                                      6705 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "Etc/GMT-6";
                                                                                                                                      6706 
                                                                                                                                      6707 const basic::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
                                                                                                                                      6708  kZoneNameEtc_GMT_6 /*name*/,
                                                                                                                                      6709  0x9d13da5b /*zoneId*/,
                                                                                                                                      6710  &kZoneContext /*zoneContext*/,
                                                                                                                                      6711  2 /*transitionBufSize*/,
                                                                                                                                      6712  1 /*numEras*/,
                                                                                                                                      6713  kZoneEraEtc_GMT_6 /*eras*/,
                                                                                                                                      6714 };
                                                                                                                                      6715 
                                                                                                                                      6716 //---------------------------------------------------------------------------
                                                                                                                                      6717 // Zone name: Etc/GMT-7
                                                                                                                                      6718 // Zone Eras: 1
                                                                                                                                      6719 // Strings (bytes): 14
                                                                                                                                      6720 // Memory (8-bit): 37
                                                                                                                                      6721 // Memory (32-bit): 50
                                                                                                                                      6722 //---------------------------------------------------------------------------
                                                                                                                                      6723 
                                                                                                                                      6724 static const basic::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
                                                                                                                                      6725  // 7 - +07
                                                                                                                                      6726  {
                                                                                                                                      6727  nullptr /*zonePolicy*/,
                                                                                                                                      6728  "+07" /*format*/,
                                                                                                                                      6729  28 /*offsetCode*/,
                                                                                                                                      6730  0 /*deltaCode*/,
                                                                                                                                      6731  127 /*untilYearTiny*/,
                                                                                                                                      6732  1 /*untilMonth*/,
                                                                                                                                      6733  1 /*untilDay*/,
                                                                                                                                      6734  0 /*untilTimeCode*/,
                                                                                                                                      6735  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6736  },
                                                                                                                                      6737 
                                                                                                                                      6738 };
                                                                                                                                      6739 
                                                                                                                                      6740 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "Etc/GMT-7";
                                                                                                                                      6741 
                                                                                                                                      6742 const basic::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
                                                                                                                                      6743  kZoneNameEtc_GMT_7 /*name*/,
                                                                                                                                      6744  0x9d13da5c /*zoneId*/,
                                                                                                                                      6745  &kZoneContext /*zoneContext*/,
                                                                                                                                      6746  2 /*transitionBufSize*/,
                                                                                                                                      6747  1 /*numEras*/,
                                                                                                                                      6748  kZoneEraEtc_GMT_7 /*eras*/,
                                                                                                                                      6749 };
                                                                                                                                      6750 
                                                                                                                                      6751 //---------------------------------------------------------------------------
                                                                                                                                      6752 // Zone name: Etc/GMT-8
                                                                                                                                      6753 // Zone Eras: 1
                                                                                                                                      6754 // Strings (bytes): 14
                                                                                                                                      6755 // Memory (8-bit): 37
                                                                                                                                      6756 // Memory (32-bit): 50
                                                                                                                                      6757 //---------------------------------------------------------------------------
                                                                                                                                      6758 
                                                                                                                                      6759 static const basic::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
                                                                                                                                      6760  // 8 - +08
                                                                                                                                      6761  {
                                                                                                                                      6762  nullptr /*zonePolicy*/,
                                                                                                                                      6763  "+08" /*format*/,
                                                                                                                                      6764  32 /*offsetCode*/,
                                                                                                                                      6765  0 /*deltaCode*/,
                                                                                                                                      6766  127 /*untilYearTiny*/,
                                                                                                                                      6767  1 /*untilMonth*/,
                                                                                                                                      6768  1 /*untilDay*/,
                                                                                                                                      6769  0 /*untilTimeCode*/,
                                                                                                                                      6770  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6771  },
                                                                                                                                      6772 
                                                                                                                                      6773 };
                                                                                                                                      6774 
                                                                                                                                      6775 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "Etc/GMT-8";
                                                                                                                                      6776 
                                                                                                                                      6777 const basic::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
                                                                                                                                      6778  kZoneNameEtc_GMT_8 /*name*/,
                                                                                                                                      6779  0x9d13da5d /*zoneId*/,
                                                                                                                                      6780  &kZoneContext /*zoneContext*/,
                                                                                                                                      6781  2 /*transitionBufSize*/,
                                                                                                                                      6782  1 /*numEras*/,
                                                                                                                                      6783  kZoneEraEtc_GMT_8 /*eras*/,
                                                                                                                                      6784 };
                                                                                                                                      6785 
                                                                                                                                      6786 //---------------------------------------------------------------------------
                                                                                                                                      6787 // Zone name: Etc/GMT-9
                                                                                                                                      6788 // Zone Eras: 1
                                                                                                                                      6789 // Strings (bytes): 14
                                                                                                                                      6790 // Memory (8-bit): 37
                                                                                                                                      6791 // Memory (32-bit): 50
                                                                                                                                      6792 //---------------------------------------------------------------------------
                                                                                                                                      6793 
                                                                                                                                      6794 static const basic::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
                                                                                                                                      6795  // 9 - +09
                                                                                                                                      6796  {
                                                                                                                                      6797  nullptr /*zonePolicy*/,
                                                                                                                                      6798  "+09" /*format*/,
                                                                                                                                      6799  36 /*offsetCode*/,
                                                                                                                                      6800  0 /*deltaCode*/,
                                                                                                                                      6801  127 /*untilYearTiny*/,
                                                                                                                                      6802  1 /*untilMonth*/,
                                                                                                                                      6803  1 /*untilDay*/,
                                                                                                                                      6804  0 /*untilTimeCode*/,
                                                                                                                                      6805  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6806  },
                                                                                                                                      6807 
                                                                                                                                      6808 };
                                                                                                                                      6809 
                                                                                                                                      6810 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "Etc/GMT-9";
                                                                                                                                      6811 
                                                                                                                                      6812 const basic::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
                                                                                                                                      6813  kZoneNameEtc_GMT_9 /*name*/,
                                                                                                                                      6814  0x9d13da5e /*zoneId*/,
                                                                                                                                      6815  &kZoneContext /*zoneContext*/,
                                                                                                                                      6816  2 /*transitionBufSize*/,
                                                                                                                                      6817  1 /*numEras*/,
                                                                                                                                      6818  kZoneEraEtc_GMT_9 /*eras*/,
                                                                                                                                      6819 };
                                                                                                                                      6820 
                                                                                                                                      6821 //---------------------------------------------------------------------------
                                                                                                                                      6822 // Zone name: Etc/UTC
                                                                                                                                      6823 // Zone Eras: 1
                                                                                                                                      6824 // Strings (bytes): 12
                                                                                                                                      6825 // Memory (8-bit): 35
                                                                                                                                      6826 // Memory (32-bit): 48
                                                                                                                                      6827 //---------------------------------------------------------------------------
                                                                                                                                      6828 
                                                                                                                                      6829 static const basic::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
                                                                                                                                      6830  // 0 - UTC
                                                                                                                                      6831  {
                                                                                                                                      6832  nullptr /*zonePolicy*/,
                                                                                                                                      6833  "UTC" /*format*/,
                                                                                                                                      6834  0 /*offsetCode*/,
                                                                                                                                      6835  0 /*deltaCode*/,
                                                                                                                                      6836  127 /*untilYearTiny*/,
                                                                                                                                      6837  1 /*untilMonth*/,
                                                                                                                                      6838  1 /*untilDay*/,
                                                                                                                                      6839  0 /*untilTimeCode*/,
                                                                                                                                      6840  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6841  },
                                                                                                                                      6842 
                                                                                                                                      6843 };
                                                                                                                                      6844 
                                                                                                                                      6845 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "Etc/UTC";
                                                                                                                                      6846 
                                                                                                                                      6847 const basic::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
                                                                                                                                      6848  kZoneNameEtc_UTC /*name*/,
                                                                                                                                      6849  0xd8e31abc /*zoneId*/,
                                                                                                                                      6850  &kZoneContext /*zoneContext*/,
                                                                                                                                      6851  2 /*transitionBufSize*/,
                                                                                                                                      6852  1 /*numEras*/,
                                                                                                                                      6853  kZoneEraEtc_UTC /*eras*/,
                                                                                                                                      6854 };
                                                                                                                                      6855 
                                                                                                                                      6856 //---------------------------------------------------------------------------
                                                                                                                                      6857 // Zone name: Europe/Amsterdam
                                                                                                                                      6858 // Zone Eras: 1
                                                                                                                                      6859 // Strings (bytes): 22
                                                                                                                                      6860 // Memory (8-bit): 45
                                                                                                                                      6861 // Memory (32-bit): 58
                                                                                                                                      6862 //---------------------------------------------------------------------------
                                                                                                                                      6863 
                                                                                                                                      6864 static const basic::ZoneEra kZoneEraEurope_Amsterdam[] ACE_TIME_PROGMEM = {
                                                                                                                                      6865  // 1:00 EU CE%sT
                                                                                                                                      6866  {
                                                                                                                                      6867  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      6868  "CE%T" /*format*/,
                                                                                                                                      6869  4 /*offsetCode*/,
                                                                                                                                      6870  0 /*deltaCode*/,
                                                                                                                                      6871  127 /*untilYearTiny*/,
                                                                                                                                      6872  1 /*untilMonth*/,
                                                                                                                                      6873  1 /*untilDay*/,
                                                                                                                                      6874  0 /*untilTimeCode*/,
                                                                                                                                      6875  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6876  },
                                                                                                                                      6877 
                                                                                                                                      6878 };
                                                                                                                                      6879 
                                                                                                                                      6880 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "Europe/Amsterdam";
                                                                                                                                      6881 
                                                                                                                                      6882 const basic::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
                                                                                                                                      6883  kZoneNameEurope_Amsterdam /*name*/,
                                                                                                                                      6884  0x109395c2 /*zoneId*/,
                                                                                                                                      6885  &kZoneContext /*zoneContext*/,
                                                                                                                                      6886  5 /*transitionBufSize*/,
                                                                                                                                      6887  1 /*numEras*/,
                                                                                                                                      6888  kZoneEraEurope_Amsterdam /*eras*/,
                                                                                                                                      6889 };
                                                                                                                                      6890 
                                                                                                                                      6891 //---------------------------------------------------------------------------
                                                                                                                                      6892 // Zone name: Europe/Andorra
                                                                                                                                      6893 // Zone Eras: 1
                                                                                                                                      6894 // Strings (bytes): 20
                                                                                                                                      6895 // Memory (8-bit): 43
                                                                                                                                      6896 // Memory (32-bit): 56
                                                                                                                                      6897 //---------------------------------------------------------------------------
                                                                                                                                      6898 
                                                                                                                                      6899 static const basic::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
                                                                                                                                      6900  // 1:00 EU CE%sT
                                                                                                                                      6901  {
                                                                                                                                      6902  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      6903  "CE%T" /*format*/,
                                                                                                                                      6904  4 /*offsetCode*/,
                                                                                                                                      6905  0 /*deltaCode*/,
                                                                                                                                      6906  127 /*untilYearTiny*/,
                                                                                                                                      6907  1 /*untilMonth*/,
                                                                                                                                      6908  1 /*untilDay*/,
                                                                                                                                      6909  0 /*untilTimeCode*/,
                                                                                                                                      6910  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6911  },
                                                                                                                                      6912 
                                                                                                                                      6913 };
                                                                                                                                      6914 
                                                                                                                                      6915 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "Europe/Andorra";
                                                                                                                                      6916 
                                                                                                                                      6917 const basic::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
                                                                                                                                      6918  kZoneNameEurope_Andorra /*name*/,
                                                                                                                                      6919  0x97f6764b /*zoneId*/,
                                                                                                                                      6920  &kZoneContext /*zoneContext*/,
                                                                                                                                      6921  5 /*transitionBufSize*/,
                                                                                                                                      6922  1 /*numEras*/,
                                                                                                                                      6923  kZoneEraEurope_Andorra /*eras*/,
                                                                                                                                      6924 };
                                                                                                                                      6925 
                                                                                                                                      6926 //---------------------------------------------------------------------------
                                                                                                                                      6927 // Zone name: Europe/Athens
                                                                                                                                      6928 // Zone Eras: 1
                                                                                                                                      6929 // Strings (bytes): 19
                                                                                                                                      6930 // Memory (8-bit): 42
                                                                                                                                      6931 // Memory (32-bit): 55
                                                                                                                                      6932 //---------------------------------------------------------------------------
                                                                                                                                      6933 
                                                                                                                                      6934 static const basic::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
                                                                                                                                      6935  // 2:00 EU EE%sT
                                                                                                                                      6936  {
                                                                                                                                      6937  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      6938  "EE%T" /*format*/,
                                                                                                                                      6939  8 /*offsetCode*/,
                                                                                                                                      6940  0 /*deltaCode*/,
                                                                                                                                      6941  127 /*untilYearTiny*/,
                                                                                                                                      6942  1 /*untilMonth*/,
                                                                                                                                      6943  1 /*untilDay*/,
                                                                                                                                      6944  0 /*untilTimeCode*/,
                                                                                                                                      6945  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6946  },
                                                                                                                                      6947 
                                                                                                                                      6948 };
                                                                                                                                      6949 
                                                                                                                                      6950 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "Europe/Athens";
                                                                                                                                      6951 
                                                                                                                                      6952 const basic::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
                                                                                                                                      6953  kZoneNameEurope_Athens /*name*/,
                                                                                                                                      6954  0x4318fa27 /*zoneId*/,
                                                                                                                                      6955  &kZoneContext /*zoneContext*/,
                                                                                                                                      6956  5 /*transitionBufSize*/,
                                                                                                                                      6957  1 /*numEras*/,
                                                                                                                                      6958  kZoneEraEurope_Athens /*eras*/,
                                                                                                                                      6959 };
                                                                                                                                      6960 
                                                                                                                                      6961 //---------------------------------------------------------------------------
                                                                                                                                      6962 // Zone name: Europe/Belgrade
                                                                                                                                      6963 // Zone Eras: 1
                                                                                                                                      6964 // Strings (bytes): 21
                                                                                                                                      6965 // Memory (8-bit): 44
                                                                                                                                      6966 // Memory (32-bit): 57
                                                                                                                                      6967 //---------------------------------------------------------------------------
                                                                                                                                      6968 
                                                                                                                                      6969 static const basic::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
                                                                                                                                      6970  // 1:00 EU CE%sT
                                                                                                                                      6971  {
                                                                                                                                      6972  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      6973  "CE%T" /*format*/,
                                                                                                                                      6974  4 /*offsetCode*/,
                                                                                                                                      6975  0 /*deltaCode*/,
                                                                                                                                      6976  127 /*untilYearTiny*/,
                                                                                                                                      6977  1 /*untilMonth*/,
                                                                                                                                      6978  1 /*untilDay*/,
                                                                                                                                      6979  0 /*untilTimeCode*/,
                                                                                                                                      6980  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      6981  },
                                                                                                                                      6982 
                                                                                                                                      6983 };
                                                                                                                                      6984 
                                                                                                                                      6985 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "Europe/Belgrade";
                                                                                                                                      6986 
                                                                                                                                      6987 const basic::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
                                                                                                                                      6988  kZoneNameEurope_Belgrade /*name*/,
                                                                                                                                      6989  0xe0532b3a /*zoneId*/,
                                                                                                                                      6990  &kZoneContext /*zoneContext*/,
                                                                                                                                      6991  5 /*transitionBufSize*/,
                                                                                                                                      6992  1 /*numEras*/,
                                                                                                                                      6993  kZoneEraEurope_Belgrade /*eras*/,
                                                                                                                                      6994 };
                                                                                                                                      6995 
                                                                                                                                      6996 //---------------------------------------------------------------------------
                                                                                                                                      6997 // Zone name: Europe/Berlin
                                                                                                                                      6998 // Zone Eras: 1
                                                                                                                                      6999 // Strings (bytes): 19
                                                                                                                                      7000 // Memory (8-bit): 42
                                                                                                                                      7001 // Memory (32-bit): 55
                                                                                                                                      7002 //---------------------------------------------------------------------------
                                                                                                                                      7003 
                                                                                                                                      7004 static const basic::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
                                                                                                                                      7005  // 1:00 EU CE%sT
                                                                                                                                      7006  {
                                                                                                                                      7007  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7008  "CE%T" /*format*/,
                                                                                                                                      7009  4 /*offsetCode*/,
                                                                                                                                      7010  0 /*deltaCode*/,
                                                                                                                                      7011  127 /*untilYearTiny*/,
                                                                                                                                      7012  1 /*untilMonth*/,
                                                                                                                                      7013  1 /*untilDay*/,
                                                                                                                                      7014  0 /*untilTimeCode*/,
                                                                                                                                      7015  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7016  },
                                                                                                                                      7017 
                                                                                                                                      7018 };
                                                                                                                                      7019 
                                                                                                                                      7020 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "Europe/Berlin";
                                                                                                                                      7021 
                                                                                                                                      7022 const basic::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
                                                                                                                                      7023  kZoneNameEurope_Berlin /*name*/,
                                                                                                                                      7024  0x44644c20 /*zoneId*/,
                                                                                                                                      7025  &kZoneContext /*zoneContext*/,
                                                                                                                                      7026  5 /*transitionBufSize*/,
                                                                                                                                      7027  1 /*numEras*/,
                                                                                                                                      7028  kZoneEraEurope_Berlin /*eras*/,
                                                                                                                                      7029 };
                                                                                                                                      7030 
                                                                                                                                      7031 //---------------------------------------------------------------------------
                                                                                                                                      7032 // Zone name: Europe/Brussels
                                                                                                                                      7033 // Zone Eras: 1
                                                                                                                                      7034 // Strings (bytes): 21
                                                                                                                                      7035 // Memory (8-bit): 44
                                                                                                                                      7036 // Memory (32-bit): 57
                                                                                                                                      7037 //---------------------------------------------------------------------------
                                                                                                                                      7038 
                                                                                                                                      7039 static const basic::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
                                                                                                                                      7040  // 1:00 EU CE%sT
                                                                                                                                      7041  {
                                                                                                                                      7042  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7043  "CE%T" /*format*/,
                                                                                                                                      7044  4 /*offsetCode*/,
                                                                                                                                      7045  0 /*deltaCode*/,
                                                                                                                                      7046  127 /*untilYearTiny*/,
                                                                                                                                      7047  1 /*untilMonth*/,
                                                                                                                                      7048  1 /*untilDay*/,
                                                                                                                                      7049  0 /*untilTimeCode*/,
                                                                                                                                      7050  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7051  },
                                                                                                                                      7052 
                                                                                                                                      7053 };
                                                                                                                                      7054 
                                                                                                                                      7055 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "Europe/Brussels";
                                                                                                                                      7056 
                                                                                                                                      7057 const basic::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
                                                                                                                                      7058  kZoneNameEurope_Brussels /*name*/,
                                                                                                                                      7059  0xdee07337 /*zoneId*/,
                                                                                                                                      7060  &kZoneContext /*zoneContext*/,
                                                                                                                                      7061  5 /*transitionBufSize*/,
                                                                                                                                      7062  1 /*numEras*/,
                                                                                                                                      7063  kZoneEraEurope_Brussels /*eras*/,
                                                                                                                                      7064 };
                                                                                                                                      7065 
                                                                                                                                      7066 //---------------------------------------------------------------------------
                                                                                                                                      7067 // Zone name: Europe/Bucharest
                                                                                                                                      7068 // Zone Eras: 1
                                                                                                                                      7069 // Strings (bytes): 22
                                                                                                                                      7070 // Memory (8-bit): 45
                                                                                                                                      7071 // Memory (32-bit): 58
                                                                                                                                      7072 //---------------------------------------------------------------------------
                                                                                                                                      7073 
                                                                                                                                      7074 static const basic::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
                                                                                                                                      7075  // 2:00 EU EE%sT
                                                                                                                                      7076  {
                                                                                                                                      7077  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7078  "EE%T" /*format*/,
                                                                                                                                      7079  8 /*offsetCode*/,
                                                                                                                                      7080  0 /*deltaCode*/,
                                                                                                                                      7081  127 /*untilYearTiny*/,
                                                                                                                                      7082  1 /*untilMonth*/,
                                                                                                                                      7083  1 /*untilDay*/,
                                                                                                                                      7084  0 /*untilTimeCode*/,
                                                                                                                                      7085  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7086  },
                                                                                                                                      7087 
                                                                                                                                      7088 };
                                                                                                                                      7089 
                                                                                                                                      7090 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "Europe/Bucharest";
                                                                                                                                      7091 
                                                                                                                                      7092 const basic::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
                                                                                                                                      7093  kZoneNameEurope_Bucharest /*name*/,
                                                                                                                                      7094  0xfb349ec5 /*zoneId*/,
                                                                                                                                      7095  &kZoneContext /*zoneContext*/,
                                                                                                                                      7096  5 /*transitionBufSize*/,
                                                                                                                                      7097  1 /*numEras*/,
                                                                                                                                      7098  kZoneEraEurope_Bucharest /*eras*/,
                                                                                                                                      7099 };
                                                                                                                                      7100 
                                                                                                                                      7101 //---------------------------------------------------------------------------
                                                                                                                                      7102 // Zone name: Europe/Budapest
                                                                                                                                      7103 // Zone Eras: 1
                                                                                                                                      7104 // Strings (bytes): 21
                                                                                                                                      7105 // Memory (8-bit): 44
                                                                                                                                      7106 // Memory (32-bit): 57
                                                                                                                                      7107 //---------------------------------------------------------------------------
                                                                                                                                      7108 
                                                                                                                                      7109 static const basic::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
                                                                                                                                      7110  // 1:00 EU CE%sT
                                                                                                                                      7111  {
                                                                                                                                      7112  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7113  "CE%T" /*format*/,
                                                                                                                                      7114  4 /*offsetCode*/,
                                                                                                                                      7115  0 /*deltaCode*/,
                                                                                                                                      7116  127 /*untilYearTiny*/,
                                                                                                                                      7117  1 /*untilMonth*/,
                                                                                                                                      7118  1 /*untilDay*/,
                                                                                                                                      7119  0 /*untilTimeCode*/,
                                                                                                                                      7120  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7121  },
                                                                                                                                      7122 
                                                                                                                                      7123 };
                                                                                                                                      7124 
                                                                                                                                      7125 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "Europe/Budapest";
                                                                                                                                      7126 
                                                                                                                                      7127 const basic::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
                                                                                                                                      7128  kZoneNameEurope_Budapest /*name*/,
                                                                                                                                      7129  0x9ce0197c /*zoneId*/,
                                                                                                                                      7130  &kZoneContext /*zoneContext*/,
                                                                                                                                      7131  5 /*transitionBufSize*/,
                                                                                                                                      7132  1 /*numEras*/,
                                                                                                                                      7133  kZoneEraEurope_Budapest /*eras*/,
                                                                                                                                      7134 };
                                                                                                                                      7135 
                                                                                                                                      7136 //---------------------------------------------------------------------------
                                                                                                                                      7137 // Zone name: Europe/Chisinau
                                                                                                                                      7138 // Zone Eras: 1
                                                                                                                                      7139 // Strings (bytes): 21
                                                                                                                                      7140 // Memory (8-bit): 44
                                                                                                                                      7141 // Memory (32-bit): 57
                                                                                                                                      7142 //---------------------------------------------------------------------------
                                                                                                                                      7143 
                                                                                                                                      7144 static const basic::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
                                                                                                                                      7145  // 2:00 Moldova EE%sT
                                                                                                                                      7146  {
                                                                                                                                      7147  &kPolicyMoldova /*zonePolicy*/,
                                                                                                                                      7148  "EE%T" /*format*/,
                                                                                                                                      7149  8 /*offsetCode*/,
                                                                                                                                      7150  0 /*deltaCode*/,
                                                                                                                                      7151  127 /*untilYearTiny*/,
                                                                                                                                      7152  1 /*untilMonth*/,
                                                                                                                                      7153  1 /*untilDay*/,
                                                                                                                                      7154  0 /*untilTimeCode*/,
                                                                                                                                      7155  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7156  },
                                                                                                                                      7157 
                                                                                                                                      7158 };
                                                                                                                                      7159 
                                                                                                                                      7160 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "Europe/Chisinau";
                                                                                                                                      7161 
                                                                                                                                      7162 const basic::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
                                                                                                                                      7163  kZoneNameEurope_Chisinau /*name*/,
                                                                                                                                      7164  0xad58aa18 /*zoneId*/,
                                                                                                                                      7165  &kZoneContext /*zoneContext*/,
                                                                                                                                      7166  5 /*transitionBufSize*/,
                                                                                                                                      7167  1 /*numEras*/,
                                                                                                                                      7168  kZoneEraEurope_Chisinau /*eras*/,
                                                                                                                                      7169 };
                                                                                                                                      7170 
                                                                                                                                      7171 //---------------------------------------------------------------------------
                                                                                                                                      7172 // Zone name: Europe/Copenhagen
                                                                                                                                      7173 // Zone Eras: 1
                                                                                                                                      7174 // Strings (bytes): 23
                                                                                                                                      7175 // Memory (8-bit): 46
                                                                                                                                      7176 // Memory (32-bit): 59
                                                                                                                                      7177 //---------------------------------------------------------------------------
                                                                                                                                      7178 
                                                                                                                                      7179 static const basic::ZoneEra kZoneEraEurope_Copenhagen[] ACE_TIME_PROGMEM = {
                                                                                                                                      7180  // 1:00 EU CE%sT
                                                                                                                                      7181  {
                                                                                                                                      7182  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7183  "CE%T" /*format*/,
                                                                                                                                      7184  4 /*offsetCode*/,
                                                                                                                                      7185  0 /*deltaCode*/,
                                                                                                                                      7186  127 /*untilYearTiny*/,
                                                                                                                                      7187  1 /*untilMonth*/,
                                                                                                                                      7188  1 /*untilDay*/,
                                                                                                                                      7189  0 /*untilTimeCode*/,
                                                                                                                                      7190  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7191  },
                                                                                                                                      7192 
                                                                                                                                      7193 };
                                                                                                                                      7194 
                                                                                                                                      7195 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "Europe/Copenhagen";
                                                                                                                                      7196 
                                                                                                                                      7197 const basic::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
                                                                                                                                      7198  kZoneNameEurope_Copenhagen /*name*/,
                                                                                                                                      7199  0xe0ed30bc /*zoneId*/,
                                                                                                                                      7200  &kZoneContext /*zoneContext*/,
                                                                                                                                      7201  5 /*transitionBufSize*/,
                                                                                                                                      7202  1 /*numEras*/,
                                                                                                                                      7203  kZoneEraEurope_Copenhagen /*eras*/,
                                                                                                                                      7204 };
                                                                                                                                      7205 
                                                                                                                                      7206 //---------------------------------------------------------------------------
                                                                                                                                      7207 // Zone name: Europe/Dublin
                                                                                                                                      7208 // Zone Eras: 1
                                                                                                                                      7209 // Strings (bytes): 22
                                                                                                                                      7210 // Memory (8-bit): 45
                                                                                                                                      7211 // Memory (32-bit): 58
                                                                                                                                      7212 //---------------------------------------------------------------------------
                                                                                                                                      7213 
                                                                                                                                      7214 static const basic::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
                                                                                                                                      7215  // 1:00 Eire IST/GMT
                                                                                                                                      7216  {
                                                                                                                                      7217  &kPolicyEire /*zonePolicy*/,
                                                                                                                                      7218  "IST/GMT" /*format*/,
                                                                                                                                      7219  4 /*offsetCode*/,
                                                                                                                                      7220  0 /*deltaCode*/,
                                                                                                                                      7221  127 /*untilYearTiny*/,
                                                                                                                                      7222  1 /*untilMonth*/,
                                                                                                                                      7223  1 /*untilDay*/,
                                                                                                                                      7224  0 /*untilTimeCode*/,
                                                                                                                                      7225  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7226  },
                                                                                                                                      7227 
                                                                                                                                      7228 };
                                                                                                                                      7229 
                                                                                                                                      7230 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "Europe/Dublin";
                                                                                                                                      7231 
                                                                                                                                      7232 const basic::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
                                                                                                                                      7233  kZoneNameEurope_Dublin /*name*/,
                                                                                                                                      7234  0x4a275f62 /*zoneId*/,
                                                                                                                                      7235  &kZoneContext /*zoneContext*/,
                                                                                                                                      7236  5 /*transitionBufSize*/,
                                                                                                                                      7237  1 /*numEras*/,
                                                                                                                                      7238  kZoneEraEurope_Dublin /*eras*/,
                                                                                                                                      7239 };
                                                                                                                                      7240 
                                                                                                                                      7241 //---------------------------------------------------------------------------
                                                                                                                                      7242 // Zone name: Europe/Gibraltar
                                                                                                                                      7243 // Zone Eras: 1
                                                                                                                                      7244 // Strings (bytes): 22
                                                                                                                                      7245 // Memory (8-bit): 45
                                                                                                                                      7246 // Memory (32-bit): 58
                                                                                                                                      7247 //---------------------------------------------------------------------------
                                                                                                                                      7248 
                                                                                                                                      7249 static const basic::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
                                                                                                                                      7250  // 1:00 EU CE%sT
                                                                                                                                      7251  {
                                                                                                                                      7252  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7253  "CE%T" /*format*/,
                                                                                                                                      7254  4 /*offsetCode*/,
                                                                                                                                      7255  0 /*deltaCode*/,
                                                                                                                                      7256  127 /*untilYearTiny*/,
                                                                                                                                      7257  1 /*untilMonth*/,
                                                                                                                                      7258  1 /*untilDay*/,
                                                                                                                                      7259  0 /*untilTimeCode*/,
                                                                                                                                      7260  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7261  },
                                                                                                                                      7262 
                                                                                                                                      7263 };
                                                                                                                                      7264 
                                                                                                                                      7265 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "Europe/Gibraltar";
                                                                                                                                      7266 
                                                                                                                                      7267 const basic::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
                                                                                                                                      7268  kZoneNameEurope_Gibraltar /*name*/,
                                                                                                                                      7269  0xf8e325fc /*zoneId*/,
                                                                                                                                      7270  &kZoneContext /*zoneContext*/,
                                                                                                                                      7271  5 /*transitionBufSize*/,
                                                                                                                                      7272  1 /*numEras*/,
                                                                                                                                      7273  kZoneEraEurope_Gibraltar /*eras*/,
                                                                                                                                      7274 };
                                                                                                                                      7275 
                                                                                                                                      7276 //---------------------------------------------------------------------------
                                                                                                                                      7277 // Zone name: Europe/Helsinki
                                                                                                                                      7278 // Zone Eras: 1
                                                                                                                                      7279 // Strings (bytes): 21
                                                                                                                                      7280 // Memory (8-bit): 44
                                                                                                                                      7281 // Memory (32-bit): 57
                                                                                                                                      7282 //---------------------------------------------------------------------------
                                                                                                                                      7283 
                                                                                                                                      7284 static const basic::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
                                                                                                                                      7285  // 2:00 EU EE%sT
                                                                                                                                      7286  {
                                                                                                                                      7287  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7288  "EE%T" /*format*/,
                                                                                                                                      7289  8 /*offsetCode*/,
                                                                                                                                      7290  0 /*deltaCode*/,
                                                                                                                                      7291  127 /*untilYearTiny*/,
                                                                                                                                      7292  1 /*untilMonth*/,
                                                                                                                                      7293  1 /*untilDay*/,
                                                                                                                                      7294  0 /*untilTimeCode*/,
                                                                                                                                      7295  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7296  },
                                                                                                                                      7297 
                                                                                                                                      7298 };
                                                                                                                                      7299 
                                                                                                                                      7300 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "Europe/Helsinki";
                                                                                                                                      7301 
                                                                                                                                      7302 const basic::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
                                                                                                                                      7303  kZoneNameEurope_Helsinki /*name*/,
                                                                                                                                      7304  0x6ab2975b /*zoneId*/,
                                                                                                                                      7305  &kZoneContext /*zoneContext*/,
                                                                                                                                      7306  5 /*transitionBufSize*/,
                                                                                                                                      7307  1 /*numEras*/,
                                                                                                                                      7308  kZoneEraEurope_Helsinki /*eras*/,
                                                                                                                                      7309 };
                                                                                                                                      7310 
                                                                                                                                      7311 //---------------------------------------------------------------------------
                                                                                                                                      7312 // Zone name: Europe/Kiev
                                                                                                                                      7313 // Zone Eras: 1
                                                                                                                                      7314 // Strings (bytes): 17
                                                                                                                                      7315 // Memory (8-bit): 40
                                                                                                                                      7316 // Memory (32-bit): 53
                                                                                                                                      7317 //---------------------------------------------------------------------------
                                                                                                                                      7318 
                                                                                                                                      7319 static const basic::ZoneEra kZoneEraEurope_Kiev[] ACE_TIME_PROGMEM = {
                                                                                                                                      7320  // 2:00 EU EE%sT
                                                                                                                                      7321  {
                                                                                                                                      7322  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7323  "EE%T" /*format*/,
                                                                                                                                      7324  8 /*offsetCode*/,
                                                                                                                                      7325  0 /*deltaCode*/,
                                                                                                                                      7326  127 /*untilYearTiny*/,
                                                                                                                                      7327  1 /*untilMonth*/,
                                                                                                                                      7328  1 /*untilDay*/,
                                                                                                                                      7329  0 /*untilTimeCode*/,
                                                                                                                                      7330  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7331  },
                                                                                                                                      7332 
                                                                                                                                      7333 };
                                                                                                                                      7334 
                                                                                                                                      7335 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "Europe/Kiev";
                                                                                                                                      7336 
                                                                                                                                      7337 const basic::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
                                                                                                                                      7338  kZoneNameEurope_Kiev /*name*/,
                                                                                                                                      7339  0xa2c19eb3 /*zoneId*/,
                                                                                                                                      7340  &kZoneContext /*zoneContext*/,
                                                                                                                                      7341  5 /*transitionBufSize*/,
                                                                                                                                      7342  1 /*numEras*/,
                                                                                                                                      7343  kZoneEraEurope_Kiev /*eras*/,
                                                                                                                                      7344 };
                                                                                                                                      7345 
                                                                                                                                      7346 //---------------------------------------------------------------------------
                                                                                                                                      7347 // Zone name: Europe/Lisbon
                                                                                                                                      7348 // Zone Eras: 1
                                                                                                                                      7349 // Strings (bytes): 19
                                                                                                                                      7350 // Memory (8-bit): 42
                                                                                                                                      7351 // Memory (32-bit): 55
                                                                                                                                      7352 //---------------------------------------------------------------------------
                                                                                                                                      7353 
                                                                                                                                      7354 static const basic::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
                                                                                                                                      7355  // 0:00 EU WE%sT
                                                                                                                                      7356  {
                                                                                                                                      7357  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7358  "WE%T" /*format*/,
                                                                                                                                      7359  0 /*offsetCode*/,
                                                                                                                                      7360  0 /*deltaCode*/,
                                                                                                                                      7361  127 /*untilYearTiny*/,
                                                                                                                                      7362  1 /*untilMonth*/,
                                                                                                                                      7363  1 /*untilDay*/,
                                                                                                                                      7364  0 /*untilTimeCode*/,
                                                                                                                                      7365  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7366  },
                                                                                                                                      7367 
                                                                                                                                      7368 };
                                                                                                                                      7369 
                                                                                                                                      7370 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "Europe/Lisbon";
                                                                                                                                      7371 
                                                                                                                                      7372 const basic::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
                                                                                                                                      7373  kZoneNameEurope_Lisbon /*name*/,
                                                                                                                                      7374  0x5c00a70b /*zoneId*/,
                                                                                                                                      7375  &kZoneContext /*zoneContext*/,
                                                                                                                                      7376  5 /*transitionBufSize*/,
                                                                                                                                      7377  1 /*numEras*/,
                                                                                                                                      7378  kZoneEraEurope_Lisbon /*eras*/,
                                                                                                                                      7379 };
                                                                                                                                      7380 
                                                                                                                                      7381 //---------------------------------------------------------------------------
                                                                                                                                      7382 // Zone name: Europe/London
                                                                                                                                      7383 // Zone Eras: 1
                                                                                                                                      7384 // Strings (bytes): 22
                                                                                                                                      7385 // Memory (8-bit): 45
                                                                                                                                      7386 // Memory (32-bit): 58
                                                                                                                                      7387 //---------------------------------------------------------------------------
                                                                                                                                      7388 
                                                                                                                                      7389 static const basic::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
                                                                                                                                      7390  // 0:00 EU GMT/BST
                                                                                                                                      7391  {
                                                                                                                                      7392  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7393  "GMT/BST" /*format*/,
                                                                                                                                      7394  0 /*offsetCode*/,
                                                                                                                                      7395  0 /*deltaCode*/,
                                                                                                                                      7396  127 /*untilYearTiny*/,
                                                                                                                                      7397  1 /*untilMonth*/,
                                                                                                                                      7398  1 /*untilDay*/,
                                                                                                                                      7399  0 /*untilTimeCode*/,
                                                                                                                                      7400  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7401  },
                                                                                                                                      7402 
                                                                                                                                      7403 };
                                                                                                                                      7404 
                                                                                                                                      7405 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "Europe/London";
                                                                                                                                      7406 
                                                                                                                                      7407 const basic::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
                                                                                                                                      7408  kZoneNameEurope_London /*name*/,
                                                                                                                                      7409  0x5c6a84ae /*zoneId*/,
                                                                                                                                      7410  &kZoneContext /*zoneContext*/,
                                                                                                                                      7411  5 /*transitionBufSize*/,
                                                                                                                                      7412  1 /*numEras*/,
                                                                                                                                      7413  kZoneEraEurope_London /*eras*/,
                                                                                                                                      7414 };
                                                                                                                                      7415 
                                                                                                                                      7416 //---------------------------------------------------------------------------
                                                                                                                                      7417 // Zone name: Europe/Luxembourg
                                                                                                                                      7418 // Zone Eras: 1
                                                                                                                                      7419 // Strings (bytes): 23
                                                                                                                                      7420 // Memory (8-bit): 46
                                                                                                                                      7421 // Memory (32-bit): 59
                                                                                                                                      7422 //---------------------------------------------------------------------------
                                                                                                                                      7423 
                                                                                                                                      7424 static const basic::ZoneEra kZoneEraEurope_Luxembourg[] ACE_TIME_PROGMEM = {
                                                                                                                                      7425  // 1:00 EU CE%sT
                                                                                                                                      7426  {
                                                                                                                                      7427  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7428  "CE%T" /*format*/,
                                                                                                                                      7429  4 /*offsetCode*/,
                                                                                                                                      7430  0 /*deltaCode*/,
                                                                                                                                      7431  127 /*untilYearTiny*/,
                                                                                                                                      7432  1 /*untilMonth*/,
                                                                                                                                      7433  1 /*untilDay*/,
                                                                                                                                      7434  0 /*untilTimeCode*/,
                                                                                                                                      7435  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7436  },
                                                                                                                                      7437 
                                                                                                                                      7438 };
                                                                                                                                      7439 
                                                                                                                                      7440 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "Europe/Luxembourg";
                                                                                                                                      7441 
                                                                                                                                      7442 const basic::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
                                                                                                                                      7443  kZoneNameEurope_Luxembourg /*name*/,
                                                                                                                                      7444  0x1f8bc6ce /*zoneId*/,
                                                                                                                                      7445  &kZoneContext /*zoneContext*/,
                                                                                                                                      7446  5 /*transitionBufSize*/,
                                                                                                                                      7447  1 /*numEras*/,
                                                                                                                                      7448  kZoneEraEurope_Luxembourg /*eras*/,
                                                                                                                                      7449 };
                                                                                                                                      7450 
                                                                                                                                      7451 //---------------------------------------------------------------------------
                                                                                                                                      7452 // Zone name: Europe/Madrid
                                                                                                                                      7453 // Zone Eras: 1
                                                                                                                                      7454 // Strings (bytes): 19
                                                                                                                                      7455 // Memory (8-bit): 42
                                                                                                                                      7456 // Memory (32-bit): 55
                                                                                                                                      7457 //---------------------------------------------------------------------------
                                                                                                                                      7458 
                                                                                                                                      7459 static const basic::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
                                                                                                                                      7460  // 1:00 EU CE%sT
                                                                                                                                      7461  {
                                                                                                                                      7462  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7463  "CE%T" /*format*/,
                                                                                                                                      7464  4 /*offsetCode*/,
                                                                                                                                      7465  0 /*deltaCode*/,
                                                                                                                                      7466  127 /*untilYearTiny*/,
                                                                                                                                      7467  1 /*untilMonth*/,
                                                                                                                                      7468  1 /*untilDay*/,
                                                                                                                                      7469  0 /*untilTimeCode*/,
                                                                                                                                      7470  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7471  },
                                                                                                                                      7472 
                                                                                                                                      7473 };
                                                                                                                                      7474 
                                                                                                                                      7475 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "Europe/Madrid";
                                                                                                                                      7476 
                                                                                                                                      7477 const basic::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
                                                                                                                                      7478  kZoneNameEurope_Madrid /*name*/,
                                                                                                                                      7479  0x5dbd1535 /*zoneId*/,
                                                                                                                                      7480  &kZoneContext /*zoneContext*/,
                                                                                                                                      7481  5 /*transitionBufSize*/,
                                                                                                                                      7482  1 /*numEras*/,
                                                                                                                                      7483  kZoneEraEurope_Madrid /*eras*/,
                                                                                                                                      7484 };
                                                                                                                                      7485 
                                                                                                                                      7486 //---------------------------------------------------------------------------
                                                                                                                                      7487 // Zone name: Europe/Malta
                                                                                                                                      7488 // Zone Eras: 1
                                                                                                                                      7489 // Strings (bytes): 18
                                                                                                                                      7490 // Memory (8-bit): 41
                                                                                                                                      7491 // Memory (32-bit): 54
                                                                                                                                      7492 //---------------------------------------------------------------------------
                                                                                                                                      7493 
                                                                                                                                      7494 static const basic::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
                                                                                                                                      7495  // 1:00 EU CE%sT
                                                                                                                                      7496  {
                                                                                                                                      7497  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7498  "CE%T" /*format*/,
                                                                                                                                      7499  4 /*offsetCode*/,
                                                                                                                                      7500  0 /*deltaCode*/,
                                                                                                                                      7501  127 /*untilYearTiny*/,
                                                                                                                                      7502  1 /*untilMonth*/,
                                                                                                                                      7503  1 /*untilDay*/,
                                                                                                                                      7504  0 /*untilTimeCode*/,
                                                                                                                                      7505  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7506  },
                                                                                                                                      7507 
                                                                                                                                      7508 };
                                                                                                                                      7509 
                                                                                                                                      7510 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "Europe/Malta";
                                                                                                                                      7511 
                                                                                                                                      7512 const basic::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
                                                                                                                                      7513  kZoneNameEurope_Malta /*name*/,
                                                                                                                                      7514  0xfb1560f3 /*zoneId*/,
                                                                                                                                      7515  &kZoneContext /*zoneContext*/,
                                                                                                                                      7516  5 /*transitionBufSize*/,
                                                                                                                                      7517  1 /*numEras*/,
                                                                                                                                      7518  kZoneEraEurope_Malta /*eras*/,
                                                                                                                                      7519 };
                                                                                                                                      7520 
                                                                                                                                      7521 //---------------------------------------------------------------------------
                                                                                                                                      7522 // Zone name: Europe/Monaco
                                                                                                                                      7523 // Zone Eras: 1
                                                                                                                                      7524 // Strings (bytes): 19
                                                                                                                                      7525 // Memory (8-bit): 42
                                                                                                                                      7526 // Memory (32-bit): 55
                                                                                                                                      7527 //---------------------------------------------------------------------------
                                                                                                                                      7528 
                                                                                                                                      7529 static const basic::ZoneEra kZoneEraEurope_Monaco[] ACE_TIME_PROGMEM = {
                                                                                                                                      7530  // 1:00 EU CE%sT
                                                                                                                                      7531  {
                                                                                                                                      7532  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7533  "CE%T" /*format*/,
                                                                                                                                      7534  4 /*offsetCode*/,
                                                                                                                                      7535  0 /*deltaCode*/,
                                                                                                                                      7536  127 /*untilYearTiny*/,
                                                                                                                                      7537  1 /*untilMonth*/,
                                                                                                                                      7538  1 /*untilDay*/,
                                                                                                                                      7539  0 /*untilTimeCode*/,
                                                                                                                                      7540  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7541  },
                                                                                                                                      7542 
                                                                                                                                      7543 };
                                                                                                                                      7544 
                                                                                                                                      7545 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "Europe/Monaco";
                                                                                                                                      7546 
                                                                                                                                      7547 const basic::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
                                                                                                                                      7548  kZoneNameEurope_Monaco /*name*/,
                                                                                                                                      7549  0x5ebf9f01 /*zoneId*/,
                                                                                                                                      7550  &kZoneContext /*zoneContext*/,
                                                                                                                                      7551  5 /*transitionBufSize*/,
                                                                                                                                      7552  1 /*numEras*/,
                                                                                                                                      7553  kZoneEraEurope_Monaco /*eras*/,
                                                                                                                                      7554 };
                                                                                                                                      7555 
                                                                                                                                      7556 //---------------------------------------------------------------------------
                                                                                                                                      7557 // Zone name: Europe/Oslo
                                                                                                                                      7558 // Zone Eras: 1
                                                                                                                                      7559 // Strings (bytes): 17
                                                                                                                                      7560 // Memory (8-bit): 40
                                                                                                                                      7561 // Memory (32-bit): 53
                                                                                                                                      7562 //---------------------------------------------------------------------------
                                                                                                                                      7563 
                                                                                                                                      7564 static const basic::ZoneEra kZoneEraEurope_Oslo[] ACE_TIME_PROGMEM = {
                                                                                                                                      7565  // 1:00 EU CE%sT
                                                                                                                                      7566  {
                                                                                                                                      7567  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7568  "CE%T" /*format*/,
                                                                                                                                      7569  4 /*offsetCode*/,
                                                                                                                                      7570  0 /*deltaCode*/,
                                                                                                                                      7571  127 /*untilYearTiny*/,
                                                                                                                                      7572  1 /*untilMonth*/,
                                                                                                                                      7573  1 /*untilDay*/,
                                                                                                                                      7574  0 /*untilTimeCode*/,
                                                                                                                                      7575  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7576  },
                                                                                                                                      7577 
                                                                                                                                      7578 };
                                                                                                                                      7579 
                                                                                                                                      7580 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "Europe/Oslo";
                                                                                                                                      7581 
                                                                                                                                      7582 const basic::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
                                                                                                                                      7583  kZoneNameEurope_Oslo /*name*/,
                                                                                                                                      7584  0xa2c3fba1 /*zoneId*/,
                                                                                                                                      7585  &kZoneContext /*zoneContext*/,
                                                                                                                                      7586  5 /*transitionBufSize*/,
                                                                                                                                      7587  1 /*numEras*/,
                                                                                                                                      7588  kZoneEraEurope_Oslo /*eras*/,
                                                                                                                                      7589 };
                                                                                                                                      7590 
                                                                                                                                      7591 //---------------------------------------------------------------------------
                                                                                                                                      7592 // Zone name: Europe/Paris
                                                                                                                                      7593 // Zone Eras: 1
                                                                                                                                      7594 // Strings (bytes): 18
                                                                                                                                      7595 // Memory (8-bit): 41
                                                                                                                                      7596 // Memory (32-bit): 54
                                                                                                                                      7597 //---------------------------------------------------------------------------
                                                                                                                                      7598 
                                                                                                                                      7599 static const basic::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
                                                                                                                                      7600  // 1:00 EU CE%sT
                                                                                                                                      7601  {
                                                                                                                                      7602  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7603  "CE%T" /*format*/,
                                                                                                                                      7604  4 /*offsetCode*/,
                                                                                                                                      7605  0 /*deltaCode*/,
                                                                                                                                      7606  127 /*untilYearTiny*/,
                                                                                                                                      7607  1 /*untilMonth*/,
                                                                                                                                      7608  1 /*untilDay*/,
                                                                                                                                      7609  0 /*untilTimeCode*/,
                                                                                                                                      7610  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7611  },
                                                                                                                                      7612 
                                                                                                                                      7613 };
                                                                                                                                      7614 
                                                                                                                                      7615 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "Europe/Paris";
                                                                                                                                      7616 
                                                                                                                                      7617 const basic::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
                                                                                                                                      7618  kZoneNameEurope_Paris /*name*/,
                                                                                                                                      7619  0xfb4bc2a3 /*zoneId*/,
                                                                                                                                      7620  &kZoneContext /*zoneContext*/,
                                                                                                                                      7621  5 /*transitionBufSize*/,
                                                                                                                                      7622  1 /*numEras*/,
                                                                                                                                      7623  kZoneEraEurope_Paris /*eras*/,
                                                                                                                                      7624 };
                                                                                                                                      7625 
                                                                                                                                      7626 //---------------------------------------------------------------------------
                                                                                                                                      7627 // Zone name: Europe/Prague
                                                                                                                                      7628 // Zone Eras: 1
                                                                                                                                      7629 // Strings (bytes): 19
                                                                                                                                      7630 // Memory (8-bit): 42
                                                                                                                                      7631 // Memory (32-bit): 55
                                                                                                                                      7632 //---------------------------------------------------------------------------
                                                                                                                                      7633 
                                                                                                                                      7634 static const basic::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
                                                                                                                                      7635  // 1:00 EU CE%sT
                                                                                                                                      7636  {
                                                                                                                                      7637  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7638  "CE%T" /*format*/,
                                                                                                                                      7639  4 /*offsetCode*/,
                                                                                                                                      7640  0 /*deltaCode*/,
                                                                                                                                      7641  127 /*untilYearTiny*/,
                                                                                                                                      7642  1 /*untilMonth*/,
                                                                                                                                      7643  1 /*untilDay*/,
                                                                                                                                      7644  0 /*untilTimeCode*/,
                                                                                                                                      7645  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7646  },
                                                                                                                                      7647 
                                                                                                                                      7648 };
                                                                                                                                      7649 
                                                                                                                                      7650 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "Europe/Prague";
                                                                                                                                      7651 
                                                                                                                                      7652 const basic::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
                                                                                                                                      7653  kZoneNameEurope_Prague /*name*/,
                                                                                                                                      7654  0x65ee5d48 /*zoneId*/,
                                                                                                                                      7655  &kZoneContext /*zoneContext*/,
                                                                                                                                      7656  5 /*transitionBufSize*/,
                                                                                                                                      7657  1 /*numEras*/,
                                                                                                                                      7658  kZoneEraEurope_Prague /*eras*/,
                                                                                                                                      7659 };
                                                                                                                                      7660 
                                                                                                                                      7661 //---------------------------------------------------------------------------
                                                                                                                                      7662 // Zone name: Europe/Rome
                                                                                                                                      7663 // Zone Eras: 1
                                                                                                                                      7664 // Strings (bytes): 17
                                                                                                                                      7665 // Memory (8-bit): 40
                                                                                                                                      7666 // Memory (32-bit): 53
                                                                                                                                      7667 //---------------------------------------------------------------------------
                                                                                                                                      7668 
                                                                                                                                      7669 static const basic::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
                                                                                                                                      7670  // 1:00 EU CE%sT
                                                                                                                                      7671  {
                                                                                                                                      7672  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7673  "CE%T" /*format*/,
                                                                                                                                      7674  4 /*offsetCode*/,
                                                                                                                                      7675  0 /*deltaCode*/,
                                                                                                                                      7676  127 /*untilYearTiny*/,
                                                                                                                                      7677  1 /*untilMonth*/,
                                                                                                                                      7678  1 /*untilDay*/,
                                                                                                                                      7679  0 /*untilTimeCode*/,
                                                                                                                                      7680  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7681  },
                                                                                                                                      7682 
                                                                                                                                      7683 };
                                                                                                                                      7684 
                                                                                                                                      7685 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "Europe/Rome";
                                                                                                                                      7686 
                                                                                                                                      7687 const basic::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
                                                                                                                                      7688  kZoneNameEurope_Rome /*name*/,
                                                                                                                                      7689  0xa2c58fd7 /*zoneId*/,
                                                                                                                                      7690  &kZoneContext /*zoneContext*/,
                                                                                                                                      7691  5 /*transitionBufSize*/,
                                                                                                                                      7692  1 /*numEras*/,
                                                                                                                                      7693  kZoneEraEurope_Rome /*eras*/,
                                                                                                                                      7694 };
                                                                                                                                      7695 
                                                                                                                                      7696 //---------------------------------------------------------------------------
                                                                                                                                      7697 // Zone name: Europe/Sofia
                                                                                                                                      7698 // Zone Eras: 1
                                                                                                                                      7699 // Strings (bytes): 18
                                                                                                                                      7700 // Memory (8-bit): 41
                                                                                                                                      7701 // Memory (32-bit): 54
                                                                                                                                      7702 //---------------------------------------------------------------------------
                                                                                                                                      7703 
                                                                                                                                      7704 static const basic::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
                                                                                                                                      7705  // 2:00 EU EE%sT
                                                                                                                                      7706  {
                                                                                                                                      7707  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7708  "EE%T" /*format*/,
                                                                                                                                      7709  8 /*offsetCode*/,
                                                                                                                                      7710  0 /*deltaCode*/,
                                                                                                                                      7711  127 /*untilYearTiny*/,
                                                                                                                                      7712  1 /*untilMonth*/,
                                                                                                                                      7713  1 /*untilDay*/,
                                                                                                                                      7714  0 /*untilTimeCode*/,
                                                                                                                                      7715  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7716  },
                                                                                                                                      7717 
                                                                                                                                      7718 };
                                                                                                                                      7719 
                                                                                                                                      7720 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "Europe/Sofia";
                                                                                                                                      7721 
                                                                                                                                      7722 const basic::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
                                                                                                                                      7723  kZoneNameEurope_Sofia /*name*/,
                                                                                                                                      7724  0xfb898656 /*zoneId*/,
                                                                                                                                      7725  &kZoneContext /*zoneContext*/,
                                                                                                                                      7726  5 /*transitionBufSize*/,
                                                                                                                                      7727  1 /*numEras*/,
                                                                                                                                      7728  kZoneEraEurope_Sofia /*eras*/,
                                                                                                                                      7729 };
                                                                                                                                      7730 
                                                                                                                                      7731 //---------------------------------------------------------------------------
                                                                                                                                      7732 // Zone name: Europe/Stockholm
                                                                                                                                      7733 // Zone Eras: 1
                                                                                                                                      7734 // Strings (bytes): 22
                                                                                                                                      7735 // Memory (8-bit): 45
                                                                                                                                      7736 // Memory (32-bit): 58
                                                                                                                                      7737 //---------------------------------------------------------------------------
                                                                                                                                      7738 
                                                                                                                                      7739 static const basic::ZoneEra kZoneEraEurope_Stockholm[] ACE_TIME_PROGMEM = {
                                                                                                                                      7740  // 1:00 EU CE%sT
                                                                                                                                      7741  {
                                                                                                                                      7742  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7743  "CE%T" /*format*/,
                                                                                                                                      7744  4 /*offsetCode*/,
                                                                                                                                      7745  0 /*deltaCode*/,
                                                                                                                                      7746  127 /*untilYearTiny*/,
                                                                                                                                      7747  1 /*untilMonth*/,
                                                                                                                                      7748  1 /*untilDay*/,
                                                                                                                                      7749  0 /*untilTimeCode*/,
                                                                                                                                      7750  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7751  },
                                                                                                                                      7752 
                                                                                                                                      7753 };
                                                                                                                                      7754 
                                                                                                                                      7755 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "Europe/Stockholm";
                                                                                                                                      7756 
                                                                                                                                      7757 const basic::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
                                                                                                                                      7758  kZoneNameEurope_Stockholm /*name*/,
                                                                                                                                      7759  0x5bf6fbb8 /*zoneId*/,
                                                                                                                                      7760  &kZoneContext /*zoneContext*/,
                                                                                                                                      7761  5 /*transitionBufSize*/,
                                                                                                                                      7762  1 /*numEras*/,
                                                                                                                                      7763  kZoneEraEurope_Stockholm /*eras*/,
                                                                                                                                      7764 };
                                                                                                                                      7765 
                                                                                                                                      7766 //---------------------------------------------------------------------------
                                                                                                                                      7767 // Zone name: Europe/Tirane
                                                                                                                                      7768 // Zone Eras: 1
                                                                                                                                      7769 // Strings (bytes): 19
                                                                                                                                      7770 // Memory (8-bit): 42
                                                                                                                                      7771 // Memory (32-bit): 55
                                                                                                                                      7772 //---------------------------------------------------------------------------
                                                                                                                                      7773 
                                                                                                                                      7774 static const basic::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
                                                                                                                                      7775  // 1:00 EU CE%sT
                                                                                                                                      7776  {
                                                                                                                                      7777  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7778  "CE%T" /*format*/,
                                                                                                                                      7779  4 /*offsetCode*/,
                                                                                                                                      7780  0 /*deltaCode*/,
                                                                                                                                      7781  127 /*untilYearTiny*/,
                                                                                                                                      7782  1 /*untilMonth*/,
                                                                                                                                      7783  1 /*untilDay*/,
                                                                                                                                      7784  0 /*untilTimeCode*/,
                                                                                                                                      7785  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7786  },
                                                                                                                                      7787 
                                                                                                                                      7788 };
                                                                                                                                      7789 
                                                                                                                                      7790 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "Europe/Tirane";
                                                                                                                                      7791 
                                                                                                                                      7792 const basic::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
                                                                                                                                      7793  kZoneNameEurope_Tirane /*name*/,
                                                                                                                                      7794  0x6ea95b47 /*zoneId*/,
                                                                                                                                      7795  &kZoneContext /*zoneContext*/,
                                                                                                                                      7796  5 /*transitionBufSize*/,
                                                                                                                                      7797  1 /*numEras*/,
                                                                                                                                      7798  kZoneEraEurope_Tirane /*eras*/,
                                                                                                                                      7799 };
                                                                                                                                      7800 
                                                                                                                                      7801 //---------------------------------------------------------------------------
                                                                                                                                      7802 // Zone name: Europe/Uzhgorod
                                                                                                                                      7803 // Zone Eras: 1
                                                                                                                                      7804 // Strings (bytes): 21
                                                                                                                                      7805 // Memory (8-bit): 44
                                                                                                                                      7806 // Memory (32-bit): 57
                                                                                                                                      7807 //---------------------------------------------------------------------------
                                                                                                                                      7808 
                                                                                                                                      7809 static const basic::ZoneEra kZoneEraEurope_Uzhgorod[] ACE_TIME_PROGMEM = {
                                                                                                                                      7810  // 2:00 EU EE%sT
                                                                                                                                      7811  {
                                                                                                                                      7812  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7813  "EE%T" /*format*/,
                                                                                                                                      7814  8 /*offsetCode*/,
                                                                                                                                      7815  0 /*deltaCode*/,
                                                                                                                                      7816  127 /*untilYearTiny*/,
                                                                                                                                      7817  1 /*untilMonth*/,
                                                                                                                                      7818  1 /*untilDay*/,
                                                                                                                                      7819  0 /*untilTimeCode*/,
                                                                                                                                      7820  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7821  },
                                                                                                                                      7822 
                                                                                                                                      7823 };
                                                                                                                                      7824 
                                                                                                                                      7825 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "Europe/Uzhgorod";
                                                                                                                                      7826 
                                                                                                                                      7827 const basic::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
                                                                                                                                      7828  kZoneNameEurope_Uzhgorod /*name*/,
                                                                                                                                      7829  0xb066f5d6 /*zoneId*/,
                                                                                                                                      7830  &kZoneContext /*zoneContext*/,
                                                                                                                                      7831  5 /*transitionBufSize*/,
                                                                                                                                      7832  1 /*numEras*/,
                                                                                                                                      7833  kZoneEraEurope_Uzhgorod /*eras*/,
                                                                                                                                      7834 };
                                                                                                                                      7835 
                                                                                                                                      7836 //---------------------------------------------------------------------------
                                                                                                                                      7837 // Zone name: Europe/Vienna
                                                                                                                                      7838 // Zone Eras: 1
                                                                                                                                      7839 // Strings (bytes): 19
                                                                                                                                      7840 // Memory (8-bit): 42
                                                                                                                                      7841 // Memory (32-bit): 55
                                                                                                                                      7842 //---------------------------------------------------------------------------
                                                                                                                                      7843 
                                                                                                                                      7844 static const basic::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
                                                                                                                                      7845  // 1:00 EU CE%sT
                                                                                                                                      7846  {
                                                                                                                                      7847  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7848  "CE%T" /*format*/,
                                                                                                                                      7849  4 /*offsetCode*/,
                                                                                                                                      7850  0 /*deltaCode*/,
                                                                                                                                      7851  127 /*untilYearTiny*/,
                                                                                                                                      7852  1 /*untilMonth*/,
                                                                                                                                      7853  1 /*untilDay*/,
                                                                                                                                      7854  0 /*untilTimeCode*/,
                                                                                                                                      7855  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7856  },
                                                                                                                                      7857 
                                                                                                                                      7858 };
                                                                                                                                      7859 
                                                                                                                                      7860 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "Europe/Vienna";
                                                                                                                                      7861 
                                                                                                                                      7862 const basic::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
                                                                                                                                      7863  kZoneNameEurope_Vienna /*name*/,
                                                                                                                                      7864  0x734cc2e5 /*zoneId*/,
                                                                                                                                      7865  &kZoneContext /*zoneContext*/,
                                                                                                                                      7866  5 /*transitionBufSize*/,
                                                                                                                                      7867  1 /*numEras*/,
                                                                                                                                      7868  kZoneEraEurope_Vienna /*eras*/,
                                                                                                                                      7869 };
                                                                                                                                      7870 
                                                                                                                                      7871 //---------------------------------------------------------------------------
                                                                                                                                      7872 // Zone name: Europe/Warsaw
                                                                                                                                      7873 // Zone Eras: 1
                                                                                                                                      7874 // Strings (bytes): 19
                                                                                                                                      7875 // Memory (8-bit): 42
                                                                                                                                      7876 // Memory (32-bit): 55
                                                                                                                                      7877 //---------------------------------------------------------------------------
                                                                                                                                      7878 
                                                                                                                                      7879 static const basic::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
                                                                                                                                      7880  // 1:00 EU CE%sT
                                                                                                                                      7881  {
                                                                                                                                      7882  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7883  "CE%T" /*format*/,
                                                                                                                                      7884  4 /*offsetCode*/,
                                                                                                                                      7885  0 /*deltaCode*/,
                                                                                                                                      7886  127 /*untilYearTiny*/,
                                                                                                                                      7887  1 /*untilMonth*/,
                                                                                                                                      7888  1 /*untilDay*/,
                                                                                                                                      7889  0 /*untilTimeCode*/,
                                                                                                                                      7890  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7891  },
                                                                                                                                      7892 
                                                                                                                                      7893 };
                                                                                                                                      7894 
                                                                                                                                      7895 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "Europe/Warsaw";
                                                                                                                                      7896 
                                                                                                                                      7897 const basic::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
                                                                                                                                      7898  kZoneNameEurope_Warsaw /*name*/,
                                                                                                                                      7899  0x75185c19 /*zoneId*/,
                                                                                                                                      7900  &kZoneContext /*zoneContext*/,
                                                                                                                                      7901  5 /*transitionBufSize*/,
                                                                                                                                      7902  1 /*numEras*/,
                                                                                                                                      7903  kZoneEraEurope_Warsaw /*eras*/,
                                                                                                                                      7904 };
                                                                                                                                      7905 
                                                                                                                                      7906 //---------------------------------------------------------------------------
                                                                                                                                      7907 // Zone name: Europe/Zaporozhye
                                                                                                                                      7908 // Zone Eras: 1
                                                                                                                                      7909 // Strings (bytes): 23
                                                                                                                                      7910 // Memory (8-bit): 46
                                                                                                                                      7911 // Memory (32-bit): 59
                                                                                                                                      7912 //---------------------------------------------------------------------------
                                                                                                                                      7913 
                                                                                                                                      7914 static const basic::ZoneEra kZoneEraEurope_Zaporozhye[] ACE_TIME_PROGMEM = {
                                                                                                                                      7915  // 2:00 EU EE%sT
                                                                                                                                      7916  {
                                                                                                                                      7917  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7918  "EE%T" /*format*/,
                                                                                                                                      7919  8 /*offsetCode*/,
                                                                                                                                      7920  0 /*deltaCode*/,
                                                                                                                                      7921  127 /*untilYearTiny*/,
                                                                                                                                      7922  1 /*untilMonth*/,
                                                                                                                                      7923  1 /*untilDay*/,
                                                                                                                                      7924  0 /*untilTimeCode*/,
                                                                                                                                      7925  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7926  },
                                                                                                                                      7927 
                                                                                                                                      7928 };
                                                                                                                                      7929 
                                                                                                                                      7930 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "Europe/Zaporozhye";
                                                                                                                                      7931 
                                                                                                                                      7932 const basic::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
                                                                                                                                      7933  kZoneNameEurope_Zaporozhye /*name*/,
                                                                                                                                      7934  0xeab9767f /*zoneId*/,
                                                                                                                                      7935  &kZoneContext /*zoneContext*/,
                                                                                                                                      7936  5 /*transitionBufSize*/,
                                                                                                                                      7937  1 /*numEras*/,
                                                                                                                                      7938  kZoneEraEurope_Zaporozhye /*eras*/,
                                                                                                                                      7939 };
                                                                                                                                      7940 
                                                                                                                                      7941 //---------------------------------------------------------------------------
                                                                                                                                      7942 // Zone name: Europe/Zurich
                                                                                                                                      7943 // Zone Eras: 1
                                                                                                                                      7944 // Strings (bytes): 19
                                                                                                                                      7945 // Memory (8-bit): 42
                                                                                                                                      7946 // Memory (32-bit): 55
                                                                                                                                      7947 //---------------------------------------------------------------------------
                                                                                                                                      7948 
                                                                                                                                      7949 static const basic::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
                                                                                                                                      7950  // 1:00 EU CE%sT
                                                                                                                                      7951  {
                                                                                                                                      7952  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      7953  "CE%T" /*format*/,
                                                                                                                                      7954  4 /*offsetCode*/,
                                                                                                                                      7955  0 /*deltaCode*/,
                                                                                                                                      7956  127 /*untilYearTiny*/,
                                                                                                                                      7957  1 /*untilMonth*/,
                                                                                                                                      7958  1 /*untilDay*/,
                                                                                                                                      7959  0 /*untilTimeCode*/,
                                                                                                                                      7960  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7961  },
                                                                                                                                      7962 
                                                                                                                                      7963 };
                                                                                                                                      7964 
                                                                                                                                      7965 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "Europe/Zurich";
                                                                                                                                      7966 
                                                                                                                                      7967 const basic::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
                                                                                                                                      7968  kZoneNameEurope_Zurich /*name*/,
                                                                                                                                      7969  0x7d8195b9 /*zoneId*/,
                                                                                                                                      7970  &kZoneContext /*zoneContext*/,
                                                                                                                                      7971  5 /*transitionBufSize*/,
                                                                                                                                      7972  1 /*numEras*/,
                                                                                                                                      7973  kZoneEraEurope_Zurich /*eras*/,
                                                                                                                                      7974 };
                                                                                                                                      7975 
                                                                                                                                      7976 //---------------------------------------------------------------------------
                                                                                                                                      7977 // Zone name: HST
                                                                                                                                      7978 // Zone Eras: 1
                                                                                                                                      7979 // Strings (bytes): 8
                                                                                                                                      7980 // Memory (8-bit): 31
                                                                                                                                      7981 // Memory (32-bit): 44
                                                                                                                                      7982 //---------------------------------------------------------------------------
                                                                                                                                      7983 
                                                                                                                                      7984 static const basic::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = {
                                                                                                                                      7985  // -10:00 - HST
                                                                                                                                      7986  {
                                                                                                                                      7987  nullptr /*zonePolicy*/,
                                                                                                                                      7988  "HST" /*format*/,
                                                                                                                                      7989  -40 /*offsetCode*/,
                                                                                                                                      7990  0 /*deltaCode*/,
                                                                                                                                      7991  127 /*untilYearTiny*/,
                                                                                                                                      7992  1 /*untilMonth*/,
                                                                                                                                      7993  1 /*untilDay*/,
                                                                                                                                      7994  0 /*untilTimeCode*/,
                                                                                                                                      7995  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      7996  },
                                                                                                                                      7997 
                                                                                                                                      7998 };
                                                                                                                                      7999 
                                                                                                                                      8000 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
                                                                                                                                      8001 
                                                                                                                                      8002 const basic::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
                                                                                                                                      8003  kZoneNameHST /*name*/,
                                                                                                                                      8004  0x0b87f034 /*zoneId*/,
                                                                                                                                      8005  &kZoneContext /*zoneContext*/,
                                                                                                                                      8006  2 /*transitionBufSize*/,
                                                                                                                                      8007  1 /*numEras*/,
                                                                                                                                      8008  kZoneEraHST /*eras*/,
                                                                                                                                      8009 };
                                                                                                                                      8010 
                                                                                                                                      8011 //---------------------------------------------------------------------------
                                                                                                                                      8012 // Zone name: Indian/Chagos
                                                                                                                                      8013 // Zone Eras: 1
                                                                                                                                      8014 // Strings (bytes): 18
                                                                                                                                      8015 // Memory (8-bit): 41
                                                                                                                                      8016 // Memory (32-bit): 54
                                                                                                                                      8017 //---------------------------------------------------------------------------
                                                                                                                                      8018 
                                                                                                                                      8019 static const basic::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
                                                                                                                                      8020  // 6:00 - +06
                                                                                                                                      8021  {
                                                                                                                                      8022  nullptr /*zonePolicy*/,
                                                                                                                                      8023  "+06" /*format*/,
                                                                                                                                      8024  24 /*offsetCode*/,
                                                                                                                                      8025  0 /*deltaCode*/,
                                                                                                                                      8026  127 /*untilYearTiny*/,
                                                                                                                                      8027  1 /*untilMonth*/,
                                                                                                                                      8028  1 /*untilDay*/,
                                                                                                                                      8029  0 /*untilTimeCode*/,
                                                                                                                                      8030  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8031  },
                                                                                                                                      8032 
                                                                                                                                      8033 };
                                                                                                                                      8034 
                                                                                                                                      8035 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "Indian/Chagos";
                                                                                                                                      8036 
                                                                                                                                      8037 const basic::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
                                                                                                                                      8038  kZoneNameIndian_Chagos /*name*/,
                                                                                                                                      8039  0x456f7c3c /*zoneId*/,
                                                                                                                                      8040  &kZoneContext /*zoneContext*/,
                                                                                                                                      8041  2 /*transitionBufSize*/,
                                                                                                                                      8042  1 /*numEras*/,
                                                                                                                                      8043  kZoneEraIndian_Chagos /*eras*/,
                                                                                                                                      8044 };
                                                                                                                                      8045 
                                                                                                                                      8046 //---------------------------------------------------------------------------
                                                                                                                                      8047 // Zone name: Indian/Christmas
                                                                                                                                      8048 // Zone Eras: 1
                                                                                                                                      8049 // Strings (bytes): 21
                                                                                                                                      8050 // Memory (8-bit): 44
                                                                                                                                      8051 // Memory (32-bit): 57
                                                                                                                                      8052 //---------------------------------------------------------------------------
                                                                                                                                      8053 
                                                                                                                                      8054 static const basic::ZoneEra kZoneEraIndian_Christmas[] ACE_TIME_PROGMEM = {
                                                                                                                                      8055  // 7:00 - +07
                                                                                                                                      8056  {
                                                                                                                                      8057  nullptr /*zonePolicy*/,
                                                                                                                                      8058  "+07" /*format*/,
                                                                                                                                      8059  28 /*offsetCode*/,
                                                                                                                                      8060  0 /*deltaCode*/,
                                                                                                                                      8061  127 /*untilYearTiny*/,
                                                                                                                                      8062  1 /*untilMonth*/,
                                                                                                                                      8063  1 /*untilDay*/,
                                                                                                                                      8064  0 /*untilTimeCode*/,
                                                                                                                                      8065  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8066  },
                                                                                                                                      8067 
                                                                                                                                      8068 };
                                                                                                                                      8069 
                                                                                                                                      8070 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "Indian/Christmas";
                                                                                                                                      8071 
                                                                                                                                      8072 const basic::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
                                                                                                                                      8073  kZoneNameIndian_Christmas /*name*/,
                                                                                                                                      8074  0x68c207d5 /*zoneId*/,
                                                                                                                                      8075  &kZoneContext /*zoneContext*/,
                                                                                                                                      8076  2 /*transitionBufSize*/,
                                                                                                                                      8077  1 /*numEras*/,
                                                                                                                                      8078  kZoneEraIndian_Christmas /*eras*/,
                                                                                                                                      8079 };
                                                                                                                                      8080 
                                                                                                                                      8081 //---------------------------------------------------------------------------
                                                                                                                                      8082 // Zone name: Indian/Cocos
                                                                                                                                      8083 // Zone Eras: 1
                                                                                                                                      8084 // Strings (bytes): 19
                                                                                                                                      8085 // Memory (8-bit): 42
                                                                                                                                      8086 // Memory (32-bit): 55
                                                                                                                                      8087 //---------------------------------------------------------------------------
                                                                                                                                      8088 
                                                                                                                                      8089 static const basic::ZoneEra kZoneEraIndian_Cocos[] ACE_TIME_PROGMEM = {
                                                                                                                                      8090  // 6:30 - +0630
                                                                                                                                      8091  {
                                                                                                                                      8092  nullptr /*zonePolicy*/,
                                                                                                                                      8093  "+0630" /*format*/,
                                                                                                                                      8094  26 /*offsetCode*/,
                                                                                                                                      8095  0 /*deltaCode*/,
                                                                                                                                      8096  127 /*untilYearTiny*/,
                                                                                                                                      8097  1 /*untilMonth*/,
                                                                                                                                      8098  1 /*untilDay*/,
                                                                                                                                      8099  0 /*untilTimeCode*/,
                                                                                                                                      8100  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8101  },
                                                                                                                                      8102 
                                                                                                                                      8103 };
                                                                                                                                      8104 
                                                                                                                                      8105 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "Indian/Cocos";
                                                                                                                                      8106 
                                                                                                                                      8107 const basic::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
                                                                                                                                      8108  kZoneNameIndian_Cocos /*name*/,
                                                                                                                                      8109  0x021e86de /*zoneId*/,
                                                                                                                                      8110  &kZoneContext /*zoneContext*/,
                                                                                                                                      8111  2 /*transitionBufSize*/,
                                                                                                                                      8112  1 /*numEras*/,
                                                                                                                                      8113  kZoneEraIndian_Cocos /*eras*/,
                                                                                                                                      8114 };
                                                                                                                                      8115 
                                                                                                                                      8116 //---------------------------------------------------------------------------
                                                                                                                                      8117 // Zone name: Indian/Kerguelen
                                                                                                                                      8118 // Zone Eras: 1
                                                                                                                                      8119 // Strings (bytes): 21
                                                                                                                                      8120 // Memory (8-bit): 44
                                                                                                                                      8121 // Memory (32-bit): 57
                                                                                                                                      8122 //---------------------------------------------------------------------------
                                                                                                                                      8123 
                                                                                                                                      8124 static const basic::ZoneEra kZoneEraIndian_Kerguelen[] ACE_TIME_PROGMEM = {
                                                                                                                                      8125  // 5:00 - +05
                                                                                                                                      8126  {
                                                                                                                                      8127  nullptr /*zonePolicy*/,
                                                                                                                                      8128  "+05" /*format*/,
                                                                                                                                      8129  20 /*offsetCode*/,
                                                                                                                                      8130  0 /*deltaCode*/,
                                                                                                                                      8131  127 /*untilYearTiny*/,
                                                                                                                                      8132  1 /*untilMonth*/,
                                                                                                                                      8133  1 /*untilDay*/,
                                                                                                                                      8134  0 /*untilTimeCode*/,
                                                                                                                                      8135  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8136  },
                                                                                                                                      8137 
                                                                                                                                      8138 };
                                                                                                                                      8139 
                                                                                                                                      8140 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "Indian/Kerguelen";
                                                                                                                                      8141 
                                                                                                                                      8142 const basic::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
                                                                                                                                      8143  kZoneNameIndian_Kerguelen /*name*/,
                                                                                                                                      8144  0x4351b389 /*zoneId*/,
                                                                                                                                      8145  &kZoneContext /*zoneContext*/,
                                                                                                                                      8146  2 /*transitionBufSize*/,
                                                                                                                                      8147  1 /*numEras*/,
                                                                                                                                      8148  kZoneEraIndian_Kerguelen /*eras*/,
                                                                                                                                      8149 };
                                                                                                                                      8150 
                                                                                                                                      8151 //---------------------------------------------------------------------------
                                                                                                                                      8152 // Zone name: Indian/Mahe
                                                                                                                                      8153 // Zone Eras: 1
                                                                                                                                      8154 // Strings (bytes): 16
                                                                                                                                      8155 // Memory (8-bit): 39
                                                                                                                                      8156 // Memory (32-bit): 52
                                                                                                                                      8157 //---------------------------------------------------------------------------
                                                                                                                                      8158 
                                                                                                                                      8159 static const basic::ZoneEra kZoneEraIndian_Mahe[] ACE_TIME_PROGMEM = {
                                                                                                                                      8160  // 4:00 - +04
                                                                                                                                      8161  {
                                                                                                                                      8162  nullptr /*zonePolicy*/,
                                                                                                                                      8163  "+04" /*format*/,
                                                                                                                                      8164  16 /*offsetCode*/,
                                                                                                                                      8165  0 /*deltaCode*/,
                                                                                                                                      8166  127 /*untilYearTiny*/,
                                                                                                                                      8167  1 /*untilMonth*/,
                                                                                                                                      8168  1 /*untilDay*/,
                                                                                                                                      8169  0 /*untilTimeCode*/,
                                                                                                                                      8170  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8171  },
                                                                                                                                      8172 
                                                                                                                                      8173 };
                                                                                                                                      8174 
                                                                                                                                      8175 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "Indian/Mahe";
                                                                                                                                      8176 
                                                                                                                                      8177 const basic::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
                                                                                                                                      8178  kZoneNameIndian_Mahe /*name*/,
                                                                                                                                      8179  0x45e725e2 /*zoneId*/,
                                                                                                                                      8180  &kZoneContext /*zoneContext*/,
                                                                                                                                      8181  2 /*transitionBufSize*/,
                                                                                                                                      8182  1 /*numEras*/,
                                                                                                                                      8183  kZoneEraIndian_Mahe /*eras*/,
                                                                                                                                      8184 };
                                                                                                                                      8185 
                                                                                                                                      8186 //---------------------------------------------------------------------------
                                                                                                                                      8187 // Zone name: Indian/Maldives
                                                                                                                                      8188 // Zone Eras: 1
                                                                                                                                      8189 // Strings (bytes): 20
                                                                                                                                      8190 // Memory (8-bit): 43
                                                                                                                                      8191 // Memory (32-bit): 56
                                                                                                                                      8192 //---------------------------------------------------------------------------
                                                                                                                                      8193 
                                                                                                                                      8194 static const basic::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
                                                                                                                                      8195  // 5:00 - +05
                                                                                                                                      8196  {
                                                                                                                                      8197  nullptr /*zonePolicy*/,
                                                                                                                                      8198  "+05" /*format*/,
                                                                                                                                      8199  20 /*offsetCode*/,
                                                                                                                                      8200  0 /*deltaCode*/,
                                                                                                                                      8201  127 /*untilYearTiny*/,
                                                                                                                                      8202  1 /*untilMonth*/,
                                                                                                                                      8203  1 /*untilDay*/,
                                                                                                                                      8204  0 /*untilTimeCode*/,
                                                                                                                                      8205  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8206  },
                                                                                                                                      8207 
                                                                                                                                      8208 };
                                                                                                                                      8209 
                                                                                                                                      8210 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "Indian/Maldives";
                                                                                                                                      8211 
                                                                                                                                      8212 const basic::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
                                                                                                                                      8213  kZoneNameIndian_Maldives /*name*/,
                                                                                                                                      8214  0x9869681c /*zoneId*/,
                                                                                                                                      8215  &kZoneContext /*zoneContext*/,
                                                                                                                                      8216  2 /*transitionBufSize*/,
                                                                                                                                      8217  1 /*numEras*/,
                                                                                                                                      8218  kZoneEraIndian_Maldives /*eras*/,
                                                                                                                                      8219 };
                                                                                                                                      8220 
                                                                                                                                      8221 //---------------------------------------------------------------------------
                                                                                                                                      8222 // Zone name: Indian/Mauritius
                                                                                                                                      8223 // Zone Eras: 1
                                                                                                                                      8224 // Strings (bytes): 25
                                                                                                                                      8225 // Memory (8-bit): 48
                                                                                                                                      8226 // Memory (32-bit): 61
                                                                                                                                      8227 //---------------------------------------------------------------------------
                                                                                                                                      8228 
                                                                                                                                      8229 static const basic::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
                                                                                                                                      8230  // 4:00 Mauritius +04/+05
                                                                                                                                      8231  {
                                                                                                                                      8232  &kPolicyMauritius /*zonePolicy*/,
                                                                                                                                      8233  "+04/+05" /*format*/,
                                                                                                                                      8234  16 /*offsetCode*/,
                                                                                                                                      8235  0 /*deltaCode*/,
                                                                                                                                      8236  127 /*untilYearTiny*/,
                                                                                                                                      8237  1 /*untilMonth*/,
                                                                                                                                      8238  1 /*untilDay*/,
                                                                                                                                      8239  0 /*untilTimeCode*/,
                                                                                                                                      8240  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8241  },
                                                                                                                                      8242 
                                                                                                                                      8243 };
                                                                                                                                      8244 
                                                                                                                                      8245 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "Indian/Mauritius";
                                                                                                                                      8246 
                                                                                                                                      8247 const basic::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
                                                                                                                                      8248  kZoneNameIndian_Mauritius /*name*/,
                                                                                                                                      8249  0x7b09c02a /*zoneId*/,
                                                                                                                                      8250  &kZoneContext /*zoneContext*/,
                                                                                                                                      8251  4 /*transitionBufSize*/,
                                                                                                                                      8252  1 /*numEras*/,
                                                                                                                                      8253  kZoneEraIndian_Mauritius /*eras*/,
                                                                                                                                      8254 };
                                                                                                                                      8255 
                                                                                                                                      8256 //---------------------------------------------------------------------------
                                                                                                                                      8257 // Zone name: Indian/Reunion
                                                                                                                                      8258 // Zone Eras: 1
                                                                                                                                      8259 // Strings (bytes): 19
                                                                                                                                      8260 // Memory (8-bit): 42
                                                                                                                                      8261 // Memory (32-bit): 55
                                                                                                                                      8262 //---------------------------------------------------------------------------
                                                                                                                                      8263 
                                                                                                                                      8264 static const basic::ZoneEra kZoneEraIndian_Reunion[] ACE_TIME_PROGMEM = {
                                                                                                                                      8265  // 4:00 - +04
                                                                                                                                      8266  {
                                                                                                                                      8267  nullptr /*zonePolicy*/,
                                                                                                                                      8268  "+04" /*format*/,
                                                                                                                                      8269  16 /*offsetCode*/,
                                                                                                                                      8270  0 /*deltaCode*/,
                                                                                                                                      8271  127 /*untilYearTiny*/,
                                                                                                                                      8272  1 /*untilMonth*/,
                                                                                                                                      8273  1 /*untilDay*/,
                                                                                                                                      8274  0 /*untilTimeCode*/,
                                                                                                                                      8275  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8276  },
                                                                                                                                      8277 
                                                                                                                                      8278 };
                                                                                                                                      8279 
                                                                                                                                      8280 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "Indian/Reunion";
                                                                                                                                      8281 
                                                                                                                                      8282 const basic::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
                                                                                                                                      8283  kZoneNameIndian_Reunion /*name*/,
                                                                                                                                      8284  0x7076c047 /*zoneId*/,
                                                                                                                                      8285  &kZoneContext /*zoneContext*/,
                                                                                                                                      8286  2 /*transitionBufSize*/,
                                                                                                                                      8287  1 /*numEras*/,
                                                                                                                                      8288  kZoneEraIndian_Reunion /*eras*/,
                                                                                                                                      8289 };
                                                                                                                                      8290 
                                                                                                                                      8291 //---------------------------------------------------------------------------
                                                                                                                                      8292 // Zone name: MET
                                                                                                                                      8293 // Zone Eras: 1
                                                                                                                                      8294 // Strings (bytes): 9
                                                                                                                                      8295 // Memory (8-bit): 32
                                                                                                                                      8296 // Memory (32-bit): 45
                                                                                                                                      8297 //---------------------------------------------------------------------------
                                                                                                                                      8298 
                                                                                                                                      8299 static const basic::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = {
                                                                                                                                      8300  // 1:00 C-Eur ME%sT
                                                                                                                                      8301  {
                                                                                                                                      8302  &kPolicyC_Eur /*zonePolicy*/,
                                                                                                                                      8303  "ME%T" /*format*/,
                                                                                                                                      8304  4 /*offsetCode*/,
                                                                                                                                      8305  0 /*deltaCode*/,
                                                                                                                                      8306  127 /*untilYearTiny*/,
                                                                                                                                      8307  1 /*untilMonth*/,
                                                                                                                                      8308  1 /*untilDay*/,
                                                                                                                                      8309  0 /*untilTimeCode*/,
                                                                                                                                      8310  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8311  },
                                                                                                                                      8312 
                                                                                                                                      8313 };
                                                                                                                                      8314 
                                                                                                                                      8315 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
                                                                                                                                      8316 
                                                                                                                                      8317 const basic::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
                                                                                                                                      8318  kZoneNameMET /*name*/,
                                                                                                                                      8319  0x0b8803ab /*zoneId*/,
                                                                                                                                      8320  &kZoneContext /*zoneContext*/,
                                                                                                                                      8321  5 /*transitionBufSize*/,
                                                                                                                                      8322  1 /*numEras*/,
                                                                                                                                      8323  kZoneEraMET /*eras*/,
                                                                                                                                      8324 };
                                                                                                                                      8325 
                                                                                                                                      8326 //---------------------------------------------------------------------------
                                                                                                                                      8327 // Zone name: MST
                                                                                                                                      8328 // Zone Eras: 1
                                                                                                                                      8329 // Strings (bytes): 8
                                                                                                                                      8330 // Memory (8-bit): 31
                                                                                                                                      8331 // Memory (32-bit): 44
                                                                                                                                      8332 //---------------------------------------------------------------------------
                                                                                                                                      8333 
                                                                                                                                      8334 static const basic::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = {
                                                                                                                                      8335  // -7:00 - MST
                                                                                                                                      8336  {
                                                                                                                                      8337  nullptr /*zonePolicy*/,
                                                                                                                                      8338  "MST" /*format*/,
                                                                                                                                      8339  -28 /*offsetCode*/,
                                                                                                                                      8340  0 /*deltaCode*/,
                                                                                                                                      8341  127 /*untilYearTiny*/,
                                                                                                                                      8342  1 /*untilMonth*/,
                                                                                                                                      8343  1 /*untilDay*/,
                                                                                                                                      8344  0 /*untilTimeCode*/,
                                                                                                                                      8345  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8346  },
                                                                                                                                      8347 
                                                                                                                                      8348 };
                                                                                                                                      8349 
                                                                                                                                      8350 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
                                                                                                                                      8351 
                                                                                                                                      8352 const basic::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
                                                                                                                                      8353  kZoneNameMST /*name*/,
                                                                                                                                      8354  0x0b880579 /*zoneId*/,
                                                                                                                                      8355  &kZoneContext /*zoneContext*/,
                                                                                                                                      8356  2 /*transitionBufSize*/,
                                                                                                                                      8357  1 /*numEras*/,
                                                                                                                                      8358  kZoneEraMST /*eras*/,
                                                                                                                                      8359 };
                                                                                                                                      8360 
                                                                                                                                      8361 //---------------------------------------------------------------------------
                                                                                                                                      8362 // Zone name: MST7MDT
                                                                                                                                      8363 // Zone Eras: 1
                                                                                                                                      8364 // Strings (bytes): 12
                                                                                                                                      8365 // Memory (8-bit): 35
                                                                                                                                      8366 // Memory (32-bit): 48
                                                                                                                                      8367 //---------------------------------------------------------------------------
                                                                                                                                      8368 
                                                                                                                                      8369 static const basic::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      8370  // -7:00 US M%sT
                                                                                                                                      8371  {
                                                                                                                                      8372  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      8373  "M%T" /*format*/,
                                                                                                                                      8374  -28 /*offsetCode*/,
                                                                                                                                      8375  0 /*deltaCode*/,
                                                                                                                                      8376  127 /*untilYearTiny*/,
                                                                                                                                      8377  1 /*untilMonth*/,
                                                                                                                                      8378  1 /*untilDay*/,
                                                                                                                                      8379  0 /*untilTimeCode*/,
                                                                                                                                      8380  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8381  },
                                                                                                                                      8382 
                                                                                                                                      8383 };
                                                                                                                                      8384 
                                                                                                                                      8385 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
                                                                                                                                      8386 
                                                                                                                                      8387 const basic::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
                                                                                                                                      8388  kZoneNameMST7MDT /*name*/,
                                                                                                                                      8389  0xf2af9375 /*zoneId*/,
                                                                                                                                      8390  &kZoneContext /*zoneContext*/,
                                                                                                                                      8391  6 /*transitionBufSize*/,
                                                                                                                                      8392  1 /*numEras*/,
                                                                                                                                      8393  kZoneEraMST7MDT /*eras*/,
                                                                                                                                      8394 };
                                                                                                                                      8395 
                                                                                                                                      8396 //---------------------------------------------------------------------------
                                                                                                                                      8397 // Zone name: PST8PDT
                                                                                                                                      8398 // Zone Eras: 1
                                                                                                                                      8399 // Strings (bytes): 12
                                                                                                                                      8400 // Memory (8-bit): 35
                                                                                                                                      8401 // Memory (32-bit): 48
                                                                                                                                      8402 //---------------------------------------------------------------------------
                                                                                                                                      8403 
                                                                                                                                      8404 static const basic::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      8405  // -8:00 US P%sT
                                                                                                                                      8406  {
                                                                                                                                      8407  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      8408  "P%T" /*format*/,
                                                                                                                                      8409  -32 /*offsetCode*/,
                                                                                                                                      8410  0 /*deltaCode*/,
                                                                                                                                      8411  127 /*untilYearTiny*/,
                                                                                                                                      8412  1 /*untilMonth*/,
                                                                                                                                      8413  1 /*untilDay*/,
                                                                                                                                      8414  0 /*untilTimeCode*/,
                                                                                                                                      8415  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8416  },
                                                                                                                                      8417 
                                                                                                                                      8418 };
                                                                                                                                      8419 
                                                                                                                                      8420 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
                                                                                                                                      8421 
                                                                                                                                      8422 const basic::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
                                                                                                                                      8423  kZoneNamePST8PDT /*name*/,
                                                                                                                                      8424  0xd99ee2dc /*zoneId*/,
                                                                                                                                      8425  &kZoneContext /*zoneContext*/,
                                                                                                                                      8426  6 /*transitionBufSize*/,
                                                                                                                                      8427  1 /*numEras*/,
                                                                                                                                      8428  kZoneEraPST8PDT /*eras*/,
                                                                                                                                      8429 };
                                                                                                                                      8430 
                                                                                                                                      8431 //---------------------------------------------------------------------------
                                                                                                                                      8432 // Zone name: Pacific/Auckland
                                                                                                                                      8433 // Zone Eras: 1
                                                                                                                                      8434 // Strings (bytes): 22
                                                                                                                                      8435 // Memory (8-bit): 45
                                                                                                                                      8436 // Memory (32-bit): 58
                                                                                                                                      8437 //---------------------------------------------------------------------------
                                                                                                                                      8438 
                                                                                                                                      8439 static const basic::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
                                                                                                                                      8440  // 12:00 NZ NZ%sT
                                                                                                                                      8441  {
                                                                                                                                      8442  &kPolicyNZ /*zonePolicy*/,
                                                                                                                                      8443  "NZ%T" /*format*/,
                                                                                                                                      8444  48 /*offsetCode*/,
                                                                                                                                      8445  0 /*deltaCode*/,
                                                                                                                                      8446  127 /*untilYearTiny*/,
                                                                                                                                      8447  1 /*untilMonth*/,
                                                                                                                                      8448  1 /*untilDay*/,
                                                                                                                                      8449  0 /*untilTimeCode*/,
                                                                                                                                      8450  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8451  },
                                                                                                                                      8452 
                                                                                                                                      8453 };
                                                                                                                                      8454 
                                                                                                                                      8455 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "Pacific/Auckland";
                                                                                                                                      8456 
                                                                                                                                      8457 const basic::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
                                                                                                                                      8458  kZoneNamePacific_Auckland /*name*/,
                                                                                                                                      8459  0x25062f86 /*zoneId*/,
                                                                                                                                      8460  &kZoneContext /*zoneContext*/,
                                                                                                                                      8461  5 /*transitionBufSize*/,
                                                                                                                                      8462  1 /*numEras*/,
                                                                                                                                      8463  kZoneEraPacific_Auckland /*eras*/,
                                                                                                                                      8464 };
                                                                                                                                      8465 
                                                                                                                                      8466 //---------------------------------------------------------------------------
                                                                                                                                      8467 // Zone name: Pacific/Chatham
                                                                                                                                      8468 // Zone Eras: 1
                                                                                                                                      8469 // Strings (bytes): 28
                                                                                                                                      8470 // Memory (8-bit): 51
                                                                                                                                      8471 // Memory (32-bit): 64
                                                                                                                                      8472 //---------------------------------------------------------------------------
                                                                                                                                      8473 
                                                                                                                                      8474 static const basic::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
                                                                                                                                      8475  // 12:45 Chatham +1245/+1345
                                                                                                                                      8476  {
                                                                                                                                      8477  &kPolicyChatham /*zonePolicy*/,
                                                                                                                                      8478  "+1245/+1345" /*format*/,
                                                                                                                                      8479  51 /*offsetCode*/,
                                                                                                                                      8480  0 /*deltaCode*/,
                                                                                                                                      8481  127 /*untilYearTiny*/,
                                                                                                                                      8482  1 /*untilMonth*/,
                                                                                                                                      8483  1 /*untilDay*/,
                                                                                                                                      8484  0 /*untilTimeCode*/,
                                                                                                                                      8485  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8486  },
                                                                                                                                      8487 
                                                                                                                                      8488 };
                                                                                                                                      8489 
                                                                                                                                      8490 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "Pacific/Chatham";
                                                                                                                                      8491 
                                                                                                                                      8492 const basic::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
                                                                                                                                      8493  kZoneNamePacific_Chatham /*name*/,
                                                                                                                                      8494  0x2f0de999 /*zoneId*/,
                                                                                                                                      8495  &kZoneContext /*zoneContext*/,
                                                                                                                                      8496  5 /*transitionBufSize*/,
                                                                                                                                      8497  1 /*numEras*/,
                                                                                                                                      8498  kZoneEraPacific_Chatham /*eras*/,
                                                                                                                                      8499 };
                                                                                                                                      8500 
                                                                                                                                      8501 //---------------------------------------------------------------------------
                                                                                                                                      8502 // Zone name: Pacific/Chuuk
                                                                                                                                      8503 // Zone Eras: 1
                                                                                                                                      8504 // Strings (bytes): 18
                                                                                                                                      8505 // Memory (8-bit): 41
                                                                                                                                      8506 // Memory (32-bit): 54
                                                                                                                                      8507 //---------------------------------------------------------------------------
                                                                                                                                      8508 
                                                                                                                                      8509 static const basic::ZoneEra kZoneEraPacific_Chuuk[] ACE_TIME_PROGMEM = {
                                                                                                                                      8510  // 10:00 - +10
                                                                                                                                      8511  {
                                                                                                                                      8512  nullptr /*zonePolicy*/,
                                                                                                                                      8513  "+10" /*format*/,
                                                                                                                                      8514  40 /*offsetCode*/,
                                                                                                                                      8515  0 /*deltaCode*/,
                                                                                                                                      8516  127 /*untilYearTiny*/,
                                                                                                                                      8517  1 /*untilMonth*/,
                                                                                                                                      8518  1 /*untilDay*/,
                                                                                                                                      8519  0 /*untilTimeCode*/,
                                                                                                                                      8520  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8521  },
                                                                                                                                      8522 
                                                                                                                                      8523 };
                                                                                                                                      8524 
                                                                                                                                      8525 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "Pacific/Chuuk";
                                                                                                                                      8526 
                                                                                                                                      8527 const basic::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
                                                                                                                                      8528  kZoneNamePacific_Chuuk /*name*/,
                                                                                                                                      8529  0x8a090b23 /*zoneId*/,
                                                                                                                                      8530  &kZoneContext /*zoneContext*/,
                                                                                                                                      8531  2 /*transitionBufSize*/,
                                                                                                                                      8532  1 /*numEras*/,
                                                                                                                                      8533  kZoneEraPacific_Chuuk /*eras*/,
                                                                                                                                      8534 };
                                                                                                                                      8535 
                                                                                                                                      8536 //---------------------------------------------------------------------------
                                                                                                                                      8537 // Zone name: Pacific/Easter
                                                                                                                                      8538 // Zone Eras: 1
                                                                                                                                      8539 // Strings (bytes): 23
                                                                                                                                      8540 // Memory (8-bit): 46
                                                                                                                                      8541 // Memory (32-bit): 59
                                                                                                                                      8542 //---------------------------------------------------------------------------
                                                                                                                                      8543 
                                                                                                                                      8544 static const basic::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
                                                                                                                                      8545  // -6:00 Chile -06/-05
                                                                                                                                      8546  {
                                                                                                                                      8547  &kPolicyChile /*zonePolicy*/,
                                                                                                                                      8548  "-06/-05" /*format*/,
                                                                                                                                      8549  -24 /*offsetCode*/,
                                                                                                                                      8550  0 /*deltaCode*/,
                                                                                                                                      8551  127 /*untilYearTiny*/,
                                                                                                                                      8552  1 /*untilMonth*/,
                                                                                                                                      8553  1 /*untilDay*/,
                                                                                                                                      8554  0 /*untilTimeCode*/,
                                                                                                                                      8555  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8556  },
                                                                                                                                      8557 
                                                                                                                                      8558 };
                                                                                                                                      8559 
                                                                                                                                      8560 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "Pacific/Easter";
                                                                                                                                      8561 
                                                                                                                                      8562 const basic::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
                                                                                                                                      8563  kZoneNamePacific_Easter /*name*/,
                                                                                                                                      8564  0xcf54f7e7 /*zoneId*/,
                                                                                                                                      8565  &kZoneContext /*zoneContext*/,
                                                                                                                                      8566  5 /*transitionBufSize*/,
                                                                                                                                      8567  1 /*numEras*/,
                                                                                                                                      8568  kZoneEraPacific_Easter /*eras*/,
                                                                                                                                      8569 };
                                                                                                                                      8570 
                                                                                                                                      8571 //---------------------------------------------------------------------------
                                                                                                                                      8572 // Zone name: Pacific/Efate
                                                                                                                                      8573 // Zone Eras: 1
                                                                                                                                      8574 // Strings (bytes): 22
                                                                                                                                      8575 // Memory (8-bit): 45
                                                                                                                                      8576 // Memory (32-bit): 58
                                                                                                                                      8577 //---------------------------------------------------------------------------
                                                                                                                                      8578 
                                                                                                                                      8579 static const basic::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
                                                                                                                                      8580  // 11:00 Vanuatu +11/+12
                                                                                                                                      8581  {
                                                                                                                                      8582  &kPolicyVanuatu /*zonePolicy*/,
                                                                                                                                      8583  "+11/+12" /*format*/,
                                                                                                                                      8584  44 /*offsetCode*/,
                                                                                                                                      8585  0 /*deltaCode*/,
                                                                                                                                      8586  127 /*untilYearTiny*/,
                                                                                                                                      8587  1 /*untilMonth*/,
                                                                                                                                      8588  1 /*untilDay*/,
                                                                                                                                      8589  0 /*untilTimeCode*/,
                                                                                                                                      8590  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8591  },
                                                                                                                                      8592 
                                                                                                                                      8593 };
                                                                                                                                      8594 
                                                                                                                                      8595 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "Pacific/Efate";
                                                                                                                                      8596 
                                                                                                                                      8597 const basic::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
                                                                                                                                      8598  kZoneNamePacific_Efate /*name*/,
                                                                                                                                      8599  0x8a2bce28 /*zoneId*/,
                                                                                                                                      8600  &kZoneContext /*zoneContext*/,
                                                                                                                                      8601  2 /*transitionBufSize*/,
                                                                                                                                      8602  1 /*numEras*/,
                                                                                                                                      8603  kZoneEraPacific_Efate /*eras*/,
                                                                                                                                      8604 };
                                                                                                                                      8605 
                                                                                                                                      8606 //---------------------------------------------------------------------------
                                                                                                                                      8607 // Zone name: Pacific/Enderbury
                                                                                                                                      8608 // Zone Eras: 1
                                                                                                                                      8609 // Strings (bytes): 22
                                                                                                                                      8610 // Memory (8-bit): 45
                                                                                                                                      8611 // Memory (32-bit): 58
                                                                                                                                      8612 //---------------------------------------------------------------------------
                                                                                                                                      8613 
                                                                                                                                      8614 static const basic::ZoneEra kZoneEraPacific_Enderbury[] ACE_TIME_PROGMEM = {
                                                                                                                                      8615  // 13:00 - +13
                                                                                                                                      8616  {
                                                                                                                                      8617  nullptr /*zonePolicy*/,
                                                                                                                                      8618  "+13" /*format*/,
                                                                                                                                      8619  52 /*offsetCode*/,
                                                                                                                                      8620  0 /*deltaCode*/,
                                                                                                                                      8621  127 /*untilYearTiny*/,
                                                                                                                                      8622  1 /*untilMonth*/,
                                                                                                                                      8623  1 /*untilDay*/,
                                                                                                                                      8624  0 /*untilTimeCode*/,
                                                                                                                                      8625  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8626  },
                                                                                                                                      8627 
                                                                                                                                      8628 };
                                                                                                                                      8629 
                                                                                                                                      8630 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "Pacific/Enderbury";
                                                                                                                                      8631 
                                                                                                                                      8632 const basic::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
                                                                                                                                      8633  kZoneNamePacific_Enderbury /*name*/,
                                                                                                                                      8634  0x61599a93 /*zoneId*/,
                                                                                                                                      8635  &kZoneContext /*zoneContext*/,
                                                                                                                                      8636  2 /*transitionBufSize*/,
                                                                                                                                      8637  1 /*numEras*/,
                                                                                                                                      8638  kZoneEraPacific_Enderbury /*eras*/,
                                                                                                                                      8639 };
                                                                                                                                      8640 
                                                                                                                                      8641 //---------------------------------------------------------------------------
                                                                                                                                      8642 // Zone name: Pacific/Fiji
                                                                                                                                      8643 // Zone Eras: 1
                                                                                                                                      8644 // Strings (bytes): 21
                                                                                                                                      8645 // Memory (8-bit): 44
                                                                                                                                      8646 // Memory (32-bit): 57
                                                                                                                                      8647 //---------------------------------------------------------------------------
                                                                                                                                      8648 
                                                                                                                                      8649 static const basic::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
                                                                                                                                      8650  // 12:00 Fiji +12/+13
                                                                                                                                      8651  {
                                                                                                                                      8652  &kPolicyFiji /*zonePolicy*/,
                                                                                                                                      8653  "+12/+13" /*format*/,
                                                                                                                                      8654  48 /*offsetCode*/,
                                                                                                                                      8655  0 /*deltaCode*/,
                                                                                                                                      8656  127 /*untilYearTiny*/,
                                                                                                                                      8657  1 /*untilMonth*/,
                                                                                                                                      8658  1 /*untilDay*/,
                                                                                                                                      8659  0 /*untilTimeCode*/,
                                                                                                                                      8660  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8661  },
                                                                                                                                      8662 
                                                                                                                                      8663 };
                                                                                                                                      8664 
                                                                                                                                      8665 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "Pacific/Fiji";
                                                                                                                                      8666 
                                                                                                                                      8667 const basic::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
                                                                                                                                      8668  kZoneNamePacific_Fiji /*name*/,
                                                                                                                                      8669  0x23383ba5 /*zoneId*/,
                                                                                                                                      8670  &kZoneContext /*zoneContext*/,
                                                                                                                                      8671  6 /*transitionBufSize*/,
                                                                                                                                      8672  1 /*numEras*/,
                                                                                                                                      8673  kZoneEraPacific_Fiji /*eras*/,
                                                                                                                                      8674 };
                                                                                                                                      8675 
                                                                                                                                      8676 //---------------------------------------------------------------------------
                                                                                                                                      8677 // Zone name: Pacific/Funafuti
                                                                                                                                      8678 // Zone Eras: 1
                                                                                                                                      8679 // Strings (bytes): 21
                                                                                                                                      8680 // Memory (8-bit): 44
                                                                                                                                      8681 // Memory (32-bit): 57
                                                                                                                                      8682 //---------------------------------------------------------------------------
                                                                                                                                      8683 
                                                                                                                                      8684 static const basic::ZoneEra kZoneEraPacific_Funafuti[] ACE_TIME_PROGMEM = {
                                                                                                                                      8685  // 12:00 - +12
                                                                                                                                      8686  {
                                                                                                                                      8687  nullptr /*zonePolicy*/,
                                                                                                                                      8688  "+12" /*format*/,
                                                                                                                                      8689  48 /*offsetCode*/,
                                                                                                                                      8690  0 /*deltaCode*/,
                                                                                                                                      8691  127 /*untilYearTiny*/,
                                                                                                                                      8692  1 /*untilMonth*/,
                                                                                                                                      8693  1 /*untilDay*/,
                                                                                                                                      8694  0 /*untilTimeCode*/,
                                                                                                                                      8695  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8696  },
                                                                                                                                      8697 
                                                                                                                                      8698 };
                                                                                                                                      8699 
                                                                                                                                      8700 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "Pacific/Funafuti";
                                                                                                                                      8701 
                                                                                                                                      8702 const basic::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
                                                                                                                                      8703  kZoneNamePacific_Funafuti /*name*/,
                                                                                                                                      8704  0xdb402d65 /*zoneId*/,
                                                                                                                                      8705  &kZoneContext /*zoneContext*/,
                                                                                                                                      8706  2 /*transitionBufSize*/,
                                                                                                                                      8707  1 /*numEras*/,
                                                                                                                                      8708  kZoneEraPacific_Funafuti /*eras*/,
                                                                                                                                      8709 };
                                                                                                                                      8710 
                                                                                                                                      8711 //---------------------------------------------------------------------------
                                                                                                                                      8712 // Zone name: Pacific/Galapagos
                                                                                                                                      8713 // Zone Eras: 1
                                                                                                                                      8714 // Strings (bytes): 26
                                                                                                                                      8715 // Memory (8-bit): 49
                                                                                                                                      8716 // Memory (32-bit): 62
                                                                                                                                      8717 //---------------------------------------------------------------------------
                                                                                                                                      8718 
                                                                                                                                      8719 static const basic::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
                                                                                                                                      8720  // -6:00 Ecuador -06/-05
                                                                                                                                      8721  {
                                                                                                                                      8722  &kPolicyEcuador /*zonePolicy*/,
                                                                                                                                      8723  "-06/-05" /*format*/,
                                                                                                                                      8724  -24 /*offsetCode*/,
                                                                                                                                      8725  0 /*deltaCode*/,
                                                                                                                                      8726  127 /*untilYearTiny*/,
                                                                                                                                      8727  1 /*untilMonth*/,
                                                                                                                                      8728  1 /*untilDay*/,
                                                                                                                                      8729  0 /*untilTimeCode*/,
                                                                                                                                      8730  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8731  },
                                                                                                                                      8732 
                                                                                                                                      8733 };
                                                                                                                                      8734 
                                                                                                                                      8735 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "Pacific/Galapagos";
                                                                                                                                      8736 
                                                                                                                                      8737 const basic::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
                                                                                                                                      8738  kZoneNamePacific_Galapagos /*name*/,
                                                                                                                                      8739  0xa952f752 /*zoneId*/,
                                                                                                                                      8740  &kZoneContext /*zoneContext*/,
                                                                                                                                      8741  2 /*transitionBufSize*/,
                                                                                                                                      8742  1 /*numEras*/,
                                                                                                                                      8743  kZoneEraPacific_Galapagos /*eras*/,
                                                                                                                                      8744 };
                                                                                                                                      8745 
                                                                                                                                      8746 //---------------------------------------------------------------------------
                                                                                                                                      8747 // Zone name: Pacific/Gambier
                                                                                                                                      8748 // Zone Eras: 1
                                                                                                                                      8749 // Strings (bytes): 20
                                                                                                                                      8750 // Memory (8-bit): 43
                                                                                                                                      8751 // Memory (32-bit): 56
                                                                                                                                      8752 //---------------------------------------------------------------------------
                                                                                                                                      8753 
                                                                                                                                      8754 static const basic::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
                                                                                                                                      8755  // -9:00 - -09
                                                                                                                                      8756  {
                                                                                                                                      8757  nullptr /*zonePolicy*/,
                                                                                                                                      8758  "-09" /*format*/,
                                                                                                                                      8759  -36 /*offsetCode*/,
                                                                                                                                      8760  0 /*deltaCode*/,
                                                                                                                                      8761  127 /*untilYearTiny*/,
                                                                                                                                      8762  1 /*untilMonth*/,
                                                                                                                                      8763  1 /*untilDay*/,
                                                                                                                                      8764  0 /*untilTimeCode*/,
                                                                                                                                      8765  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8766  },
                                                                                                                                      8767 
                                                                                                                                      8768 };
                                                                                                                                      8769 
                                                                                                                                      8770 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "Pacific/Gambier";
                                                                                                                                      8771 
                                                                                                                                      8772 const basic::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
                                                                                                                                      8773  kZoneNamePacific_Gambier /*name*/,
                                                                                                                                      8774  0x53720c3a /*zoneId*/,
                                                                                                                                      8775  &kZoneContext /*zoneContext*/,
                                                                                                                                      8776  2 /*transitionBufSize*/,
                                                                                                                                      8777  1 /*numEras*/,
                                                                                                                                      8778  kZoneEraPacific_Gambier /*eras*/,
                                                                                                                                      8779 };
                                                                                                                                      8780 
                                                                                                                                      8781 //---------------------------------------------------------------------------
                                                                                                                                      8782 // Zone name: Pacific/Guadalcanal
                                                                                                                                      8783 // Zone Eras: 1
                                                                                                                                      8784 // Strings (bytes): 24
                                                                                                                                      8785 // Memory (8-bit): 47
                                                                                                                                      8786 // Memory (32-bit): 60
                                                                                                                                      8787 //---------------------------------------------------------------------------
                                                                                                                                      8788 
                                                                                                                                      8789 static const basic::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
                                                                                                                                      8790  // 11:00 - +11
                                                                                                                                      8791  {
                                                                                                                                      8792  nullptr /*zonePolicy*/,
                                                                                                                                      8793  "+11" /*format*/,
                                                                                                                                      8794  44 /*offsetCode*/,
                                                                                                                                      8795  0 /*deltaCode*/,
                                                                                                                                      8796  127 /*untilYearTiny*/,
                                                                                                                                      8797  1 /*untilMonth*/,
                                                                                                                                      8798  1 /*untilDay*/,
                                                                                                                                      8799  0 /*untilTimeCode*/,
                                                                                                                                      8800  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8801  },
                                                                                                                                      8802 
                                                                                                                                      8803 };
                                                                                                                                      8804 
                                                                                                                                      8805 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "Pacific/Guadalcanal";
                                                                                                                                      8806 
                                                                                                                                      8807 const basic::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
                                                                                                                                      8808  kZoneNamePacific_Guadalcanal /*name*/,
                                                                                                                                      8809  0xf4dd25f0 /*zoneId*/,
                                                                                                                                      8810  &kZoneContext /*zoneContext*/,
                                                                                                                                      8811  2 /*transitionBufSize*/,
                                                                                                                                      8812  1 /*numEras*/,
                                                                                                                                      8813  kZoneEraPacific_Guadalcanal /*eras*/,
                                                                                                                                      8814 };
                                                                                                                                      8815 
                                                                                                                                      8816 //---------------------------------------------------------------------------
                                                                                                                                      8817 // Zone name: Pacific/Honolulu
                                                                                                                                      8818 // Zone Eras: 1
                                                                                                                                      8819 // Strings (bytes): 21
                                                                                                                                      8820 // Memory (8-bit): 44
                                                                                                                                      8821 // Memory (32-bit): 57
                                                                                                                                      8822 //---------------------------------------------------------------------------
                                                                                                                                      8823 
                                                                                                                                      8824 static const basic::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
                                                                                                                                      8825  // -10:00 - HST
                                                                                                                                      8826  {
                                                                                                                                      8827  nullptr /*zonePolicy*/,
                                                                                                                                      8828  "HST" /*format*/,
                                                                                                                                      8829  -40 /*offsetCode*/,
                                                                                                                                      8830  0 /*deltaCode*/,
                                                                                                                                      8831  127 /*untilYearTiny*/,
                                                                                                                                      8832  1 /*untilMonth*/,
                                                                                                                                      8833  1 /*untilDay*/,
                                                                                                                                      8834  0 /*untilTimeCode*/,
                                                                                                                                      8835  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8836  },
                                                                                                                                      8837 
                                                                                                                                      8838 };
                                                                                                                                      8839 
                                                                                                                                      8840 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "Pacific/Honolulu";
                                                                                                                                      8841 
                                                                                                                                      8842 const basic::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
                                                                                                                                      8843  kZoneNamePacific_Honolulu /*name*/,
                                                                                                                                      8844  0xe6e70af9 /*zoneId*/,
                                                                                                                                      8845  &kZoneContext /*zoneContext*/,
                                                                                                                                      8846  2 /*transitionBufSize*/,
                                                                                                                                      8847  1 /*numEras*/,
                                                                                                                                      8848  kZoneEraPacific_Honolulu /*eras*/,
                                                                                                                                      8849 };
                                                                                                                                      8850 
                                                                                                                                      8851 //---------------------------------------------------------------------------
                                                                                                                                      8852 // Zone name: Pacific/Kiritimati
                                                                                                                                      8853 // Zone Eras: 1
                                                                                                                                      8854 // Strings (bytes): 23
                                                                                                                                      8855 // Memory (8-bit): 46
                                                                                                                                      8856 // Memory (32-bit): 59
                                                                                                                                      8857 //---------------------------------------------------------------------------
                                                                                                                                      8858 
                                                                                                                                      8859 static const basic::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
                                                                                                                                      8860  // 14:00 - +14
                                                                                                                                      8861  {
                                                                                                                                      8862  nullptr /*zonePolicy*/,
                                                                                                                                      8863  "+14" /*format*/,
                                                                                                                                      8864  56 /*offsetCode*/,
                                                                                                                                      8865  0 /*deltaCode*/,
                                                                                                                                      8866  127 /*untilYearTiny*/,
                                                                                                                                      8867  1 /*untilMonth*/,
                                                                                                                                      8868  1 /*untilDay*/,
                                                                                                                                      8869  0 /*untilTimeCode*/,
                                                                                                                                      8870  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8871  },
                                                                                                                                      8872 
                                                                                                                                      8873 };
                                                                                                                                      8874 
                                                                                                                                      8875 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "Pacific/Kiritimati";
                                                                                                                                      8876 
                                                                                                                                      8877 const basic::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
                                                                                                                                      8878  kZoneNamePacific_Kiritimati /*name*/,
                                                                                                                                      8879  0x8305073a /*zoneId*/,
                                                                                                                                      8880  &kZoneContext /*zoneContext*/,
                                                                                                                                      8881  2 /*transitionBufSize*/,
                                                                                                                                      8882  1 /*numEras*/,
                                                                                                                                      8883  kZoneEraPacific_Kiritimati /*eras*/,
                                                                                                                                      8884 };
                                                                                                                                      8885 
                                                                                                                                      8886 //---------------------------------------------------------------------------
                                                                                                                                      8887 // Zone name: Pacific/Kosrae
                                                                                                                                      8888 // Zone Eras: 2
                                                                                                                                      8889 // Strings (bytes): 23
                                                                                                                                      8890 // Memory (8-bit): 57
                                                                                                                                      8891 // Memory (32-bit): 75
                                                                                                                                      8892 //---------------------------------------------------------------------------
                                                                                                                                      8893 
                                                                                                                                      8894 static const basic::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
                                                                                                                                      8895  // 12:00 - +12 1999
                                                                                                                                      8896  {
                                                                                                                                      8897  nullptr /*zonePolicy*/,
                                                                                                                                      8898  "+12" /*format*/,
                                                                                                                                      8899  48 /*offsetCode*/,
                                                                                                                                      8900  0 /*deltaCode*/,
                                                                                                                                      8901  -1 /*untilYearTiny*/,
                                                                                                                                      8902  1 /*untilMonth*/,
                                                                                                                                      8903  1 /*untilDay*/,
                                                                                                                                      8904  0 /*untilTimeCode*/,
                                                                                                                                      8905  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8906  },
                                                                                                                                      8907  // 11:00 - +11
                                                                                                                                      8908  {
                                                                                                                                      8909  nullptr /*zonePolicy*/,
                                                                                                                                      8910  "+11" /*format*/,
                                                                                                                                      8911  44 /*offsetCode*/,
                                                                                                                                      8912  0 /*deltaCode*/,
                                                                                                                                      8913  127 /*untilYearTiny*/,
                                                                                                                                      8914  1 /*untilMonth*/,
                                                                                                                                      8915  1 /*untilDay*/,
                                                                                                                                      8916  0 /*untilTimeCode*/,
                                                                                                                                      8917  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8918  },
                                                                                                                                      8919 
                                                                                                                                      8920 };
                                                                                                                                      8921 
                                                                                                                                      8922 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "Pacific/Kosrae";
                                                                                                                                      8923 
                                                                                                                                      8924 const basic::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
                                                                                                                                      8925  kZoneNamePacific_Kosrae /*name*/,
                                                                                                                                      8926  0xde5139a8 /*zoneId*/,
                                                                                                                                      8927  &kZoneContext /*zoneContext*/,
                                                                                                                                      8928  2 /*transitionBufSize*/,
                                                                                                                                      8929  2 /*numEras*/,
                                                                                                                                      8930  kZoneEraPacific_Kosrae /*eras*/,
                                                                                                                                      8931 };
                                                                                                                                      8932 
                                                                                                                                      8933 //---------------------------------------------------------------------------
                                                                                                                                      8934 // Zone name: Pacific/Kwajalein
                                                                                                                                      8935 // Zone Eras: 1
                                                                                                                                      8936 // Strings (bytes): 22
                                                                                                                                      8937 // Memory (8-bit): 45
                                                                                                                                      8938 // Memory (32-bit): 58
                                                                                                                                      8939 //---------------------------------------------------------------------------
                                                                                                                                      8940 
                                                                                                                                      8941 static const basic::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
                                                                                                                                      8942  // 12:00 - +12
                                                                                                                                      8943  {
                                                                                                                                      8944  nullptr /*zonePolicy*/,
                                                                                                                                      8945  "+12" /*format*/,
                                                                                                                                      8946  48 /*offsetCode*/,
                                                                                                                                      8947  0 /*deltaCode*/,
                                                                                                                                      8948  127 /*untilYearTiny*/,
                                                                                                                                      8949  1 /*untilMonth*/,
                                                                                                                                      8950  1 /*untilDay*/,
                                                                                                                                      8951  0 /*untilTimeCode*/,
                                                                                                                                      8952  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8953  },
                                                                                                                                      8954 
                                                                                                                                      8955 };
                                                                                                                                      8956 
                                                                                                                                      8957 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "Pacific/Kwajalein";
                                                                                                                                      8958 
                                                                                                                                      8959 const basic::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
                                                                                                                                      8960  kZoneNamePacific_Kwajalein /*name*/,
                                                                                                                                      8961  0x8e216759 /*zoneId*/,
                                                                                                                                      8962  &kZoneContext /*zoneContext*/,
                                                                                                                                      8963  2 /*transitionBufSize*/,
                                                                                                                                      8964  1 /*numEras*/,
                                                                                                                                      8965  kZoneEraPacific_Kwajalein /*eras*/,
                                                                                                                                      8966 };
                                                                                                                                      8967 
                                                                                                                                      8968 //---------------------------------------------------------------------------
                                                                                                                                      8969 // Zone name: Pacific/Majuro
                                                                                                                                      8970 // Zone Eras: 1
                                                                                                                                      8971 // Strings (bytes): 19
                                                                                                                                      8972 // Memory (8-bit): 42
                                                                                                                                      8973 // Memory (32-bit): 55
                                                                                                                                      8974 //---------------------------------------------------------------------------
                                                                                                                                      8975 
                                                                                                                                      8976 static const basic::ZoneEra kZoneEraPacific_Majuro[] ACE_TIME_PROGMEM = {
                                                                                                                                      8977  // 12:00 - +12
                                                                                                                                      8978  {
                                                                                                                                      8979  nullptr /*zonePolicy*/,
                                                                                                                                      8980  "+12" /*format*/,
                                                                                                                                      8981  48 /*offsetCode*/,
                                                                                                                                      8982  0 /*deltaCode*/,
                                                                                                                                      8983  127 /*untilYearTiny*/,
                                                                                                                                      8984  1 /*untilMonth*/,
                                                                                                                                      8985  1 /*untilDay*/,
                                                                                                                                      8986  0 /*untilTimeCode*/,
                                                                                                                                      8987  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      8988  },
                                                                                                                                      8989 
                                                                                                                                      8990 };
                                                                                                                                      8991 
                                                                                                                                      8992 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "Pacific/Majuro";
                                                                                                                                      8993 
                                                                                                                                      8994 const basic::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
                                                                                                                                      8995  kZoneNamePacific_Majuro /*name*/,
                                                                                                                                      8996  0xe1f95371 /*zoneId*/,
                                                                                                                                      8997  &kZoneContext /*zoneContext*/,
                                                                                                                                      8998  2 /*transitionBufSize*/,
                                                                                                                                      8999  1 /*numEras*/,
                                                                                                                                      9000  kZoneEraPacific_Majuro /*eras*/,
                                                                                                                                      9001 };
                                                                                                                                      9002 
                                                                                                                                      9003 //---------------------------------------------------------------------------
                                                                                                                                      9004 // Zone name: Pacific/Marquesas
                                                                                                                                      9005 // Zone Eras: 1
                                                                                                                                      9006 // Strings (bytes): 24
                                                                                                                                      9007 // Memory (8-bit): 47
                                                                                                                                      9008 // Memory (32-bit): 60
                                                                                                                                      9009 //---------------------------------------------------------------------------
                                                                                                                                      9010 
                                                                                                                                      9011 static const basic::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
                                                                                                                                      9012  // -9:30 - -0930
                                                                                                                                      9013  {
                                                                                                                                      9014  nullptr /*zonePolicy*/,
                                                                                                                                      9015  "-0930" /*format*/,
                                                                                                                                      9016  -38 /*offsetCode*/,
                                                                                                                                      9017  0 /*deltaCode*/,
                                                                                                                                      9018  127 /*untilYearTiny*/,
                                                                                                                                      9019  1 /*untilMonth*/,
                                                                                                                                      9020  1 /*untilDay*/,
                                                                                                                                      9021  0 /*untilTimeCode*/,
                                                                                                                                      9022  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9023  },
                                                                                                                                      9024 
                                                                                                                                      9025 };
                                                                                                                                      9026 
                                                                                                                                      9027 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "Pacific/Marquesas";
                                                                                                                                      9028 
                                                                                                                                      9029 const basic::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
                                                                                                                                      9030  kZoneNamePacific_Marquesas /*name*/,
                                                                                                                                      9031  0x57ca7135 /*zoneId*/,
                                                                                                                                      9032  &kZoneContext /*zoneContext*/,
                                                                                                                                      9033  2 /*transitionBufSize*/,
                                                                                                                                      9034  1 /*numEras*/,
                                                                                                                                      9035  kZoneEraPacific_Marquesas /*eras*/,
                                                                                                                                      9036 };
                                                                                                                                      9037 
                                                                                                                                      9038 //---------------------------------------------------------------------------
                                                                                                                                      9039 // Zone name: Pacific/Nauru
                                                                                                                                      9040 // Zone Eras: 1
                                                                                                                                      9041 // Strings (bytes): 18
                                                                                                                                      9042 // Memory (8-bit): 41
                                                                                                                                      9043 // Memory (32-bit): 54
                                                                                                                                      9044 //---------------------------------------------------------------------------
                                                                                                                                      9045 
                                                                                                                                      9046 static const basic::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
                                                                                                                                      9047  // 12:00 - +12
                                                                                                                                      9048  {
                                                                                                                                      9049  nullptr /*zonePolicy*/,
                                                                                                                                      9050  "+12" /*format*/,
                                                                                                                                      9051  48 /*offsetCode*/,
                                                                                                                                      9052  0 /*deltaCode*/,
                                                                                                                                      9053  127 /*untilYearTiny*/,
                                                                                                                                      9054  1 /*untilMonth*/,
                                                                                                                                      9055  1 /*untilDay*/,
                                                                                                                                      9056  0 /*untilTimeCode*/,
                                                                                                                                      9057  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9058  },
                                                                                                                                      9059 
                                                                                                                                      9060 };
                                                                                                                                      9061 
                                                                                                                                      9062 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "Pacific/Nauru";
                                                                                                                                      9063 
                                                                                                                                      9064 const basic::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
                                                                                                                                      9065  kZoneNamePacific_Nauru /*name*/,
                                                                                                                                      9066  0x8acc41ae /*zoneId*/,
                                                                                                                                      9067  &kZoneContext /*zoneContext*/,
                                                                                                                                      9068  2 /*transitionBufSize*/,
                                                                                                                                      9069  1 /*numEras*/,
                                                                                                                                      9070  kZoneEraPacific_Nauru /*eras*/,
                                                                                                                                      9071 };
                                                                                                                                      9072 
                                                                                                                                      9073 //---------------------------------------------------------------------------
                                                                                                                                      9074 // Zone name: Pacific/Niue
                                                                                                                                      9075 // Zone Eras: 1
                                                                                                                                      9076 // Strings (bytes): 17
                                                                                                                                      9077 // Memory (8-bit): 40
                                                                                                                                      9078 // Memory (32-bit): 53
                                                                                                                                      9079 //---------------------------------------------------------------------------
                                                                                                                                      9080 
                                                                                                                                      9081 static const basic::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
                                                                                                                                      9082  // -11:00 - -11
                                                                                                                                      9083  {
                                                                                                                                      9084  nullptr /*zonePolicy*/,
                                                                                                                                      9085  "-11" /*format*/,
                                                                                                                                      9086  -44 /*offsetCode*/,
                                                                                                                                      9087  0 /*deltaCode*/,
                                                                                                                                      9088  127 /*untilYearTiny*/,
                                                                                                                                      9089  1 /*untilMonth*/,
                                                                                                                                      9090  1 /*untilDay*/,
                                                                                                                                      9091  0 /*untilTimeCode*/,
                                                                                                                                      9092  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9093  },
                                                                                                                                      9094 
                                                                                                                                      9095 };
                                                                                                                                      9096 
                                                                                                                                      9097 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "Pacific/Niue";
                                                                                                                                      9098 
                                                                                                                                      9099 const basic::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
                                                                                                                                      9100  kZoneNamePacific_Niue /*name*/,
                                                                                                                                      9101  0x233ca014 /*zoneId*/,
                                                                                                                                      9102  &kZoneContext /*zoneContext*/,
                                                                                                                                      9103  2 /*transitionBufSize*/,
                                                                                                                                      9104  1 /*numEras*/,
                                                                                                                                      9105  kZoneEraPacific_Niue /*eras*/,
                                                                                                                                      9106 };
                                                                                                                                      9107 
                                                                                                                                      9108 //---------------------------------------------------------------------------
                                                                                                                                      9109 // Zone name: Pacific/Noumea
                                                                                                                                      9110 // Zone Eras: 1
                                                                                                                                      9111 // Strings (bytes): 23
                                                                                                                                      9112 // Memory (8-bit): 46
                                                                                                                                      9113 // Memory (32-bit): 59
                                                                                                                                      9114 //---------------------------------------------------------------------------
                                                                                                                                      9115 
                                                                                                                                      9116 static const basic::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
                                                                                                                                      9117  // 11:00 NC +11/+12
                                                                                                                                      9118  {
                                                                                                                                      9119  &kPolicyNC /*zonePolicy*/,
                                                                                                                                      9120  "+11/+12" /*format*/,
                                                                                                                                      9121  44 /*offsetCode*/,
                                                                                                                                      9122  0 /*deltaCode*/,
                                                                                                                                      9123  127 /*untilYearTiny*/,
                                                                                                                                      9124  1 /*untilMonth*/,
                                                                                                                                      9125  1 /*untilDay*/,
                                                                                                                                      9126  0 /*untilTimeCode*/,
                                                                                                                                      9127  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9128  },
                                                                                                                                      9129 
                                                                                                                                      9130 };
                                                                                                                                      9131 
                                                                                                                                      9132 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "Pacific/Noumea";
                                                                                                                                      9133 
                                                                                                                                      9134 const basic::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
                                                                                                                                      9135  kZoneNamePacific_Noumea /*name*/,
                                                                                                                                      9136  0xe551b788 /*zoneId*/,
                                                                                                                                      9137  &kZoneContext /*zoneContext*/,
                                                                                                                                      9138  2 /*transitionBufSize*/,
                                                                                                                                      9139  1 /*numEras*/,
                                                                                                                                      9140  kZoneEraPacific_Noumea /*eras*/,
                                                                                                                                      9141 };
                                                                                                                                      9142 
                                                                                                                                      9143 //---------------------------------------------------------------------------
                                                                                                                                      9144 // Zone name: Pacific/Pago_Pago
                                                                                                                                      9145 // Zone Eras: 1
                                                                                                                                      9146 // Strings (bytes): 22
                                                                                                                                      9147 // Memory (8-bit): 45
                                                                                                                                      9148 // Memory (32-bit): 58
                                                                                                                                      9149 //---------------------------------------------------------------------------
                                                                                                                                      9150 
                                                                                                                                      9151 static const basic::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
                                                                                                                                      9152  // -11:00 - SST
                                                                                                                                      9153  {
                                                                                                                                      9154  nullptr /*zonePolicy*/,
                                                                                                                                      9155  "SST" /*format*/,
                                                                                                                                      9156  -44 /*offsetCode*/,
                                                                                                                                      9157  0 /*deltaCode*/,
                                                                                                                                      9158  127 /*untilYearTiny*/,
                                                                                                                                      9159  1 /*untilMonth*/,
                                                                                                                                      9160  1 /*untilDay*/,
                                                                                                                                      9161  0 /*untilTimeCode*/,
                                                                                                                                      9162  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9163  },
                                                                                                                                      9164 
                                                                                                                                      9165 };
                                                                                                                                      9166 
                                                                                                                                      9167 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "Pacific/Pago_Pago";
                                                                                                                                      9168 
                                                                                                                                      9169 const basic::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
                                                                                                                                      9170  kZoneNamePacific_Pago_Pago /*name*/,
                                                                                                                                      9171  0x603aebd0 /*zoneId*/,
                                                                                                                                      9172  &kZoneContext /*zoneContext*/,
                                                                                                                                      9173  2 /*transitionBufSize*/,
                                                                                                                                      9174  1 /*numEras*/,
                                                                                                                                      9175  kZoneEraPacific_Pago_Pago /*eras*/,
                                                                                                                                      9176 };
                                                                                                                                      9177 
                                                                                                                                      9178 //---------------------------------------------------------------------------
                                                                                                                                      9179 // Zone name: Pacific/Palau
                                                                                                                                      9180 // Zone Eras: 1
                                                                                                                                      9181 // Strings (bytes): 18
                                                                                                                                      9182 // Memory (8-bit): 41
                                                                                                                                      9183 // Memory (32-bit): 54
                                                                                                                                      9184 //---------------------------------------------------------------------------
                                                                                                                                      9185 
                                                                                                                                      9186 static const basic::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
                                                                                                                                      9187  // 9:00 - +09
                                                                                                                                      9188  {
                                                                                                                                      9189  nullptr /*zonePolicy*/,
                                                                                                                                      9190  "+09" /*format*/,
                                                                                                                                      9191  36 /*offsetCode*/,
                                                                                                                                      9192  0 /*deltaCode*/,
                                                                                                                                      9193  127 /*untilYearTiny*/,
                                                                                                                                      9194  1 /*untilMonth*/,
                                                                                                                                      9195  1 /*untilDay*/,
                                                                                                                                      9196  0 /*untilTimeCode*/,
                                                                                                                                      9197  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9198  },
                                                                                                                                      9199 
                                                                                                                                      9200 };
                                                                                                                                      9201 
                                                                                                                                      9202 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "Pacific/Palau";
                                                                                                                                      9203 
                                                                                                                                      9204 const basic::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
                                                                                                                                      9205  kZoneNamePacific_Palau /*name*/,
                                                                                                                                      9206  0x8af04a36 /*zoneId*/,
                                                                                                                                      9207  &kZoneContext /*zoneContext*/,
                                                                                                                                      9208  2 /*transitionBufSize*/,
                                                                                                                                      9209  1 /*numEras*/,
                                                                                                                                      9210  kZoneEraPacific_Palau /*eras*/,
                                                                                                                                      9211 };
                                                                                                                                      9212 
                                                                                                                                      9213 //---------------------------------------------------------------------------
                                                                                                                                      9214 // Zone name: Pacific/Pitcairn
                                                                                                                                      9215 // Zone Eras: 1
                                                                                                                                      9216 // Strings (bytes): 21
                                                                                                                                      9217 // Memory (8-bit): 44
                                                                                                                                      9218 // Memory (32-bit): 57
                                                                                                                                      9219 //---------------------------------------------------------------------------
                                                                                                                                      9220 
                                                                                                                                      9221 static const basic::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
                                                                                                                                      9222  // -8:00 - -08
                                                                                                                                      9223  {
                                                                                                                                      9224  nullptr /*zonePolicy*/,
                                                                                                                                      9225  "-08" /*format*/,
                                                                                                                                      9226  -32 /*offsetCode*/,
                                                                                                                                      9227  0 /*deltaCode*/,
                                                                                                                                      9228  127 /*untilYearTiny*/,
                                                                                                                                      9229  1 /*untilMonth*/,
                                                                                                                                      9230  1 /*untilDay*/,
                                                                                                                                      9231  0 /*untilTimeCode*/,
                                                                                                                                      9232  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9233  },
                                                                                                                                      9234 
                                                                                                                                      9235 };
                                                                                                                                      9236 
                                                                                                                                      9237 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "Pacific/Pitcairn";
                                                                                                                                      9238 
                                                                                                                                      9239 const basic::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
                                                                                                                                      9240  kZoneNamePacific_Pitcairn /*name*/,
                                                                                                                                      9241  0x8837d8bd /*zoneId*/,
                                                                                                                                      9242  &kZoneContext /*zoneContext*/,
                                                                                                                                      9243  2 /*transitionBufSize*/,
                                                                                                                                      9244  1 /*numEras*/,
                                                                                                                                      9245  kZoneEraPacific_Pitcairn /*eras*/,
                                                                                                                                      9246 };
                                                                                                                                      9247 
                                                                                                                                      9248 //---------------------------------------------------------------------------
                                                                                                                                      9249 // Zone name: Pacific/Pohnpei
                                                                                                                                      9250 // Zone Eras: 1
                                                                                                                                      9251 // Strings (bytes): 20
                                                                                                                                      9252 // Memory (8-bit): 43
                                                                                                                                      9253 // Memory (32-bit): 56
                                                                                                                                      9254 //---------------------------------------------------------------------------
                                                                                                                                      9255 
                                                                                                                                      9256 static const basic::ZoneEra kZoneEraPacific_Pohnpei[] ACE_TIME_PROGMEM = {
                                                                                                                                      9257  // 11:00 - +11
                                                                                                                                      9258  {
                                                                                                                                      9259  nullptr /*zonePolicy*/,
                                                                                                                                      9260  "+11" /*format*/,
                                                                                                                                      9261  44 /*offsetCode*/,
                                                                                                                                      9262  0 /*deltaCode*/,
                                                                                                                                      9263  127 /*untilYearTiny*/,
                                                                                                                                      9264  1 /*untilMonth*/,
                                                                                                                                      9265  1 /*untilDay*/,
                                                                                                                                      9266  0 /*untilTimeCode*/,
                                                                                                                                      9267  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9268  },
                                                                                                                                      9269 
                                                                                                                                      9270 };
                                                                                                                                      9271 
                                                                                                                                      9272 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "Pacific/Pohnpei";
                                                                                                                                      9273 
                                                                                                                                      9274 const basic::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
                                                                                                                                      9275  kZoneNamePacific_Pohnpei /*name*/,
                                                                                                                                      9276  0x28929f96 /*zoneId*/,
                                                                                                                                      9277  &kZoneContext /*zoneContext*/,
                                                                                                                                      9278  2 /*transitionBufSize*/,
                                                                                                                                      9279  1 /*numEras*/,
                                                                                                                                      9280  kZoneEraPacific_Pohnpei /*eras*/,
                                                                                                                                      9281 };
                                                                                                                                      9282 
                                                                                                                                      9283 //---------------------------------------------------------------------------
                                                                                                                                      9284 // Zone name: Pacific/Port_Moresby
                                                                                                                                      9285 // Zone Eras: 1
                                                                                                                                      9286 // Strings (bytes): 25
                                                                                                                                      9287 // Memory (8-bit): 48
                                                                                                                                      9288 // Memory (32-bit): 61
                                                                                                                                      9289 //---------------------------------------------------------------------------
                                                                                                                                      9290 
                                                                                                                                      9291 static const basic::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
                                                                                                                                      9292  // 10:00 - +10
                                                                                                                                      9293  {
                                                                                                                                      9294  nullptr /*zonePolicy*/,
                                                                                                                                      9295  "+10" /*format*/,
                                                                                                                                      9296  40 /*offsetCode*/,
                                                                                                                                      9297  0 /*deltaCode*/,
                                                                                                                                      9298  127 /*untilYearTiny*/,
                                                                                                                                      9299  1 /*untilMonth*/,
                                                                                                                                      9300  1 /*untilDay*/,
                                                                                                                                      9301  0 /*untilTimeCode*/,
                                                                                                                                      9302  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9303  },
                                                                                                                                      9304 
                                                                                                                                      9305 };
                                                                                                                                      9306 
                                                                                                                                      9307 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "Pacific/Port_Moresby";
                                                                                                                                      9308 
                                                                                                                                      9309 const basic::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
                                                                                                                                      9310  kZoneNamePacific_Port_Moresby /*name*/,
                                                                                                                                      9311  0xa7ba7f68 /*zoneId*/,
                                                                                                                                      9312  &kZoneContext /*zoneContext*/,
                                                                                                                                      9313  2 /*transitionBufSize*/,
                                                                                                                                      9314  1 /*numEras*/,
                                                                                                                                      9315  kZoneEraPacific_Port_Moresby /*eras*/,
                                                                                                                                      9316 };
                                                                                                                                      9317 
                                                                                                                                      9318 //---------------------------------------------------------------------------
                                                                                                                                      9319 // Zone name: Pacific/Rarotonga
                                                                                                                                      9320 // Zone Eras: 1
                                                                                                                                      9321 // Strings (bytes): 28
                                                                                                                                      9322 // Memory (8-bit): 51
                                                                                                                                      9323 // Memory (32-bit): 64
                                                                                                                                      9324 //---------------------------------------------------------------------------
                                                                                                                                      9325 
                                                                                                                                      9326 static const basic::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
                                                                                                                                      9327  // -10:00 Cook -10/-0930
                                                                                                                                      9328  {
                                                                                                                                      9329  &kPolicyCook /*zonePolicy*/,
                                                                                                                                      9330  "-10/-0930" /*format*/,
                                                                                                                                      9331  -40 /*offsetCode*/,
                                                                                                                                      9332  0 /*deltaCode*/,
                                                                                                                                      9333  127 /*untilYearTiny*/,
                                                                                                                                      9334  1 /*untilMonth*/,
                                                                                                                                      9335  1 /*untilDay*/,
                                                                                                                                      9336  0 /*untilTimeCode*/,
                                                                                                                                      9337  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9338  },
                                                                                                                                      9339 
                                                                                                                                      9340 };
                                                                                                                                      9341 
                                                                                                                                      9342 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "Pacific/Rarotonga";
                                                                                                                                      9343 
                                                                                                                                      9344 const basic::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
                                                                                                                                      9345  kZoneNamePacific_Rarotonga /*name*/,
                                                                                                                                      9346  0x9981a3b0 /*zoneId*/,
                                                                                                                                      9347  &kZoneContext /*zoneContext*/,
                                                                                                                                      9348  2 /*transitionBufSize*/,
                                                                                                                                      9349  1 /*numEras*/,
                                                                                                                                      9350  kZoneEraPacific_Rarotonga /*eras*/,
                                                                                                                                      9351 };
                                                                                                                                      9352 
                                                                                                                                      9353 //---------------------------------------------------------------------------
                                                                                                                                      9354 // Zone name: Pacific/Tahiti
                                                                                                                                      9355 // Zone Eras: 1
                                                                                                                                      9356 // Strings (bytes): 19
                                                                                                                                      9357 // Memory (8-bit): 42
                                                                                                                                      9358 // Memory (32-bit): 55
                                                                                                                                      9359 //---------------------------------------------------------------------------
                                                                                                                                      9360 
                                                                                                                                      9361 static const basic::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
                                                                                                                                      9362  // -10:00 - -10
                                                                                                                                      9363  {
                                                                                                                                      9364  nullptr /*zonePolicy*/,
                                                                                                                                      9365  "-10" /*format*/,
                                                                                                                                      9366  -40 /*offsetCode*/,
                                                                                                                                      9367  0 /*deltaCode*/,
                                                                                                                                      9368  127 /*untilYearTiny*/,
                                                                                                                                      9369  1 /*untilMonth*/,
                                                                                                                                      9370  1 /*untilDay*/,
                                                                                                                                      9371  0 /*untilTimeCode*/,
                                                                                                                                      9372  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9373  },
                                                                                                                                      9374 
                                                                                                                                      9375 };
                                                                                                                                      9376 
                                                                                                                                      9377 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "Pacific/Tahiti";
                                                                                                                                      9378 
                                                                                                                                      9379 const basic::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
                                                                                                                                      9380  kZoneNamePacific_Tahiti /*name*/,
                                                                                                                                      9381  0xf24c2446 /*zoneId*/,
                                                                                                                                      9382  &kZoneContext /*zoneContext*/,
                                                                                                                                      9383  2 /*transitionBufSize*/,
                                                                                                                                      9384  1 /*numEras*/,
                                                                                                                                      9385  kZoneEraPacific_Tahiti /*eras*/,
                                                                                                                                      9386 };
                                                                                                                                      9387 
                                                                                                                                      9388 //---------------------------------------------------------------------------
                                                                                                                                      9389 // Zone name: Pacific/Tarawa
                                                                                                                                      9390 // Zone Eras: 1
                                                                                                                                      9391 // Strings (bytes): 19
                                                                                                                                      9392 // Memory (8-bit): 42
                                                                                                                                      9393 // Memory (32-bit): 55
                                                                                                                                      9394 //---------------------------------------------------------------------------
                                                                                                                                      9395 
                                                                                                                                      9396 static const basic::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
                                                                                                                                      9397  // 12:00 - +12
                                                                                                                                      9398  {
                                                                                                                                      9399  nullptr /*zonePolicy*/,
                                                                                                                                      9400  "+12" /*format*/,
                                                                                                                                      9401  48 /*offsetCode*/,
                                                                                                                                      9402  0 /*deltaCode*/,
                                                                                                                                      9403  127 /*untilYearTiny*/,
                                                                                                                                      9404  1 /*untilMonth*/,
                                                                                                                                      9405  1 /*untilDay*/,
                                                                                                                                      9406  0 /*untilTimeCode*/,
                                                                                                                                      9407  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9408  },
                                                                                                                                      9409 
                                                                                                                                      9410 };
                                                                                                                                      9411 
                                                                                                                                      9412 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "Pacific/Tarawa";
                                                                                                                                      9413 
                                                                                                                                      9414 const basic::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
                                                                                                                                      9415  kZoneNamePacific_Tarawa /*name*/,
                                                                                                                                      9416  0xf2517e63 /*zoneId*/,
                                                                                                                                      9417  &kZoneContext /*zoneContext*/,
                                                                                                                                      9418  2 /*transitionBufSize*/,
                                                                                                                                      9419  1 /*numEras*/,
                                                                                                                                      9420  kZoneEraPacific_Tarawa /*eras*/,
                                                                                                                                      9421 };
                                                                                                                                      9422 
                                                                                                                                      9423 //---------------------------------------------------------------------------
                                                                                                                                      9424 // Zone name: Pacific/Tongatapu
                                                                                                                                      9425 // Zone Eras: 2
                                                                                                                                      9426 // Strings (bytes): 30
                                                                                                                                      9427 // Memory (8-bit): 64
                                                                                                                                      9428 // Memory (32-bit): 82
                                                                                                                                      9429 //---------------------------------------------------------------------------
                                                                                                                                      9430 
                                                                                                                                      9431 static const basic::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
                                                                                                                                      9432  // 13:00 - +13 1999
                                                                                                                                      9433  {
                                                                                                                                      9434  nullptr /*zonePolicy*/,
                                                                                                                                      9435  "+13" /*format*/,
                                                                                                                                      9436  52 /*offsetCode*/,
                                                                                                                                      9437  0 /*deltaCode*/,
                                                                                                                                      9438  -1 /*untilYearTiny*/,
                                                                                                                                      9439  1 /*untilMonth*/,
                                                                                                                                      9440  1 /*untilDay*/,
                                                                                                                                      9441  0 /*untilTimeCode*/,
                                                                                                                                      9442  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9443  },
                                                                                                                                      9444  // 13:00 Tonga +13/+14
                                                                                                                                      9445  {
                                                                                                                                      9446  &kPolicyTonga /*zonePolicy*/,
                                                                                                                                      9447  "+13/+14" /*format*/,
                                                                                                                                      9448  52 /*offsetCode*/,
                                                                                                                                      9449  0 /*deltaCode*/,
                                                                                                                                      9450  127 /*untilYearTiny*/,
                                                                                                                                      9451  1 /*untilMonth*/,
                                                                                                                                      9452  1 /*untilDay*/,
                                                                                                                                      9453  0 /*untilTimeCode*/,
                                                                                                                                      9454  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9455  },
                                                                                                                                      9456 
                                                                                                                                      9457 };
                                                                                                                                      9458 
                                                                                                                                      9459 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "Pacific/Tongatapu";
                                                                                                                                      9460 
                                                                                                                                      9461 const basic::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
                                                                                                                                      9462  kZoneNamePacific_Tongatapu /*name*/,
                                                                                                                                      9463  0x262ca836 /*zoneId*/,
                                                                                                                                      9464  &kZoneContext /*zoneContext*/,
                                                                                                                                      9465  6 /*transitionBufSize*/,
                                                                                                                                      9466  2 /*numEras*/,
                                                                                                                                      9467  kZoneEraPacific_Tongatapu /*eras*/,
                                                                                                                                      9468 };
                                                                                                                                      9469 
                                                                                                                                      9470 //---------------------------------------------------------------------------
                                                                                                                                      9471 // Zone name: Pacific/Wake
                                                                                                                                      9472 // Zone Eras: 1
                                                                                                                                      9473 // Strings (bytes): 17
                                                                                                                                      9474 // Memory (8-bit): 40
                                                                                                                                      9475 // Memory (32-bit): 53
                                                                                                                                      9476 //---------------------------------------------------------------------------
                                                                                                                                      9477 
                                                                                                                                      9478 static const basic::ZoneEra kZoneEraPacific_Wake[] ACE_TIME_PROGMEM = {
                                                                                                                                      9479  // 12:00 - +12
                                                                                                                                      9480  {
                                                                                                                                      9481  nullptr /*zonePolicy*/,
                                                                                                                                      9482  "+12" /*format*/,
                                                                                                                                      9483  48 /*offsetCode*/,
                                                                                                                                      9484  0 /*deltaCode*/,
                                                                                                                                      9485  127 /*untilYearTiny*/,
                                                                                                                                      9486  1 /*untilMonth*/,
                                                                                                                                      9487  1 /*untilDay*/,
                                                                                                                                      9488  0 /*untilTimeCode*/,
                                                                                                                                      9489  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9490  },
                                                                                                                                      9491 
                                                                                                                                      9492 };
                                                                                                                                      9493 
                                                                                                                                      9494 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "Pacific/Wake";
                                                                                                                                      9495 
                                                                                                                                      9496 const basic::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
                                                                                                                                      9497  kZoneNamePacific_Wake /*name*/,
                                                                                                                                      9498  0x23416c2b /*zoneId*/,
                                                                                                                                      9499  &kZoneContext /*zoneContext*/,
                                                                                                                                      9500  2 /*transitionBufSize*/,
                                                                                                                                      9501  1 /*numEras*/,
                                                                                                                                      9502  kZoneEraPacific_Wake /*eras*/,
                                                                                                                                      9503 };
                                                                                                                                      9504 
                                                                                                                                      9505 //---------------------------------------------------------------------------
                                                                                                                                      9506 // Zone name: Pacific/Wallis
                                                                                                                                      9507 // Zone Eras: 1
                                                                                                                                      9508 // Strings (bytes): 19
                                                                                                                                      9509 // Memory (8-bit): 42
                                                                                                                                      9510 // Memory (32-bit): 55
                                                                                                                                      9511 //---------------------------------------------------------------------------
                                                                                                                                      9512 
                                                                                                                                      9513 static const basic::ZoneEra kZoneEraPacific_Wallis[] ACE_TIME_PROGMEM = {
                                                                                                                                      9514  // 12:00 - +12
                                                                                                                                      9515  {
                                                                                                                                      9516  nullptr /*zonePolicy*/,
                                                                                                                                      9517  "+12" /*format*/,
                                                                                                                                      9518  48 /*offsetCode*/,
                                                                                                                                      9519  0 /*deltaCode*/,
                                                                                                                                      9520  127 /*untilYearTiny*/,
                                                                                                                                      9521  1 /*untilMonth*/,
                                                                                                                                      9522  1 /*untilDay*/,
                                                                                                                                      9523  0 /*untilTimeCode*/,
                                                                                                                                      9524  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9525  },
                                                                                                                                      9526 
                                                                                                                                      9527 };
                                                                                                                                      9528 
                                                                                                                                      9529 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "Pacific/Wallis";
                                                                                                                                      9530 
                                                                                                                                      9531 const basic::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
                                                                                                                                      9532  kZoneNamePacific_Wallis /*name*/,
                                                                                                                                      9533  0xf94ddb0f /*zoneId*/,
                                                                                                                                      9534  &kZoneContext /*zoneContext*/,
                                                                                                                                      9535  2 /*transitionBufSize*/,
                                                                                                                                      9536  1 /*numEras*/,
                                                                                                                                      9537  kZoneEraPacific_Wallis /*eras*/,
                                                                                                                                      9538 };
                                                                                                                                      9539 
                                                                                                                                      9540 //---------------------------------------------------------------------------
                                                                                                                                      9541 // Zone name: WET
                                                                                                                                      9542 // Zone Eras: 1
                                                                                                                                      9543 // Strings (bytes): 9
                                                                                                                                      9544 // Memory (8-bit): 32
                                                                                                                                      9545 // Memory (32-bit): 45
                                                                                                                                      9546 //---------------------------------------------------------------------------
                                                                                                                                      9547 
                                                                                                                                      9548 static const basic::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = {
                                                                                                                                      9549  // 0:00 EU WE%sT
                                                                                                                                      9550  {
                                                                                                                                      9551  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      9552  "WE%T" /*format*/,
                                                                                                                                      9553  0 /*offsetCode*/,
                                                                                                                                      9554  0 /*deltaCode*/,
                                                                                                                                      9555  127 /*untilYearTiny*/,
                                                                                                                                      9556  1 /*untilMonth*/,
                                                                                                                                      9557  1 /*untilDay*/,
                                                                                                                                      9558  0 /*untilTimeCode*/,
                                                                                                                                      9559  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      9560  },
                                                                                                                                      9561 
                                                                                                                                      9562 };
                                                                                                                                      9563 
                                                                                                                                      9564 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
                                                                                                                                      9565 
                                                                                                                                      9566 const basic::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
                                                                                                                                      9567  kZoneNameWET /*name*/,
                                                                                                                                      9568  0x0b882e35 /*zoneId*/,
                                                                                                                                      9569  &kZoneContext /*zoneContext*/,
                                                                                                                                      9570  5 /*transitionBufSize*/,
                                                                                                                                      9571  1 /*numEras*/,
                                                                                                                                      9572  kZoneEraWET /*eras*/,
                                                                                                                                      9573 };
                                                                                                                                      9574 
                                                                                                                                      9575 
                                                                                                                                      9576 
                                                                                                                                      9577 //---------------------------------------------------------------------------
                                                                                                                                      9578 // Links: 182
                                                                                                                                      9579 //---------------------------------------------------------------------------
                                                                                                                                      9580 
                                                                                                                                      9581 const basic::ZoneInfo& kZoneAfrica_Addis_Ababa = kZoneAfrica_Nairobi;
                                                                                                                                      9582 const basic::ZoneInfo& kZoneAfrica_Asmara = kZoneAfrica_Nairobi;
                                                                                                                                      9583 const basic::ZoneInfo& kZoneAfrica_Asmera = kZoneAfrica_Nairobi;
                                                                                                                                      9584 const basic::ZoneInfo& kZoneAfrica_Bamako = kZoneAfrica_Abidjan;
                                                                                                                                      9585 const basic::ZoneInfo& kZoneAfrica_Bangui = kZoneAfrica_Lagos;
                                                                                                                                      9586 const basic::ZoneInfo& kZoneAfrica_Banjul = kZoneAfrica_Abidjan;
                                                                                                                                      9587 const basic::ZoneInfo& kZoneAfrica_Blantyre = kZoneAfrica_Maputo;
                                                                                                                                      9588 const basic::ZoneInfo& kZoneAfrica_Brazzaville = kZoneAfrica_Lagos;
                                                                                                                                      9589 const basic::ZoneInfo& kZoneAfrica_Bujumbura = kZoneAfrica_Maputo;
                                                                                                                                      9590 const basic::ZoneInfo& kZoneAfrica_Conakry = kZoneAfrica_Abidjan;
                                                                                                                                      9591 const basic::ZoneInfo& kZoneAfrica_Dakar = kZoneAfrica_Abidjan;
                                                                                                                                      9592 const basic::ZoneInfo& kZoneAfrica_Dar_es_Salaam = kZoneAfrica_Nairobi;
                                                                                                                                      9593 const basic::ZoneInfo& kZoneAfrica_Djibouti = kZoneAfrica_Nairobi;
                                                                                                                                      9594 const basic::ZoneInfo& kZoneAfrica_Douala = kZoneAfrica_Lagos;
                                                                                                                                      9595 const basic::ZoneInfo& kZoneAfrica_Freetown = kZoneAfrica_Abidjan;
                                                                                                                                      9596 const basic::ZoneInfo& kZoneAfrica_Gaborone = kZoneAfrica_Maputo;
                                                                                                                                      9597 const basic::ZoneInfo& kZoneAfrica_Harare = kZoneAfrica_Maputo;
                                                                                                                                      9598 const basic::ZoneInfo& kZoneAfrica_Kampala = kZoneAfrica_Nairobi;
                                                                                                                                      9599 const basic::ZoneInfo& kZoneAfrica_Kigali = kZoneAfrica_Maputo;
                                                                                                                                      9600 const basic::ZoneInfo& kZoneAfrica_Kinshasa = kZoneAfrica_Lagos;
                                                                                                                                      9601 const basic::ZoneInfo& kZoneAfrica_Libreville = kZoneAfrica_Lagos;
                                                                                                                                      9602 const basic::ZoneInfo& kZoneAfrica_Lome = kZoneAfrica_Abidjan;
                                                                                                                                      9603 const basic::ZoneInfo& kZoneAfrica_Luanda = kZoneAfrica_Lagos;
                                                                                                                                      9604 const basic::ZoneInfo& kZoneAfrica_Lubumbashi = kZoneAfrica_Maputo;
                                                                                                                                      9605 const basic::ZoneInfo& kZoneAfrica_Lusaka = kZoneAfrica_Maputo;
                                                                                                                                      9606 const basic::ZoneInfo& kZoneAfrica_Malabo = kZoneAfrica_Lagos;
                                                                                                                                      9607 const basic::ZoneInfo& kZoneAfrica_Maseru = kZoneAfrica_Johannesburg;
                                                                                                                                      9608 const basic::ZoneInfo& kZoneAfrica_Mbabane = kZoneAfrica_Johannesburg;
                                                                                                                                      9609 const basic::ZoneInfo& kZoneAfrica_Mogadishu = kZoneAfrica_Nairobi;
                                                                                                                                      9610 const basic::ZoneInfo& kZoneAfrica_Niamey = kZoneAfrica_Lagos;
                                                                                                                                      9611 const basic::ZoneInfo& kZoneAfrica_Nouakchott = kZoneAfrica_Abidjan;
                                                                                                                                      9612 const basic::ZoneInfo& kZoneAfrica_Ouagadougou = kZoneAfrica_Abidjan;
                                                                                                                                      9613 const basic::ZoneInfo& kZoneAfrica_Porto_Novo = kZoneAfrica_Lagos;
                                                                                                                                      9614 const basic::ZoneInfo& kZoneAfrica_Timbuktu = kZoneAfrica_Abidjan;
                                                                                                                                      9615 const basic::ZoneInfo& kZoneAmerica_Anguilla = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9616 const basic::ZoneInfo& kZoneAmerica_Antigua = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9617 const basic::ZoneInfo& kZoneAmerica_Aruba = kZoneAmerica_Curacao;
                                                                                                                                      9618 const basic::ZoneInfo& kZoneAmerica_Atka = kZoneAmerica_Adak;
                                                                                                                                      9619 const basic::ZoneInfo& kZoneAmerica_Cayman = kZoneAmerica_Panama;
                                                                                                                                      9620 const basic::ZoneInfo& kZoneAmerica_Coral_Harbour = kZoneAmerica_Atikokan;
                                                                                                                                      9621 const basic::ZoneInfo& kZoneAmerica_Dominica = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9622 const basic::ZoneInfo& kZoneAmerica_Fort_Wayne = kZoneAmerica_Indiana_Indianapolis;
                                                                                                                                      9623 const basic::ZoneInfo& kZoneAmerica_Godthab = kZoneAmerica_Nuuk;
                                                                                                                                      9624 const basic::ZoneInfo& kZoneAmerica_Grenada = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9625 const basic::ZoneInfo& kZoneAmerica_Guadeloupe = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9626 const basic::ZoneInfo& kZoneAmerica_Indianapolis = kZoneAmerica_Indiana_Indianapolis;
                                                                                                                                      9627 const basic::ZoneInfo& kZoneAmerica_Kralendijk = kZoneAmerica_Curacao;
                                                                                                                                      9628 const basic::ZoneInfo& kZoneAmerica_Louisville = kZoneAmerica_Kentucky_Louisville;
                                                                                                                                      9629 const basic::ZoneInfo& kZoneAmerica_Lower_Princes = kZoneAmerica_Curacao;
                                                                                                                                      9630 const basic::ZoneInfo& kZoneAmerica_Marigot = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9631 const basic::ZoneInfo& kZoneAmerica_Montreal = kZoneAmerica_Toronto;
                                                                                                                                      9632 const basic::ZoneInfo& kZoneAmerica_Montserrat = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9633 const basic::ZoneInfo& kZoneAmerica_Shiprock = kZoneAmerica_Denver;
                                                                                                                                      9634 const basic::ZoneInfo& kZoneAmerica_St_Barthelemy = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9635 const basic::ZoneInfo& kZoneAmerica_St_Kitts = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9636 const basic::ZoneInfo& kZoneAmerica_St_Lucia = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9637 const basic::ZoneInfo& kZoneAmerica_St_Thomas = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9638 const basic::ZoneInfo& kZoneAmerica_St_Vincent = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9639 const basic::ZoneInfo& kZoneAmerica_Tortola = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9640 const basic::ZoneInfo& kZoneAmerica_Virgin = kZoneAmerica_Port_of_Spain;
                                                                                                                                      9641 const basic::ZoneInfo& kZoneAntarctica_McMurdo = kZonePacific_Auckland;
                                                                                                                                      9642 const basic::ZoneInfo& kZoneAntarctica_South_Pole = kZonePacific_Auckland;
                                                                                                                                      9643 const basic::ZoneInfo& kZoneArctic_Longyearbyen = kZoneEurope_Oslo;
                                                                                                                                      9644 const basic::ZoneInfo& kZoneAsia_Aden = kZoneAsia_Riyadh;
                                                                                                                                      9645 const basic::ZoneInfo& kZoneAsia_Ashkhabad = kZoneAsia_Ashgabat;
                                                                                                                                      9646 const basic::ZoneInfo& kZoneAsia_Bahrain = kZoneAsia_Qatar;
                                                                                                                                      9647 const basic::ZoneInfo& kZoneAsia_Calcutta = kZoneAsia_Kolkata;
                                                                                                                                      9648 const basic::ZoneInfo& kZoneAsia_Chongqing = kZoneAsia_Shanghai;
                                                                                                                                      9649 const basic::ZoneInfo& kZoneAsia_Chungking = kZoneAsia_Shanghai;
                                                                                                                                      9650 const basic::ZoneInfo& kZoneAsia_Dacca = kZoneAsia_Dhaka;
                                                                                                                                      9651 const basic::ZoneInfo& kZoneAsia_Harbin = kZoneAsia_Shanghai;
                                                                                                                                      9652 const basic::ZoneInfo& kZoneAsia_Kashgar = kZoneAsia_Urumqi;
                                                                                                                                      9653 const basic::ZoneInfo& kZoneAsia_Katmandu = kZoneAsia_Kathmandu;
                                                                                                                                      9654 const basic::ZoneInfo& kZoneAsia_Kuwait = kZoneAsia_Riyadh;
                                                                                                                                      9655 const basic::ZoneInfo& kZoneAsia_Macao = kZoneAsia_Macau;
                                                                                                                                      9656 const basic::ZoneInfo& kZoneAsia_Muscat = kZoneAsia_Dubai;
                                                                                                                                      9657 const basic::ZoneInfo& kZoneAsia_Phnom_Penh = kZoneAsia_Bangkok;
                                                                                                                                      9658 const basic::ZoneInfo& kZoneAsia_Rangoon = kZoneAsia_Yangon;
                                                                                                                                      9659 const basic::ZoneInfo& kZoneAsia_Saigon = kZoneAsia_Ho_Chi_Minh;
                                                                                                                                      9660 const basic::ZoneInfo& kZoneAsia_Tel_Aviv = kZoneAsia_Jerusalem;
                                                                                                                                      9661 const basic::ZoneInfo& kZoneAsia_Thimbu = kZoneAsia_Thimphu;
                                                                                                                                      9662 const basic::ZoneInfo& kZoneAsia_Ujung_Pandang = kZoneAsia_Makassar;
                                                                                                                                      9663 const basic::ZoneInfo& kZoneAsia_Ulan_Bator = kZoneAsia_Ulaanbaatar;
                                                                                                                                      9664 const basic::ZoneInfo& kZoneAsia_Vientiane = kZoneAsia_Bangkok;
                                                                                                                                      9665 const basic::ZoneInfo& kZoneAtlantic_Faeroe = kZoneAtlantic_Faroe;
                                                                                                                                      9666 const basic::ZoneInfo& kZoneAtlantic_Jan_Mayen = kZoneEurope_Oslo;
                                                                                                                                      9667 const basic::ZoneInfo& kZoneAtlantic_St_Helena = kZoneAfrica_Abidjan;
                                                                                                                                      9668 const basic::ZoneInfo& kZoneAustralia_ACT = kZoneAustralia_Sydney;
                                                                                                                                      9669 const basic::ZoneInfo& kZoneAustralia_Canberra = kZoneAustralia_Sydney;
                                                                                                                                      9670 const basic::ZoneInfo& kZoneAustralia_LHI = kZoneAustralia_Lord_Howe;
                                                                                                                                      9671 const basic::ZoneInfo& kZoneAustralia_NSW = kZoneAustralia_Sydney;
                                                                                                                                      9672 const basic::ZoneInfo& kZoneAustralia_North = kZoneAustralia_Darwin;
                                                                                                                                      9673 const basic::ZoneInfo& kZoneAustralia_Queensland = kZoneAustralia_Brisbane;
                                                                                                                                      9674 const basic::ZoneInfo& kZoneAustralia_South = kZoneAustralia_Adelaide;
                                                                                                                                      9675 const basic::ZoneInfo& kZoneAustralia_Tasmania = kZoneAustralia_Hobart;
                                                                                                                                      9676 const basic::ZoneInfo& kZoneAustralia_Victoria = kZoneAustralia_Melbourne;
                                                                                                                                      9677 const basic::ZoneInfo& kZoneAustralia_West = kZoneAustralia_Perth;
                                                                                                                                      9678 const basic::ZoneInfo& kZoneAustralia_Yancowinna = kZoneAustralia_Broken_Hill;
                                                                                                                                      9679 const basic::ZoneInfo& kZoneBrazil_East = kZoneAmerica_Sao_Paulo;
                                                                                                                                      9680 const basic::ZoneInfo& kZoneBrazil_West = kZoneAmerica_Manaus;
                                                                                                                                      9681 const basic::ZoneInfo& kZoneCanada_Atlantic = kZoneAmerica_Halifax;
                                                                                                                                      9682 const basic::ZoneInfo& kZoneCanada_Central = kZoneAmerica_Winnipeg;
                                                                                                                                      9683 const basic::ZoneInfo& kZoneCanada_Eastern = kZoneAmerica_Toronto;
                                                                                                                                      9684 const basic::ZoneInfo& kZoneCanada_Mountain = kZoneAmerica_Edmonton;
                                                                                                                                      9685 const basic::ZoneInfo& kZoneCanada_Pacific = kZoneAmerica_Vancouver;
                                                                                                                                      9686 const basic::ZoneInfo& kZoneCanada_Saskatchewan = kZoneAmerica_Regina;
                                                                                                                                      9687 const basic::ZoneInfo& kZoneChile_Continental = kZoneAmerica_Santiago;
                                                                                                                                      9688 const basic::ZoneInfo& kZoneChile_EasterIsland = kZonePacific_Easter;
                                                                                                                                      9689 const basic::ZoneInfo& kZoneCuba = kZoneAmerica_Havana;
                                                                                                                                      9690 const basic::ZoneInfo& kZoneEire = kZoneEurope_Dublin;
                                                                                                                                      9691 const basic::ZoneInfo& kZoneEtc_GMT_PLUS_0 = kZoneEtc_GMT;
                                                                                                                                      9692 const basic::ZoneInfo& kZoneEtc_GMT_0 = kZoneEtc_GMT;
                                                                                                                                      9693 const basic::ZoneInfo& kZoneEtc_GMT0 = kZoneEtc_GMT;
                                                                                                                                      9694 const basic::ZoneInfo& kZoneEtc_Greenwich = kZoneEtc_GMT;
                                                                                                                                      9695 const basic::ZoneInfo& kZoneEtc_UCT = kZoneEtc_UTC;
                                                                                                                                      9696 const basic::ZoneInfo& kZoneEtc_Universal = kZoneEtc_UTC;
                                                                                                                                      9697 const basic::ZoneInfo& kZoneEtc_Zulu = kZoneEtc_UTC;
                                                                                                                                      9698 const basic::ZoneInfo& kZoneEurope_Belfast = kZoneEurope_London;
                                                                                                                                      9699 const basic::ZoneInfo& kZoneEurope_Bratislava = kZoneEurope_Prague;
                                                                                                                                      9700 const basic::ZoneInfo& kZoneEurope_Busingen = kZoneEurope_Zurich;
                                                                                                                                      9701 const basic::ZoneInfo& kZoneEurope_Guernsey = kZoneEurope_London;
                                                                                                                                      9702 const basic::ZoneInfo& kZoneEurope_Isle_of_Man = kZoneEurope_London;
                                                                                                                                      9703 const basic::ZoneInfo& kZoneEurope_Jersey = kZoneEurope_London;
                                                                                                                                      9704 const basic::ZoneInfo& kZoneEurope_Ljubljana = kZoneEurope_Belgrade;
                                                                                                                                      9705 const basic::ZoneInfo& kZoneEurope_Mariehamn = kZoneEurope_Helsinki;
                                                                                                                                      9706 const basic::ZoneInfo& kZoneEurope_Nicosia = kZoneAsia_Nicosia;
                                                                                                                                      9707 const basic::ZoneInfo& kZoneEurope_Podgorica = kZoneEurope_Belgrade;
                                                                                                                                      9708 const basic::ZoneInfo& kZoneEurope_San_Marino = kZoneEurope_Rome;
                                                                                                                                      9709 const basic::ZoneInfo& kZoneEurope_Sarajevo = kZoneEurope_Belgrade;
                                                                                                                                      9710 const basic::ZoneInfo& kZoneEurope_Skopje = kZoneEurope_Belgrade;
                                                                                                                                      9711 const basic::ZoneInfo& kZoneEurope_Tiraspol = kZoneEurope_Chisinau;
                                                                                                                                      9712 const basic::ZoneInfo& kZoneEurope_Vaduz = kZoneEurope_Zurich;
                                                                                                                                      9713 const basic::ZoneInfo& kZoneEurope_Vatican = kZoneEurope_Rome;
                                                                                                                                      9714 const basic::ZoneInfo& kZoneEurope_Zagreb = kZoneEurope_Belgrade;
                                                                                                                                      9715 const basic::ZoneInfo& kZoneGB = kZoneEurope_London;
                                                                                                                                      9716 const basic::ZoneInfo& kZoneGB_Eire = kZoneEurope_London;
                                                                                                                                      9717 const basic::ZoneInfo& kZoneGMT = kZoneEtc_GMT;
                                                                                                                                      9718 const basic::ZoneInfo& kZoneGMT_PLUS_0 = kZoneEtc_GMT;
                                                                                                                                      9719 const basic::ZoneInfo& kZoneGMT_0 = kZoneEtc_GMT;
                                                                                                                                      9720 const basic::ZoneInfo& kZoneGMT0 = kZoneEtc_GMT;
                                                                                                                                      9721 const basic::ZoneInfo& kZoneGreenwich = kZoneEtc_GMT;
                                                                                                                                      9722 const basic::ZoneInfo& kZoneHongkong = kZoneAsia_Hong_Kong;
                                                                                                                                      9723 const basic::ZoneInfo& kZoneIceland = kZoneAtlantic_Reykjavik;
                                                                                                                                      9724 const basic::ZoneInfo& kZoneIndian_Antananarivo = kZoneAfrica_Nairobi;
                                                                                                                                      9725 const basic::ZoneInfo& kZoneIndian_Comoro = kZoneAfrica_Nairobi;
                                                                                                                                      9726 const basic::ZoneInfo& kZoneIndian_Mayotte = kZoneAfrica_Nairobi;
                                                                                                                                      9727 const basic::ZoneInfo& kZoneIran = kZoneAsia_Tehran;
                                                                                                                                      9728 const basic::ZoneInfo& kZoneIsrael = kZoneAsia_Jerusalem;
                                                                                                                                      9729 const basic::ZoneInfo& kZoneJamaica = kZoneAmerica_Jamaica;
                                                                                                                                      9730 const basic::ZoneInfo& kZoneJapan = kZoneAsia_Tokyo;
                                                                                                                                      9731 const basic::ZoneInfo& kZoneKwajalein = kZonePacific_Kwajalein;
                                                                                                                                      9732 const basic::ZoneInfo& kZoneMexico_BajaSur = kZoneAmerica_Mazatlan;
                                                                                                                                      9733 const basic::ZoneInfo& kZoneNZ = kZonePacific_Auckland;
                                                                                                                                      9734 const basic::ZoneInfo& kZoneNZ_CHAT = kZonePacific_Chatham;
                                                                                                                                      9735 const basic::ZoneInfo& kZoneNavajo = kZoneAmerica_Denver;
                                                                                                                                      9736 const basic::ZoneInfo& kZonePRC = kZoneAsia_Shanghai;
                                                                                                                                      9737 const basic::ZoneInfo& kZonePacific_Johnston = kZonePacific_Honolulu;
                                                                                                                                      9738 const basic::ZoneInfo& kZonePacific_Midway = kZonePacific_Pago_Pago;
                                                                                                                                      9739 const basic::ZoneInfo& kZonePacific_Ponape = kZonePacific_Pohnpei;
                                                                                                                                      9740 const basic::ZoneInfo& kZonePacific_Samoa = kZonePacific_Pago_Pago;
                                                                                                                                      9741 const basic::ZoneInfo& kZonePacific_Truk = kZonePacific_Chuuk;
                                                                                                                                      9742 const basic::ZoneInfo& kZonePacific_Yap = kZonePacific_Chuuk;
                                                                                                                                      9743 const basic::ZoneInfo& kZonePoland = kZoneEurope_Warsaw;
                                                                                                                                      9744 const basic::ZoneInfo& kZonePortugal = kZoneEurope_Lisbon;
                                                                                                                                      9745 const basic::ZoneInfo& kZoneROC = kZoneAsia_Taipei;
                                                                                                                                      9746 const basic::ZoneInfo& kZoneROK = kZoneAsia_Seoul;
                                                                                                                                      9747 const basic::ZoneInfo& kZoneSingapore = kZoneAsia_Singapore;
                                                                                                                                      9748 const basic::ZoneInfo& kZoneUCT = kZoneEtc_UTC;
                                                                                                                                      9749 const basic::ZoneInfo& kZoneUS_Alaska = kZoneAmerica_Anchorage;
                                                                                                                                      9750 const basic::ZoneInfo& kZoneUS_Aleutian = kZoneAmerica_Adak;
                                                                                                                                      9751 const basic::ZoneInfo& kZoneUS_Arizona = kZoneAmerica_Phoenix;
                                                                                                                                      9752 const basic::ZoneInfo& kZoneUS_Central = kZoneAmerica_Chicago;
                                                                                                                                      9753 const basic::ZoneInfo& kZoneUS_East_Indiana = kZoneAmerica_Indiana_Indianapolis;
                                                                                                                                      9754 const basic::ZoneInfo& kZoneUS_Eastern = kZoneAmerica_New_York;
                                                                                                                                      9755 const basic::ZoneInfo& kZoneUS_Hawaii = kZonePacific_Honolulu;
                                                                                                                                      9756 const basic::ZoneInfo& kZoneUS_Michigan = kZoneAmerica_Detroit;
                                                                                                                                      9757 const basic::ZoneInfo& kZoneUS_Mountain = kZoneAmerica_Denver;
                                                                                                                                      9758 const basic::ZoneInfo& kZoneUS_Pacific = kZoneAmerica_Los_Angeles;
                                                                                                                                      9759 const basic::ZoneInfo& kZoneUS_Samoa = kZonePacific_Pago_Pago;
                                                                                                                                      9760 const basic::ZoneInfo& kZoneUTC = kZoneEtc_UTC;
                                                                                                                                      9761 const basic::ZoneInfo& kZoneUniversal = kZoneEtc_UTC;
                                                                                                                                      9762 const basic::ZoneInfo& kZoneZulu = kZoneEtc_UTC;
                                                                                                                                      9763 
                                                                                                                                      9764 }
                                                                                                                                      9765 }
                                                                                                                                      -
                                                                                                                                      static const uint8_t kSuffixW
                                                                                                                                      Represents &#39;w&#39; or wall time.
                                                                                                                                      Definition: ZoneContext.h:13
                                                                                                                                      -
                                                                                                                                      Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
                                                                                                                                      +
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      +
                                                                                                                                      2 //
                                                                                                                                      +
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      +
                                                                                                                                      4 //
                                                                                                                                      +
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      +
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020c
                                                                                                                                      +
                                                                                                                                      7 //
                                                                                                                                      +
                                                                                                                                      8 // Zones: 268
                                                                                                                                      +
                                                                                                                                      9 // Links: 182
                                                                                                                                      +
                                                                                                                                      10 // Strings (bytes): 5378
                                                                                                                                      +
                                                                                                                                      11 // Memory (8-bit): 11685
                                                                                                                                      +
                                                                                                                                      12 // Memory (32-bit): 15234
                                                                                                                                      +
                                                                                                                                      13 //
                                                                                                                                      +
                                                                                                                                      14 // DO NOT EDIT
                                                                                                                                      +
                                                                                                                                      15 
                                                                                                                                      +
                                                                                                                                      16 #include <ace_time/common/compat.h>
                                                                                                                                      +
                                                                                                                                      17 #include "zone_policies.h"
                                                                                                                                      +
                                                                                                                                      18 #include "zone_infos.h"
                                                                                                                                      +
                                                                                                                                      19 
                                                                                                                                      +
                                                                                                                                      20 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      21 namespace zonedb {
                                                                                                                                      +
                                                                                                                                      22 
                                                                                                                                      +
                                                                                                                                      23 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      24 // ZoneContext (should not be in PROGMEM)
                                                                                                                                      +
                                                                                                                                      25 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      26 
                                                                                                                                      +
                                                                                                                                      27 const char kTzDatabaseVersion[] = "2020c";
                                                                                                                                      +
                                                                                                                                      28 
                                                                                                                                      +
                                                                                                                                      29 const basic::ZoneContext kZoneContext = {
                                                                                                                                      +
                                                                                                                                      30  2000 /*startYear*/,
                                                                                                                                      +
                                                                                                                                      31  2050 /*untilYear*/,
                                                                                                                                      +
                                                                                                                                      32  kTzDatabaseVersion /*tzVersion*/,
                                                                                                                                      +
                                                                                                                                      33 };
                                                                                                                                      +
                                                                                                                                      34 
                                                                                                                                      +
                                                                                                                                      35 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      36 // Zones: 268
                                                                                                                                      +
                                                                                                                                      37 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      38 
                                                                                                                                      +
                                                                                                                                      39 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      40 // Zone name: Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      41 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      42 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      43 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      44 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      45 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      46 
                                                                                                                                      +
                                                                                                                                      47 static const basic::ZoneEra kZoneEraAfrica_Abidjan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      48  // 0:00 - GMT
                                                                                                                                      +
                                                                                                                                      49  {
                                                                                                                                      +
                                                                                                                                      50  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      51  "GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      52  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      53  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      54  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      55  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      56  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      57  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      58  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      59  },
                                                                                                                                      +
                                                                                                                                      60 
                                                                                                                                      +
                                                                                                                                      61 };
                                                                                                                                      +
                                                                                                                                      62 
                                                                                                                                      +
                                                                                                                                      63 static const char kZoneNameAfrica_Abidjan[] ACE_TIME_PROGMEM = "Africa/Abidjan";
                                                                                                                                      +
                                                                                                                                      64 
                                                                                                                                      +
                                                                                                                                      65 const basic::ZoneInfo kZoneAfrica_Abidjan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      66  kZoneNameAfrica_Abidjan /*name*/,
                                                                                                                                      +
                                                                                                                                      67  0xc21305a3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      68  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      69  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      70  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      71  kZoneEraAfrica_Abidjan /*eras*/,
                                                                                                                                      +
                                                                                                                                      72 };
                                                                                                                                      +
                                                                                                                                      73 
                                                                                                                                      +
                                                                                                                                      74 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      75 // Zone name: Africa/Accra
                                                                                                                                      +
                                                                                                                                      76 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      77 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      78 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      79 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      80 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      81 
                                                                                                                                      +
                                                                                                                                      82 static const basic::ZoneEra kZoneEraAfrica_Accra[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      83  // 0:00 Ghana GMT/+0020
                                                                                                                                      +
                                                                                                                                      84  {
                                                                                                                                      +
                                                                                                                                      85  &kPolicyGhana /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      86  "GMT/+0020" /*format*/,
                                                                                                                                      +
                                                                                                                                      87  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      88  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      89  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      90  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      91  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      92  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      93  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      94  },
                                                                                                                                      +
                                                                                                                                      95 
                                                                                                                                      +
                                                                                                                                      96 };
                                                                                                                                      +
                                                                                                                                      97 
                                                                                                                                      +
                                                                                                                                      98 static const char kZoneNameAfrica_Accra[] ACE_TIME_PROGMEM = "Africa/Accra";
                                                                                                                                      +
                                                                                                                                      99 
                                                                                                                                      +
                                                                                                                                      100 const basic::ZoneInfo kZoneAfrica_Accra ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      101  kZoneNameAfrica_Accra /*name*/,
                                                                                                                                      +
                                                                                                                                      102  0x77d5b054 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      103  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      104  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      105  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      106  kZoneEraAfrica_Accra /*eras*/,
                                                                                                                                      +
                                                                                                                                      107 };
                                                                                                                                      +
                                                                                                                                      108 
                                                                                                                                      +
                                                                                                                                      109 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      110 // Zone name: Africa/Algiers
                                                                                                                                      +
                                                                                                                                      111 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      112 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      113 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      114 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      115 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      116 
                                                                                                                                      +
                                                                                                                                      117 static const basic::ZoneEra kZoneEraAfrica_Algiers[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      118  // 1:00 - CET
                                                                                                                                      +
                                                                                                                                      119  {
                                                                                                                                      +
                                                                                                                                      120  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      121  "CET" /*format*/,
                                                                                                                                      +
                                                                                                                                      122  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      123  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      124  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      125  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      126  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      127  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      128  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      129  },
                                                                                                                                      +
                                                                                                                                      130 
                                                                                                                                      +
                                                                                                                                      131 };
                                                                                                                                      +
                                                                                                                                      132 
                                                                                                                                      +
                                                                                                                                      133 static const char kZoneNameAfrica_Algiers[] ACE_TIME_PROGMEM = "Africa/Algiers";
                                                                                                                                      +
                                                                                                                                      134 
                                                                                                                                      +
                                                                                                                                      135 const basic::ZoneInfo kZoneAfrica_Algiers ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      136  kZoneNameAfrica_Algiers /*name*/,
                                                                                                                                      +
                                                                                                                                      137  0xd94515c1 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      138  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      139  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      140  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      141  kZoneEraAfrica_Algiers /*eras*/,
                                                                                                                                      +
                                                                                                                                      142 };
                                                                                                                                      +
                                                                                                                                      143 
                                                                                                                                      +
                                                                                                                                      144 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      145 // Zone name: Africa/Bissau
                                                                                                                                      +
                                                                                                                                      146 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      147 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      148 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      149 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      150 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      151 
                                                                                                                                      +
                                                                                                                                      152 static const basic::ZoneEra kZoneEraAfrica_Bissau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      153  // 0:00 - GMT
                                                                                                                                      +
                                                                                                                                      154  {
                                                                                                                                      +
                                                                                                                                      155  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      156  "GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      157  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      158  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      159  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      160  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      161  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      162  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      163  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      164  },
                                                                                                                                      +
                                                                                                                                      165 
                                                                                                                                      +
                                                                                                                                      166 };
                                                                                                                                      +
                                                                                                                                      167 
                                                                                                                                      +
                                                                                                                                      168 static const char kZoneNameAfrica_Bissau[] ACE_TIME_PROGMEM = "Africa/Bissau";
                                                                                                                                      +
                                                                                                                                      169 
                                                                                                                                      +
                                                                                                                                      170 const basic::ZoneInfo kZoneAfrica_Bissau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      171  kZoneNameAfrica_Bissau /*name*/,
                                                                                                                                      +
                                                                                                                                      172  0x75564141 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      173  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      174  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      175  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      176  kZoneEraAfrica_Bissau /*eras*/,
                                                                                                                                      +
                                                                                                                                      177 };
                                                                                                                                      +
                                                                                                                                      178 
                                                                                                                                      +
                                                                                                                                      179 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      180 // Zone name: Africa/Ceuta
                                                                                                                                      +
                                                                                                                                      181 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      182 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      183 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      184 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      185 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      186 
                                                                                                                                      +
                                                                                                                                      187 static const basic::ZoneEra kZoneEraAfrica_Ceuta[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      188  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      189  {
                                                                                                                                      +
                                                                                                                                      190  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      191  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      192  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      193  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      194  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      195  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      196  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      197  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      198  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      199  },
                                                                                                                                      +
                                                                                                                                      200 
                                                                                                                                      +
                                                                                                                                      201 };
                                                                                                                                      +
                                                                                                                                      202 
                                                                                                                                      +
                                                                                                                                      203 static const char kZoneNameAfrica_Ceuta[] ACE_TIME_PROGMEM = "Africa/Ceuta";
                                                                                                                                      +
                                                                                                                                      204 
                                                                                                                                      +
                                                                                                                                      205 const basic::ZoneInfo kZoneAfrica_Ceuta ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      206  kZoneNameAfrica_Ceuta /*name*/,
                                                                                                                                      +
                                                                                                                                      207  0x77fb46ec /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      208  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      209  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      210  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      211  kZoneEraAfrica_Ceuta /*eras*/,
                                                                                                                                      +
                                                                                                                                      212 };
                                                                                                                                      +
                                                                                                                                      213 
                                                                                                                                      +
                                                                                                                                      214 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      215 // Zone name: Africa/Johannesburg
                                                                                                                                      +
                                                                                                                                      216 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      217 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      218 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      219 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      220 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      221 
                                                                                                                                      +
                                                                                                                                      222 static const basic::ZoneEra kZoneEraAfrica_Johannesburg[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      223  // 2:00 SA SAST
                                                                                                                                      +
                                                                                                                                      224  {
                                                                                                                                      +
                                                                                                                                      225  &kPolicySA /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      226  "SAST" /*format*/,
                                                                                                                                      +
                                                                                                                                      227  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      228  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      229  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      230  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      231  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      232  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      233  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      234  },
                                                                                                                                      +
                                                                                                                                      235 
                                                                                                                                      +
                                                                                                                                      236 };
                                                                                                                                      +
                                                                                                                                      237 
                                                                                                                                      +
                                                                                                                                      238 static const char kZoneNameAfrica_Johannesburg[] ACE_TIME_PROGMEM = "Africa/Johannesburg";
                                                                                                                                      +
                                                                                                                                      239 
                                                                                                                                      +
                                                                                                                                      240 const basic::ZoneInfo kZoneAfrica_Johannesburg ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      241  kZoneNameAfrica_Johannesburg /*name*/,
                                                                                                                                      +
                                                                                                                                      242  0xd5d157a0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      243  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      244  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      245  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      246  kZoneEraAfrica_Johannesburg /*eras*/,
                                                                                                                                      +
                                                                                                                                      247 };
                                                                                                                                      +
                                                                                                                                      248 
                                                                                                                                      +
                                                                                                                                      249 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      250 // Zone name: Africa/Lagos
                                                                                                                                      +
                                                                                                                                      251 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      252 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      253 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      254 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      255 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      256 
                                                                                                                                      +
                                                                                                                                      257 static const basic::ZoneEra kZoneEraAfrica_Lagos[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      258  // 1:00 - WAT
                                                                                                                                      +
                                                                                                                                      259  {
                                                                                                                                      +
                                                                                                                                      260  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      261  "WAT" /*format*/,
                                                                                                                                      +
                                                                                                                                      262  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      263  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      264  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      265  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      266  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      267  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      268  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      269  },
                                                                                                                                      +
                                                                                                                                      270 
                                                                                                                                      +
                                                                                                                                      271 };
                                                                                                                                      +
                                                                                                                                      272 
                                                                                                                                      +
                                                                                                                                      273 static const char kZoneNameAfrica_Lagos[] ACE_TIME_PROGMEM = "Africa/Lagos";
                                                                                                                                      +
                                                                                                                                      274 
                                                                                                                                      +
                                                                                                                                      275 const basic::ZoneInfo kZoneAfrica_Lagos ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      276  kZoneNameAfrica_Lagos /*name*/,
                                                                                                                                      +
                                                                                                                                      277  0x789bb5d0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      278  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      279  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      280  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      281  kZoneEraAfrica_Lagos /*eras*/,
                                                                                                                                      +
                                                                                                                                      282 };
                                                                                                                                      +
                                                                                                                                      283 
                                                                                                                                      +
                                                                                                                                      284 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      285 // Zone name: Africa/Maputo
                                                                                                                                      +
                                                                                                                                      286 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      287 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      288 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      289 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      290 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      291 
                                                                                                                                      +
                                                                                                                                      292 static const basic::ZoneEra kZoneEraAfrica_Maputo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      293  // 2:00 - CAT
                                                                                                                                      +
                                                                                                                                      294  {
                                                                                                                                      +
                                                                                                                                      295  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      296  "CAT" /*format*/,
                                                                                                                                      +
                                                                                                                                      297  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      298  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      299  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      300  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      301  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      302  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      303  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      304  },
                                                                                                                                      +
                                                                                                                                      305 
                                                                                                                                      +
                                                                                                                                      306 };
                                                                                                                                      +
                                                                                                                                      307 
                                                                                                                                      +
                                                                                                                                      308 static const char kZoneNameAfrica_Maputo[] ACE_TIME_PROGMEM = "Africa/Maputo";
                                                                                                                                      +
                                                                                                                                      309 
                                                                                                                                      +
                                                                                                                                      310 const basic::ZoneInfo kZoneAfrica_Maputo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      311  kZoneNameAfrica_Maputo /*name*/,
                                                                                                                                      +
                                                                                                                                      312  0x8e6ca1f0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      313  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      314  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      315  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      316  kZoneEraAfrica_Maputo /*eras*/,
                                                                                                                                      +
                                                                                                                                      317 };
                                                                                                                                      +
                                                                                                                                      318 
                                                                                                                                      +
                                                                                                                                      319 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      320 // Zone name: Africa/Monrovia
                                                                                                                                      +
                                                                                                                                      321 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      322 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      323 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      324 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      325 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      326 
                                                                                                                                      +
                                                                                                                                      327 static const basic::ZoneEra kZoneEraAfrica_Monrovia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      328  // 0:00 - GMT
                                                                                                                                      +
                                                                                                                                      329  {
                                                                                                                                      +
                                                                                                                                      330  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      331  "GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      332  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      333  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      334  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      335  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      336  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      337  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      338  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      339  },
                                                                                                                                      +
                                                                                                                                      340 
                                                                                                                                      +
                                                                                                                                      341 };
                                                                                                                                      +
                                                                                                                                      342 
                                                                                                                                      +
                                                                                                                                      343 static const char kZoneNameAfrica_Monrovia[] ACE_TIME_PROGMEM = "Africa/Monrovia";
                                                                                                                                      +
                                                                                                                                      344 
                                                                                                                                      +
                                                                                                                                      345 const basic::ZoneInfo kZoneAfrica_Monrovia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      346  kZoneNameAfrica_Monrovia /*name*/,
                                                                                                                                      +
                                                                                                                                      347  0x0ce90385 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      348  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      349  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      350  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      351  kZoneEraAfrica_Monrovia /*eras*/,
                                                                                                                                      +
                                                                                                                                      352 };
                                                                                                                                      +
                                                                                                                                      353 
                                                                                                                                      +
                                                                                                                                      354 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      355 // Zone name: Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      356 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      357 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      358 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      359 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      360 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      361 
                                                                                                                                      +
                                                                                                                                      362 static const basic::ZoneEra kZoneEraAfrica_Nairobi[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      363  // 3:00 - EAT
                                                                                                                                      +
                                                                                                                                      364  {
                                                                                                                                      +
                                                                                                                                      365  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      366  "EAT" /*format*/,
                                                                                                                                      +
                                                                                                                                      367  12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      368  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      369  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      370  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      371  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      372  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      373  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      374  },
                                                                                                                                      +
                                                                                                                                      375 
                                                                                                                                      +
                                                                                                                                      376 };
                                                                                                                                      +
                                                                                                                                      377 
                                                                                                                                      +
                                                                                                                                      378 static const char kZoneNameAfrica_Nairobi[] ACE_TIME_PROGMEM = "Africa/Nairobi";
                                                                                                                                      +
                                                                                                                                      379 
                                                                                                                                      +
                                                                                                                                      380 const basic::ZoneInfo kZoneAfrica_Nairobi ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      381  kZoneNameAfrica_Nairobi /*name*/,
                                                                                                                                      +
                                                                                                                                      382  0xa87ab57e /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      383  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      384  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      385  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      386  kZoneEraAfrica_Nairobi /*eras*/,
                                                                                                                                      +
                                                                                                                                      387 };
                                                                                                                                      +
                                                                                                                                      388 
                                                                                                                                      +
                                                                                                                                      389 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      390 // Zone name: Africa/Ndjamena
                                                                                                                                      +
                                                                                                                                      391 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      392 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      393 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      394 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      395 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      396 
                                                                                                                                      +
                                                                                                                                      397 static const basic::ZoneEra kZoneEraAfrica_Ndjamena[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      398  // 1:00 - WAT
                                                                                                                                      +
                                                                                                                                      399  {
                                                                                                                                      +
                                                                                                                                      400  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      401  "WAT" /*format*/,
                                                                                                                                      +
                                                                                                                                      402  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      403  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      404  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      405  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      406  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      407  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      408  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      409  },
                                                                                                                                      +
                                                                                                                                      410 
                                                                                                                                      +
                                                                                                                                      411 };
                                                                                                                                      +
                                                                                                                                      412 
                                                                                                                                      +
                                                                                                                                      413 static const char kZoneNameAfrica_Ndjamena[] ACE_TIME_PROGMEM = "Africa/Ndjamena";
                                                                                                                                      +
                                                                                                                                      414 
                                                                                                                                      +
                                                                                                                                      415 const basic::ZoneInfo kZoneAfrica_Ndjamena ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      416  kZoneNameAfrica_Ndjamena /*name*/,
                                                                                                                                      +
                                                                                                                                      417  0x9fe09898 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      418  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      419  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      420  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      421  kZoneEraAfrica_Ndjamena /*eras*/,
                                                                                                                                      +
                                                                                                                                      422 };
                                                                                                                                      +
                                                                                                                                      423 
                                                                                                                                      +
                                                                                                                                      424 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      425 // Zone name: Africa/Tunis
                                                                                                                                      +
                                                                                                                                      426 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      427 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      428 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      429 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      430 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      431 
                                                                                                                                      +
                                                                                                                                      432 static const basic::ZoneEra kZoneEraAfrica_Tunis[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      433  // 1:00 Tunisia CE%sT
                                                                                                                                      +
                                                                                                                                      434  {
                                                                                                                                      +
                                                                                                                                      435  &kPolicyTunisia /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      436  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      437  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      438  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      439  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      440  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      441  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      442  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      443  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      444  },
                                                                                                                                      +
                                                                                                                                      445 
                                                                                                                                      +
                                                                                                                                      446 };
                                                                                                                                      +
                                                                                                                                      447 
                                                                                                                                      +
                                                                                                                                      448 static const char kZoneNameAfrica_Tunis[] ACE_TIME_PROGMEM = "Africa/Tunis";
                                                                                                                                      +
                                                                                                                                      449 
                                                                                                                                      +
                                                                                                                                      450 const basic::ZoneInfo kZoneAfrica_Tunis ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      451  kZoneNameAfrica_Tunis /*name*/,
                                                                                                                                      +
                                                                                                                                      452  0x79378e6d /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      453  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      454  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      455  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      456  kZoneEraAfrica_Tunis /*eras*/,
                                                                                                                                      +
                                                                                                                                      457 };
                                                                                                                                      +
                                                                                                                                      458 
                                                                                                                                      +
                                                                                                                                      459 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      460 // Zone name: America/Adak
                                                                                                                                      +
                                                                                                                                      461 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      462 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      463 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      464 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      465 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      466 
                                                                                                                                      +
                                                                                                                                      467 static const basic::ZoneEra kZoneEraAmerica_Adak[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      468  // -10:00 US H%sT
                                                                                                                                      +
                                                                                                                                      469  {
                                                                                                                                      +
                                                                                                                                      470  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      471  "H%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      472  -40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      473  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      474  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      475  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      476  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      477  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      478  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      479  },
                                                                                                                                      +
                                                                                                                                      480 
                                                                                                                                      +
                                                                                                                                      481 };
                                                                                                                                      +
                                                                                                                                      482 
                                                                                                                                      +
                                                                                                                                      483 static const char kZoneNameAmerica_Adak[] ACE_TIME_PROGMEM = "America/Adak";
                                                                                                                                      +
                                                                                                                                      484 
                                                                                                                                      +
                                                                                                                                      485 const basic::ZoneInfo kZoneAmerica_Adak ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      486  kZoneNameAmerica_Adak /*name*/,
                                                                                                                                      +
                                                                                                                                      487  0x97fe49d7 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      488  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      489  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      490  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      491  kZoneEraAmerica_Adak /*eras*/,
                                                                                                                                      +
                                                                                                                                      492 };
                                                                                                                                      +
                                                                                                                                      493 
                                                                                                                                      +
                                                                                                                                      494 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      495 // Zone name: America/Anchorage
                                                                                                                                      +
                                                                                                                                      496 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      497 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      498 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      499 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      500 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      501 
                                                                                                                                      +
                                                                                                                                      502 static const basic::ZoneEra kZoneEraAmerica_Anchorage[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      503  // -9:00 US AK%sT
                                                                                                                                      +
                                                                                                                                      504  {
                                                                                                                                      +
                                                                                                                                      505  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      506  "AK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      507  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      508  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      509  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      510  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      511  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      512  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      513  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      514  },
                                                                                                                                      +
                                                                                                                                      515 
                                                                                                                                      +
                                                                                                                                      516 };
                                                                                                                                      +
                                                                                                                                      517 
                                                                                                                                      +
                                                                                                                                      518 static const char kZoneNameAmerica_Anchorage[] ACE_TIME_PROGMEM = "America/Anchorage";
                                                                                                                                      +
                                                                                                                                      519 
                                                                                                                                      +
                                                                                                                                      520 const basic::ZoneInfo kZoneAmerica_Anchorage ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      521  kZoneNameAmerica_Anchorage /*name*/,
                                                                                                                                      +
                                                                                                                                      522  0x5a79260e /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      523  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      524  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      525  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      526  kZoneEraAmerica_Anchorage /*eras*/,
                                                                                                                                      +
                                                                                                                                      527 };
                                                                                                                                      +
                                                                                                                                      528 
                                                                                                                                      +
                                                                                                                                      529 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      530 // Zone name: America/Asuncion
                                                                                                                                      +
                                                                                                                                      531 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      532 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      533 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      534 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      535 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      536 
                                                                                                                                      +
                                                                                                                                      537 static const basic::ZoneEra kZoneEraAmerica_Asuncion[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      538  // -4:00 Para -04/-03
                                                                                                                                      +
                                                                                                                                      539  {
                                                                                                                                      +
                                                                                                                                      540  &kPolicyPara /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      541  "-04/-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      542  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      543  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      544  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      545  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      546  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      547  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      548  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      549  },
                                                                                                                                      +
                                                                                                                                      550 
                                                                                                                                      +
                                                                                                                                      551 };
                                                                                                                                      +
                                                                                                                                      552 
                                                                                                                                      +
                                                                                                                                      553 static const char kZoneNameAmerica_Asuncion[] ACE_TIME_PROGMEM = "America/Asuncion";
                                                                                                                                      +
                                                                                                                                      554 
                                                                                                                                      +
                                                                                                                                      555 const basic::ZoneInfo kZoneAmerica_Asuncion ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      556  kZoneNameAmerica_Asuncion /*name*/,
                                                                                                                                      +
                                                                                                                                      557  0x50ec79a6 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      558  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      559  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      560  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      561  kZoneEraAmerica_Asuncion /*eras*/,
                                                                                                                                      +
                                                                                                                                      562 };
                                                                                                                                      +
                                                                                                                                      563 
                                                                                                                                      +
                                                                                                                                      564 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      565 // Zone name: America/Atikokan
                                                                                                                                      +
                                                                                                                                      566 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      567 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      568 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      569 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      570 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      571 
                                                                                                                                      +
                                                                                                                                      572 static const basic::ZoneEra kZoneEraAmerica_Atikokan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      573  // -5:00 - EST
                                                                                                                                      +
                                                                                                                                      574  {
                                                                                                                                      +
                                                                                                                                      575  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      576  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      577  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      578  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      579  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      580  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      581  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      582  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      583  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      584  },
                                                                                                                                      +
                                                                                                                                      585 
                                                                                                                                      +
                                                                                                                                      586 };
                                                                                                                                      +
                                                                                                                                      587 
                                                                                                                                      +
                                                                                                                                      588 static const char kZoneNameAmerica_Atikokan[] ACE_TIME_PROGMEM = "America/Atikokan";
                                                                                                                                      +
                                                                                                                                      589 
                                                                                                                                      +
                                                                                                                                      590 const basic::ZoneInfo kZoneAmerica_Atikokan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      591  kZoneNameAmerica_Atikokan /*name*/,
                                                                                                                                      +
                                                                                                                                      592  0x81b92098 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      593  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      594  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      595  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      596  kZoneEraAmerica_Atikokan /*eras*/,
                                                                                                                                      +
                                                                                                                                      597 };
                                                                                                                                      +
                                                                                                                                      598 
                                                                                                                                      +
                                                                                                                                      599 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      600 // Zone name: America/Barbados
                                                                                                                                      +
                                                                                                                                      601 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      602 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      603 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      604 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      605 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      606 
                                                                                                                                      +
                                                                                                                                      607 static const basic::ZoneEra kZoneEraAmerica_Barbados[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      608  // -4:00 Barb A%sT
                                                                                                                                      +
                                                                                                                                      609  {
                                                                                                                                      +
                                                                                                                                      610  &kPolicyBarb /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      611  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      612  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      613  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      614  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      615  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      616  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      617  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      618  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      619  },
                                                                                                                                      +
                                                                                                                                      620 
                                                                                                                                      +
                                                                                                                                      621 };
                                                                                                                                      +
                                                                                                                                      622 
                                                                                                                                      +
                                                                                                                                      623 static const char kZoneNameAmerica_Barbados[] ACE_TIME_PROGMEM = "America/Barbados";
                                                                                                                                      +
                                                                                                                                      624 
                                                                                                                                      +
                                                                                                                                      625 const basic::ZoneInfo kZoneAmerica_Barbados ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      626  kZoneNameAmerica_Barbados /*name*/,
                                                                                                                                      +
                                                                                                                                      627  0xcbbc3b04 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      628  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      629  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      630  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      631  kZoneEraAmerica_Barbados /*eras*/,
                                                                                                                                      +
                                                                                                                                      632 };
                                                                                                                                      +
                                                                                                                                      633 
                                                                                                                                      +
                                                                                                                                      634 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      635 // Zone name: America/Belem
                                                                                                                                      +
                                                                                                                                      636 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      637 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      638 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      639 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      640 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      641 
                                                                                                                                      +
                                                                                                                                      642 static const basic::ZoneEra kZoneEraAmerica_Belem[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      643  // -3:00 - -03
                                                                                                                                      +
                                                                                                                                      644  {
                                                                                                                                      +
                                                                                                                                      645  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      646  "-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      647  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      648  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      649  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      650  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      651  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      652  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      653  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      654  },
                                                                                                                                      +
                                                                                                                                      655 
                                                                                                                                      +
                                                                                                                                      656 };
                                                                                                                                      +
                                                                                                                                      657 
                                                                                                                                      +
                                                                                                                                      658 static const char kZoneNameAmerica_Belem[] ACE_TIME_PROGMEM = "America/Belem";
                                                                                                                                      +
                                                                                                                                      659 
                                                                                                                                      +
                                                                                                                                      660 const basic::ZoneInfo kZoneAmerica_Belem ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      661  kZoneNameAmerica_Belem /*name*/,
                                                                                                                                      +
                                                                                                                                      662  0x97da580b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      663  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      664  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      665  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      666  kZoneEraAmerica_Belem /*eras*/,
                                                                                                                                      +
                                                                                                                                      667 };
                                                                                                                                      +
                                                                                                                                      668 
                                                                                                                                      +
                                                                                                                                      669 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      670 // Zone name: America/Blanc-Sablon
                                                                                                                                      +
                                                                                                                                      671 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      672 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      673 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      674 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      675 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      676 
                                                                                                                                      +
                                                                                                                                      677 static const basic::ZoneEra kZoneEraAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      678  // -4:00 - AST
                                                                                                                                      +
                                                                                                                                      679  {
                                                                                                                                      +
                                                                                                                                      680  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      681  "AST" /*format*/,
                                                                                                                                      +
                                                                                                                                      682  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      683  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      684  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      685  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      686  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      687  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      688  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      689  },
                                                                                                                                      +
                                                                                                                                      690 
                                                                                                                                      +
                                                                                                                                      691 };
                                                                                                                                      +
                                                                                                                                      692 
                                                                                                                                      +
                                                                                                                                      693 static const char kZoneNameAmerica_Blanc_Sablon[] ACE_TIME_PROGMEM = "America/Blanc-Sablon";
                                                                                                                                      +
                                                                                                                                      694 
                                                                                                                                      +
                                                                                                                                      695 const basic::ZoneInfo kZoneAmerica_Blanc_Sablon ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      696  kZoneNameAmerica_Blanc_Sablon /*name*/,
                                                                                                                                      +
                                                                                                                                      697  0x6e299892 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      698  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      699  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      700  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      701  kZoneEraAmerica_Blanc_Sablon /*eras*/,
                                                                                                                                      +
                                                                                                                                      702 };
                                                                                                                                      +
                                                                                                                                      703 
                                                                                                                                      +
                                                                                                                                      704 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      705 // Zone name: America/Bogota
                                                                                                                                      +
                                                                                                                                      706 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      707 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      708 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      709 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      710 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      711 
                                                                                                                                      +
                                                                                                                                      712 static const basic::ZoneEra kZoneEraAmerica_Bogota[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      713  // -5:00 CO -05/-04
                                                                                                                                      +
                                                                                                                                      714  {
                                                                                                                                      +
                                                                                                                                      715  &kPolicyCO /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      716  "-05/-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      717  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      718  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      719  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      720  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      721  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      722  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      723  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      724  },
                                                                                                                                      +
                                                                                                                                      725 
                                                                                                                                      +
                                                                                                                                      726 };
                                                                                                                                      +
                                                                                                                                      727 
                                                                                                                                      +
                                                                                                                                      728 static const char kZoneNameAmerica_Bogota[] ACE_TIME_PROGMEM = "America/Bogota";
                                                                                                                                      +
                                                                                                                                      729 
                                                                                                                                      +
                                                                                                                                      730 const basic::ZoneInfo kZoneAmerica_Bogota ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      731  kZoneNameAmerica_Bogota /*name*/,
                                                                                                                                      +
                                                                                                                                      732  0x93d7bc62 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      733  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      734  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      735  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      736  kZoneEraAmerica_Bogota /*eras*/,
                                                                                                                                      +
                                                                                                                                      737 };
                                                                                                                                      +
                                                                                                                                      738 
                                                                                                                                      +
                                                                                                                                      739 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      740 // Zone name: America/Boise
                                                                                                                                      +
                                                                                                                                      741 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      742 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      743 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      744 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      745 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      746 
                                                                                                                                      +
                                                                                                                                      747 static const basic::ZoneEra kZoneEraAmerica_Boise[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      748  // -7:00 US M%sT
                                                                                                                                      +
                                                                                                                                      749  {
                                                                                                                                      +
                                                                                                                                      750  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      751  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      752  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      753  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      754  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      755  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      756  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      757  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      758  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      759  },
                                                                                                                                      +
                                                                                                                                      760 
                                                                                                                                      +
                                                                                                                                      761 };
                                                                                                                                      +
                                                                                                                                      762 
                                                                                                                                      +
                                                                                                                                      763 static const char kZoneNameAmerica_Boise[] ACE_TIME_PROGMEM = "America/Boise";
                                                                                                                                      +
                                                                                                                                      764 
                                                                                                                                      +
                                                                                                                                      765 const basic::ZoneInfo kZoneAmerica_Boise ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      766  kZoneNameAmerica_Boise /*name*/,
                                                                                                                                      +
                                                                                                                                      767  0x97dfc8d8 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      768  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      769  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      770  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      771  kZoneEraAmerica_Boise /*eras*/,
                                                                                                                                      +
                                                                                                                                      772 };
                                                                                                                                      +
                                                                                                                                      773 
                                                                                                                                      +
                                                                                                                                      774 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      775 // Zone name: America/Campo_Grande
                                                                                                                                      +
                                                                                                                                      776 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      777 // Strings (bytes): 29
                                                                                                                                      +
                                                                                                                                      778 // Memory (8-bit): 52
                                                                                                                                      +
                                                                                                                                      779 // Memory (32-bit): 65
                                                                                                                                      +
                                                                                                                                      780 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      781 
                                                                                                                                      +
                                                                                                                                      782 static const basic::ZoneEra kZoneEraAmerica_Campo_Grande[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      783  // -4:00 Brazil -04/-03
                                                                                                                                      +
                                                                                                                                      784  {
                                                                                                                                      +
                                                                                                                                      785  &kPolicyBrazil /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      786  "-04/-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      787  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      788  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      789  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      790  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      791  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      792  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      793  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      794  },
                                                                                                                                      +
                                                                                                                                      795 
                                                                                                                                      +
                                                                                                                                      796 };
                                                                                                                                      +
                                                                                                                                      797 
                                                                                                                                      +
                                                                                                                                      798 static const char kZoneNameAmerica_Campo_Grande[] ACE_TIME_PROGMEM = "America/Campo_Grande";
                                                                                                                                      +
                                                                                                                                      799 
                                                                                                                                      +
                                                                                                                                      800 const basic::ZoneInfo kZoneAmerica_Campo_Grande ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      801  kZoneNameAmerica_Campo_Grande /*name*/,
                                                                                                                                      +
                                                                                                                                      802  0xfec3e7a6 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      803  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      804  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      805  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      806  kZoneEraAmerica_Campo_Grande /*eras*/,
                                                                                                                                      +
                                                                                                                                      807 };
                                                                                                                                      +
                                                                                                                                      808 
                                                                                                                                      +
                                                                                                                                      809 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      810 // Zone name: America/Cayenne
                                                                                                                                      +
                                                                                                                                      811 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      812 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      813 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      814 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      815 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      816 
                                                                                                                                      +
                                                                                                                                      817 static const basic::ZoneEra kZoneEraAmerica_Cayenne[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      818  // -3:00 - -03
                                                                                                                                      +
                                                                                                                                      819  {
                                                                                                                                      +
                                                                                                                                      820  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      821  "-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      822  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      823  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      824  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      825  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      826  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      827  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      828  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      829  },
                                                                                                                                      +
                                                                                                                                      830 
                                                                                                                                      +
                                                                                                                                      831 };
                                                                                                                                      +
                                                                                                                                      832 
                                                                                                                                      +
                                                                                                                                      833 static const char kZoneNameAmerica_Cayenne[] ACE_TIME_PROGMEM = "America/Cayenne";
                                                                                                                                      +
                                                                                                                                      834 
                                                                                                                                      +
                                                                                                                                      835 const basic::ZoneInfo kZoneAmerica_Cayenne ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      836  kZoneNameAmerica_Cayenne /*name*/,
                                                                                                                                      +
                                                                                                                                      837  0x3c617269 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      838  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      839  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      840  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      841  kZoneEraAmerica_Cayenne /*eras*/,
                                                                                                                                      +
                                                                                                                                      842 };
                                                                                                                                      +
                                                                                                                                      843 
                                                                                                                                      +
                                                                                                                                      844 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      845 // Zone name: America/Chicago
                                                                                                                                      +
                                                                                                                                      846 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      847 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      848 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      849 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      850 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      851 
                                                                                                                                      +
                                                                                                                                      852 static const basic::ZoneEra kZoneEraAmerica_Chicago[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      853  // -6:00 US C%sT
                                                                                                                                      +
                                                                                                                                      854  {
                                                                                                                                      +
                                                                                                                                      855  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      856  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      857  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      858  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      859  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      860  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      861  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      862  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      863  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      864  },
                                                                                                                                      +
                                                                                                                                      865 
                                                                                                                                      +
                                                                                                                                      866 };
                                                                                                                                      +
                                                                                                                                      867 
                                                                                                                                      +
                                                                                                                                      868 static const char kZoneNameAmerica_Chicago[] ACE_TIME_PROGMEM = "America/Chicago";
                                                                                                                                      +
                                                                                                                                      869 
                                                                                                                                      +
                                                                                                                                      870 const basic::ZoneInfo kZoneAmerica_Chicago ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      871  kZoneNameAmerica_Chicago /*name*/,
                                                                                                                                      +
                                                                                                                                      872  0x4b92b5d4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      873  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      874  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      875  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      876  kZoneEraAmerica_Chicago /*eras*/,
                                                                                                                                      +
                                                                                                                                      877 };
                                                                                                                                      +
                                                                                                                                      878 
                                                                                                                                      +
                                                                                                                                      879 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      880 // Zone name: America/Chihuahua
                                                                                                                                      +
                                                                                                                                      881 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      882 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      883 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      884 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      885 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      886 
                                                                                                                                      +
                                                                                                                                      887 static const basic::ZoneEra kZoneEraAmerica_Chihuahua[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      888  // -7:00 Mexico M%sT
                                                                                                                                      +
                                                                                                                                      889  {
                                                                                                                                      +
                                                                                                                                      890  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      891  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      892  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      893  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      894  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      895  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      896  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      897  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      898  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      899  },
                                                                                                                                      +
                                                                                                                                      900 
                                                                                                                                      +
                                                                                                                                      901 };
                                                                                                                                      +
                                                                                                                                      902 
                                                                                                                                      +
                                                                                                                                      903 static const char kZoneNameAmerica_Chihuahua[] ACE_TIME_PROGMEM = "America/Chihuahua";
                                                                                                                                      +
                                                                                                                                      904 
                                                                                                                                      +
                                                                                                                                      905 const basic::ZoneInfo kZoneAmerica_Chihuahua ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      906  kZoneNameAmerica_Chihuahua /*name*/,
                                                                                                                                      +
                                                                                                                                      907  0x8827d776 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      908  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      909  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      910  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      911  kZoneEraAmerica_Chihuahua /*eras*/,
                                                                                                                                      +
                                                                                                                                      912 };
                                                                                                                                      +
                                                                                                                                      913 
                                                                                                                                      +
                                                                                                                                      914 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      915 // Zone name: America/Costa_Rica
                                                                                                                                      +
                                                                                                                                      916 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      917 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      918 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      919 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      920 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      921 
                                                                                                                                      +
                                                                                                                                      922 static const basic::ZoneEra kZoneEraAmerica_Costa_Rica[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      923  // -6:00 CR C%sT
                                                                                                                                      +
                                                                                                                                      924  {
                                                                                                                                      +
                                                                                                                                      925  &kPolicyCR /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      926  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      927  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      928  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      929  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      930  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      931  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      932  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      933  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      934  },
                                                                                                                                      +
                                                                                                                                      935 
                                                                                                                                      +
                                                                                                                                      936 };
                                                                                                                                      +
                                                                                                                                      937 
                                                                                                                                      +
                                                                                                                                      938 static const char kZoneNameAmerica_Costa_Rica[] ACE_TIME_PROGMEM = "America/Costa_Rica";
                                                                                                                                      +
                                                                                                                                      939 
                                                                                                                                      +
                                                                                                                                      940 const basic::ZoneInfo kZoneAmerica_Costa_Rica ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      941  kZoneNameAmerica_Costa_Rica /*name*/,
                                                                                                                                      +
                                                                                                                                      942  0x63ff66be /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      943  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      944  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      945  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      946  kZoneEraAmerica_Costa_Rica /*eras*/,
                                                                                                                                      +
                                                                                                                                      947 };
                                                                                                                                      +
                                                                                                                                      948 
                                                                                                                                      +
                                                                                                                                      949 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      950 // Zone name: America/Creston
                                                                                                                                      +
                                                                                                                                      951 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      952 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      953 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      954 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      955 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      956 
                                                                                                                                      +
                                                                                                                                      957 static const basic::ZoneEra kZoneEraAmerica_Creston[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      958  // -7:00 - MST
                                                                                                                                      +
                                                                                                                                      959  {
                                                                                                                                      +
                                                                                                                                      960  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      961  "MST" /*format*/,
                                                                                                                                      +
                                                                                                                                      962  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      963  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      964  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      965  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      966  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      967  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      968  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      969  },
                                                                                                                                      +
                                                                                                                                      970 
                                                                                                                                      +
                                                                                                                                      971 };
                                                                                                                                      +
                                                                                                                                      972 
                                                                                                                                      +
                                                                                                                                      973 static const char kZoneNameAmerica_Creston[] ACE_TIME_PROGMEM = "America/Creston";
                                                                                                                                      +
                                                                                                                                      974 
                                                                                                                                      +
                                                                                                                                      975 const basic::ZoneInfo kZoneAmerica_Creston ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      976  kZoneNameAmerica_Creston /*name*/,
                                                                                                                                      +
                                                                                                                                      977  0x62a70204 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      978  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      979  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      980  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      981  kZoneEraAmerica_Creston /*eras*/,
                                                                                                                                      +
                                                                                                                                      982 };
                                                                                                                                      +
                                                                                                                                      983 
                                                                                                                                      +
                                                                                                                                      984 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      985 // Zone name: America/Curacao
                                                                                                                                      +
                                                                                                                                      986 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      987 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      988 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      989 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      990 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      991 
                                                                                                                                      +
                                                                                                                                      992 static const basic::ZoneEra kZoneEraAmerica_Curacao[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      993  // -4:00 - AST
                                                                                                                                      +
                                                                                                                                      994  {
                                                                                                                                      +
                                                                                                                                      995  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      996  "AST" /*format*/,
                                                                                                                                      +
                                                                                                                                      997  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      998  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      999  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1000  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1001  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1002  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1003  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1004  },
                                                                                                                                      +
                                                                                                                                      1005 
                                                                                                                                      +
                                                                                                                                      1006 };
                                                                                                                                      +
                                                                                                                                      1007 
                                                                                                                                      +
                                                                                                                                      1008 static const char kZoneNameAmerica_Curacao[] ACE_TIME_PROGMEM = "America/Curacao";
                                                                                                                                      +
                                                                                                                                      1009 
                                                                                                                                      +
                                                                                                                                      1010 const basic::ZoneInfo kZoneAmerica_Curacao ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1011  kZoneNameAmerica_Curacao /*name*/,
                                                                                                                                      +
                                                                                                                                      1012  0x6a879184 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1013  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1014  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1015  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1016  kZoneEraAmerica_Curacao /*eras*/,
                                                                                                                                      +
                                                                                                                                      1017 };
                                                                                                                                      +
                                                                                                                                      1018 
                                                                                                                                      +
                                                                                                                                      1019 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1020 // Zone name: America/Danmarkshavn
                                                                                                                                      +
                                                                                                                                      1021 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1022 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      1023 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      1024 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      1025 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1026 
                                                                                                                                      +
                                                                                                                                      1027 static const basic::ZoneEra kZoneEraAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1028  // 0:00 - GMT
                                                                                                                                      +
                                                                                                                                      1029  {
                                                                                                                                      +
                                                                                                                                      1030  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1031  "GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      1032  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1033  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1034  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1035  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1036  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1037  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1038  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1039  },
                                                                                                                                      +
                                                                                                                                      1040 
                                                                                                                                      +
                                                                                                                                      1041 };
                                                                                                                                      +
                                                                                                                                      1042 
                                                                                                                                      +
                                                                                                                                      1043 static const char kZoneNameAmerica_Danmarkshavn[] ACE_TIME_PROGMEM = "America/Danmarkshavn";
                                                                                                                                      +
                                                                                                                                      1044 
                                                                                                                                      +
                                                                                                                                      1045 const basic::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1046  kZoneNameAmerica_Danmarkshavn /*name*/,
                                                                                                                                      +
                                                                                                                                      1047  0xf554d204 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1048  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1049  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1050  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1051  kZoneEraAmerica_Danmarkshavn /*eras*/,
                                                                                                                                      +
                                                                                                                                      1052 };
                                                                                                                                      +
                                                                                                                                      1053 
                                                                                                                                      +
                                                                                                                                      1054 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1055 // Zone name: America/Dawson_Creek
                                                                                                                                      +
                                                                                                                                      1056 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1057 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      1058 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      1059 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      1060 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1061 
                                                                                                                                      +
                                                                                                                                      1062 static const basic::ZoneEra kZoneEraAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1063  // -7:00 - MST
                                                                                                                                      +
                                                                                                                                      1064  {
                                                                                                                                      +
                                                                                                                                      1065  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1066  "MST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1067  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1068  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1069  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1070  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1071  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1072  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1073  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1074  },
                                                                                                                                      +
                                                                                                                                      1075 
                                                                                                                                      +
                                                                                                                                      1076 };
                                                                                                                                      +
                                                                                                                                      1077 
                                                                                                                                      +
                                                                                                                                      1078 static const char kZoneNameAmerica_Dawson_Creek[] ACE_TIME_PROGMEM = "America/Dawson_Creek";
                                                                                                                                      +
                                                                                                                                      1079 
                                                                                                                                      +
                                                                                                                                      1080 const basic::ZoneInfo kZoneAmerica_Dawson_Creek ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1081  kZoneNameAmerica_Dawson_Creek /*name*/,
                                                                                                                                      +
                                                                                                                                      1082  0x6cf24e5b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1083  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1084  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1085  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1086  kZoneEraAmerica_Dawson_Creek /*eras*/,
                                                                                                                                      +
                                                                                                                                      1087 };
                                                                                                                                      +
                                                                                                                                      1088 
                                                                                                                                      +
                                                                                                                                      1089 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1090 // Zone name: America/Denver
                                                                                                                                      +
                                                                                                                                      1091 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1092 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      1093 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      1094 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      1095 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1096 
                                                                                                                                      +
                                                                                                                                      1097 static const basic::ZoneEra kZoneEraAmerica_Denver[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1098  // -7:00 US M%sT
                                                                                                                                      +
                                                                                                                                      1099  {
                                                                                                                                      +
                                                                                                                                      1100  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1101  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1102  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1103  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1104  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1105  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1106  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1107  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1108  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1109  },
                                                                                                                                      +
                                                                                                                                      1110 
                                                                                                                                      +
                                                                                                                                      1111 };
                                                                                                                                      +
                                                                                                                                      1112 
                                                                                                                                      +
                                                                                                                                      1113 static const char kZoneNameAmerica_Denver[] ACE_TIME_PROGMEM = "America/Denver";
                                                                                                                                      +
                                                                                                                                      1114 
                                                                                                                                      +
                                                                                                                                      1115 const basic::ZoneInfo kZoneAmerica_Denver ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1116  kZoneNameAmerica_Denver /*name*/,
                                                                                                                                      +
                                                                                                                                      1117  0x97d10b2a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1118  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1119  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1120  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1121  kZoneEraAmerica_Denver /*eras*/,
                                                                                                                                      +
                                                                                                                                      1122 };
                                                                                                                                      +
                                                                                                                                      1123 
                                                                                                                                      +
                                                                                                                                      1124 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1125 // Zone name: America/Detroit
                                                                                                                                      +
                                                                                                                                      1126 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1127 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      1128 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      1129 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      1130 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1131 
                                                                                                                                      +
                                                                                                                                      1132 static const basic::ZoneEra kZoneEraAmerica_Detroit[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1133  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      1134  {
                                                                                                                                      +
                                                                                                                                      1135  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1136  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1137  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1138  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1139  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1140  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1141  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1142  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1143  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1144  },
                                                                                                                                      +
                                                                                                                                      1145 
                                                                                                                                      +
                                                                                                                                      1146 };
                                                                                                                                      +
                                                                                                                                      1147 
                                                                                                                                      +
                                                                                                                                      1148 static const char kZoneNameAmerica_Detroit[] ACE_TIME_PROGMEM = "America/Detroit";
                                                                                                                                      +
                                                                                                                                      1149 
                                                                                                                                      +
                                                                                                                                      1150 const basic::ZoneInfo kZoneAmerica_Detroit ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1151  kZoneNameAmerica_Detroit /*name*/,
                                                                                                                                      +
                                                                                                                                      1152  0x925cfbc1 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1153  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1154  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1155  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1156  kZoneEraAmerica_Detroit /*eras*/,
                                                                                                                                      +
                                                                                                                                      1157 };
                                                                                                                                      +
                                                                                                                                      1158 
                                                                                                                                      +
                                                                                                                                      1159 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1160 // Zone name: America/Edmonton
                                                                                                                                      +
                                                                                                                                      1161 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1162 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      1163 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      1164 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      1165 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1166 
                                                                                                                                      +
                                                                                                                                      1167 static const basic::ZoneEra kZoneEraAmerica_Edmonton[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1168  // -7:00 Canada M%sT
                                                                                                                                      +
                                                                                                                                      1169  {
                                                                                                                                      +
                                                                                                                                      1170  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1171  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1172  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1173  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1174  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1175  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1176  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1177  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1178  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1179  },
                                                                                                                                      +
                                                                                                                                      1180 
                                                                                                                                      +
                                                                                                                                      1181 };
                                                                                                                                      +
                                                                                                                                      1182 
                                                                                                                                      +
                                                                                                                                      1183 static const char kZoneNameAmerica_Edmonton[] ACE_TIME_PROGMEM = "America/Edmonton";
                                                                                                                                      +
                                                                                                                                      1184 
                                                                                                                                      +
                                                                                                                                      1185 const basic::ZoneInfo kZoneAmerica_Edmonton ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1186  kZoneNameAmerica_Edmonton /*name*/,
                                                                                                                                      +
                                                                                                                                      1187  0x6cb9484a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1188  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1189  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1190  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1191  kZoneEraAmerica_Edmonton /*eras*/,
                                                                                                                                      +
                                                                                                                                      1192 };
                                                                                                                                      +
                                                                                                                                      1193 
                                                                                                                                      +
                                                                                                                                      1194 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1195 // Zone name: America/El_Salvador
                                                                                                                                      +
                                                                                                                                      1196 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1197 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      1198 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      1199 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      1200 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1201 
                                                                                                                                      +
                                                                                                                                      1202 static const basic::ZoneEra kZoneEraAmerica_El_Salvador[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1203  // -6:00 Salv C%sT
                                                                                                                                      +
                                                                                                                                      1204  {
                                                                                                                                      +
                                                                                                                                      1205  &kPolicySalv /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1206  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1207  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1208  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1209  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1210  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1211  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1212  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1213  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1214  },
                                                                                                                                      +
                                                                                                                                      1215 
                                                                                                                                      +
                                                                                                                                      1216 };
                                                                                                                                      +
                                                                                                                                      1217 
                                                                                                                                      +
                                                                                                                                      1218 static const char kZoneNameAmerica_El_Salvador[] ACE_TIME_PROGMEM = "America/El_Salvador";
                                                                                                                                      +
                                                                                                                                      1219 
                                                                                                                                      +
                                                                                                                                      1220 const basic::ZoneInfo kZoneAmerica_El_Salvador ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1221  kZoneNameAmerica_El_Salvador /*name*/,
                                                                                                                                      +
                                                                                                                                      1222  0x752ad652 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1223  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1224  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1225  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1226  kZoneEraAmerica_El_Salvador /*eras*/,
                                                                                                                                      +
                                                                                                                                      1227 };
                                                                                                                                      +
                                                                                                                                      1228 
                                                                                                                                      +
                                                                                                                                      1229 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1230 // Zone name: America/Glace_Bay
                                                                                                                                      +
                                                                                                                                      1231 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1232 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      1233 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      1234 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      1235 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1236 
                                                                                                                                      +
                                                                                                                                      1237 static const basic::ZoneEra kZoneEraAmerica_Glace_Bay[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1238  // -4:00 Canada A%sT
                                                                                                                                      +
                                                                                                                                      1239  {
                                                                                                                                      +
                                                                                                                                      1240  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1241  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1242  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1243  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1244  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1245  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1246  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1247  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1248  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1249  },
                                                                                                                                      +
                                                                                                                                      1250 
                                                                                                                                      +
                                                                                                                                      1251 };
                                                                                                                                      +
                                                                                                                                      1252 
                                                                                                                                      +
                                                                                                                                      1253 static const char kZoneNameAmerica_Glace_Bay[] ACE_TIME_PROGMEM = "America/Glace_Bay";
                                                                                                                                      +
                                                                                                                                      1254 
                                                                                                                                      +
                                                                                                                                      1255 const basic::ZoneInfo kZoneAmerica_Glace_Bay ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1256  kZoneNameAmerica_Glace_Bay /*name*/,
                                                                                                                                      +
                                                                                                                                      1257  0x9681f8dd /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1258  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1259  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1260  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1261  kZoneEraAmerica_Glace_Bay /*eras*/,
                                                                                                                                      +
                                                                                                                                      1262 };
                                                                                                                                      +
                                                                                                                                      1263 
                                                                                                                                      +
                                                                                                                                      1264 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1265 // Zone name: America/Guatemala
                                                                                                                                      +
                                                                                                                                      1266 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1267 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      1268 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      1269 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      1270 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1271 
                                                                                                                                      +
                                                                                                                                      1272 static const basic::ZoneEra kZoneEraAmerica_Guatemala[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1273  // -6:00 Guat C%sT
                                                                                                                                      +
                                                                                                                                      1274  {
                                                                                                                                      +
                                                                                                                                      1275  &kPolicyGuat /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1276  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1277  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1278  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1279  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1280  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1281  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1282  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1283  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1284  },
                                                                                                                                      +
                                                                                                                                      1285 
                                                                                                                                      +
                                                                                                                                      1286 };
                                                                                                                                      +
                                                                                                                                      1287 
                                                                                                                                      +
                                                                                                                                      1288 static const char kZoneNameAmerica_Guatemala[] ACE_TIME_PROGMEM = "America/Guatemala";
                                                                                                                                      +
                                                                                                                                      1289 
                                                                                                                                      +
                                                                                                                                      1290 const basic::ZoneInfo kZoneAmerica_Guatemala ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1291  kZoneNameAmerica_Guatemala /*name*/,
                                                                                                                                      +
                                                                                                                                      1292  0x0c8259f7 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1293  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1294  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1295  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1296  kZoneEraAmerica_Guatemala /*eras*/,
                                                                                                                                      +
                                                                                                                                      1297 };
                                                                                                                                      +
                                                                                                                                      1298 
                                                                                                                                      +
                                                                                                                                      1299 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1300 // Zone name: America/Guayaquil
                                                                                                                                      +
                                                                                                                                      1301 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1302 // Strings (bytes): 26
                                                                                                                                      +
                                                                                                                                      1303 // Memory (8-bit): 49
                                                                                                                                      +
                                                                                                                                      1304 // Memory (32-bit): 62
                                                                                                                                      +
                                                                                                                                      1305 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1306 
                                                                                                                                      +
                                                                                                                                      1307 static const basic::ZoneEra kZoneEraAmerica_Guayaquil[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1308  // -5:00 Ecuador -05/-04
                                                                                                                                      +
                                                                                                                                      1309  {
                                                                                                                                      +
                                                                                                                                      1310  &kPolicyEcuador /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1311  "-05/-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      1312  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1313  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1314  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1315  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1316  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1317  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1318  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1319  },
                                                                                                                                      +
                                                                                                                                      1320 
                                                                                                                                      +
                                                                                                                                      1321 };
                                                                                                                                      +
                                                                                                                                      1322 
                                                                                                                                      +
                                                                                                                                      1323 static const char kZoneNameAmerica_Guayaquil[] ACE_TIME_PROGMEM = "America/Guayaquil";
                                                                                                                                      +
                                                                                                                                      1324 
                                                                                                                                      +
                                                                                                                                      1325 const basic::ZoneInfo kZoneAmerica_Guayaquil ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1326  kZoneNameAmerica_Guayaquil /*name*/,
                                                                                                                                      +
                                                                                                                                      1327  0x17e64958 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1328  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1329  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1330  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1331  kZoneEraAmerica_Guayaquil /*eras*/,
                                                                                                                                      +
                                                                                                                                      1332 };
                                                                                                                                      +
                                                                                                                                      1333 
                                                                                                                                      +
                                                                                                                                      1334 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1335 // Zone name: America/Guyana
                                                                                                                                      +
                                                                                                                                      1336 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1337 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      1338 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      1339 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      1340 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1341 
                                                                                                                                      +
                                                                                                                                      1342 static const basic::ZoneEra kZoneEraAmerica_Guyana[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1343  // -4:00 - -04
                                                                                                                                      +
                                                                                                                                      1344  {
                                                                                                                                      +
                                                                                                                                      1345  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1346  "-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      1347  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1348  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1349  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1350  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1351  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1352  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1353  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1354  },
                                                                                                                                      +
                                                                                                                                      1355 
                                                                                                                                      +
                                                                                                                                      1356 };
                                                                                                                                      +
                                                                                                                                      1357 
                                                                                                                                      +
                                                                                                                                      1358 static const char kZoneNameAmerica_Guyana[] ACE_TIME_PROGMEM = "America/Guyana";
                                                                                                                                      +
                                                                                                                                      1359 
                                                                                                                                      +
                                                                                                                                      1360 const basic::ZoneInfo kZoneAmerica_Guyana ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1361  kZoneNameAmerica_Guyana /*name*/,
                                                                                                                                      +
                                                                                                                                      1362  0x9ff7bd0b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1363  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1364  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1365  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1366  kZoneEraAmerica_Guyana /*eras*/,
                                                                                                                                      +
                                                                                                                                      1367 };
                                                                                                                                      +
                                                                                                                                      1368 
                                                                                                                                      +
                                                                                                                                      1369 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1370 // Zone name: America/Halifax
                                                                                                                                      +
                                                                                                                                      1371 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1372 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      1373 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      1374 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      1375 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1376 
                                                                                                                                      +
                                                                                                                                      1377 static const basic::ZoneEra kZoneEraAmerica_Halifax[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1378  // -4:00 Canada A%sT
                                                                                                                                      +
                                                                                                                                      1379  {
                                                                                                                                      +
                                                                                                                                      1380  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1381  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1382  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1383  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1384  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1385  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1386  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1387  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1388  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1389  },
                                                                                                                                      +
                                                                                                                                      1390 
                                                                                                                                      +
                                                                                                                                      1391 };
                                                                                                                                      +
                                                                                                                                      1392 
                                                                                                                                      +
                                                                                                                                      1393 static const char kZoneNameAmerica_Halifax[] ACE_TIME_PROGMEM = "America/Halifax";
                                                                                                                                      +
                                                                                                                                      1394 
                                                                                                                                      +
                                                                                                                                      1395 const basic::ZoneInfo kZoneAmerica_Halifax ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1396  kZoneNameAmerica_Halifax /*name*/,
                                                                                                                                      +
                                                                                                                                      1397  0xbc5b7183 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1398  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1399  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1400  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1401  kZoneEraAmerica_Halifax /*eras*/,
                                                                                                                                      +
                                                                                                                                      1402 };
                                                                                                                                      +
                                                                                                                                      1403 
                                                                                                                                      +
                                                                                                                                      1404 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1405 // Zone name: America/Havana
                                                                                                                                      +
                                                                                                                                      1406 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1407 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      1408 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      1409 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      1410 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1411 
                                                                                                                                      +
                                                                                                                                      1412 static const basic::ZoneEra kZoneEraAmerica_Havana[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1413  // -5:00 Cuba C%sT
                                                                                                                                      +
                                                                                                                                      1414  {
                                                                                                                                      +
                                                                                                                                      1415  &kPolicyCuba /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1416  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1417  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1418  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1419  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1420  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1421  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1422  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1423  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1424  },
                                                                                                                                      +
                                                                                                                                      1425 
                                                                                                                                      +
                                                                                                                                      1426 };
                                                                                                                                      +
                                                                                                                                      1427 
                                                                                                                                      +
                                                                                                                                      1428 static const char kZoneNameAmerica_Havana[] ACE_TIME_PROGMEM = "America/Havana";
                                                                                                                                      +
                                                                                                                                      1429 
                                                                                                                                      +
                                                                                                                                      1430 const basic::ZoneInfo kZoneAmerica_Havana ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1431  kZoneNameAmerica_Havana /*name*/,
                                                                                                                                      +
                                                                                                                                      1432  0xa0e15675 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1433  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1434  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1435  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1436  kZoneEraAmerica_Havana /*eras*/,
                                                                                                                                      +
                                                                                                                                      1437 };
                                                                                                                                      +
                                                                                                                                      1438 
                                                                                                                                      +
                                                                                                                                      1439 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1440 // Zone name: America/Hermosillo
                                                                                                                                      +
                                                                                                                                      1441 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      1442 // Strings (bytes): 27
                                                                                                                                      +
                                                                                                                                      1443 // Memory (8-bit): 61
                                                                                                                                      +
                                                                                                                                      1444 // Memory (32-bit): 79
                                                                                                                                      +
                                                                                                                                      1445 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1446 
                                                                                                                                      +
                                                                                                                                      1447 static const basic::ZoneEra kZoneEraAmerica_Hermosillo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1448  // -7:00 Mexico M%sT 1999
                                                                                                                                      +
                                                                                                                                      1449  {
                                                                                                                                      +
                                                                                                                                      1450  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1451  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1452  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1453  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1454  -1 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1455  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1456  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1457  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1458  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1459  },
                                                                                                                                      +
                                                                                                                                      1460  // -7:00 - MST
                                                                                                                                      +
                                                                                                                                      1461  {
                                                                                                                                      +
                                                                                                                                      1462  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1463  "MST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1464  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1465  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1466  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1467  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1468  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1469  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1470  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1471  },
                                                                                                                                      +
                                                                                                                                      1472 
                                                                                                                                      +
                                                                                                                                      1473 };
                                                                                                                                      +
                                                                                                                                      1474 
                                                                                                                                      +
                                                                                                                                      1475 static const char kZoneNameAmerica_Hermosillo[] ACE_TIME_PROGMEM = "America/Hermosillo";
                                                                                                                                      +
                                                                                                                                      1476 
                                                                                                                                      +
                                                                                                                                      1477 const basic::ZoneInfo kZoneAmerica_Hermosillo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1478  kZoneNameAmerica_Hermosillo /*name*/,
                                                                                                                                      +
                                                                                                                                      1479  0x065d21c4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1480  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1481  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1482  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1483  kZoneEraAmerica_Hermosillo /*eras*/,
                                                                                                                                      +
                                                                                                                                      1484 };
                                                                                                                                      +
                                                                                                                                      1485 
                                                                                                                                      +
                                                                                                                                      1486 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1487 // Zone name: America/Indiana/Indianapolis
                                                                                                                                      +
                                                                                                                                      1488 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      1489 // Strings (bytes): 37
                                                                                                                                      +
                                                                                                                                      1490 // Memory (8-bit): 71
                                                                                                                                      +
                                                                                                                                      1491 // Memory (32-bit): 89
                                                                                                                                      +
                                                                                                                                      1492 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1493 
                                                                                                                                      +
                                                                                                                                      1494 static const basic::ZoneEra kZoneEraAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1495  // -5:00 - EST 2006
                                                                                                                                      +
                                                                                                                                      1496  {
                                                                                                                                      +
                                                                                                                                      1497  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1498  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1499  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1500  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1501  6 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1502  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1503  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1504  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1505  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1506  },
                                                                                                                                      +
                                                                                                                                      1507  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      1508  {
                                                                                                                                      +
                                                                                                                                      1509  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1510  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1511  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1512  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1513  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1514  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1515  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1516  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1517  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1518  },
                                                                                                                                      +
                                                                                                                                      1519 
                                                                                                                                      +
                                                                                                                                      1520 };
                                                                                                                                      +
                                                                                                                                      1521 
                                                                                                                                      +
                                                                                                                                      1522 static const char kZoneNameAmerica_Indiana_Indianapolis[] ACE_TIME_PROGMEM = "America/Indiana/Indianapolis";
                                                                                                                                      +
                                                                                                                                      1523 
                                                                                                                                      +
                                                                                                                                      1524 const basic::ZoneInfo kZoneAmerica_Indiana_Indianapolis ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1525  kZoneNameAmerica_Indiana_Indianapolis /*name*/,
                                                                                                                                      +
                                                                                                                                      1526  0x28a669a4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1527  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1528  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1529  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1530  kZoneEraAmerica_Indiana_Indianapolis /*eras*/,
                                                                                                                                      +
                                                                                                                                      1531 };
                                                                                                                                      +
                                                                                                                                      1532 
                                                                                                                                      +
                                                                                                                                      1533 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1534 // Zone name: America/Indiana/Marengo
                                                                                                                                      +
                                                                                                                                      1535 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      1536 // Strings (bytes): 32
                                                                                                                                      +
                                                                                                                                      1537 // Memory (8-bit): 66
                                                                                                                                      +
                                                                                                                                      1538 // Memory (32-bit): 84
                                                                                                                                      +
                                                                                                                                      1539 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1540 
                                                                                                                                      +
                                                                                                                                      1541 static const basic::ZoneEra kZoneEraAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1542  // -5:00 - EST 2006
                                                                                                                                      +
                                                                                                                                      1543  {
                                                                                                                                      +
                                                                                                                                      1544  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1545  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1546  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1547  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1548  6 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1549  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1550  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1551  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1552  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1553  },
                                                                                                                                      +
                                                                                                                                      1554  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      1555  {
                                                                                                                                      +
                                                                                                                                      1556  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1557  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1558  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1559  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1560  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1561  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1562  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1563  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1564  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1565  },
                                                                                                                                      +
                                                                                                                                      1566 
                                                                                                                                      +
                                                                                                                                      1567 };
                                                                                                                                      +
                                                                                                                                      1568 
                                                                                                                                      +
                                                                                                                                      1569 static const char kZoneNameAmerica_Indiana_Marengo[] ACE_TIME_PROGMEM = "America/Indiana/Marengo";
                                                                                                                                      +
                                                                                                                                      1570 
                                                                                                                                      +
                                                                                                                                      1571 const basic::ZoneInfo kZoneAmerica_Indiana_Marengo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1572  kZoneNameAmerica_Indiana_Marengo /*name*/,
                                                                                                                                      +
                                                                                                                                      1573  0x2feeee72 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1574  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1575  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1576  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1577  kZoneEraAmerica_Indiana_Marengo /*eras*/,
                                                                                                                                      +
                                                                                                                                      1578 };
                                                                                                                                      +
                                                                                                                                      1579 
                                                                                                                                      +
                                                                                                                                      1580 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1581 // Zone name: America/Indiana/Vevay
                                                                                                                                      +
                                                                                                                                      1582 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      1583 // Strings (bytes): 30
                                                                                                                                      +
                                                                                                                                      1584 // Memory (8-bit): 64
                                                                                                                                      +
                                                                                                                                      1585 // Memory (32-bit): 82
                                                                                                                                      +
                                                                                                                                      1586 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1587 
                                                                                                                                      +
                                                                                                                                      1588 static const basic::ZoneEra kZoneEraAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1589  // -5:00 - EST 2006
                                                                                                                                      +
                                                                                                                                      1590  {
                                                                                                                                      +
                                                                                                                                      1591  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1592  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1593  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1594  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1595  6 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1596  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1597  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1598  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1599  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1600  },
                                                                                                                                      +
                                                                                                                                      1601  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      1602  {
                                                                                                                                      +
                                                                                                                                      1603  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1604  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1605  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1606  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1607  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1608  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1609  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1610  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1611  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1612  },
                                                                                                                                      +
                                                                                                                                      1613 
                                                                                                                                      +
                                                                                                                                      1614 };
                                                                                                                                      +
                                                                                                                                      1615 
                                                                                                                                      +
                                                                                                                                      1616 static const char kZoneNameAmerica_Indiana_Vevay[] ACE_TIME_PROGMEM = "America/Indiana/Vevay";
                                                                                                                                      +
                                                                                                                                      1617 
                                                                                                                                      +
                                                                                                                                      1618 const basic::ZoneInfo kZoneAmerica_Indiana_Vevay ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1619  kZoneNameAmerica_Indiana_Vevay /*name*/,
                                                                                                                                      +
                                                                                                                                      1620  0x10aca054 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1621  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1622  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1623  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1624  kZoneEraAmerica_Indiana_Vevay /*eras*/,
                                                                                                                                      +
                                                                                                                                      1625 };
                                                                                                                                      +
                                                                                                                                      1626 
                                                                                                                                      +
                                                                                                                                      1627 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1628 // Zone name: America/Inuvik
                                                                                                                                      +
                                                                                                                                      1629 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1630 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      1631 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      1632 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      1633 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1634 
                                                                                                                                      +
                                                                                                                                      1635 static const basic::ZoneEra kZoneEraAmerica_Inuvik[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1636  // -7:00 Canada M%sT
                                                                                                                                      +
                                                                                                                                      1637  {
                                                                                                                                      +
                                                                                                                                      1638  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1639  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1640  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1641  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1642  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1643  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1644  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1645  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1646  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1647  },
                                                                                                                                      +
                                                                                                                                      1648 
                                                                                                                                      +
                                                                                                                                      1649 };
                                                                                                                                      +
                                                                                                                                      1650 
                                                                                                                                      +
                                                                                                                                      1651 static const char kZoneNameAmerica_Inuvik[] ACE_TIME_PROGMEM = "America/Inuvik";
                                                                                                                                      +
                                                                                                                                      1652 
                                                                                                                                      +
                                                                                                                                      1653 const basic::ZoneInfo kZoneAmerica_Inuvik ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1654  kZoneNameAmerica_Inuvik /*name*/,
                                                                                                                                      +
                                                                                                                                      1655  0xa42189fc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1656  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1657  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1658  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1659  kZoneEraAmerica_Inuvik /*eras*/,
                                                                                                                                      +
                                                                                                                                      1660 };
                                                                                                                                      +
                                                                                                                                      1661 
                                                                                                                                      +
                                                                                                                                      1662 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1663 // Zone name: America/Jamaica
                                                                                                                                      +
                                                                                                                                      1664 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1665 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      1666 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      1667 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      1668 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1669 
                                                                                                                                      +
                                                                                                                                      1670 static const basic::ZoneEra kZoneEraAmerica_Jamaica[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1671  // -5:00 - EST
                                                                                                                                      +
                                                                                                                                      1672  {
                                                                                                                                      +
                                                                                                                                      1673  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1674  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1675  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1676  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1677  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1678  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1679  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1680  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1681  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1682  },
                                                                                                                                      +
                                                                                                                                      1683 
                                                                                                                                      +
                                                                                                                                      1684 };
                                                                                                                                      +
                                                                                                                                      1685 
                                                                                                                                      +
                                                                                                                                      1686 static const char kZoneNameAmerica_Jamaica[] ACE_TIME_PROGMEM = "America/Jamaica";
                                                                                                                                      +
                                                                                                                                      1687 
                                                                                                                                      +
                                                                                                                                      1688 const basic::ZoneInfo kZoneAmerica_Jamaica ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1689  kZoneNameAmerica_Jamaica /*name*/,
                                                                                                                                      +
                                                                                                                                      1690  0x565dad6c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1691  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1692  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1693  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1694  kZoneEraAmerica_Jamaica /*eras*/,
                                                                                                                                      +
                                                                                                                                      1695 };
                                                                                                                                      +
                                                                                                                                      1696 
                                                                                                                                      +
                                                                                                                                      1697 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1698 // Zone name: America/Juneau
                                                                                                                                      +
                                                                                                                                      1699 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1700 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      1701 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      1702 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      1703 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1704 
                                                                                                                                      +
                                                                                                                                      1705 static const basic::ZoneEra kZoneEraAmerica_Juneau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1706  // -9:00 US AK%sT
                                                                                                                                      +
                                                                                                                                      1707  {
                                                                                                                                      +
                                                                                                                                      1708  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1709  "AK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1710  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1711  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1712  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1713  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1714  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1715  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1716  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1717  },
                                                                                                                                      +
                                                                                                                                      1718 
                                                                                                                                      +
                                                                                                                                      1719 };
                                                                                                                                      +
                                                                                                                                      1720 
                                                                                                                                      +
                                                                                                                                      1721 static const char kZoneNameAmerica_Juneau[] ACE_TIME_PROGMEM = "America/Juneau";
                                                                                                                                      +
                                                                                                                                      1722 
                                                                                                                                      +
                                                                                                                                      1723 const basic::ZoneInfo kZoneAmerica_Juneau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1724  kZoneNameAmerica_Juneau /*name*/,
                                                                                                                                      +
                                                                                                                                      1725  0xa6f13e2e /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1726  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1727  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1728  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1729  kZoneEraAmerica_Juneau /*eras*/,
                                                                                                                                      +
                                                                                                                                      1730 };
                                                                                                                                      +
                                                                                                                                      1731 
                                                                                                                                      +
                                                                                                                                      1732 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1733 // Zone name: America/Kentucky/Louisville
                                                                                                                                      +
                                                                                                                                      1734 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1735 // Strings (bytes): 32
                                                                                                                                      +
                                                                                                                                      1736 // Memory (8-bit): 55
                                                                                                                                      +
                                                                                                                                      1737 // Memory (32-bit): 68
                                                                                                                                      +
                                                                                                                                      1738 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1739 
                                                                                                                                      +
                                                                                                                                      1740 static const basic::ZoneEra kZoneEraAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1741  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      1742  {
                                                                                                                                      +
                                                                                                                                      1743  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1744  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1745  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1746  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1747  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1748  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1749  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1750  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1751  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1752  },
                                                                                                                                      +
                                                                                                                                      1753 
                                                                                                                                      +
                                                                                                                                      1754 };
                                                                                                                                      +
                                                                                                                                      1755 
                                                                                                                                      +
                                                                                                                                      1756 static const char kZoneNameAmerica_Kentucky_Louisville[] ACE_TIME_PROGMEM = "America/Kentucky/Louisville";
                                                                                                                                      +
                                                                                                                                      1757 
                                                                                                                                      +
                                                                                                                                      1758 const basic::ZoneInfo kZoneAmerica_Kentucky_Louisville ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1759  kZoneNameAmerica_Kentucky_Louisville /*name*/,
                                                                                                                                      +
                                                                                                                                      1760  0x1a21024b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1761  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1762  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1763  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1764  kZoneEraAmerica_Kentucky_Louisville /*eras*/,
                                                                                                                                      +
                                                                                                                                      1765 };
                                                                                                                                      +
                                                                                                                                      1766 
                                                                                                                                      +
                                                                                                                                      1767 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1768 // Zone name: America/La_Paz
                                                                                                                                      +
                                                                                                                                      1769 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1770 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      1771 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      1772 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      1773 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1774 
                                                                                                                                      +
                                                                                                                                      1775 static const basic::ZoneEra kZoneEraAmerica_La_Paz[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1776  // -4:00 - -04
                                                                                                                                      +
                                                                                                                                      1777  {
                                                                                                                                      +
                                                                                                                                      1778  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1779  "-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      1780  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1781  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1782  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1783  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1784  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1785  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1786  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1787  },
                                                                                                                                      +
                                                                                                                                      1788 
                                                                                                                                      +
                                                                                                                                      1789 };
                                                                                                                                      +
                                                                                                                                      1790 
                                                                                                                                      +
                                                                                                                                      1791 static const char kZoneNameAmerica_La_Paz[] ACE_TIME_PROGMEM = "America/La_Paz";
                                                                                                                                      +
                                                                                                                                      1792 
                                                                                                                                      +
                                                                                                                                      1793 const basic::ZoneInfo kZoneAmerica_La_Paz ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1794  kZoneNameAmerica_La_Paz /*name*/,
                                                                                                                                      +
                                                                                                                                      1795  0xaa29125d /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1796  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1797  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1798  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1799  kZoneEraAmerica_La_Paz /*eras*/,
                                                                                                                                      +
                                                                                                                                      1800 };
                                                                                                                                      +
                                                                                                                                      1801 
                                                                                                                                      +
                                                                                                                                      1802 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1803 // Zone name: America/Lima
                                                                                                                                      +
                                                                                                                                      1804 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1805 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      1806 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      1807 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      1808 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1809 
                                                                                                                                      +
                                                                                                                                      1810 static const basic::ZoneEra kZoneEraAmerica_Lima[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1811  // -5:00 Peru -05/-04
                                                                                                                                      +
                                                                                                                                      1812  {
                                                                                                                                      +
                                                                                                                                      1813  &kPolicyPeru /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1814  "-05/-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      1815  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1816  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1817  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1818  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1819  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1820  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1821  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1822  },
                                                                                                                                      +
                                                                                                                                      1823 
                                                                                                                                      +
                                                                                                                                      1824 };
                                                                                                                                      +
                                                                                                                                      1825 
                                                                                                                                      +
                                                                                                                                      1826 static const char kZoneNameAmerica_Lima[] ACE_TIME_PROGMEM = "America/Lima";
                                                                                                                                      +
                                                                                                                                      1827 
                                                                                                                                      +
                                                                                                                                      1828 const basic::ZoneInfo kZoneAmerica_Lima ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1829  kZoneNameAmerica_Lima /*name*/,
                                                                                                                                      +
                                                                                                                                      1830  0x980468c9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1831  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1832  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1833  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1834  kZoneEraAmerica_Lima /*eras*/,
                                                                                                                                      +
                                                                                                                                      1835 };
                                                                                                                                      +
                                                                                                                                      1836 
                                                                                                                                      +
                                                                                                                                      1837 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1838 // Zone name: America/Los_Angeles
                                                                                                                                      +
                                                                                                                                      1839 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1840 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      1841 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      1842 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      1843 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1844 
                                                                                                                                      +
                                                                                                                                      1845 static const basic::ZoneEra kZoneEraAmerica_Los_Angeles[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1846  // -8:00 US P%sT
                                                                                                                                      +
                                                                                                                                      1847  {
                                                                                                                                      +
                                                                                                                                      1848  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1849  "P%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1850  -32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1851  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1852  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1853  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1854  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1855  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1856  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1857  },
                                                                                                                                      +
                                                                                                                                      1858 
                                                                                                                                      +
                                                                                                                                      1859 };
                                                                                                                                      +
                                                                                                                                      1860 
                                                                                                                                      +
                                                                                                                                      1861 static const char kZoneNameAmerica_Los_Angeles[] ACE_TIME_PROGMEM = "America/Los_Angeles";
                                                                                                                                      +
                                                                                                                                      1862 
                                                                                                                                      +
                                                                                                                                      1863 const basic::ZoneInfo kZoneAmerica_Los_Angeles ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1864  kZoneNameAmerica_Los_Angeles /*name*/,
                                                                                                                                      +
                                                                                                                                      1865  0xb7f7e8f2 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1866  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1867  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1868  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1869  kZoneEraAmerica_Los_Angeles /*eras*/,
                                                                                                                                      +
                                                                                                                                      1870 };
                                                                                                                                      +
                                                                                                                                      1871 
                                                                                                                                      +
                                                                                                                                      1872 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1873 // Zone name: America/Managua
                                                                                                                                      +
                                                                                                                                      1874 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1875 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      1876 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      1877 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      1878 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1879 
                                                                                                                                      +
                                                                                                                                      1880 static const basic::ZoneEra kZoneEraAmerica_Managua[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1881  // -6:00 Nic C%sT
                                                                                                                                      +
                                                                                                                                      1882  {
                                                                                                                                      +
                                                                                                                                      1883  &kPolicyNic /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1884  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1885  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1886  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1887  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1888  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1889  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1890  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1891  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1892  },
                                                                                                                                      +
                                                                                                                                      1893 
                                                                                                                                      +
                                                                                                                                      1894 };
                                                                                                                                      +
                                                                                                                                      1895 
                                                                                                                                      +
                                                                                                                                      1896 static const char kZoneNameAmerica_Managua[] ACE_TIME_PROGMEM = "America/Managua";
                                                                                                                                      +
                                                                                                                                      1897 
                                                                                                                                      +
                                                                                                                                      1898 const basic::ZoneInfo kZoneAmerica_Managua ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1899  kZoneNameAmerica_Managua /*name*/,
                                                                                                                                      +
                                                                                                                                      1900  0x3d5e7600 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1901  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1902  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1903  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1904  kZoneEraAmerica_Managua /*eras*/,
                                                                                                                                      +
                                                                                                                                      1905 };
                                                                                                                                      +
                                                                                                                                      1906 
                                                                                                                                      +
                                                                                                                                      1907 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1908 // Zone name: America/Manaus
                                                                                                                                      +
                                                                                                                                      1909 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1910 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      1911 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      1912 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      1913 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1914 
                                                                                                                                      +
                                                                                                                                      1915 static const basic::ZoneEra kZoneEraAmerica_Manaus[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1916  // -4:00 - -04
                                                                                                                                      +
                                                                                                                                      1917  {
                                                                                                                                      +
                                                                                                                                      1918  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1919  "-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      1920  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1921  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1922  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1923  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1924  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1925  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1926  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1927  },
                                                                                                                                      +
                                                                                                                                      1928 
                                                                                                                                      +
                                                                                                                                      1929 };
                                                                                                                                      +
                                                                                                                                      1930 
                                                                                                                                      +
                                                                                                                                      1931 static const char kZoneNameAmerica_Manaus[] ACE_TIME_PROGMEM = "America/Manaus";
                                                                                                                                      +
                                                                                                                                      1932 
                                                                                                                                      +
                                                                                                                                      1933 const basic::ZoneInfo kZoneAmerica_Manaus ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1934  kZoneNameAmerica_Manaus /*name*/,
                                                                                                                                      +
                                                                                                                                      1935  0xac86bf8b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1936  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1937  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1938  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1939  kZoneEraAmerica_Manaus /*eras*/,
                                                                                                                                      +
                                                                                                                                      1940 };
                                                                                                                                      +
                                                                                                                                      1941 
                                                                                                                                      +
                                                                                                                                      1942 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1943 // Zone name: America/Martinique
                                                                                                                                      +
                                                                                                                                      1944 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      1945 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      1946 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      1947 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      1948 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1949 
                                                                                                                                      +
                                                                                                                                      1950 static const basic::ZoneEra kZoneEraAmerica_Martinique[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1951  // -4:00 - AST
                                                                                                                                      +
                                                                                                                                      1952  {
                                                                                                                                      +
                                                                                                                                      1953  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1954  "AST" /*format*/,
                                                                                                                                      +
                                                                                                                                      1955  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1956  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1957  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1958  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1959  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1960  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1961  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1962  },
                                                                                                                                      +
                                                                                                                                      1963 
                                                                                                                                      +
                                                                                                                                      1964 };
                                                                                                                                      +
                                                                                                                                      1965 
                                                                                                                                      +
                                                                                                                                      1966 static const char kZoneNameAmerica_Martinique[] ACE_TIME_PROGMEM = "America/Martinique";
                                                                                                                                      +
                                                                                                                                      1967 
                                                                                                                                      +
                                                                                                                                      1968 const basic::ZoneInfo kZoneAmerica_Martinique ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1969  kZoneNameAmerica_Martinique /*name*/,
                                                                                                                                      +
                                                                                                                                      1970  0x551e84c5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      1971  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      1972  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      1973  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      1974  kZoneEraAmerica_Martinique /*eras*/,
                                                                                                                                      +
                                                                                                                                      1975 };
                                                                                                                                      +
                                                                                                                                      1976 
                                                                                                                                      +
                                                                                                                                      1977 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1978 // Zone name: America/Matamoros
                                                                                                                                      +
                                                                                                                                      1979 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      1980 // Strings (bytes): 26
                                                                                                                                      +
                                                                                                                                      1981 // Memory (8-bit): 60
                                                                                                                                      +
                                                                                                                                      1982 // Memory (32-bit): 78
                                                                                                                                      +
                                                                                                                                      1983 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1984 
                                                                                                                                      +
                                                                                                                                      1985 static const basic::ZoneEra kZoneEraAmerica_Matamoros[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1986  // -6:00 Mexico C%sT 2010
                                                                                                                                      +
                                                                                                                                      1987  {
                                                                                                                                      +
                                                                                                                                      1988  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      1989  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      1990  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      1991  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1992  10 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1993  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      1994  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      1995  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1996  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1997  },
                                                                                                                                      +
                                                                                                                                      1998  // -6:00 US C%sT
                                                                                                                                      +
                                                                                                                                      1999  {
                                                                                                                                      +
                                                                                                                                      2000  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2001  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2002  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2003  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2004  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2005  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2006  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2007  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2008  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2009  },
                                                                                                                                      +
                                                                                                                                      2010 
                                                                                                                                      +
                                                                                                                                      2011 };
                                                                                                                                      +
                                                                                                                                      2012 
                                                                                                                                      +
                                                                                                                                      2013 static const char kZoneNameAmerica_Matamoros[] ACE_TIME_PROGMEM = "America/Matamoros";
                                                                                                                                      +
                                                                                                                                      2014 
                                                                                                                                      +
                                                                                                                                      2015 const basic::ZoneInfo kZoneAmerica_Matamoros ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2016  kZoneNameAmerica_Matamoros /*name*/,
                                                                                                                                      +
                                                                                                                                      2017  0xdd1b0259 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2018  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2019  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2020  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2021  kZoneEraAmerica_Matamoros /*eras*/,
                                                                                                                                      +
                                                                                                                                      2022 };
                                                                                                                                      +
                                                                                                                                      2023 
                                                                                                                                      +
                                                                                                                                      2024 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2025 // Zone name: America/Mazatlan
                                                                                                                                      +
                                                                                                                                      2026 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2027 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      2028 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      2029 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      2030 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2031 
                                                                                                                                      +
                                                                                                                                      2032 static const basic::ZoneEra kZoneEraAmerica_Mazatlan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2033  // -7:00 Mexico M%sT
                                                                                                                                      +
                                                                                                                                      2034  {
                                                                                                                                      +
                                                                                                                                      2035  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2036  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2037  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2038  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2039  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2040  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2041  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2042  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2043  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2044  },
                                                                                                                                      +
                                                                                                                                      2045 
                                                                                                                                      +
                                                                                                                                      2046 };
                                                                                                                                      +
                                                                                                                                      2047 
                                                                                                                                      +
                                                                                                                                      2048 static const char kZoneNameAmerica_Mazatlan[] ACE_TIME_PROGMEM = "America/Mazatlan";
                                                                                                                                      +
                                                                                                                                      2049 
                                                                                                                                      +
                                                                                                                                      2050 const basic::ZoneInfo kZoneAmerica_Mazatlan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2051  kZoneNameAmerica_Mazatlan /*name*/,
                                                                                                                                      +
                                                                                                                                      2052  0x0532189e /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2053  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2054  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2055  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2056  kZoneEraAmerica_Mazatlan /*eras*/,
                                                                                                                                      +
                                                                                                                                      2057 };
                                                                                                                                      +
                                                                                                                                      2058 
                                                                                                                                      +
                                                                                                                                      2059 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2060 // Zone name: America/Menominee
                                                                                                                                      +
                                                                                                                                      2061 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2062 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      2063 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      2064 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      2065 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2066 
                                                                                                                                      +
                                                                                                                                      2067 static const basic::ZoneEra kZoneEraAmerica_Menominee[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2068  // -6:00 US C%sT
                                                                                                                                      +
                                                                                                                                      2069  {
                                                                                                                                      +
                                                                                                                                      2070  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2071  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2072  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2073  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2074  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2075  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2076  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2077  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2078  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2079  },
                                                                                                                                      +
                                                                                                                                      2080 
                                                                                                                                      +
                                                                                                                                      2081 };
                                                                                                                                      +
                                                                                                                                      2082 
                                                                                                                                      +
                                                                                                                                      2083 static const char kZoneNameAmerica_Menominee[] ACE_TIME_PROGMEM = "America/Menominee";
                                                                                                                                      +
                                                                                                                                      2084 
                                                                                                                                      +
                                                                                                                                      2085 const basic::ZoneInfo kZoneAmerica_Menominee ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2086  kZoneNameAmerica_Menominee /*name*/,
                                                                                                                                      +
                                                                                                                                      2087  0xe0e9c583 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2088  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2089  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2090  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2091  kZoneEraAmerica_Menominee /*eras*/,
                                                                                                                                      +
                                                                                                                                      2092 };
                                                                                                                                      +
                                                                                                                                      2093 
                                                                                                                                      +
                                                                                                                                      2094 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2095 // Zone name: America/Merida
                                                                                                                                      +
                                                                                                                                      2096 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2097 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      2098 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      2099 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      2100 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2101 
                                                                                                                                      +
                                                                                                                                      2102 static const basic::ZoneEra kZoneEraAmerica_Merida[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2103  // -6:00 Mexico C%sT
                                                                                                                                      +
                                                                                                                                      2104  {
                                                                                                                                      +
                                                                                                                                      2105  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2106  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2107  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2108  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2109  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2110  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2111  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2112  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2113  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2114  },
                                                                                                                                      +
                                                                                                                                      2115 
                                                                                                                                      +
                                                                                                                                      2116 };
                                                                                                                                      +
                                                                                                                                      2117 
                                                                                                                                      +
                                                                                                                                      2118 static const char kZoneNameAmerica_Merida[] ACE_TIME_PROGMEM = "America/Merida";
                                                                                                                                      +
                                                                                                                                      2119 
                                                                                                                                      +
                                                                                                                                      2120 const basic::ZoneInfo kZoneAmerica_Merida ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2121  kZoneNameAmerica_Merida /*name*/,
                                                                                                                                      +
                                                                                                                                      2122  0xacd172d8 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2123  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2124  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2125  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2126  kZoneEraAmerica_Merida /*eras*/,
                                                                                                                                      +
                                                                                                                                      2127 };
                                                                                                                                      +
                                                                                                                                      2128 
                                                                                                                                      +
                                                                                                                                      2129 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2130 // Zone name: America/Miquelon
                                                                                                                                      +
                                                                                                                                      2131 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2132 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      2133 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      2134 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      2135 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2136 
                                                                                                                                      +
                                                                                                                                      2137 static const basic::ZoneEra kZoneEraAmerica_Miquelon[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2138  // -3:00 Canada -03/-02
                                                                                                                                      +
                                                                                                                                      2139  {
                                                                                                                                      +
                                                                                                                                      2140  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2141  "-03/-02" /*format*/,
                                                                                                                                      +
                                                                                                                                      2142  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2143  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2144  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2145  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2146  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2147  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2148  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2149  },
                                                                                                                                      +
                                                                                                                                      2150 
                                                                                                                                      +
                                                                                                                                      2151 };
                                                                                                                                      +
                                                                                                                                      2152 
                                                                                                                                      +
                                                                                                                                      2153 static const char kZoneNameAmerica_Miquelon[] ACE_TIME_PROGMEM = "America/Miquelon";
                                                                                                                                      +
                                                                                                                                      2154 
                                                                                                                                      +
                                                                                                                                      2155 const basic::ZoneInfo kZoneAmerica_Miquelon ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2156  kZoneNameAmerica_Miquelon /*name*/,
                                                                                                                                      +
                                                                                                                                      2157  0x59674330 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2158  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2159  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2160  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2161  kZoneEraAmerica_Miquelon /*eras*/,
                                                                                                                                      +
                                                                                                                                      2162 };
                                                                                                                                      +
                                                                                                                                      2163 
                                                                                                                                      +
                                                                                                                                      2164 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2165 // Zone name: America/Moncton
                                                                                                                                      +
                                                                                                                                      2166 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      2167 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      2168 // Memory (8-bit): 58
                                                                                                                                      +
                                                                                                                                      2169 // Memory (32-bit): 76
                                                                                                                                      +
                                                                                                                                      2170 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2171 
                                                                                                                                      +
                                                                                                                                      2172 static const basic::ZoneEra kZoneEraAmerica_Moncton[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2173  // -4:00 Moncton A%sT 2007
                                                                                                                                      +
                                                                                                                                      2174  {
                                                                                                                                      +
                                                                                                                                      2175  &kPolicyMoncton /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2176  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2177  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2178  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2179  7 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2180  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2181  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2182  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2183  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2184  },
                                                                                                                                      +
                                                                                                                                      2185  // -4:00 Canada A%sT
                                                                                                                                      +
                                                                                                                                      2186  {
                                                                                                                                      +
                                                                                                                                      2187  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2188  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2189  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2190  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2191  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2192  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2193  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2194  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2195  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2196  },
                                                                                                                                      +
                                                                                                                                      2197 
                                                                                                                                      +
                                                                                                                                      2198 };
                                                                                                                                      +
                                                                                                                                      2199 
                                                                                                                                      +
                                                                                                                                      2200 static const char kZoneNameAmerica_Moncton[] ACE_TIME_PROGMEM = "America/Moncton";
                                                                                                                                      +
                                                                                                                                      2201 
                                                                                                                                      +
                                                                                                                                      2202 const basic::ZoneInfo kZoneAmerica_Moncton ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2203  kZoneNameAmerica_Moncton /*name*/,
                                                                                                                                      +
                                                                                                                                      2204  0x5e07fe24 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2205  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2206  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2207  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2208  kZoneEraAmerica_Moncton /*eras*/,
                                                                                                                                      +
                                                                                                                                      2209 };
                                                                                                                                      +
                                                                                                                                      2210 
                                                                                                                                      +
                                                                                                                                      2211 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2212 // Zone name: America/Monterrey
                                                                                                                                      +
                                                                                                                                      2213 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2214 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      2215 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      2216 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      2217 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2218 
                                                                                                                                      +
                                                                                                                                      2219 static const basic::ZoneEra kZoneEraAmerica_Monterrey[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2220  // -6:00 Mexico C%sT
                                                                                                                                      +
                                                                                                                                      2221  {
                                                                                                                                      +
                                                                                                                                      2222  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2223  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2224  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2225  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2226  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2227  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2228  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2229  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2230  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2231  },
                                                                                                                                      +
                                                                                                                                      2232 
                                                                                                                                      +
                                                                                                                                      2233 };
                                                                                                                                      +
                                                                                                                                      2234 
                                                                                                                                      +
                                                                                                                                      2235 static const char kZoneNameAmerica_Monterrey[] ACE_TIME_PROGMEM = "America/Monterrey";
                                                                                                                                      +
                                                                                                                                      2236 
                                                                                                                                      +
                                                                                                                                      2237 const basic::ZoneInfo kZoneAmerica_Monterrey ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2238  kZoneNameAmerica_Monterrey /*name*/,
                                                                                                                                      +
                                                                                                                                      2239  0x269a1deb /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2240  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2241  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2242  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2243  kZoneEraAmerica_Monterrey /*eras*/,
                                                                                                                                      +
                                                                                                                                      2244 };
                                                                                                                                      +
                                                                                                                                      2245 
                                                                                                                                      +
                                                                                                                                      2246 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2247 // Zone name: America/Montevideo
                                                                                                                                      +
                                                                                                                                      2248 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2249 // Strings (bytes): 27
                                                                                                                                      +
                                                                                                                                      2250 // Memory (8-bit): 50
                                                                                                                                      +
                                                                                                                                      2251 // Memory (32-bit): 63
                                                                                                                                      +
                                                                                                                                      2252 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2253 
                                                                                                                                      +
                                                                                                                                      2254 static const basic::ZoneEra kZoneEraAmerica_Montevideo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2255  // -3:00 Uruguay -03/-02
                                                                                                                                      +
                                                                                                                                      2256  {
                                                                                                                                      +
                                                                                                                                      2257  &kPolicyUruguay /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2258  "-03/-02" /*format*/,
                                                                                                                                      +
                                                                                                                                      2259  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2260  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2261  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2262  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2263  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2264  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2265  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2266  },
                                                                                                                                      +
                                                                                                                                      2267 
                                                                                                                                      +
                                                                                                                                      2268 };
                                                                                                                                      +
                                                                                                                                      2269 
                                                                                                                                      +
                                                                                                                                      2270 static const char kZoneNameAmerica_Montevideo[] ACE_TIME_PROGMEM = "America/Montevideo";
                                                                                                                                      +
                                                                                                                                      2271 
                                                                                                                                      +
                                                                                                                                      2272 const basic::ZoneInfo kZoneAmerica_Montevideo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2273  kZoneNameAmerica_Montevideo /*name*/,
                                                                                                                                      +
                                                                                                                                      2274  0xfa214780 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2275  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2276  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2277  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2278  kZoneEraAmerica_Montevideo /*eras*/,
                                                                                                                                      +
                                                                                                                                      2279 };
                                                                                                                                      +
                                                                                                                                      2280 
                                                                                                                                      +
                                                                                                                                      2281 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2282 // Zone name: America/Nassau
                                                                                                                                      +
                                                                                                                                      2283 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2284 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      2285 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      2286 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      2287 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2288 
                                                                                                                                      +
                                                                                                                                      2289 static const basic::ZoneEra kZoneEraAmerica_Nassau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2290  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      2291  {
                                                                                                                                      +
                                                                                                                                      2292  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2293  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2294  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2295  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2296  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2297  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2298  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2299  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2300  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2301  },
                                                                                                                                      +
                                                                                                                                      2302 
                                                                                                                                      +
                                                                                                                                      2303 };
                                                                                                                                      +
                                                                                                                                      2304 
                                                                                                                                      +
                                                                                                                                      2305 static const char kZoneNameAmerica_Nassau[] ACE_TIME_PROGMEM = "America/Nassau";
                                                                                                                                      +
                                                                                                                                      2306 
                                                                                                                                      +
                                                                                                                                      2307 const basic::ZoneInfo kZoneAmerica_Nassau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2308  kZoneNameAmerica_Nassau /*name*/,
                                                                                                                                      +
                                                                                                                                      2309  0xaedef011 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2310  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2311  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2312  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2313  kZoneEraAmerica_Nassau /*eras*/,
                                                                                                                                      +
                                                                                                                                      2314 };
                                                                                                                                      +
                                                                                                                                      2315 
                                                                                                                                      +
                                                                                                                                      2316 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2317 // Zone name: America/New_York
                                                                                                                                      +
                                                                                                                                      2318 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2319 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      2320 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      2321 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      2322 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2323 
                                                                                                                                      +
                                                                                                                                      2324 static const basic::ZoneEra kZoneEraAmerica_New_York[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2325  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      2326  {
                                                                                                                                      +
                                                                                                                                      2327  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2328  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2329  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2330  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2331  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2332  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2333  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2334  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2335  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2336  },
                                                                                                                                      +
                                                                                                                                      2337 
                                                                                                                                      +
                                                                                                                                      2338 };
                                                                                                                                      +
                                                                                                                                      2339 
                                                                                                                                      +
                                                                                                                                      2340 static const char kZoneNameAmerica_New_York[] ACE_TIME_PROGMEM = "America/New_York";
                                                                                                                                      +
                                                                                                                                      2341 
                                                                                                                                      +
                                                                                                                                      2342 const basic::ZoneInfo kZoneAmerica_New_York ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2343  kZoneNameAmerica_New_York /*name*/,
                                                                                                                                      +
                                                                                                                                      2344  0x1e2a7654 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2345  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2346  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2347  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2348  kZoneEraAmerica_New_York /*eras*/,
                                                                                                                                      +
                                                                                                                                      2349 };
                                                                                                                                      +
                                                                                                                                      2350 
                                                                                                                                      +
                                                                                                                                      2351 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2352 // Zone name: America/Nipigon
                                                                                                                                      +
                                                                                                                                      2353 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2354 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      2355 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      2356 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      2357 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2358 
                                                                                                                                      +
                                                                                                                                      2359 static const basic::ZoneEra kZoneEraAmerica_Nipigon[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2360  // -5:00 Canada E%sT
                                                                                                                                      +
                                                                                                                                      2361  {
                                                                                                                                      +
                                                                                                                                      2362  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2363  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2364  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2365  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2366  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2367  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2368  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2369  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2370  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2371  },
                                                                                                                                      +
                                                                                                                                      2372 
                                                                                                                                      +
                                                                                                                                      2373 };
                                                                                                                                      +
                                                                                                                                      2374 
                                                                                                                                      +
                                                                                                                                      2375 static const char kZoneNameAmerica_Nipigon[] ACE_TIME_PROGMEM = "America/Nipigon";
                                                                                                                                      +
                                                                                                                                      2376 
                                                                                                                                      +
                                                                                                                                      2377 const basic::ZoneInfo kZoneAmerica_Nipigon ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2378  kZoneNameAmerica_Nipigon /*name*/,
                                                                                                                                      +
                                                                                                                                      2379  0x9d2a8b1a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2380  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2381  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2382  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2383  kZoneEraAmerica_Nipigon /*eras*/,
                                                                                                                                      +
                                                                                                                                      2384 };
                                                                                                                                      +
                                                                                                                                      2385 
                                                                                                                                      +
                                                                                                                                      2386 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2387 // Zone name: America/Nome
                                                                                                                                      +
                                                                                                                                      2388 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2389 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      2390 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      2391 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      2392 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2393 
                                                                                                                                      +
                                                                                                                                      2394 static const basic::ZoneEra kZoneEraAmerica_Nome[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2395  // -9:00 US AK%sT
                                                                                                                                      +
                                                                                                                                      2396  {
                                                                                                                                      +
                                                                                                                                      2397  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2398  "AK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2399  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2400  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2401  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2402  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2403  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2404  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2405  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2406  },
                                                                                                                                      +
                                                                                                                                      2407 
                                                                                                                                      +
                                                                                                                                      2408 };
                                                                                                                                      +
                                                                                                                                      2409 
                                                                                                                                      +
                                                                                                                                      2410 static const char kZoneNameAmerica_Nome[] ACE_TIME_PROGMEM = "America/Nome";
                                                                                                                                      +
                                                                                                                                      2411 
                                                                                                                                      +
                                                                                                                                      2412 const basic::ZoneInfo kZoneAmerica_Nome ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2413  kZoneNameAmerica_Nome /*name*/,
                                                                                                                                      +
                                                                                                                                      2414  0x98059b15 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2415  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2416  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2417  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2418  kZoneEraAmerica_Nome /*eras*/,
                                                                                                                                      +
                                                                                                                                      2419 };
                                                                                                                                      +
                                                                                                                                      2420 
                                                                                                                                      +
                                                                                                                                      2421 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2422 // Zone name: America/North_Dakota/Center
                                                                                                                                      +
                                                                                                                                      2423 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2424 // Strings (bytes): 32
                                                                                                                                      +
                                                                                                                                      2425 // Memory (8-bit): 55
                                                                                                                                      +
                                                                                                                                      2426 // Memory (32-bit): 68
                                                                                                                                      +
                                                                                                                                      2427 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2428 
                                                                                                                                      +
                                                                                                                                      2429 static const basic::ZoneEra kZoneEraAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2430  // -6:00 US C%sT
                                                                                                                                      +
                                                                                                                                      2431  {
                                                                                                                                      +
                                                                                                                                      2432  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2433  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2434  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2435  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2436  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2437  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2438  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2439  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2440  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2441  },
                                                                                                                                      +
                                                                                                                                      2442 
                                                                                                                                      +
                                                                                                                                      2443 };
                                                                                                                                      +
                                                                                                                                      2444 
                                                                                                                                      +
                                                                                                                                      2445 static const char kZoneNameAmerica_North_Dakota_Center[] ACE_TIME_PROGMEM = "America/North_Dakota/Center";
                                                                                                                                      +
                                                                                                                                      2446 
                                                                                                                                      +
                                                                                                                                      2447 const basic::ZoneInfo kZoneAmerica_North_Dakota_Center ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2448  kZoneNameAmerica_North_Dakota_Center /*name*/,
                                                                                                                                      +
                                                                                                                                      2449  0x9da42814 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2450  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2451  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2452  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2453  kZoneEraAmerica_North_Dakota_Center /*eras*/,
                                                                                                                                      +
                                                                                                                                      2454 };
                                                                                                                                      +
                                                                                                                                      2455 
                                                                                                                                      +
                                                                                                                                      2456 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2457 // Zone name: America/Nuuk
                                                                                                                                      +
                                                                                                                                      2458 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2459 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      2460 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      2461 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      2462 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2463 
                                                                                                                                      +
                                                                                                                                      2464 static const basic::ZoneEra kZoneEraAmerica_Nuuk[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2465  // -3:00 EU -03/-02
                                                                                                                                      +
                                                                                                                                      2466  {
                                                                                                                                      +
                                                                                                                                      2467  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2468  "-03/-02" /*format*/,
                                                                                                                                      +
                                                                                                                                      2469  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2470  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2471  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2472  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2473  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2474  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2475  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2476  },
                                                                                                                                      +
                                                                                                                                      2477 
                                                                                                                                      +
                                                                                                                                      2478 };
                                                                                                                                      +
                                                                                                                                      2479 
                                                                                                                                      +
                                                                                                                                      2480 static const char kZoneNameAmerica_Nuuk[] ACE_TIME_PROGMEM = "America/Nuuk";
                                                                                                                                      +
                                                                                                                                      2481 
                                                                                                                                      +
                                                                                                                                      2482 const basic::ZoneInfo kZoneAmerica_Nuuk ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2483  kZoneNameAmerica_Nuuk /*name*/,
                                                                                                                                      +
                                                                                                                                      2484  0x9805b5a9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2485  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2486  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2487  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2488  kZoneEraAmerica_Nuuk /*eras*/,
                                                                                                                                      +
                                                                                                                                      2489 };
                                                                                                                                      +
                                                                                                                                      2490 
                                                                                                                                      +
                                                                                                                                      2491 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2492 // Zone name: America/Ojinaga
                                                                                                                                      +
                                                                                                                                      2493 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      2494 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      2495 // Memory (8-bit): 58
                                                                                                                                      +
                                                                                                                                      2496 // Memory (32-bit): 76
                                                                                                                                      +
                                                                                                                                      2497 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2498 
                                                                                                                                      +
                                                                                                                                      2499 static const basic::ZoneEra kZoneEraAmerica_Ojinaga[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2500  // -7:00 Mexico M%sT 2010
                                                                                                                                      +
                                                                                                                                      2501  {
                                                                                                                                      +
                                                                                                                                      2502  &kPolicyMexico /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2503  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2504  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2505  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2506  10 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2507  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2508  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2509  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2510  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2511  },
                                                                                                                                      +
                                                                                                                                      2512  // -7:00 US M%sT
                                                                                                                                      +
                                                                                                                                      2513  {
                                                                                                                                      +
                                                                                                                                      2514  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2515  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2516  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2517  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2518  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2519  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2520  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2521  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2522  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2523  },
                                                                                                                                      +
                                                                                                                                      2524 
                                                                                                                                      +
                                                                                                                                      2525 };
                                                                                                                                      +
                                                                                                                                      2526 
                                                                                                                                      +
                                                                                                                                      2527 static const char kZoneNameAmerica_Ojinaga[] ACE_TIME_PROGMEM = "America/Ojinaga";
                                                                                                                                      +
                                                                                                                                      2528 
                                                                                                                                      +
                                                                                                                                      2529 const basic::ZoneInfo kZoneAmerica_Ojinaga ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2530  kZoneNameAmerica_Ojinaga /*name*/,
                                                                                                                                      +
                                                                                                                                      2531  0xebfde83f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2532  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2533  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2534  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2535  kZoneEraAmerica_Ojinaga /*eras*/,
                                                                                                                                      +
                                                                                                                                      2536 };
                                                                                                                                      +
                                                                                                                                      2537 
                                                                                                                                      +
                                                                                                                                      2538 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2539 // Zone name: America/Panama
                                                                                                                                      +
                                                                                                                                      2540 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2541 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      2542 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      2543 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      2544 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2545 
                                                                                                                                      +
                                                                                                                                      2546 static const basic::ZoneEra kZoneEraAmerica_Panama[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2547  // -5:00 - EST
                                                                                                                                      +
                                                                                                                                      2548  {
                                                                                                                                      +
                                                                                                                                      2549  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2550  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      2551  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2552  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2553  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2554  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2555  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2556  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2557  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2558  },
                                                                                                                                      +
                                                                                                                                      2559 
                                                                                                                                      +
                                                                                                                                      2560 };
                                                                                                                                      +
                                                                                                                                      2561 
                                                                                                                                      +
                                                                                                                                      2562 static const char kZoneNameAmerica_Panama[] ACE_TIME_PROGMEM = "America/Panama";
                                                                                                                                      +
                                                                                                                                      2563 
                                                                                                                                      +
                                                                                                                                      2564 const basic::ZoneInfo kZoneAmerica_Panama ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2565  kZoneNameAmerica_Panama /*name*/,
                                                                                                                                      +
                                                                                                                                      2566  0xb3863854 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2567  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2568  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2569  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2570  kZoneEraAmerica_Panama /*eras*/,
                                                                                                                                      +
                                                                                                                                      2571 };
                                                                                                                                      +
                                                                                                                                      2572 
                                                                                                                                      +
                                                                                                                                      2573 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2574 // Zone name: America/Paramaribo
                                                                                                                                      +
                                                                                                                                      2575 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2576 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      2577 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      2578 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      2579 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2580 
                                                                                                                                      +
                                                                                                                                      2581 static const basic::ZoneEra kZoneEraAmerica_Paramaribo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2582  // -3:00 - -03
                                                                                                                                      +
                                                                                                                                      2583  {
                                                                                                                                      +
                                                                                                                                      2584  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2585  "-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      2586  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2587  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2588  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2589  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2590  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2591  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2592  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2593  },
                                                                                                                                      +
                                                                                                                                      2594 
                                                                                                                                      +
                                                                                                                                      2595 };
                                                                                                                                      +
                                                                                                                                      2596 
                                                                                                                                      +
                                                                                                                                      2597 static const char kZoneNameAmerica_Paramaribo[] ACE_TIME_PROGMEM = "America/Paramaribo";
                                                                                                                                      +
                                                                                                                                      2598 
                                                                                                                                      +
                                                                                                                                      2599 const basic::ZoneInfo kZoneAmerica_Paramaribo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2600  kZoneNameAmerica_Paramaribo /*name*/,
                                                                                                                                      +
                                                                                                                                      2601  0xb319e4c4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2602  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2603  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2604  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2605  kZoneEraAmerica_Paramaribo /*eras*/,
                                                                                                                                      +
                                                                                                                                      2606 };
                                                                                                                                      +
                                                                                                                                      2607 
                                                                                                                                      +
                                                                                                                                      2608 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2609 // Zone name: America/Phoenix
                                                                                                                                      +
                                                                                                                                      2610 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2611 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      2612 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      2613 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      2614 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2615 
                                                                                                                                      +
                                                                                                                                      2616 static const basic::ZoneEra kZoneEraAmerica_Phoenix[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2617  // -7:00 - MST
                                                                                                                                      +
                                                                                                                                      2618  {
                                                                                                                                      +
                                                                                                                                      2619  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2620  "MST" /*format*/,
                                                                                                                                      +
                                                                                                                                      2621  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2622  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2623  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2624  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2625  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2626  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2627  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2628  },
                                                                                                                                      +
                                                                                                                                      2629 
                                                                                                                                      +
                                                                                                                                      2630 };
                                                                                                                                      +
                                                                                                                                      2631 
                                                                                                                                      +
                                                                                                                                      2632 static const char kZoneNameAmerica_Phoenix[] ACE_TIME_PROGMEM = "America/Phoenix";
                                                                                                                                      +
                                                                                                                                      2633 
                                                                                                                                      +
                                                                                                                                      2634 const basic::ZoneInfo kZoneAmerica_Phoenix ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2635  kZoneNameAmerica_Phoenix /*name*/,
                                                                                                                                      +
                                                                                                                                      2636  0x34b5af01 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2637  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2638  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2639  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2640  kZoneEraAmerica_Phoenix /*eras*/,
                                                                                                                                      +
                                                                                                                                      2641 };
                                                                                                                                      +
                                                                                                                                      2642 
                                                                                                                                      +
                                                                                                                                      2643 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2644 // Zone name: America/Port-au-Prince
                                                                                                                                      +
                                                                                                                                      2645 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2646 // Strings (bytes): 27
                                                                                                                                      +
                                                                                                                                      2647 // Memory (8-bit): 50
                                                                                                                                      +
                                                                                                                                      2648 // Memory (32-bit): 63
                                                                                                                                      +
                                                                                                                                      2649 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2650 
                                                                                                                                      +
                                                                                                                                      2651 static const basic::ZoneEra kZoneEraAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2652  // -5:00 Haiti E%sT
                                                                                                                                      +
                                                                                                                                      2653  {
                                                                                                                                      +
                                                                                                                                      2654  &kPolicyHaiti /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2655  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2656  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2657  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2658  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2659  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2660  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2661  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2662  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2663  },
                                                                                                                                      +
                                                                                                                                      2664 
                                                                                                                                      +
                                                                                                                                      2665 };
                                                                                                                                      +
                                                                                                                                      2666 
                                                                                                                                      +
                                                                                                                                      2667 static const char kZoneNameAmerica_Port_au_Prince[] ACE_TIME_PROGMEM = "America/Port-au-Prince";
                                                                                                                                      +
                                                                                                                                      2668 
                                                                                                                                      +
                                                                                                                                      2669 const basic::ZoneInfo kZoneAmerica_Port_au_Prince ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2670  kZoneNameAmerica_Port_au_Prince /*name*/,
                                                                                                                                      +
                                                                                                                                      2671  0x8e4a7bdc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2672  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2673  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2674  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2675  kZoneEraAmerica_Port_au_Prince /*eras*/,
                                                                                                                                      +
                                                                                                                                      2676 };
                                                                                                                                      +
                                                                                                                                      2677 
                                                                                                                                      +
                                                                                                                                      2678 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2679 // Zone name: America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      2680 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2681 // Strings (bytes): 26
                                                                                                                                      +
                                                                                                                                      2682 // Memory (8-bit): 49
                                                                                                                                      +
                                                                                                                                      2683 // Memory (32-bit): 62
                                                                                                                                      +
                                                                                                                                      2684 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2685 
                                                                                                                                      +
                                                                                                                                      2686 static const basic::ZoneEra kZoneEraAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2687  // -4:00 - AST
                                                                                                                                      +
                                                                                                                                      2688  {
                                                                                                                                      +
                                                                                                                                      2689  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2690  "AST" /*format*/,
                                                                                                                                      +
                                                                                                                                      2691  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2692  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2693  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2694  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2695  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2696  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2697  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2698  },
                                                                                                                                      +
                                                                                                                                      2699 
                                                                                                                                      +
                                                                                                                                      2700 };
                                                                                                                                      +
                                                                                                                                      2701 
                                                                                                                                      +
                                                                                                                                      2702 static const char kZoneNameAmerica_Port_of_Spain[] ACE_TIME_PROGMEM = "America/Port_of_Spain";
                                                                                                                                      +
                                                                                                                                      2703 
                                                                                                                                      +
                                                                                                                                      2704 const basic::ZoneInfo kZoneAmerica_Port_of_Spain ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2705  kZoneNameAmerica_Port_of_Spain /*name*/,
                                                                                                                                      +
                                                                                                                                      2706  0xd8b28d59 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2707  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2708  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2709  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2710  kZoneEraAmerica_Port_of_Spain /*eras*/,
                                                                                                                                      +
                                                                                                                                      2711 };
                                                                                                                                      +
                                                                                                                                      2712 
                                                                                                                                      +
                                                                                                                                      2713 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2714 // Zone name: America/Porto_Velho
                                                                                                                                      +
                                                                                                                                      2715 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2716 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      2717 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      2718 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      2719 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2720 
                                                                                                                                      +
                                                                                                                                      2721 static const basic::ZoneEra kZoneEraAmerica_Porto_Velho[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2722  // -4:00 - -04
                                                                                                                                      +
                                                                                                                                      2723  {
                                                                                                                                      +
                                                                                                                                      2724  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2725  "-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      2726  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2727  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2728  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2729  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2730  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2731  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2732  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2733  },
                                                                                                                                      +
                                                                                                                                      2734 
                                                                                                                                      +
                                                                                                                                      2735 };
                                                                                                                                      +
                                                                                                                                      2736 
                                                                                                                                      +
                                                                                                                                      2737 static const char kZoneNameAmerica_Porto_Velho[] ACE_TIME_PROGMEM = "America/Porto_Velho";
                                                                                                                                      +
                                                                                                                                      2738 
                                                                                                                                      +
                                                                                                                                      2739 const basic::ZoneInfo kZoneAmerica_Porto_Velho ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2740  kZoneNameAmerica_Porto_Velho /*name*/,
                                                                                                                                      +
                                                                                                                                      2741  0x6b1aac77 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2742  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2743  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2744  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2745  kZoneEraAmerica_Porto_Velho /*eras*/,
                                                                                                                                      +
                                                                                                                                      2746 };
                                                                                                                                      +
                                                                                                                                      2747 
                                                                                                                                      +
                                                                                                                                      2748 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2749 // Zone name: America/Puerto_Rico
                                                                                                                                      +
                                                                                                                                      2750 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2751 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      2752 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      2753 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      2754 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2755 
                                                                                                                                      +
                                                                                                                                      2756 static const basic::ZoneEra kZoneEraAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2757  // -4:00 - AST
                                                                                                                                      +
                                                                                                                                      2758  {
                                                                                                                                      +
                                                                                                                                      2759  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2760  "AST" /*format*/,
                                                                                                                                      +
                                                                                                                                      2761  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2762  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2763  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2764  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2765  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2766  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2767  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2768  },
                                                                                                                                      +
                                                                                                                                      2769 
                                                                                                                                      +
                                                                                                                                      2770 };
                                                                                                                                      +
                                                                                                                                      2771 
                                                                                                                                      +
                                                                                                                                      2772 static const char kZoneNameAmerica_Puerto_Rico[] ACE_TIME_PROGMEM = "America/Puerto_Rico";
                                                                                                                                      +
                                                                                                                                      2773 
                                                                                                                                      +
                                                                                                                                      2774 const basic::ZoneInfo kZoneAmerica_Puerto_Rico ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2775  kZoneNameAmerica_Puerto_Rico /*name*/,
                                                                                                                                      +
                                                                                                                                      2776  0x6752ca31 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2777  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2778  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2779  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2780  kZoneEraAmerica_Puerto_Rico /*eras*/,
                                                                                                                                      +
                                                                                                                                      2781 };
                                                                                                                                      +
                                                                                                                                      2782 
                                                                                                                                      +
                                                                                                                                      2783 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2784 // Zone name: America/Rainy_River
                                                                                                                                      +
                                                                                                                                      2785 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2786 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      2787 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      2788 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      2789 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2790 
                                                                                                                                      +
                                                                                                                                      2791 static const basic::ZoneEra kZoneEraAmerica_Rainy_River[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2792  // -6:00 Canada C%sT
                                                                                                                                      +
                                                                                                                                      2793  {
                                                                                                                                      +
                                                                                                                                      2794  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2795  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2796  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2797  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2798  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2799  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2800  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2801  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2802  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2803  },
                                                                                                                                      +
                                                                                                                                      2804 
                                                                                                                                      +
                                                                                                                                      2805 };
                                                                                                                                      +
                                                                                                                                      2806 
                                                                                                                                      +
                                                                                                                                      2807 static const char kZoneNameAmerica_Rainy_River[] ACE_TIME_PROGMEM = "America/Rainy_River";
                                                                                                                                      +
                                                                                                                                      2808 
                                                                                                                                      +
                                                                                                                                      2809 const basic::ZoneInfo kZoneAmerica_Rainy_River ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2810  kZoneNameAmerica_Rainy_River /*name*/,
                                                                                                                                      +
                                                                                                                                      2811  0x9cd58a10 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2812  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2813  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2814  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2815  kZoneEraAmerica_Rainy_River /*eras*/,
                                                                                                                                      +
                                                                                                                                      2816 };
                                                                                                                                      +
                                                                                                                                      2817 
                                                                                                                                      +
                                                                                                                                      2818 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2819 // Zone name: America/Regina
                                                                                                                                      +
                                                                                                                                      2820 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2821 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      2822 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      2823 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      2824 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2825 
                                                                                                                                      +
                                                                                                                                      2826 static const basic::ZoneEra kZoneEraAmerica_Regina[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2827  // -6:00 - CST
                                                                                                                                      +
                                                                                                                                      2828  {
                                                                                                                                      +
                                                                                                                                      2829  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2830  "CST" /*format*/,
                                                                                                                                      +
                                                                                                                                      2831  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2832  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2833  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2834  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2835  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2836  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2837  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2838  },
                                                                                                                                      +
                                                                                                                                      2839 
                                                                                                                                      +
                                                                                                                                      2840 };
                                                                                                                                      +
                                                                                                                                      2841 
                                                                                                                                      +
                                                                                                                                      2842 static const char kZoneNameAmerica_Regina[] ACE_TIME_PROGMEM = "America/Regina";
                                                                                                                                      +
                                                                                                                                      2843 
                                                                                                                                      +
                                                                                                                                      2844 const basic::ZoneInfo kZoneAmerica_Regina ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2845  kZoneNameAmerica_Regina /*name*/,
                                                                                                                                      +
                                                                                                                                      2846  0xb875371c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2847  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2848  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2849  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2850  kZoneEraAmerica_Regina /*eras*/,
                                                                                                                                      +
                                                                                                                                      2851 };
                                                                                                                                      +
                                                                                                                                      2852 
                                                                                                                                      +
                                                                                                                                      2853 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2854 // Zone name: America/Santiago
                                                                                                                                      +
                                                                                                                                      2855 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2856 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      2857 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      2858 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      2859 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2860 
                                                                                                                                      +
                                                                                                                                      2861 static const basic::ZoneEra kZoneEraAmerica_Santiago[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2862  // -4:00 Chile -04/-03
                                                                                                                                      +
                                                                                                                                      2863  {
                                                                                                                                      +
                                                                                                                                      2864  &kPolicyChile /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2865  "-04/-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      2866  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2867  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2868  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2869  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2870  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2871  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2872  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2873  },
                                                                                                                                      +
                                                                                                                                      2874 
                                                                                                                                      +
                                                                                                                                      2875 };
                                                                                                                                      +
                                                                                                                                      2876 
                                                                                                                                      +
                                                                                                                                      2877 static const char kZoneNameAmerica_Santiago[] ACE_TIME_PROGMEM = "America/Santiago";
                                                                                                                                      +
                                                                                                                                      2878 
                                                                                                                                      +
                                                                                                                                      2879 const basic::ZoneInfo kZoneAmerica_Santiago ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2880  kZoneNameAmerica_Santiago /*name*/,
                                                                                                                                      +
                                                                                                                                      2881  0x7410c9bc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2882  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2883  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2884  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2885  kZoneEraAmerica_Santiago /*eras*/,
                                                                                                                                      +
                                                                                                                                      2886 };
                                                                                                                                      +
                                                                                                                                      2887 
                                                                                                                                      +
                                                                                                                                      2888 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2889 // Zone name: America/Sao_Paulo
                                                                                                                                      +
                                                                                                                                      2890 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2891 // Strings (bytes): 26
                                                                                                                                      +
                                                                                                                                      2892 // Memory (8-bit): 49
                                                                                                                                      +
                                                                                                                                      2893 // Memory (32-bit): 62
                                                                                                                                      +
                                                                                                                                      2894 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2895 
                                                                                                                                      +
                                                                                                                                      2896 static const basic::ZoneEra kZoneEraAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2897  // -3:00 Brazil -03/-02
                                                                                                                                      +
                                                                                                                                      2898  {
                                                                                                                                      +
                                                                                                                                      2899  &kPolicyBrazil /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2900  "-03/-02" /*format*/,
                                                                                                                                      +
                                                                                                                                      2901  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2902  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2903  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2904  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2905  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2906  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2907  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2908  },
                                                                                                                                      +
                                                                                                                                      2909 
                                                                                                                                      +
                                                                                                                                      2910 };
                                                                                                                                      +
                                                                                                                                      2911 
                                                                                                                                      +
                                                                                                                                      2912 static const char kZoneNameAmerica_Sao_Paulo[] ACE_TIME_PROGMEM = "America/Sao_Paulo";
                                                                                                                                      +
                                                                                                                                      2913 
                                                                                                                                      +
                                                                                                                                      2914 const basic::ZoneInfo kZoneAmerica_Sao_Paulo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2915  kZoneNameAmerica_Sao_Paulo /*name*/,
                                                                                                                                      +
                                                                                                                                      2916  0x1063bfc9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2917  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2918  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2919  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2920  kZoneEraAmerica_Sao_Paulo /*eras*/,
                                                                                                                                      +
                                                                                                                                      2921 };
                                                                                                                                      +
                                                                                                                                      2922 
                                                                                                                                      +
                                                                                                                                      2923 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2924 // Zone name: America/Scoresbysund
                                                                                                                                      +
                                                                                                                                      2925 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2926 // Strings (bytes): 29
                                                                                                                                      +
                                                                                                                                      2927 // Memory (8-bit): 52
                                                                                                                                      +
                                                                                                                                      2928 // Memory (32-bit): 65
                                                                                                                                      +
                                                                                                                                      2929 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2930 
                                                                                                                                      +
                                                                                                                                      2931 static const basic::ZoneEra kZoneEraAmerica_Scoresbysund[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2932  // -1:00 EU -01/+00
                                                                                                                                      +
                                                                                                                                      2933  {
                                                                                                                                      +
                                                                                                                                      2934  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2935  "-01/+00" /*format*/,
                                                                                                                                      +
                                                                                                                                      2936  -4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2937  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2938  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2939  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2940  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2941  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2942  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2943  },
                                                                                                                                      +
                                                                                                                                      2944 
                                                                                                                                      +
                                                                                                                                      2945 };
                                                                                                                                      +
                                                                                                                                      2946 
                                                                                                                                      +
                                                                                                                                      2947 static const char kZoneNameAmerica_Scoresbysund[] ACE_TIME_PROGMEM = "America/Scoresbysund";
                                                                                                                                      +
                                                                                                                                      2948 
                                                                                                                                      +
                                                                                                                                      2949 const basic::ZoneInfo kZoneAmerica_Scoresbysund ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2950  kZoneNameAmerica_Scoresbysund /*name*/,
                                                                                                                                      +
                                                                                                                                      2951  0x123f8d2a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2952  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2953  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2954  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2955  kZoneEraAmerica_Scoresbysund /*eras*/,
                                                                                                                                      +
                                                                                                                                      2956 };
                                                                                                                                      +
                                                                                                                                      2957 
                                                                                                                                      +
                                                                                                                                      2958 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2959 // Zone name: America/Sitka
                                                                                                                                      +
                                                                                                                                      2960 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2961 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      2962 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      2963 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      2964 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2965 
                                                                                                                                      +
                                                                                                                                      2966 static const basic::ZoneEra kZoneEraAmerica_Sitka[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2967  // -9:00 US AK%sT
                                                                                                                                      +
                                                                                                                                      2968  {
                                                                                                                                      +
                                                                                                                                      2969  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      2970  "AK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      2971  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      2972  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2973  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2974  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      2975  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      2976  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2977  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2978  },
                                                                                                                                      +
                                                                                                                                      2979 
                                                                                                                                      +
                                                                                                                                      2980 };
                                                                                                                                      +
                                                                                                                                      2981 
                                                                                                                                      +
                                                                                                                                      2982 static const char kZoneNameAmerica_Sitka[] ACE_TIME_PROGMEM = "America/Sitka";
                                                                                                                                      +
                                                                                                                                      2983 
                                                                                                                                      +
                                                                                                                                      2984 const basic::ZoneInfo kZoneAmerica_Sitka ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2985  kZoneNameAmerica_Sitka /*name*/,
                                                                                                                                      +
                                                                                                                                      2986  0x99104ce2 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      2987  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      2988  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      2989  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      2990  kZoneEraAmerica_Sitka /*eras*/,
                                                                                                                                      +
                                                                                                                                      2991 };
                                                                                                                                      +
                                                                                                                                      2992 
                                                                                                                                      +
                                                                                                                                      2993 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2994 // Zone name: America/Swift_Current
                                                                                                                                      +
                                                                                                                                      2995 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      2996 // Strings (bytes): 26
                                                                                                                                      +
                                                                                                                                      2997 // Memory (8-bit): 49
                                                                                                                                      +
                                                                                                                                      2998 // Memory (32-bit): 62
                                                                                                                                      +
                                                                                                                                      2999 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3000 
                                                                                                                                      +
                                                                                                                                      3001 static const basic::ZoneEra kZoneEraAmerica_Swift_Current[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3002  // -6:00 - CST
                                                                                                                                      +
                                                                                                                                      3003  {
                                                                                                                                      +
                                                                                                                                      3004  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3005  "CST" /*format*/,
                                                                                                                                      +
                                                                                                                                      3006  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3007  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3008  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3009  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3010  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3011  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3012  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3013  },
                                                                                                                                      +
                                                                                                                                      3014 
                                                                                                                                      +
                                                                                                                                      3015 };
                                                                                                                                      +
                                                                                                                                      3016 
                                                                                                                                      +
                                                                                                                                      3017 static const char kZoneNameAmerica_Swift_Current[] ACE_TIME_PROGMEM = "America/Swift_Current";
                                                                                                                                      +
                                                                                                                                      3018 
                                                                                                                                      +
                                                                                                                                      3019 const basic::ZoneInfo kZoneAmerica_Swift_Current ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3020  kZoneNameAmerica_Swift_Current /*name*/,
                                                                                                                                      +
                                                                                                                                      3021  0xdef98e55 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3022  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3023  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3024  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3025  kZoneEraAmerica_Swift_Current /*eras*/,
                                                                                                                                      +
                                                                                                                                      3026 };
                                                                                                                                      +
                                                                                                                                      3027 
                                                                                                                                      +
                                                                                                                                      3028 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3029 // Zone name: America/Tegucigalpa
                                                                                                                                      +
                                                                                                                                      3030 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3031 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      3032 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      3033 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      3034 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3035 
                                                                                                                                      +
                                                                                                                                      3036 static const basic::ZoneEra kZoneEraAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3037  // -6:00 Hond C%sT
                                                                                                                                      +
                                                                                                                                      3038  {
                                                                                                                                      +
                                                                                                                                      3039  &kPolicyHond /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3040  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3041  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3042  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3043  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3044  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3045  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3046  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3047  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3048  },
                                                                                                                                      +
                                                                                                                                      3049 
                                                                                                                                      +
                                                                                                                                      3050 };
                                                                                                                                      +
                                                                                                                                      3051 
                                                                                                                                      +
                                                                                                                                      3052 static const char kZoneNameAmerica_Tegucigalpa[] ACE_TIME_PROGMEM = "America/Tegucigalpa";
                                                                                                                                      +
                                                                                                                                      3053 
                                                                                                                                      +
                                                                                                                                      3054 const basic::ZoneInfo kZoneAmerica_Tegucigalpa ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3055  kZoneNameAmerica_Tegucigalpa /*name*/,
                                                                                                                                      +
                                                                                                                                      3056  0xbfd6fd4c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3057  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3058  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3059  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3060  kZoneEraAmerica_Tegucigalpa /*eras*/,
                                                                                                                                      +
                                                                                                                                      3061 };
                                                                                                                                      +
                                                                                                                                      3062 
                                                                                                                                      +
                                                                                                                                      3063 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3064 // Zone name: America/Thule
                                                                                                                                      +
                                                                                                                                      3065 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3066 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      3067 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      3068 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      3069 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3070 
                                                                                                                                      +
                                                                                                                                      3071 static const basic::ZoneEra kZoneEraAmerica_Thule[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3072  // -4:00 Thule A%sT
                                                                                                                                      +
                                                                                                                                      3073  {
                                                                                                                                      +
                                                                                                                                      3074  &kPolicyThule /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3075  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3076  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3077  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3078  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3079  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3080  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3081  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3082  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3083  },
                                                                                                                                      +
                                                                                                                                      3084 
                                                                                                                                      +
                                                                                                                                      3085 };
                                                                                                                                      +
                                                                                                                                      3086 
                                                                                                                                      +
                                                                                                                                      3087 static const char kZoneNameAmerica_Thule[] ACE_TIME_PROGMEM = "America/Thule";
                                                                                                                                      +
                                                                                                                                      3088 
                                                                                                                                      +
                                                                                                                                      3089 const basic::ZoneInfo kZoneAmerica_Thule ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3090  kZoneNameAmerica_Thule /*name*/,
                                                                                                                                      +
                                                                                                                                      3091  0x9921dd68 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3092  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3093  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3094  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3095  kZoneEraAmerica_Thule /*eras*/,
                                                                                                                                      +
                                                                                                                                      3096 };
                                                                                                                                      +
                                                                                                                                      3097 
                                                                                                                                      +
                                                                                                                                      3098 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3099 // Zone name: America/Thunder_Bay
                                                                                                                                      +
                                                                                                                                      3100 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3101 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      3102 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      3103 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      3104 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3105 
                                                                                                                                      +
                                                                                                                                      3106 static const basic::ZoneEra kZoneEraAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3107  // -5:00 Canada E%sT
                                                                                                                                      +
                                                                                                                                      3108  {
                                                                                                                                      +
                                                                                                                                      3109  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3110  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3111  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3112  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3113  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3114  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3115  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3116  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3117  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3118  },
                                                                                                                                      +
                                                                                                                                      3119 
                                                                                                                                      +
                                                                                                                                      3120 };
                                                                                                                                      +
                                                                                                                                      3121 
                                                                                                                                      +
                                                                                                                                      3122 static const char kZoneNameAmerica_Thunder_Bay[] ACE_TIME_PROGMEM = "America/Thunder_Bay";
                                                                                                                                      +
                                                                                                                                      3123 
                                                                                                                                      +
                                                                                                                                      3124 const basic::ZoneInfo kZoneAmerica_Thunder_Bay ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3125  kZoneNameAmerica_Thunder_Bay /*name*/,
                                                                                                                                      +
                                                                                                                                      3126  0xf962e71b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3127  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3128  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3129  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3130  kZoneEraAmerica_Thunder_Bay /*eras*/,
                                                                                                                                      +
                                                                                                                                      3131 };
                                                                                                                                      +
                                                                                                                                      3132 
                                                                                                                                      +
                                                                                                                                      3133 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3134 // Zone name: America/Toronto
                                                                                                                                      +
                                                                                                                                      3135 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3136 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      3137 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      3138 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      3139 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3140 
                                                                                                                                      +
                                                                                                                                      3141 static const basic::ZoneEra kZoneEraAmerica_Toronto[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3142  // -5:00 Canada E%sT
                                                                                                                                      +
                                                                                                                                      3143  {
                                                                                                                                      +
                                                                                                                                      3144  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3145  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3146  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3147  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3148  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3149  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3150  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3151  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3152  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3153  },
                                                                                                                                      +
                                                                                                                                      3154 
                                                                                                                                      +
                                                                                                                                      3155 };
                                                                                                                                      +
                                                                                                                                      3156 
                                                                                                                                      +
                                                                                                                                      3157 static const char kZoneNameAmerica_Toronto[] ACE_TIME_PROGMEM = "America/Toronto";
                                                                                                                                      +
                                                                                                                                      3158 
                                                                                                                                      +
                                                                                                                                      3159 const basic::ZoneInfo kZoneAmerica_Toronto ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3160  kZoneNameAmerica_Toronto /*name*/,
                                                                                                                                      +
                                                                                                                                      3161  0x792e851b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3162  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3163  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3164  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3165  kZoneEraAmerica_Toronto /*eras*/,
                                                                                                                                      +
                                                                                                                                      3166 };
                                                                                                                                      +
                                                                                                                                      3167 
                                                                                                                                      +
                                                                                                                                      3168 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3169 // Zone name: America/Vancouver
                                                                                                                                      +
                                                                                                                                      3170 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3171 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      3172 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      3173 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      3174 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3175 
                                                                                                                                      +
                                                                                                                                      3176 static const basic::ZoneEra kZoneEraAmerica_Vancouver[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3177  // -8:00 Canada P%sT
                                                                                                                                      +
                                                                                                                                      3178  {
                                                                                                                                      +
                                                                                                                                      3179  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3180  "P%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3181  -32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3182  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3183  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3184  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3185  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3186  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3187  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3188  },
                                                                                                                                      +
                                                                                                                                      3189 
                                                                                                                                      +
                                                                                                                                      3190 };
                                                                                                                                      +
                                                                                                                                      3191 
                                                                                                                                      +
                                                                                                                                      3192 static const char kZoneNameAmerica_Vancouver[] ACE_TIME_PROGMEM = "America/Vancouver";
                                                                                                                                      +
                                                                                                                                      3193 
                                                                                                                                      +
                                                                                                                                      3194 const basic::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3195  kZoneNameAmerica_Vancouver /*name*/,
                                                                                                                                      +
                                                                                                                                      3196  0x2c6f6b1f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3197  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3198  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3199  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3200  kZoneEraAmerica_Vancouver /*eras*/,
                                                                                                                                      +
                                                                                                                                      3201 };
                                                                                                                                      +
                                                                                                                                      3202 
                                                                                                                                      +
                                                                                                                                      3203 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3204 // Zone name: America/Winnipeg
                                                                                                                                      +
                                                                                                                                      3205 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      3206 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      3207 // Memory (8-bit): 59
                                                                                                                                      +
                                                                                                                                      3208 // Memory (32-bit): 77
                                                                                                                                      +
                                                                                                                                      3209 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3210 
                                                                                                                                      +
                                                                                                                                      3211 static const basic::ZoneEra kZoneEraAmerica_Winnipeg[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3212  // -6:00 Winn C%sT 2006
                                                                                                                                      +
                                                                                                                                      3213  {
                                                                                                                                      +
                                                                                                                                      3214  &kPolicyWinn /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3215  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3216  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3217  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3218  6 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3219  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3220  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3221  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3222  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3223  },
                                                                                                                                      +
                                                                                                                                      3224  // -6:00 Canada C%sT
                                                                                                                                      +
                                                                                                                                      3225  {
                                                                                                                                      +
                                                                                                                                      3226  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3227  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3228  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3229  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3230  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3231  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3232  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3233  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3234  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3235  },
                                                                                                                                      +
                                                                                                                                      3236 
                                                                                                                                      +
                                                                                                                                      3237 };
                                                                                                                                      +
                                                                                                                                      3238 
                                                                                                                                      +
                                                                                                                                      3239 static const char kZoneNameAmerica_Winnipeg[] ACE_TIME_PROGMEM = "America/Winnipeg";
                                                                                                                                      +
                                                                                                                                      3240 
                                                                                                                                      +
                                                                                                                                      3241 const basic::ZoneInfo kZoneAmerica_Winnipeg ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3242  kZoneNameAmerica_Winnipeg /*name*/,
                                                                                                                                      +
                                                                                                                                      3243  0x8c7dafc7 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3244  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3245  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3246  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3247  kZoneEraAmerica_Winnipeg /*eras*/,
                                                                                                                                      +
                                                                                                                                      3248 };
                                                                                                                                      +
                                                                                                                                      3249 
                                                                                                                                      +
                                                                                                                                      3250 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3251 // Zone name: America/Yakutat
                                                                                                                                      +
                                                                                                                                      3252 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3253 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      3254 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      3255 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      3256 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3257 
                                                                                                                                      +
                                                                                                                                      3258 static const basic::ZoneEra kZoneEraAmerica_Yakutat[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3259  // -9:00 US AK%sT
                                                                                                                                      +
                                                                                                                                      3260  {
                                                                                                                                      +
                                                                                                                                      3261  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3262  "AK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3263  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3264  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3265  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3266  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3267  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3268  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3269  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3270  },
                                                                                                                                      +
                                                                                                                                      3271 
                                                                                                                                      +
                                                                                                                                      3272 };
                                                                                                                                      +
                                                                                                                                      3273 
                                                                                                                                      +
                                                                                                                                      3274 static const char kZoneNameAmerica_Yakutat[] ACE_TIME_PROGMEM = "America/Yakutat";
                                                                                                                                      +
                                                                                                                                      3275 
                                                                                                                                      +
                                                                                                                                      3276 const basic::ZoneInfo kZoneAmerica_Yakutat ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3277  kZoneNameAmerica_Yakutat /*name*/,
                                                                                                                                      +
                                                                                                                                      3278  0xd8ee31e9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3279  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3280  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3281  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3282  kZoneEraAmerica_Yakutat /*eras*/,
                                                                                                                                      +
                                                                                                                                      3283 };
                                                                                                                                      +
                                                                                                                                      3284 
                                                                                                                                      +
                                                                                                                                      3285 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3286 // Zone name: America/Yellowknife
                                                                                                                                      +
                                                                                                                                      3287 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3288 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      3289 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      3290 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      3291 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3292 
                                                                                                                                      +
                                                                                                                                      3293 static const basic::ZoneEra kZoneEraAmerica_Yellowknife[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3294  // -7:00 Canada M%sT
                                                                                                                                      +
                                                                                                                                      3295  {
                                                                                                                                      +
                                                                                                                                      3296  &kPolicyCanada /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3297  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3298  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3299  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3300  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3301  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3302  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3303  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3304  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3305  },
                                                                                                                                      +
                                                                                                                                      3306 
                                                                                                                                      +
                                                                                                                                      3307 };
                                                                                                                                      +
                                                                                                                                      3308 
                                                                                                                                      +
                                                                                                                                      3309 static const char kZoneNameAmerica_Yellowknife[] ACE_TIME_PROGMEM = "America/Yellowknife";
                                                                                                                                      +
                                                                                                                                      3310 
                                                                                                                                      +
                                                                                                                                      3311 const basic::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3312  kZoneNameAmerica_Yellowknife /*name*/,
                                                                                                                                      +
                                                                                                                                      3313  0x0f76c76f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3314  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3315  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3316  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3317  kZoneEraAmerica_Yellowknife /*eras*/,
                                                                                                                                      +
                                                                                                                                      3318 };
                                                                                                                                      +
                                                                                                                                      3319 
                                                                                                                                      +
                                                                                                                                      3320 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3321 // Zone name: Antarctica/DumontDUrville
                                                                                                                                      +
                                                                                                                                      3322 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3323 // Strings (bytes): 30
                                                                                                                                      +
                                                                                                                                      3324 // Memory (8-bit): 53
                                                                                                                                      +
                                                                                                                                      3325 // Memory (32-bit): 66
                                                                                                                                      +
                                                                                                                                      3326 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3327 
                                                                                                                                      +
                                                                                                                                      3328 static const basic::ZoneEra kZoneEraAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3329  // 10:00 - +10
                                                                                                                                      +
                                                                                                                                      3330  {
                                                                                                                                      +
                                                                                                                                      3331  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3332  "+10" /*format*/,
                                                                                                                                      +
                                                                                                                                      3333  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3334  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3335  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3336  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3337  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3338  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3339  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3340  },
                                                                                                                                      +
                                                                                                                                      3341 
                                                                                                                                      +
                                                                                                                                      3342 };
                                                                                                                                      +
                                                                                                                                      3343 
                                                                                                                                      +
                                                                                                                                      3344 static const char kZoneNameAntarctica_DumontDUrville[] ACE_TIME_PROGMEM = "Antarctica/DumontDUrville";
                                                                                                                                      +
                                                                                                                                      3345 
                                                                                                                                      +
                                                                                                                                      3346 const basic::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3347  kZoneNameAntarctica_DumontDUrville /*name*/,
                                                                                                                                      +
                                                                                                                                      3348  0x5a3c656c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3349  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3350  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3351  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3352  kZoneEraAntarctica_DumontDUrville /*eras*/,
                                                                                                                                      +
                                                                                                                                      3353 };
                                                                                                                                      +
                                                                                                                                      3354 
                                                                                                                                      +
                                                                                                                                      3355 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3356 // Zone name: Antarctica/Rothera
                                                                                                                                      +
                                                                                                                                      3357 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3358 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      3359 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      3360 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      3361 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3362 
                                                                                                                                      +
                                                                                                                                      3363 static const basic::ZoneEra kZoneEraAntarctica_Rothera[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3364  // -3:00 - -03
                                                                                                                                      +
                                                                                                                                      3365  {
                                                                                                                                      +
                                                                                                                                      3366  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3367  "-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      3368  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3369  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3370  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3371  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3372  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3373  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3374  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3375  },
                                                                                                                                      +
                                                                                                                                      3376 
                                                                                                                                      +
                                                                                                                                      3377 };
                                                                                                                                      +
                                                                                                                                      3378 
                                                                                                                                      +
                                                                                                                                      3379 static const char kZoneNameAntarctica_Rothera[] ACE_TIME_PROGMEM = "Antarctica/Rothera";
                                                                                                                                      +
                                                                                                                                      3380 
                                                                                                                                      +
                                                                                                                                      3381 const basic::ZoneInfo kZoneAntarctica_Rothera ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3382  kZoneNameAntarctica_Rothera /*name*/,
                                                                                                                                      +
                                                                                                                                      3383  0x0e86d203 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3384  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3385  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3386  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3387  kZoneEraAntarctica_Rothera /*eras*/,
                                                                                                                                      +
                                                                                                                                      3388 };
                                                                                                                                      +
                                                                                                                                      3389 
                                                                                                                                      +
                                                                                                                                      3390 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3391 // Zone name: Antarctica/Syowa
                                                                                                                                      +
                                                                                                                                      3392 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3393 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      3394 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      3395 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      3396 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3397 
                                                                                                                                      +
                                                                                                                                      3398 static const basic::ZoneEra kZoneEraAntarctica_Syowa[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3399  // 3:00 - +03
                                                                                                                                      +
                                                                                                                                      3400  {
                                                                                                                                      +
                                                                                                                                      3401  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3402  "+03" /*format*/,
                                                                                                                                      +
                                                                                                                                      3403  12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3404  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3405  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3406  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3407  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3408  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3409  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3410  },
                                                                                                                                      +
                                                                                                                                      3411 
                                                                                                                                      +
                                                                                                                                      3412 };
                                                                                                                                      +
                                                                                                                                      3413 
                                                                                                                                      +
                                                                                                                                      3414 static const char kZoneNameAntarctica_Syowa[] ACE_TIME_PROGMEM = "Antarctica/Syowa";
                                                                                                                                      +
                                                                                                                                      3415 
                                                                                                                                      +
                                                                                                                                      3416 const basic::ZoneInfo kZoneAntarctica_Syowa ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3417  kZoneNameAntarctica_Syowa /*name*/,
                                                                                                                                      +
                                                                                                                                      3418  0xe330c7e1 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3419  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3420  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3421  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3422  kZoneEraAntarctica_Syowa /*eras*/,
                                                                                                                                      +
                                                                                                                                      3423 };
                                                                                                                                      +
                                                                                                                                      3424 
                                                                                                                                      +
                                                                                                                                      3425 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3426 // Zone name: Antarctica/Vostok
                                                                                                                                      +
                                                                                                                                      3427 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3428 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      3429 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      3430 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      3431 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3432 
                                                                                                                                      +
                                                                                                                                      3433 static const basic::ZoneEra kZoneEraAntarctica_Vostok[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3434  // 6:00 - +06
                                                                                                                                      +
                                                                                                                                      3435  {
                                                                                                                                      +
                                                                                                                                      3436  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3437  "+06" /*format*/,
                                                                                                                                      +
                                                                                                                                      3438  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3439  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3440  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3441  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3442  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3443  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3444  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3445  },
                                                                                                                                      +
                                                                                                                                      3446 
                                                                                                                                      +
                                                                                                                                      3447 };
                                                                                                                                      +
                                                                                                                                      3448 
                                                                                                                                      +
                                                                                                                                      3449 static const char kZoneNameAntarctica_Vostok[] ACE_TIME_PROGMEM = "Antarctica/Vostok";
                                                                                                                                      +
                                                                                                                                      3450 
                                                                                                                                      +
                                                                                                                                      3451 const basic::ZoneInfo kZoneAntarctica_Vostok ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3452  kZoneNameAntarctica_Vostok /*name*/,
                                                                                                                                      +
                                                                                                                                      3453  0x4f966fd4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3454  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3455  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3456  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3457  kZoneEraAntarctica_Vostok /*eras*/,
                                                                                                                                      +
                                                                                                                                      3458 };
                                                                                                                                      +
                                                                                                                                      3459 
                                                                                                                                      +
                                                                                                                                      3460 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3461 // Zone name: Asia/Amman
                                                                                                                                      +
                                                                                                                                      3462 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3463 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      3464 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      3465 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      3466 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3467 
                                                                                                                                      +
                                                                                                                                      3468 static const basic::ZoneEra kZoneEraAsia_Amman[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3469  // 2:00 Jordan EE%sT
                                                                                                                                      +
                                                                                                                                      3470  {
                                                                                                                                      +
                                                                                                                                      3471  &kPolicyJordan /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3472  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3473  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3474  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3475  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3476  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3477  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3478  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3479  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3480  },
                                                                                                                                      +
                                                                                                                                      3481 
                                                                                                                                      +
                                                                                                                                      3482 };
                                                                                                                                      +
                                                                                                                                      3483 
                                                                                                                                      +
                                                                                                                                      3484 static const char kZoneNameAsia_Amman[] ACE_TIME_PROGMEM = "Asia/Amman";
                                                                                                                                      +
                                                                                                                                      3485 
                                                                                                                                      +
                                                                                                                                      3486 const basic::ZoneInfo kZoneAsia_Amman ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3487  kZoneNameAsia_Amman /*name*/,
                                                                                                                                      +
                                                                                                                                      3488  0x148d21bc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3489  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3490  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3491  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3492  kZoneEraAsia_Amman /*eras*/,
                                                                                                                                      +
                                                                                                                                      3493 };
                                                                                                                                      +
                                                                                                                                      3494 
                                                                                                                                      +
                                                                                                                                      3495 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3496 // Zone name: Asia/Ashgabat
                                                                                                                                      +
                                                                                                                                      3497 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3498 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      3499 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      3500 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      3501 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3502 
                                                                                                                                      +
                                                                                                                                      3503 static const basic::ZoneEra kZoneEraAsia_Ashgabat[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3504  // 5:00 - +05
                                                                                                                                      +
                                                                                                                                      3505  {
                                                                                                                                      +
                                                                                                                                      3506  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3507  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      3508  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3509  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3510  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3511  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3512  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3513  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3514  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3515  },
                                                                                                                                      +
                                                                                                                                      3516 
                                                                                                                                      +
                                                                                                                                      3517 };
                                                                                                                                      +
                                                                                                                                      3518 
                                                                                                                                      +
                                                                                                                                      3519 static const char kZoneNameAsia_Ashgabat[] ACE_TIME_PROGMEM = "Asia/Ashgabat";
                                                                                                                                      +
                                                                                                                                      3520 
                                                                                                                                      +
                                                                                                                                      3521 const basic::ZoneInfo kZoneAsia_Ashgabat ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3522  kZoneNameAsia_Ashgabat /*name*/,
                                                                                                                                      +
                                                                                                                                      3523  0xba87598d /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3524  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3525  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3526  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3527  kZoneEraAsia_Ashgabat /*eras*/,
                                                                                                                                      +
                                                                                                                                      3528 };
                                                                                                                                      +
                                                                                                                                      3529 
                                                                                                                                      +
                                                                                                                                      3530 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3531 // Zone name: Asia/Baghdad
                                                                                                                                      +
                                                                                                                                      3532 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3533 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      3534 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      3535 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      3536 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3537 
                                                                                                                                      +
                                                                                                                                      3538 static const basic::ZoneEra kZoneEraAsia_Baghdad[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3539  // 3:00 Iraq +03/+04
                                                                                                                                      +
                                                                                                                                      3540  {
                                                                                                                                      +
                                                                                                                                      3541  &kPolicyIraq /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3542  "+03/+04" /*format*/,
                                                                                                                                      +
                                                                                                                                      3543  12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3544  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3545  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3546  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3547  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3548  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3549  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3550  },
                                                                                                                                      +
                                                                                                                                      3551 
                                                                                                                                      +
                                                                                                                                      3552 };
                                                                                                                                      +
                                                                                                                                      3553 
                                                                                                                                      +
                                                                                                                                      3554 static const char kZoneNameAsia_Baghdad[] ACE_TIME_PROGMEM = "Asia/Baghdad";
                                                                                                                                      +
                                                                                                                                      3555 
                                                                                                                                      +
                                                                                                                                      3556 const basic::ZoneInfo kZoneAsia_Baghdad ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3557  kZoneNameAsia_Baghdad /*name*/,
                                                                                                                                      +
                                                                                                                                      3558  0x9ceffbed /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3559  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3560  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3561  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3562  kZoneEraAsia_Baghdad /*eras*/,
                                                                                                                                      +
                                                                                                                                      3563 };
                                                                                                                                      +
                                                                                                                                      3564 
                                                                                                                                      +
                                                                                                                                      3565 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3566 // Zone name: Asia/Baku
                                                                                                                                      +
                                                                                                                                      3567 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3568 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      3569 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      3570 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      3571 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3572 
                                                                                                                                      +
                                                                                                                                      3573 static const basic::ZoneEra kZoneEraAsia_Baku[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3574  // 4:00 Azer +04/+05
                                                                                                                                      +
                                                                                                                                      3575  {
                                                                                                                                      +
                                                                                                                                      3576  &kPolicyAzer /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3577  "+04/+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      3578  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3579  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3580  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3581  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3582  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3583  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3584  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3585  },
                                                                                                                                      +
                                                                                                                                      3586 
                                                                                                                                      +
                                                                                                                                      3587 };
                                                                                                                                      +
                                                                                                                                      3588 
                                                                                                                                      +
                                                                                                                                      3589 static const char kZoneNameAsia_Baku[] ACE_TIME_PROGMEM = "Asia/Baku";
                                                                                                                                      +
                                                                                                                                      3590 
                                                                                                                                      +
                                                                                                                                      3591 const basic::ZoneInfo kZoneAsia_Baku ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3592  kZoneNameAsia_Baku /*name*/,
                                                                                                                                      +
                                                                                                                                      3593  0x1fa788b5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3594  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3595  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3596  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3597  kZoneEraAsia_Baku /*eras*/,
                                                                                                                                      +
                                                                                                                                      3598 };
                                                                                                                                      +
                                                                                                                                      3599 
                                                                                                                                      +
                                                                                                                                      3600 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3601 // Zone name: Asia/Bangkok
                                                                                                                                      +
                                                                                                                                      3602 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3603 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      3604 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      3605 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      3606 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3607 
                                                                                                                                      +
                                                                                                                                      3608 static const basic::ZoneEra kZoneEraAsia_Bangkok[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3609  // 7:00 - +07
                                                                                                                                      +
                                                                                                                                      3610  {
                                                                                                                                      +
                                                                                                                                      3611  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3612  "+07" /*format*/,
                                                                                                                                      +
                                                                                                                                      3613  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3614  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3615  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3616  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3617  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3618  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3619  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3620  },
                                                                                                                                      +
                                                                                                                                      3621 
                                                                                                                                      +
                                                                                                                                      3622 };
                                                                                                                                      +
                                                                                                                                      3623 
                                                                                                                                      +
                                                                                                                                      3624 static const char kZoneNameAsia_Bangkok[] ACE_TIME_PROGMEM = "Asia/Bangkok";
                                                                                                                                      +
                                                                                                                                      3625 
                                                                                                                                      +
                                                                                                                                      3626 const basic::ZoneInfo kZoneAsia_Bangkok ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3627  kZoneNameAsia_Bangkok /*name*/,
                                                                                                                                      +
                                                                                                                                      3628  0x9d6e3aaf /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3629  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3630  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3631  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3632  kZoneEraAsia_Bangkok /*eras*/,
                                                                                                                                      +
                                                                                                                                      3633 };
                                                                                                                                      +
                                                                                                                                      3634 
                                                                                                                                      +
                                                                                                                                      3635 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3636 // Zone name: Asia/Beirut
                                                                                                                                      +
                                                                                                                                      3637 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3638 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      3639 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      3640 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      3641 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3642 
                                                                                                                                      +
                                                                                                                                      3643 static const basic::ZoneEra kZoneEraAsia_Beirut[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3644  // 2:00 Lebanon EE%sT
                                                                                                                                      +
                                                                                                                                      3645  {
                                                                                                                                      +
                                                                                                                                      3646  &kPolicyLebanon /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3647  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3648  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3649  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3650  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3651  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3652  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3653  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3654  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3655  },
                                                                                                                                      +
                                                                                                                                      3656 
                                                                                                                                      +
                                                                                                                                      3657 };
                                                                                                                                      +
                                                                                                                                      3658 
                                                                                                                                      +
                                                                                                                                      3659 static const char kZoneNameAsia_Beirut[] ACE_TIME_PROGMEM = "Asia/Beirut";
                                                                                                                                      +
                                                                                                                                      3660 
                                                                                                                                      +
                                                                                                                                      3661 const basic::ZoneInfo kZoneAsia_Beirut ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3662  kZoneNameAsia_Beirut /*name*/,
                                                                                                                                      +
                                                                                                                                      3663  0xa7f3d5fd /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3664  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3665  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3666  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3667  kZoneEraAsia_Beirut /*eras*/,
                                                                                                                                      +
                                                                                                                                      3668 };
                                                                                                                                      +
                                                                                                                                      3669 
                                                                                                                                      +
                                                                                                                                      3670 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3671 // Zone name: Asia/Brunei
                                                                                                                                      +
                                                                                                                                      3672 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3673 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      3674 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      3675 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      3676 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3677 
                                                                                                                                      +
                                                                                                                                      3678 static const basic::ZoneEra kZoneEraAsia_Brunei[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3679  // 8:00 - +08
                                                                                                                                      +
                                                                                                                                      3680  {
                                                                                                                                      +
                                                                                                                                      3681  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3682  "+08" /*format*/,
                                                                                                                                      +
                                                                                                                                      3683  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3684  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3685  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3686  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3687  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3688  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3689  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3690  },
                                                                                                                                      +
                                                                                                                                      3691 
                                                                                                                                      +
                                                                                                                                      3692 };
                                                                                                                                      +
                                                                                                                                      3693 
                                                                                                                                      +
                                                                                                                                      3694 static const char kZoneNameAsia_Brunei[] ACE_TIME_PROGMEM = "Asia/Brunei";
                                                                                                                                      +
                                                                                                                                      3695 
                                                                                                                                      +
                                                                                                                                      3696 const basic::ZoneInfo kZoneAsia_Brunei ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3697  kZoneNameAsia_Brunei /*name*/,
                                                                                                                                      +
                                                                                                                                      3698  0xa8e595f7 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3699  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3700  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3701  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3702  kZoneEraAsia_Brunei /*eras*/,
                                                                                                                                      +
                                                                                                                                      3703 };
                                                                                                                                      +
                                                                                                                                      3704 
                                                                                                                                      +
                                                                                                                                      3705 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3706 // Zone name: Asia/Damascus
                                                                                                                                      +
                                                                                                                                      3707 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3708 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      3709 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      3710 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      3711 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3712 
                                                                                                                                      +
                                                                                                                                      3713 static const basic::ZoneEra kZoneEraAsia_Damascus[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3714  // 2:00 Syria EE%sT
                                                                                                                                      +
                                                                                                                                      3715  {
                                                                                                                                      +
                                                                                                                                      3716  &kPolicySyria /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3717  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3718  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3719  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3720  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3721  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3722  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3723  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3724  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3725  },
                                                                                                                                      +
                                                                                                                                      3726 
                                                                                                                                      +
                                                                                                                                      3727 };
                                                                                                                                      +
                                                                                                                                      3728 
                                                                                                                                      +
                                                                                                                                      3729 static const char kZoneNameAsia_Damascus[] ACE_TIME_PROGMEM = "Asia/Damascus";
                                                                                                                                      +
                                                                                                                                      3730 
                                                                                                                                      +
                                                                                                                                      3731 const basic::ZoneInfo kZoneAsia_Damascus ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3732  kZoneNameAsia_Damascus /*name*/,
                                                                                                                                      +
                                                                                                                                      3733  0x20fbb063 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3734  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3735  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3736  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3737  kZoneEraAsia_Damascus /*eras*/,
                                                                                                                                      +
                                                                                                                                      3738 };
                                                                                                                                      +
                                                                                                                                      3739 
                                                                                                                                      +
                                                                                                                                      3740 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3741 // Zone name: Asia/Dhaka
                                                                                                                                      +
                                                                                                                                      3742 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      3743 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      3744 // Memory (8-bit): 57
                                                                                                                                      +
                                                                                                                                      3745 // Memory (32-bit): 75
                                                                                                                                      +
                                                                                                                                      3746 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3747 
                                                                                                                                      +
                                                                                                                                      3748 static const basic::ZoneEra kZoneEraAsia_Dhaka[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3749  // 6:00 - +06 2009
                                                                                                                                      +
                                                                                                                                      3750  {
                                                                                                                                      +
                                                                                                                                      3751  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3752  "+06" /*format*/,
                                                                                                                                      +
                                                                                                                                      3753  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3754  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3755  9 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3756  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3757  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3758  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3759  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3760  },
                                                                                                                                      +
                                                                                                                                      3761  // 6:00 Dhaka +06/+07
                                                                                                                                      +
                                                                                                                                      3762  {
                                                                                                                                      +
                                                                                                                                      3763  &kPolicyDhaka /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3764  "+06/+07" /*format*/,
                                                                                                                                      +
                                                                                                                                      3765  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3766  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3767  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3768  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3769  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3770  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3771  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3772  },
                                                                                                                                      +
                                                                                                                                      3773 
                                                                                                                                      +
                                                                                                                                      3774 };
                                                                                                                                      +
                                                                                                                                      3775 
                                                                                                                                      +
                                                                                                                                      3776 static const char kZoneNameAsia_Dhaka[] ACE_TIME_PROGMEM = "Asia/Dhaka";
                                                                                                                                      +
                                                                                                                                      3777 
                                                                                                                                      +
                                                                                                                                      3778 const basic::ZoneInfo kZoneAsia_Dhaka ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3779  kZoneNameAsia_Dhaka /*name*/,
                                                                                                                                      +
                                                                                                                                      3780  0x14c07b8b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3781  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3782  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3783  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3784  kZoneEraAsia_Dhaka /*eras*/,
                                                                                                                                      +
                                                                                                                                      3785 };
                                                                                                                                      +
                                                                                                                                      3786 
                                                                                                                                      +
                                                                                                                                      3787 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3788 // Zone name: Asia/Dubai
                                                                                                                                      +
                                                                                                                                      3789 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3790 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      3791 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      3792 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      3793 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3794 
                                                                                                                                      +
                                                                                                                                      3795 static const basic::ZoneEra kZoneEraAsia_Dubai[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3796  // 4:00 - +04
                                                                                                                                      +
                                                                                                                                      3797  {
                                                                                                                                      +
                                                                                                                                      3798  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3799  "+04" /*format*/,
                                                                                                                                      +
                                                                                                                                      3800  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3801  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3802  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3803  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3804  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3805  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3806  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3807  },
                                                                                                                                      +
                                                                                                                                      3808 
                                                                                                                                      +
                                                                                                                                      3809 };
                                                                                                                                      +
                                                                                                                                      3810 
                                                                                                                                      +
                                                                                                                                      3811 static const char kZoneNameAsia_Dubai[] ACE_TIME_PROGMEM = "Asia/Dubai";
                                                                                                                                      +
                                                                                                                                      3812 
                                                                                                                                      +
                                                                                                                                      3813 const basic::ZoneInfo kZoneAsia_Dubai ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3814  kZoneNameAsia_Dubai /*name*/,
                                                                                                                                      +
                                                                                                                                      3815  0x14c79f77 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3816  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3817  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3818  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3819  kZoneEraAsia_Dubai /*eras*/,
                                                                                                                                      +
                                                                                                                                      3820 };
                                                                                                                                      +
                                                                                                                                      3821 
                                                                                                                                      +
                                                                                                                                      3822 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3823 // Zone name: Asia/Dushanbe
                                                                                                                                      +
                                                                                                                                      3824 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3825 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      3826 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      3827 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      3828 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3829 
                                                                                                                                      +
                                                                                                                                      3830 static const basic::ZoneEra kZoneEraAsia_Dushanbe[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3831  // 5:00 - +05
                                                                                                                                      +
                                                                                                                                      3832  {
                                                                                                                                      +
                                                                                                                                      3833  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3834  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      3835  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3836  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3837  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3838  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3839  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3840  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3841  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3842  },
                                                                                                                                      +
                                                                                                                                      3843 
                                                                                                                                      +
                                                                                                                                      3844 };
                                                                                                                                      +
                                                                                                                                      3845 
                                                                                                                                      +
                                                                                                                                      3846 static const char kZoneNameAsia_Dushanbe[] ACE_TIME_PROGMEM = "Asia/Dushanbe";
                                                                                                                                      +
                                                                                                                                      3847 
                                                                                                                                      +
                                                                                                                                      3848 const basic::ZoneInfo kZoneAsia_Dushanbe ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3849  kZoneNameAsia_Dushanbe /*name*/,
                                                                                                                                      +
                                                                                                                                      3850  0x32fc5c3c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3851  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3852  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3853  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3854  kZoneEraAsia_Dushanbe /*eras*/,
                                                                                                                                      +
                                                                                                                                      3855 };
                                                                                                                                      +
                                                                                                                                      3856 
                                                                                                                                      +
                                                                                                                                      3857 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3858 // Zone name: Asia/Ho_Chi_Minh
                                                                                                                                      +
                                                                                                                                      3859 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3860 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      3861 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      3862 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      3863 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3864 
                                                                                                                                      +
                                                                                                                                      3865 static const basic::ZoneEra kZoneEraAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3866  // 7:00 - +07
                                                                                                                                      +
                                                                                                                                      3867  {
                                                                                                                                      +
                                                                                                                                      3868  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3869  "+07" /*format*/,
                                                                                                                                      +
                                                                                                                                      3870  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3871  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3872  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3873  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3874  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3875  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3876  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3877  },
                                                                                                                                      +
                                                                                                                                      3878 
                                                                                                                                      +
                                                                                                                                      3879 };
                                                                                                                                      +
                                                                                                                                      3880 
                                                                                                                                      +
                                                                                                                                      3881 static const char kZoneNameAsia_Ho_Chi_Minh[] ACE_TIME_PROGMEM = "Asia/Ho_Chi_Minh";
                                                                                                                                      +
                                                                                                                                      3882 
                                                                                                                                      +
                                                                                                                                      3883 const basic::ZoneInfo kZoneAsia_Ho_Chi_Minh ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3884  kZoneNameAsia_Ho_Chi_Minh /*name*/,
                                                                                                                                      +
                                                                                                                                      3885  0x20f2d127 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3886  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3887  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3888  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3889  kZoneEraAsia_Ho_Chi_Minh /*eras*/,
                                                                                                                                      +
                                                                                                                                      3890 };
                                                                                                                                      +
                                                                                                                                      3891 
                                                                                                                                      +
                                                                                                                                      3892 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3893 // Zone name: Asia/Hong_Kong
                                                                                                                                      +
                                                                                                                                      3894 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3895 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      3896 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      3897 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      3898 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3899 
                                                                                                                                      +
                                                                                                                                      3900 static const basic::ZoneEra kZoneEraAsia_Hong_Kong[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3901  // 8:00 HK HK%sT
                                                                                                                                      +
                                                                                                                                      3902  {
                                                                                                                                      +
                                                                                                                                      3903  &kPolicyHK /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3904  "HK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      3905  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3906  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3907  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3908  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3909  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3910  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3911  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3912  },
                                                                                                                                      +
                                                                                                                                      3913 
                                                                                                                                      +
                                                                                                                                      3914 };
                                                                                                                                      +
                                                                                                                                      3915 
                                                                                                                                      +
                                                                                                                                      3916 static const char kZoneNameAsia_Hong_Kong[] ACE_TIME_PROGMEM = "Asia/Hong_Kong";
                                                                                                                                      +
                                                                                                                                      3917 
                                                                                                                                      +
                                                                                                                                      3918 const basic::ZoneInfo kZoneAsia_Hong_Kong ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3919  kZoneNameAsia_Hong_Kong /*name*/,
                                                                                                                                      +
                                                                                                                                      3920  0x577f28ac /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3921  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3922  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3923  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3924  kZoneEraAsia_Hong_Kong /*eras*/,
                                                                                                                                      +
                                                                                                                                      3925 };
                                                                                                                                      +
                                                                                                                                      3926 
                                                                                                                                      +
                                                                                                                                      3927 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3928 // Zone name: Asia/Hovd
                                                                                                                                      +
                                                                                                                                      3929 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3930 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      3931 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      3932 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      3933 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3934 
                                                                                                                                      +
                                                                                                                                      3935 static const basic::ZoneEra kZoneEraAsia_Hovd[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3936  // 7:00 Mongol +07/+08
                                                                                                                                      +
                                                                                                                                      3937  {
                                                                                                                                      +
                                                                                                                                      3938  &kPolicyMongol /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3939  "+07/+08" /*format*/,
                                                                                                                                      +
                                                                                                                                      3940  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3941  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3942  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3943  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3944  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3945  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3946  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3947  },
                                                                                                                                      +
                                                                                                                                      3948 
                                                                                                                                      +
                                                                                                                                      3949 };
                                                                                                                                      +
                                                                                                                                      3950 
                                                                                                                                      +
                                                                                                                                      3951 static const char kZoneNameAsia_Hovd[] ACE_TIME_PROGMEM = "Asia/Hovd";
                                                                                                                                      +
                                                                                                                                      3952 
                                                                                                                                      +
                                                                                                                                      3953 const basic::ZoneInfo kZoneAsia_Hovd ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3954  kZoneNameAsia_Hovd /*name*/,
                                                                                                                                      +
                                                                                                                                      3955  0x1fab0fe3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3956  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3957  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3958  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3959  kZoneEraAsia_Hovd /*eras*/,
                                                                                                                                      +
                                                                                                                                      3960 };
                                                                                                                                      +
                                                                                                                                      3961 
                                                                                                                                      +
                                                                                                                                      3962 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3963 // Zone name: Asia/Jakarta
                                                                                                                                      +
                                                                                                                                      3964 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      3965 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      3966 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      3967 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      3968 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3969 
                                                                                                                                      +
                                                                                                                                      3970 static const basic::ZoneEra kZoneEraAsia_Jakarta[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3971  // 7:00 - WIB
                                                                                                                                      +
                                                                                                                                      3972  {
                                                                                                                                      +
                                                                                                                                      3973  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      3974  "WIB" /*format*/,
                                                                                                                                      +
                                                                                                                                      3975  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      3976  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3977  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3978  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      3979  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      3980  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3981  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3982  },
                                                                                                                                      +
                                                                                                                                      3983 
                                                                                                                                      +
                                                                                                                                      3984 };
                                                                                                                                      +
                                                                                                                                      3985 
                                                                                                                                      +
                                                                                                                                      3986 static const char kZoneNameAsia_Jakarta[] ACE_TIME_PROGMEM = "Asia/Jakarta";
                                                                                                                                      +
                                                                                                                                      3987 
                                                                                                                                      +
                                                                                                                                      3988 const basic::ZoneInfo kZoneAsia_Jakarta ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3989  kZoneNameAsia_Jakarta /*name*/,
                                                                                                                                      +
                                                                                                                                      3990  0x0506ab50 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      3991  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      3992  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      3993  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      3994  kZoneEraAsia_Jakarta /*eras*/,
                                                                                                                                      +
                                                                                                                                      3995 };
                                                                                                                                      +
                                                                                                                                      3996 
                                                                                                                                      +
                                                                                                                                      3997 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3998 // Zone name: Asia/Jayapura
                                                                                                                                      +
                                                                                                                                      3999 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4000 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      4001 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      4002 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      4003 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4004 
                                                                                                                                      +
                                                                                                                                      4005 static const basic::ZoneEra kZoneEraAsia_Jayapura[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4006  // 9:00 - WIT
                                                                                                                                      +
                                                                                                                                      4007  {
                                                                                                                                      +
                                                                                                                                      4008  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4009  "WIT" /*format*/,
                                                                                                                                      +
                                                                                                                                      4010  36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4011  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4012  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4013  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4014  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4015  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4016  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4017  },
                                                                                                                                      +
                                                                                                                                      4018 
                                                                                                                                      +
                                                                                                                                      4019 };
                                                                                                                                      +
                                                                                                                                      4020 
                                                                                                                                      +
                                                                                                                                      4021 static const char kZoneNameAsia_Jayapura[] ACE_TIME_PROGMEM = "Asia/Jayapura";
                                                                                                                                      +
                                                                                                                                      4022 
                                                                                                                                      +
                                                                                                                                      4023 const basic::ZoneInfo kZoneAsia_Jayapura ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4024  kZoneNameAsia_Jayapura /*name*/,
                                                                                                                                      +
                                                                                                                                      4025  0xc6833c2f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4026  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4027  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4028  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4029  kZoneEraAsia_Jayapura /*eras*/,
                                                                                                                                      +
                                                                                                                                      4030 };
                                                                                                                                      +
                                                                                                                                      4031 
                                                                                                                                      +
                                                                                                                                      4032 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4033 // Zone name: Asia/Jerusalem
                                                                                                                                      +
                                                                                                                                      4034 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4035 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      4036 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      4037 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      4038 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4039 
                                                                                                                                      +
                                                                                                                                      4040 static const basic::ZoneEra kZoneEraAsia_Jerusalem[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4041  // 2:00 Zion I%sT
                                                                                                                                      +
                                                                                                                                      4042  {
                                                                                                                                      +
                                                                                                                                      4043  &kPolicyZion /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4044  "I%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4045  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4046  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4047  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4048  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4049  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4050  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4051  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4052  },
                                                                                                                                      +
                                                                                                                                      4053 
                                                                                                                                      +
                                                                                                                                      4054 };
                                                                                                                                      +
                                                                                                                                      4055 
                                                                                                                                      +
                                                                                                                                      4056 static const char kZoneNameAsia_Jerusalem[] ACE_TIME_PROGMEM = "Asia/Jerusalem";
                                                                                                                                      +
                                                                                                                                      4057 
                                                                                                                                      +
                                                                                                                                      4058 const basic::ZoneInfo kZoneAsia_Jerusalem ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4059  kZoneNameAsia_Jerusalem /*name*/,
                                                                                                                                      +
                                                                                                                                      4060  0x5becd23a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4061  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4062  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4063  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4064  kZoneEraAsia_Jerusalem /*eras*/,
                                                                                                                                      +
                                                                                                                                      4065 };
                                                                                                                                      +
                                                                                                                                      4066 
                                                                                                                                      +
                                                                                                                                      4067 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4068 // Zone name: Asia/Kabul
                                                                                                                                      +
                                                                                                                                      4069 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4070 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      4071 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      4072 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      4073 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4074 
                                                                                                                                      +
                                                                                                                                      4075 static const basic::ZoneEra kZoneEraAsia_Kabul[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4076  // 4:30 - +0430
                                                                                                                                      +
                                                                                                                                      4077  {
                                                                                                                                      +
                                                                                                                                      4078  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4079  "+0430" /*format*/,
                                                                                                                                      +
                                                                                                                                      4080  18 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4081  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4082  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4083  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4084  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4085  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4086  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4087  },
                                                                                                                                      +
                                                                                                                                      4088 
                                                                                                                                      +
                                                                                                                                      4089 };
                                                                                                                                      +
                                                                                                                                      4090 
                                                                                                                                      +
                                                                                                                                      4091 static const char kZoneNameAsia_Kabul[] ACE_TIME_PROGMEM = "Asia/Kabul";
                                                                                                                                      +
                                                                                                                                      4092 
                                                                                                                                      +
                                                                                                                                      4093 const basic::ZoneInfo kZoneAsia_Kabul ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4094  kZoneNameAsia_Kabul /*name*/,
                                                                                                                                      +
                                                                                                                                      4095  0x153b5601 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4096  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4097  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4098  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4099  kZoneEraAsia_Kabul /*eras*/,
                                                                                                                                      +
                                                                                                                                      4100 };
                                                                                                                                      +
                                                                                                                                      4101 
                                                                                                                                      +
                                                                                                                                      4102 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4103 // Zone name: Asia/Karachi
                                                                                                                                      +
                                                                                                                                      4104 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4105 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      4106 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      4107 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      4108 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4109 
                                                                                                                                      +
                                                                                                                                      4110 static const basic::ZoneEra kZoneEraAsia_Karachi[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4111  // 5:00 Pakistan PK%sT
                                                                                                                                      +
                                                                                                                                      4112  {
                                                                                                                                      +
                                                                                                                                      4113  &kPolicyPakistan /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4114  "PK%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4115  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4116  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4117  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4118  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4119  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4120  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4121  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4122  },
                                                                                                                                      +
                                                                                                                                      4123 
                                                                                                                                      +
                                                                                                                                      4124 };
                                                                                                                                      +
                                                                                                                                      4125 
                                                                                                                                      +
                                                                                                                                      4126 static const char kZoneNameAsia_Karachi[] ACE_TIME_PROGMEM = "Asia/Karachi";
                                                                                                                                      +
                                                                                                                                      4127 
                                                                                                                                      +
                                                                                                                                      4128 const basic::ZoneInfo kZoneAsia_Karachi ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4129  kZoneNameAsia_Karachi /*name*/,
                                                                                                                                      +
                                                                                                                                      4130  0x527f5245 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4131  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4132  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4133  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4134  kZoneEraAsia_Karachi /*eras*/,
                                                                                                                                      +
                                                                                                                                      4135 };
                                                                                                                                      +
                                                                                                                                      4136 
                                                                                                                                      +
                                                                                                                                      4137 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4138 // Zone name: Asia/Kathmandu
                                                                                                                                      +
                                                                                                                                      4139 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4140 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      4141 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      4142 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      4143 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4144 
                                                                                                                                      +
                                                                                                                                      4145 static const basic::ZoneEra kZoneEraAsia_Kathmandu[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4146  // 5:45 - +0545
                                                                                                                                      +
                                                                                                                                      4147  {
                                                                                                                                      +
                                                                                                                                      4148  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4149  "+0545" /*format*/,
                                                                                                                                      +
                                                                                                                                      4150  23 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4151  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4152  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4153  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4154  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4155  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4156  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4157  },
                                                                                                                                      +
                                                                                                                                      4158 
                                                                                                                                      +
                                                                                                                                      4159 };
                                                                                                                                      +
                                                                                                                                      4160 
                                                                                                                                      +
                                                                                                                                      4161 static const char kZoneNameAsia_Kathmandu[] ACE_TIME_PROGMEM = "Asia/Kathmandu";
                                                                                                                                      +
                                                                                                                                      4162 
                                                                                                                                      +
                                                                                                                                      4163 const basic::ZoneInfo kZoneAsia_Kathmandu ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4164  kZoneNameAsia_Kathmandu /*name*/,
                                                                                                                                      +
                                                                                                                                      4165  0x9a96ce6f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4166  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4167  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4168  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4169  kZoneEraAsia_Kathmandu /*eras*/,
                                                                                                                                      +
                                                                                                                                      4170 };
                                                                                                                                      +
                                                                                                                                      4171 
                                                                                                                                      +
                                                                                                                                      4172 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4173 // Zone name: Asia/Kolkata
                                                                                                                                      +
                                                                                                                                      4174 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4175 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      4176 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      4177 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      4178 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4179 
                                                                                                                                      +
                                                                                                                                      4180 static const basic::ZoneEra kZoneEraAsia_Kolkata[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4181  // 5:30 - IST
                                                                                                                                      +
                                                                                                                                      4182  {
                                                                                                                                      +
                                                                                                                                      4183  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4184  "IST" /*format*/,
                                                                                                                                      +
                                                                                                                                      4185  22 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4186  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4187  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4188  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4189  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4190  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4191  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4192  },
                                                                                                                                      +
                                                                                                                                      4193 
                                                                                                                                      +
                                                                                                                                      4194 };
                                                                                                                                      +
                                                                                                                                      4195 
                                                                                                                                      +
                                                                                                                                      4196 static const char kZoneNameAsia_Kolkata[] ACE_TIME_PROGMEM = "Asia/Kolkata";
                                                                                                                                      +
                                                                                                                                      4197 
                                                                                                                                      +
                                                                                                                                      4198 const basic::ZoneInfo kZoneAsia_Kolkata ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4199  kZoneNameAsia_Kolkata /*name*/,
                                                                                                                                      +
                                                                                                                                      4200  0x72c06cd9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4201  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4202  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4203  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4204  kZoneEraAsia_Kolkata /*eras*/,
                                                                                                                                      +
                                                                                                                                      4205 };
                                                                                                                                      +
                                                                                                                                      4206 
                                                                                                                                      +
                                                                                                                                      4207 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4208 // Zone name: Asia/Kuala_Lumpur
                                                                                                                                      +
                                                                                                                                      4209 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4210 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      4211 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      4212 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      4213 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4214 
                                                                                                                                      +
                                                                                                                                      4215 static const basic::ZoneEra kZoneEraAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4216  // 8:00 - +08
                                                                                                                                      +
                                                                                                                                      4217  {
                                                                                                                                      +
                                                                                                                                      4218  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4219  "+08" /*format*/,
                                                                                                                                      +
                                                                                                                                      4220  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4221  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4222  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4223  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4224  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4225  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4226  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4227  },
                                                                                                                                      +
                                                                                                                                      4228 
                                                                                                                                      +
                                                                                                                                      4229 };
                                                                                                                                      +
                                                                                                                                      4230 
                                                                                                                                      +
                                                                                                                                      4231 static const char kZoneNameAsia_Kuala_Lumpur[] ACE_TIME_PROGMEM = "Asia/Kuala_Lumpur";
                                                                                                                                      +
                                                                                                                                      4232 
                                                                                                                                      +
                                                                                                                                      4233 const basic::ZoneInfo kZoneAsia_Kuala_Lumpur ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4234  kZoneNameAsia_Kuala_Lumpur /*name*/,
                                                                                                                                      +
                                                                                                                                      4235  0x014763c4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4236  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4237  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4238  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4239  kZoneEraAsia_Kuala_Lumpur /*eras*/,
                                                                                                                                      +
                                                                                                                                      4240 };
                                                                                                                                      +
                                                                                                                                      4241 
                                                                                                                                      +
                                                                                                                                      4242 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4243 // Zone name: Asia/Kuching
                                                                                                                                      +
                                                                                                                                      4244 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4245 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      4246 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      4247 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      4248 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4249 
                                                                                                                                      +
                                                                                                                                      4250 static const basic::ZoneEra kZoneEraAsia_Kuching[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4251  // 8:00 - +08
                                                                                                                                      +
                                                                                                                                      4252  {
                                                                                                                                      +
                                                                                                                                      4253  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4254  "+08" /*format*/,
                                                                                                                                      +
                                                                                                                                      4255  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4256  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4257  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4258  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4259  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4260  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4261  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4262  },
                                                                                                                                      +
                                                                                                                                      4263 
                                                                                                                                      +
                                                                                                                                      4264 };
                                                                                                                                      +
                                                                                                                                      4265 
                                                                                                                                      +
                                                                                                                                      4266 static const char kZoneNameAsia_Kuching[] ACE_TIME_PROGMEM = "Asia/Kuching";
                                                                                                                                      +
                                                                                                                                      4267 
                                                                                                                                      +
                                                                                                                                      4268 const basic::ZoneInfo kZoneAsia_Kuching ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4269  kZoneNameAsia_Kuching /*name*/,
                                                                                                                                      +
                                                                                                                                      4270  0x801b003b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4271  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4272  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4273  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4274  kZoneEraAsia_Kuching /*eras*/,
                                                                                                                                      +
                                                                                                                                      4275 };
                                                                                                                                      +
                                                                                                                                      4276 
                                                                                                                                      +
                                                                                                                                      4277 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4278 // Zone name: Asia/Macau
                                                                                                                                      +
                                                                                                                                      4279 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4280 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      4281 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      4282 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      4283 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4284 
                                                                                                                                      +
                                                                                                                                      4285 static const basic::ZoneEra kZoneEraAsia_Macau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4286  // 8:00 Macau C%sT
                                                                                                                                      +
                                                                                                                                      4287  {
                                                                                                                                      +
                                                                                                                                      4288  &kPolicyMacau /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4289  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4290  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4291  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4292  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4293  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4294  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4295  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4296  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4297  },
                                                                                                                                      +
                                                                                                                                      4298 
                                                                                                                                      +
                                                                                                                                      4299 };
                                                                                                                                      +
                                                                                                                                      4300 
                                                                                                                                      +
                                                                                                                                      4301 static const char kZoneNameAsia_Macau[] ACE_TIME_PROGMEM = "Asia/Macau";
                                                                                                                                      +
                                                                                                                                      4302 
                                                                                                                                      +
                                                                                                                                      4303 const basic::ZoneInfo kZoneAsia_Macau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4304  kZoneNameAsia_Macau /*name*/,
                                                                                                                                      +
                                                                                                                                      4305  0x155f88b9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4306  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4307  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4308  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4309  kZoneEraAsia_Macau /*eras*/,
                                                                                                                                      +
                                                                                                                                      4310 };
                                                                                                                                      +
                                                                                                                                      4311 
                                                                                                                                      +
                                                                                                                                      4312 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4313 // Zone name: Asia/Makassar
                                                                                                                                      +
                                                                                                                                      4314 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4315 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      4316 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      4317 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      4318 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4319 
                                                                                                                                      +
                                                                                                                                      4320 static const basic::ZoneEra kZoneEraAsia_Makassar[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4321  // 8:00 - WITA
                                                                                                                                      +
                                                                                                                                      4322  {
                                                                                                                                      +
                                                                                                                                      4323  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4324  "WITA" /*format*/,
                                                                                                                                      +
                                                                                                                                      4325  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4326  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4327  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4328  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4329  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4330  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4331  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4332  },
                                                                                                                                      +
                                                                                                                                      4333 
                                                                                                                                      +
                                                                                                                                      4334 };
                                                                                                                                      +
                                                                                                                                      4335 
                                                                                                                                      +
                                                                                                                                      4336 static const char kZoneNameAsia_Makassar[] ACE_TIME_PROGMEM = "Asia/Makassar";
                                                                                                                                      +
                                                                                                                                      4337 
                                                                                                                                      +
                                                                                                                                      4338 const basic::ZoneInfo kZoneAsia_Makassar ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4339  kZoneNameAsia_Makassar /*name*/,
                                                                                                                                      +
                                                                                                                                      4340  0x6aa21c85 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4341  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4342  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4343  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4344  kZoneEraAsia_Makassar /*eras*/,
                                                                                                                                      +
                                                                                                                                      4345 };
                                                                                                                                      +
                                                                                                                                      4346 
                                                                                                                                      +
                                                                                                                                      4347 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4348 // Zone name: Asia/Manila
                                                                                                                                      +
                                                                                                                                      4349 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4350 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      4351 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      4352 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      4353 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4354 
                                                                                                                                      +
                                                                                                                                      4355 static const basic::ZoneEra kZoneEraAsia_Manila[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4356  // 8:00 Phil P%sT
                                                                                                                                      +
                                                                                                                                      4357  {
                                                                                                                                      +
                                                                                                                                      4358  &kPolicyPhil /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4359  "P%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4360  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4361  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4362  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4363  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4364  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4365  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4366  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4367  },
                                                                                                                                      +
                                                                                                                                      4368 
                                                                                                                                      +
                                                                                                                                      4369 };
                                                                                                                                      +
                                                                                                                                      4370 
                                                                                                                                      +
                                                                                                                                      4371 static const char kZoneNameAsia_Manila[] ACE_TIME_PROGMEM = "Asia/Manila";
                                                                                                                                      +
                                                                                                                                      4372 
                                                                                                                                      +
                                                                                                                                      4373 const basic::ZoneInfo kZoneAsia_Manila ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4374  kZoneNameAsia_Manila /*name*/,
                                                                                                                                      +
                                                                                                                                      4375  0xc156c944 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4376  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4377  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4378  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4379  kZoneEraAsia_Manila /*eras*/,
                                                                                                                                      +
                                                                                                                                      4380 };
                                                                                                                                      +
                                                                                                                                      4381 
                                                                                                                                      +
                                                                                                                                      4382 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4383 // Zone name: Asia/Nicosia
                                                                                                                                      +
                                                                                                                                      4384 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4385 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      4386 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      4387 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      4388 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4389 
                                                                                                                                      +
                                                                                                                                      4390 static const basic::ZoneEra kZoneEraAsia_Nicosia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4391  // 2:00 EUAsia EE%sT
                                                                                                                                      +
                                                                                                                                      4392  {
                                                                                                                                      +
                                                                                                                                      4393  &kPolicyEUAsia /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4394  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4395  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4396  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4397  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4398  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4399  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4400  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4401  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4402  },
                                                                                                                                      +
                                                                                                                                      4403 
                                                                                                                                      +
                                                                                                                                      4404 };
                                                                                                                                      +
                                                                                                                                      4405 
                                                                                                                                      +
                                                                                                                                      4406 static const char kZoneNameAsia_Nicosia[] ACE_TIME_PROGMEM = "Asia/Nicosia";
                                                                                                                                      +
                                                                                                                                      4407 
                                                                                                                                      +
                                                                                                                                      4408 const basic::ZoneInfo kZoneAsia_Nicosia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4409  kZoneNameAsia_Nicosia /*name*/,
                                                                                                                                      +
                                                                                                                                      4410  0x4b0fcf78 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4411  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4412  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4413  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4414  kZoneEraAsia_Nicosia /*eras*/,
                                                                                                                                      +
                                                                                                                                      4415 };
                                                                                                                                      +
                                                                                                                                      4416 
                                                                                                                                      +
                                                                                                                                      4417 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4418 // Zone name: Asia/Pontianak
                                                                                                                                      +
                                                                                                                                      4419 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4420 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      4421 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      4422 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      4423 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4424 
                                                                                                                                      +
                                                                                                                                      4425 static const basic::ZoneEra kZoneEraAsia_Pontianak[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4426  // 7:00 - WIB
                                                                                                                                      +
                                                                                                                                      4427  {
                                                                                                                                      +
                                                                                                                                      4428  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4429  "WIB" /*format*/,
                                                                                                                                      +
                                                                                                                                      4430  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4431  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4432  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4433  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4434  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4435  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4436  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4437  },
                                                                                                                                      +
                                                                                                                                      4438 
                                                                                                                                      +
                                                                                                                                      4439 };
                                                                                                                                      +
                                                                                                                                      4440 
                                                                                                                                      +
                                                                                                                                      4441 static const char kZoneNameAsia_Pontianak[] ACE_TIME_PROGMEM = "Asia/Pontianak";
                                                                                                                                      +
                                                                                                                                      4442 
                                                                                                                                      +
                                                                                                                                      4443 const basic::ZoneInfo kZoneAsia_Pontianak ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4444  kZoneNameAsia_Pontianak /*name*/,
                                                                                                                                      +
                                                                                                                                      4445  0x1a76c057 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4446  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4447  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4448  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4449  kZoneEraAsia_Pontianak /*eras*/,
                                                                                                                                      +
                                                                                                                                      4450 };
                                                                                                                                      +
                                                                                                                                      4451 
                                                                                                                                      +
                                                                                                                                      4452 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4453 // Zone name: Asia/Qatar
                                                                                                                                      +
                                                                                                                                      4454 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4455 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      4456 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      4457 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      4458 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4459 
                                                                                                                                      +
                                                                                                                                      4460 static const basic::ZoneEra kZoneEraAsia_Qatar[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4461  // 3:00 - +03
                                                                                                                                      +
                                                                                                                                      4462  {
                                                                                                                                      +
                                                                                                                                      4463  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4464  "+03" /*format*/,
                                                                                                                                      +
                                                                                                                                      4465  12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4466  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4467  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4468  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4469  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4470  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4471  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4472  },
                                                                                                                                      +
                                                                                                                                      4473 
                                                                                                                                      +
                                                                                                                                      4474 };
                                                                                                                                      +
                                                                                                                                      4475 
                                                                                                                                      +
                                                                                                                                      4476 static const char kZoneNameAsia_Qatar[] ACE_TIME_PROGMEM = "Asia/Qatar";
                                                                                                                                      +
                                                                                                                                      4477 
                                                                                                                                      +
                                                                                                                                      4478 const basic::ZoneInfo kZoneAsia_Qatar ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4479  kZoneNameAsia_Qatar /*name*/,
                                                                                                                                      +
                                                                                                                                      4480  0x15a8330b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4481  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4482  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4483  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4484  kZoneEraAsia_Qatar /*eras*/,
                                                                                                                                      +
                                                                                                                                      4485 };
                                                                                                                                      +
                                                                                                                                      4486 
                                                                                                                                      +
                                                                                                                                      4487 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4488 // Zone name: Asia/Riyadh
                                                                                                                                      +
                                                                                                                                      4489 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4490 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      4491 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      4492 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      4493 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4494 
                                                                                                                                      +
                                                                                                                                      4495 static const basic::ZoneEra kZoneEraAsia_Riyadh[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4496  // 3:00 - +03
                                                                                                                                      +
                                                                                                                                      4497  {
                                                                                                                                      +
                                                                                                                                      4498  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4499  "+03" /*format*/,
                                                                                                                                      +
                                                                                                                                      4500  12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4501  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4502  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4503  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4504  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4505  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4506  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4507  },
                                                                                                                                      +
                                                                                                                                      4508 
                                                                                                                                      +
                                                                                                                                      4509 };
                                                                                                                                      +
                                                                                                                                      4510 
                                                                                                                                      +
                                                                                                                                      4511 static const char kZoneNameAsia_Riyadh[] ACE_TIME_PROGMEM = "Asia/Riyadh";
                                                                                                                                      +
                                                                                                                                      4512 
                                                                                                                                      +
                                                                                                                                      4513 const basic::ZoneInfo kZoneAsia_Riyadh ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4514  kZoneNameAsia_Riyadh /*name*/,
                                                                                                                                      +
                                                                                                                                      4515  0xcd973d93 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4516  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4517  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4518  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4519  kZoneEraAsia_Riyadh /*eras*/,
                                                                                                                                      +
                                                                                                                                      4520 };
                                                                                                                                      +
                                                                                                                                      4521 
                                                                                                                                      +
                                                                                                                                      4522 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4523 // Zone name: Asia/Samarkand
                                                                                                                                      +
                                                                                                                                      4524 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4525 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      4526 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      4527 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      4528 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4529 
                                                                                                                                      +
                                                                                                                                      4530 static const basic::ZoneEra kZoneEraAsia_Samarkand[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4531  // 5:00 - +05
                                                                                                                                      +
                                                                                                                                      4532  {
                                                                                                                                      +
                                                                                                                                      4533  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4534  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      4535  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4536  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4537  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4538  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4539  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4540  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4541  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4542  },
                                                                                                                                      +
                                                                                                                                      4543 
                                                                                                                                      +
                                                                                                                                      4544 };
                                                                                                                                      +
                                                                                                                                      4545 
                                                                                                                                      +
                                                                                                                                      4546 static const char kZoneNameAsia_Samarkand[] ACE_TIME_PROGMEM = "Asia/Samarkand";
                                                                                                                                      +
                                                                                                                                      4547 
                                                                                                                                      +
                                                                                                                                      4548 const basic::ZoneInfo kZoneAsia_Samarkand ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4549  kZoneNameAsia_Samarkand /*name*/,
                                                                                                                                      +
                                                                                                                                      4550  0x13ae5104 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4551  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4552  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4553  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4554  kZoneEraAsia_Samarkand /*eras*/,
                                                                                                                                      +
                                                                                                                                      4555 };
                                                                                                                                      +
                                                                                                                                      4556 
                                                                                                                                      +
                                                                                                                                      4557 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4558 // Zone name: Asia/Seoul
                                                                                                                                      +
                                                                                                                                      4559 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4560 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      4561 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      4562 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      4563 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4564 
                                                                                                                                      +
                                                                                                                                      4565 static const basic::ZoneEra kZoneEraAsia_Seoul[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4566  // 9:00 ROK K%sT
                                                                                                                                      +
                                                                                                                                      4567  {
                                                                                                                                      +
                                                                                                                                      4568  &kPolicyROK /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4569  "K%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4570  36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4571  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4572  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4573  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4574  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4575  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4576  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4577  },
                                                                                                                                      +
                                                                                                                                      4578 
                                                                                                                                      +
                                                                                                                                      4579 };
                                                                                                                                      +
                                                                                                                                      4580 
                                                                                                                                      +
                                                                                                                                      4581 static const char kZoneNameAsia_Seoul[] ACE_TIME_PROGMEM = "Asia/Seoul";
                                                                                                                                      +
                                                                                                                                      4582 
                                                                                                                                      +
                                                                                                                                      4583 const basic::ZoneInfo kZoneAsia_Seoul ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4584  kZoneNameAsia_Seoul /*name*/,
                                                                                                                                      +
                                                                                                                                      4585  0x15ce82da /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4586  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4587  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4588  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4589  kZoneEraAsia_Seoul /*eras*/,
                                                                                                                                      +
                                                                                                                                      4590 };
                                                                                                                                      +
                                                                                                                                      4591 
                                                                                                                                      +
                                                                                                                                      4592 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4593 // Zone name: Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      4594 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4595 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      4596 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      4597 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      4598 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4599 
                                                                                                                                      +
                                                                                                                                      4600 static const basic::ZoneEra kZoneEraAsia_Shanghai[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4601  // 8:00 PRC C%sT
                                                                                                                                      +
                                                                                                                                      4602  {
                                                                                                                                      +
                                                                                                                                      4603  &kPolicyPRC /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4604  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4605  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4606  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4607  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4608  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4609  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4610  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4611  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4612  },
                                                                                                                                      +
                                                                                                                                      4613 
                                                                                                                                      +
                                                                                                                                      4614 };
                                                                                                                                      +
                                                                                                                                      4615 
                                                                                                                                      +
                                                                                                                                      4616 static const char kZoneNameAsia_Shanghai[] ACE_TIME_PROGMEM = "Asia/Shanghai";
                                                                                                                                      +
                                                                                                                                      4617 
                                                                                                                                      +
                                                                                                                                      4618 const basic::ZoneInfo kZoneAsia_Shanghai ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4619  kZoneNameAsia_Shanghai /*name*/,
                                                                                                                                      +
                                                                                                                                      4620  0xf895a7f5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4621  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4622  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4623  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4624  kZoneEraAsia_Shanghai /*eras*/,
                                                                                                                                      +
                                                                                                                                      4625 };
                                                                                                                                      +
                                                                                                                                      4626 
                                                                                                                                      +
                                                                                                                                      4627 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4628 // Zone name: Asia/Singapore
                                                                                                                                      +
                                                                                                                                      4629 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4630 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      4631 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      4632 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      4633 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4634 
                                                                                                                                      +
                                                                                                                                      4635 static const basic::ZoneEra kZoneEraAsia_Singapore[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4636  // 8:00 - +08
                                                                                                                                      +
                                                                                                                                      4637  {
                                                                                                                                      +
                                                                                                                                      4638  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4639  "+08" /*format*/,
                                                                                                                                      +
                                                                                                                                      4640  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4641  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4642  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4643  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4644  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4645  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4646  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4647  },
                                                                                                                                      +
                                                                                                                                      4648 
                                                                                                                                      +
                                                                                                                                      4649 };
                                                                                                                                      +
                                                                                                                                      4650 
                                                                                                                                      +
                                                                                                                                      4651 static const char kZoneNameAsia_Singapore[] ACE_TIME_PROGMEM = "Asia/Singapore";
                                                                                                                                      +
                                                                                                                                      4652 
                                                                                                                                      +
                                                                                                                                      4653 const basic::ZoneInfo kZoneAsia_Singapore ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4654  kZoneNameAsia_Singapore /*name*/,
                                                                                                                                      +
                                                                                                                                      4655  0xcf8581fa /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4656  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4657  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4658  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4659  kZoneEraAsia_Singapore /*eras*/,
                                                                                                                                      +
                                                                                                                                      4660 };
                                                                                                                                      +
                                                                                                                                      4661 
                                                                                                                                      +
                                                                                                                                      4662 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4663 // Zone name: Asia/Taipei
                                                                                                                                      +
                                                                                                                                      4664 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4665 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      4666 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      4667 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      4668 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4669 
                                                                                                                                      +
                                                                                                                                      4670 static const basic::ZoneEra kZoneEraAsia_Taipei[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4671  // 8:00 Taiwan C%sT
                                                                                                                                      +
                                                                                                                                      4672  {
                                                                                                                                      +
                                                                                                                                      4673  &kPolicyTaiwan /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4674  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4675  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4676  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4677  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4678  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4679  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4680  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4681  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4682  },
                                                                                                                                      +
                                                                                                                                      4683 
                                                                                                                                      +
                                                                                                                                      4684 };
                                                                                                                                      +
                                                                                                                                      4685 
                                                                                                                                      +
                                                                                                                                      4686 static const char kZoneNameAsia_Taipei[] ACE_TIME_PROGMEM = "Asia/Taipei";
                                                                                                                                      +
                                                                                                                                      4687 
                                                                                                                                      +
                                                                                                                                      4688 const basic::ZoneInfo kZoneAsia_Taipei ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4689  kZoneNameAsia_Taipei /*name*/,
                                                                                                                                      +
                                                                                                                                      4690  0xd1a844ae /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4691  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4692  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4693  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4694  kZoneEraAsia_Taipei /*eras*/,
                                                                                                                                      +
                                                                                                                                      4695 };
                                                                                                                                      +
                                                                                                                                      4696 
                                                                                                                                      +
                                                                                                                                      4697 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4698 // Zone name: Asia/Tashkent
                                                                                                                                      +
                                                                                                                                      4699 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4700 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      4701 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      4702 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      4703 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4704 
                                                                                                                                      +
                                                                                                                                      4705 static const basic::ZoneEra kZoneEraAsia_Tashkent[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4706  // 5:00 - +05
                                                                                                                                      +
                                                                                                                                      4707  {
                                                                                                                                      +
                                                                                                                                      4708  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4709  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      4710  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4711  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4712  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4713  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4714  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4715  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4716  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4717  },
                                                                                                                                      +
                                                                                                                                      4718 
                                                                                                                                      +
                                                                                                                                      4719 };
                                                                                                                                      +
                                                                                                                                      4720 
                                                                                                                                      +
                                                                                                                                      4721 static const char kZoneNameAsia_Tashkent[] ACE_TIME_PROGMEM = "Asia/Tashkent";
                                                                                                                                      +
                                                                                                                                      4722 
                                                                                                                                      +
                                                                                                                                      4723 const basic::ZoneInfo kZoneAsia_Tashkent ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4724  kZoneNameAsia_Tashkent /*name*/,
                                                                                                                                      +
                                                                                                                                      4725  0xf3924254 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4726  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4727  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4728  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4729  kZoneEraAsia_Tashkent /*eras*/,
                                                                                                                                      +
                                                                                                                                      4730 };
                                                                                                                                      +
                                                                                                                                      4731 
                                                                                                                                      +
                                                                                                                                      4732 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4733 // Zone name: Asia/Tehran
                                                                                                                                      +
                                                                                                                                      4734 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4735 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      4736 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      4737 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      4738 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4739 
                                                                                                                                      +
                                                                                                                                      4740 static const basic::ZoneEra kZoneEraAsia_Tehran[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4741  // 3:30 Iran +0330/+0430
                                                                                                                                      +
                                                                                                                                      4742  {
                                                                                                                                      +
                                                                                                                                      4743  &kPolicyIran /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4744  "+0330/+0430" /*format*/,
                                                                                                                                      +
                                                                                                                                      4745  14 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4746  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4747  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4748  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4749  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4750  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4751  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4752  },
                                                                                                                                      +
                                                                                                                                      4753 
                                                                                                                                      +
                                                                                                                                      4754 };
                                                                                                                                      +
                                                                                                                                      4755 
                                                                                                                                      +
                                                                                                                                      4756 static const char kZoneNameAsia_Tehran[] ACE_TIME_PROGMEM = "Asia/Tehran";
                                                                                                                                      +
                                                                                                                                      4757 
                                                                                                                                      +
                                                                                                                                      4758 const basic::ZoneInfo kZoneAsia_Tehran ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4759  kZoneNameAsia_Tehran /*name*/,
                                                                                                                                      +
                                                                                                                                      4760  0xd1f02254 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4761  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4762  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4763  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4764  kZoneEraAsia_Tehran /*eras*/,
                                                                                                                                      +
                                                                                                                                      4765 };
                                                                                                                                      +
                                                                                                                                      4766 
                                                                                                                                      +
                                                                                                                                      4767 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4768 // Zone name: Asia/Thimphu
                                                                                                                                      +
                                                                                                                                      4769 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4770 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      4771 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      4772 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      4773 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4774 
                                                                                                                                      +
                                                                                                                                      4775 static const basic::ZoneEra kZoneEraAsia_Thimphu[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4776  // 6:00 - +06
                                                                                                                                      +
                                                                                                                                      4777  {
                                                                                                                                      +
                                                                                                                                      4778  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4779  "+06" /*format*/,
                                                                                                                                      +
                                                                                                                                      4780  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4781  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4782  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4783  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4784  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4785  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4786  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4787  },
                                                                                                                                      +
                                                                                                                                      4788 
                                                                                                                                      +
                                                                                                                                      4789 };
                                                                                                                                      +
                                                                                                                                      4790 
                                                                                                                                      +
                                                                                                                                      4791 static const char kZoneNameAsia_Thimphu[] ACE_TIME_PROGMEM = "Asia/Thimphu";
                                                                                                                                      +
                                                                                                                                      4792 
                                                                                                                                      +
                                                                                                                                      4793 const basic::ZoneInfo kZoneAsia_Thimphu ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4794  kZoneNameAsia_Thimphu /*name*/,
                                                                                                                                      +
                                                                                                                                      4795  0x170380d1 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4796  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4797  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4798  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4799  kZoneEraAsia_Thimphu /*eras*/,
                                                                                                                                      +
                                                                                                                                      4800 };
                                                                                                                                      +
                                                                                                                                      4801 
                                                                                                                                      +
                                                                                                                                      4802 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4803 // Zone name: Asia/Tokyo
                                                                                                                                      +
                                                                                                                                      4804 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4805 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      4806 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      4807 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      4808 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4809 
                                                                                                                                      +
                                                                                                                                      4810 static const basic::ZoneEra kZoneEraAsia_Tokyo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4811  // 9:00 Japan J%sT
                                                                                                                                      +
                                                                                                                                      4812  {
                                                                                                                                      +
                                                                                                                                      4813  &kPolicyJapan /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4814  "J%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      4815  36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4816  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4817  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4818  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4819  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4820  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4821  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4822  },
                                                                                                                                      +
                                                                                                                                      4823 
                                                                                                                                      +
                                                                                                                                      4824 };
                                                                                                                                      +
                                                                                                                                      4825 
                                                                                                                                      +
                                                                                                                                      4826 static const char kZoneNameAsia_Tokyo[] ACE_TIME_PROGMEM = "Asia/Tokyo";
                                                                                                                                      +
                                                                                                                                      4827 
                                                                                                                                      +
                                                                                                                                      4828 const basic::ZoneInfo kZoneAsia_Tokyo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4829  kZoneNameAsia_Tokyo /*name*/,
                                                                                                                                      +
                                                                                                                                      4830  0x15e606a8 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4831  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4832  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4833  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4834  kZoneEraAsia_Tokyo /*eras*/,
                                                                                                                                      +
                                                                                                                                      4835 };
                                                                                                                                      +
                                                                                                                                      4836 
                                                                                                                                      +
                                                                                                                                      4837 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4838 // Zone name: Asia/Ulaanbaatar
                                                                                                                                      +
                                                                                                                                      4839 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4840 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      4841 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      4842 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      4843 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4844 
                                                                                                                                      +
                                                                                                                                      4845 static const basic::ZoneEra kZoneEraAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4846  // 8:00 Mongol +08/+09
                                                                                                                                      +
                                                                                                                                      4847  {
                                                                                                                                      +
                                                                                                                                      4848  &kPolicyMongol /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4849  "+08/+09" /*format*/,
                                                                                                                                      +
                                                                                                                                      4850  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4851  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4852  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4853  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4854  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4855  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4856  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4857  },
                                                                                                                                      +
                                                                                                                                      4858 
                                                                                                                                      +
                                                                                                                                      4859 };
                                                                                                                                      +
                                                                                                                                      4860 
                                                                                                                                      +
                                                                                                                                      4861 static const char kZoneNameAsia_Ulaanbaatar[] ACE_TIME_PROGMEM = "Asia/Ulaanbaatar";
                                                                                                                                      +
                                                                                                                                      4862 
                                                                                                                                      +
                                                                                                                                      4863 const basic::ZoneInfo kZoneAsia_Ulaanbaatar ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4864  kZoneNameAsia_Ulaanbaatar /*name*/,
                                                                                                                                      +
                                                                                                                                      4865  0x30f0cc4e /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4866  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4867  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4868  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4869  kZoneEraAsia_Ulaanbaatar /*eras*/,
                                                                                                                                      +
                                                                                                                                      4870 };
                                                                                                                                      +
                                                                                                                                      4871 
                                                                                                                                      +
                                                                                                                                      4872 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4873 // Zone name: Asia/Urumqi
                                                                                                                                      +
                                                                                                                                      4874 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4875 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      4876 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      4877 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      4878 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4879 
                                                                                                                                      +
                                                                                                                                      4880 static const basic::ZoneEra kZoneEraAsia_Urumqi[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4881  // 6:00 - +06
                                                                                                                                      +
                                                                                                                                      4882  {
                                                                                                                                      +
                                                                                                                                      4883  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4884  "+06" /*format*/,
                                                                                                                                      +
                                                                                                                                      4885  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4886  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4887  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4888  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4889  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4890  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4891  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4892  },
                                                                                                                                      +
                                                                                                                                      4893 
                                                                                                                                      +
                                                                                                                                      4894 };
                                                                                                                                      +
                                                                                                                                      4895 
                                                                                                                                      +
                                                                                                                                      4896 static const char kZoneNameAsia_Urumqi[] ACE_TIME_PROGMEM = "Asia/Urumqi";
                                                                                                                                      +
                                                                                                                                      4897 
                                                                                                                                      +
                                                                                                                                      4898 const basic::ZoneInfo kZoneAsia_Urumqi ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4899  kZoneNameAsia_Urumqi /*name*/,
                                                                                                                                      +
                                                                                                                                      4900  0xd5379735 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4901  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4902  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4903  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4904  kZoneEraAsia_Urumqi /*eras*/,
                                                                                                                                      +
                                                                                                                                      4905 };
                                                                                                                                      +
                                                                                                                                      4906 
                                                                                                                                      +
                                                                                                                                      4907 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4908 // Zone name: Asia/Yangon
                                                                                                                                      +
                                                                                                                                      4909 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4910 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      4911 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      4912 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      4913 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4914 
                                                                                                                                      +
                                                                                                                                      4915 static const basic::ZoneEra kZoneEraAsia_Yangon[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4916  // 6:30 - +0630
                                                                                                                                      +
                                                                                                                                      4917  {
                                                                                                                                      +
                                                                                                                                      4918  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4919  "+0630" /*format*/,
                                                                                                                                      +
                                                                                                                                      4920  26 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4921  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4922  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4923  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4924  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4925  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4926  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4927  },
                                                                                                                                      +
                                                                                                                                      4928 
                                                                                                                                      +
                                                                                                                                      4929 };
                                                                                                                                      +
                                                                                                                                      4930 
                                                                                                                                      +
                                                                                                                                      4931 static const char kZoneNameAsia_Yangon[] ACE_TIME_PROGMEM = "Asia/Yangon";
                                                                                                                                      +
                                                                                                                                      4932 
                                                                                                                                      +
                                                                                                                                      4933 const basic::ZoneInfo kZoneAsia_Yangon ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4934  kZoneNameAsia_Yangon /*name*/,
                                                                                                                                      +
                                                                                                                                      4935  0xdd54a8be /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4936  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4937  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4938  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4939  kZoneEraAsia_Yangon /*eras*/,
                                                                                                                                      +
                                                                                                                                      4940 };
                                                                                                                                      +
                                                                                                                                      4941 
                                                                                                                                      +
                                                                                                                                      4942 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4943 // Zone name: Asia/Yerevan
                                                                                                                                      +
                                                                                                                                      4944 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      4945 // Strings (bytes): 29
                                                                                                                                      +
                                                                                                                                      4946 // Memory (8-bit): 63
                                                                                                                                      +
                                                                                                                                      4947 // Memory (32-bit): 81
                                                                                                                                      +
                                                                                                                                      4948 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4949 
                                                                                                                                      +
                                                                                                                                      4950 static const basic::ZoneEra kZoneEraAsia_Yerevan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4951  // 4:00 RussiaAsia +04/+05 2011
                                                                                                                                      +
                                                                                                                                      4952  {
                                                                                                                                      +
                                                                                                                                      4953  &kPolicyRussiaAsia /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4954  "+04/+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      4955  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4956  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4957  11 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4958  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4959  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4960  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4961  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4962  },
                                                                                                                                      +
                                                                                                                                      4963  // 4:00 Armenia +04/+05
                                                                                                                                      +
                                                                                                                                      4964  {
                                                                                                                                      +
                                                                                                                                      4965  &kPolicyArmenia /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      4966  "+04/+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      4967  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      4968  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4969  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4970  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      4971  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      4972  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4973  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4974  },
                                                                                                                                      +
                                                                                                                                      4975 
                                                                                                                                      +
                                                                                                                                      4976 };
                                                                                                                                      +
                                                                                                                                      4977 
                                                                                                                                      +
                                                                                                                                      4978 static const char kZoneNameAsia_Yerevan[] ACE_TIME_PROGMEM = "Asia/Yerevan";
                                                                                                                                      +
                                                                                                                                      4979 
                                                                                                                                      +
                                                                                                                                      4980 const basic::ZoneInfo kZoneAsia_Yerevan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4981  kZoneNameAsia_Yerevan /*name*/,
                                                                                                                                      +
                                                                                                                                      4982  0x9185c8cc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      4983  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      4984  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      4985  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      4986  kZoneEraAsia_Yerevan /*eras*/,
                                                                                                                                      +
                                                                                                                                      4987 };
                                                                                                                                      +
                                                                                                                                      4988 
                                                                                                                                      +
                                                                                                                                      4989 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4990 // Zone name: Atlantic/Azores
                                                                                                                                      +
                                                                                                                                      4991 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      4992 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      4993 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      4994 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      4995 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4996 
                                                                                                                                      +
                                                                                                                                      4997 static const basic::ZoneEra kZoneEraAtlantic_Azores[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4998  // -1:00 EU -01/+00
                                                                                                                                      +
                                                                                                                                      4999  {
                                                                                                                                      +
                                                                                                                                      5000  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5001  "-01/+00" /*format*/,
                                                                                                                                      +
                                                                                                                                      5002  -4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5003  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5004  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5005  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5006  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5007  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5008  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5009  },
                                                                                                                                      +
                                                                                                                                      5010 
                                                                                                                                      +
                                                                                                                                      5011 };
                                                                                                                                      +
                                                                                                                                      5012 
                                                                                                                                      +
                                                                                                                                      5013 static const char kZoneNameAtlantic_Azores[] ACE_TIME_PROGMEM = "Atlantic/Azores";
                                                                                                                                      +
                                                                                                                                      5014 
                                                                                                                                      +
                                                                                                                                      5015 const basic::ZoneInfo kZoneAtlantic_Azores ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5016  kZoneNameAtlantic_Azores /*name*/,
                                                                                                                                      +
                                                                                                                                      5017  0xf93ed918 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5018  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5019  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5020  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5021  kZoneEraAtlantic_Azores /*eras*/,
                                                                                                                                      +
                                                                                                                                      5022 };
                                                                                                                                      +
                                                                                                                                      5023 
                                                                                                                                      +
                                                                                                                                      5024 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5025 // Zone name: Atlantic/Bermuda
                                                                                                                                      +
                                                                                                                                      5026 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5027 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      5028 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      5029 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      5030 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5031 
                                                                                                                                      +
                                                                                                                                      5032 static const basic::ZoneEra kZoneEraAtlantic_Bermuda[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5033  // -4:00 US A%sT
                                                                                                                                      +
                                                                                                                                      5034  {
                                                                                                                                      +
                                                                                                                                      5035  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5036  "A%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5037  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5038  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5039  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5040  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5041  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5042  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5043  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5044  },
                                                                                                                                      +
                                                                                                                                      5045 
                                                                                                                                      +
                                                                                                                                      5046 };
                                                                                                                                      +
                                                                                                                                      5047 
                                                                                                                                      +
                                                                                                                                      5048 static const char kZoneNameAtlantic_Bermuda[] ACE_TIME_PROGMEM = "Atlantic/Bermuda";
                                                                                                                                      +
                                                                                                                                      5049 
                                                                                                                                      +
                                                                                                                                      5050 const basic::ZoneInfo kZoneAtlantic_Bermuda ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5051  kZoneNameAtlantic_Bermuda /*name*/,
                                                                                                                                      +
                                                                                                                                      5052  0x3d4bb1c4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5053  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5054  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5055  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5056  kZoneEraAtlantic_Bermuda /*eras*/,
                                                                                                                                      +
                                                                                                                                      5057 };
                                                                                                                                      +
                                                                                                                                      5058 
                                                                                                                                      +
                                                                                                                                      5059 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5060 // Zone name: Atlantic/Canary
                                                                                                                                      +
                                                                                                                                      5061 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5062 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      5063 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      5064 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      5065 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5066 
                                                                                                                                      +
                                                                                                                                      5067 static const basic::ZoneEra kZoneEraAtlantic_Canary[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5068  // 0:00 EU WE%sT
                                                                                                                                      +
                                                                                                                                      5069  {
                                                                                                                                      +
                                                                                                                                      5070  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5071  "WE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5072  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5073  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5074  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5075  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5076  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5077  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5078  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5079  },
                                                                                                                                      +
                                                                                                                                      5080 
                                                                                                                                      +
                                                                                                                                      5081 };
                                                                                                                                      +
                                                                                                                                      5082 
                                                                                                                                      +
                                                                                                                                      5083 static const char kZoneNameAtlantic_Canary[] ACE_TIME_PROGMEM = "Atlantic/Canary";
                                                                                                                                      +
                                                                                                                                      5084 
                                                                                                                                      +
                                                                                                                                      5085 const basic::ZoneInfo kZoneAtlantic_Canary ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5086  kZoneNameAtlantic_Canary /*name*/,
                                                                                                                                      +
                                                                                                                                      5087  0xfc23f2c2 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5088  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5089  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5090  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5091  kZoneEraAtlantic_Canary /*eras*/,
                                                                                                                                      +
                                                                                                                                      5092 };
                                                                                                                                      +
                                                                                                                                      5093 
                                                                                                                                      +
                                                                                                                                      5094 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5095 // Zone name: Atlantic/Cape_Verde
                                                                                                                                      +
                                                                                                                                      5096 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5097 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      5098 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      5099 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      5100 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5101 
                                                                                                                                      +
                                                                                                                                      5102 static const basic::ZoneEra kZoneEraAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5103  // -1:00 - -01
                                                                                                                                      +
                                                                                                                                      5104  {
                                                                                                                                      +
                                                                                                                                      5105  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5106  "-01" /*format*/,
                                                                                                                                      +
                                                                                                                                      5107  -4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5108  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5109  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5110  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5111  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5112  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5113  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5114  },
                                                                                                                                      +
                                                                                                                                      5115 
                                                                                                                                      +
                                                                                                                                      5116 };
                                                                                                                                      +
                                                                                                                                      5117 
                                                                                                                                      +
                                                                                                                                      5118 static const char kZoneNameAtlantic_Cape_Verde[] ACE_TIME_PROGMEM = "Atlantic/Cape_Verde";
                                                                                                                                      +
                                                                                                                                      5119 
                                                                                                                                      +
                                                                                                                                      5120 const basic::ZoneInfo kZoneAtlantic_Cape_Verde ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5121  kZoneNameAtlantic_Cape_Verde /*name*/,
                                                                                                                                      +
                                                                                                                                      5122  0x5c5e1772 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5123  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5124  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5125  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5126  kZoneEraAtlantic_Cape_Verde /*eras*/,
                                                                                                                                      +
                                                                                                                                      5127 };
                                                                                                                                      +
                                                                                                                                      5128 
                                                                                                                                      +
                                                                                                                                      5129 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5130 // Zone name: Atlantic/Faroe
                                                                                                                                      +
                                                                                                                                      5131 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5132 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      5133 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      5134 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      5135 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5136 
                                                                                                                                      +
                                                                                                                                      5137 static const basic::ZoneEra kZoneEraAtlantic_Faroe[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5138  // 0:00 EU WE%sT
                                                                                                                                      +
                                                                                                                                      5139  {
                                                                                                                                      +
                                                                                                                                      5140  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5141  "WE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5142  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5143  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5144  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5145  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5146  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5147  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5148  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5149  },
                                                                                                                                      +
                                                                                                                                      5150 
                                                                                                                                      +
                                                                                                                                      5151 };
                                                                                                                                      +
                                                                                                                                      5152 
                                                                                                                                      +
                                                                                                                                      5153 static const char kZoneNameAtlantic_Faroe[] ACE_TIME_PROGMEM = "Atlantic/Faroe";
                                                                                                                                      +
                                                                                                                                      5154 
                                                                                                                                      +
                                                                                                                                      5155 const basic::ZoneInfo kZoneAtlantic_Faroe ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5156  kZoneNameAtlantic_Faroe /*name*/,
                                                                                                                                      +
                                                                                                                                      5157  0xe110a971 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5158  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5159  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5160  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5161  kZoneEraAtlantic_Faroe /*eras*/,
                                                                                                                                      +
                                                                                                                                      5162 };
                                                                                                                                      +
                                                                                                                                      5163 
                                                                                                                                      +
                                                                                                                                      5164 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5165 // Zone name: Atlantic/Madeira
                                                                                                                                      +
                                                                                                                                      5166 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5167 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      5168 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      5169 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      5170 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5171 
                                                                                                                                      +
                                                                                                                                      5172 static const basic::ZoneEra kZoneEraAtlantic_Madeira[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5173  // 0:00 EU WE%sT
                                                                                                                                      +
                                                                                                                                      5174  {
                                                                                                                                      +
                                                                                                                                      5175  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5176  "WE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5177  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5178  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5179  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5180  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5181  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5182  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5183  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5184  },
                                                                                                                                      +
                                                                                                                                      5185 
                                                                                                                                      +
                                                                                                                                      5186 };
                                                                                                                                      +
                                                                                                                                      5187 
                                                                                                                                      +
                                                                                                                                      5188 static const char kZoneNameAtlantic_Madeira[] ACE_TIME_PROGMEM = "Atlantic/Madeira";
                                                                                                                                      +
                                                                                                                                      5189 
                                                                                                                                      +
                                                                                                                                      5190 const basic::ZoneInfo kZoneAtlantic_Madeira ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5191  kZoneNameAtlantic_Madeira /*name*/,
                                                                                                                                      +
                                                                                                                                      5192  0x81b5c037 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5193  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5194  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5195  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5196  kZoneEraAtlantic_Madeira /*eras*/,
                                                                                                                                      +
                                                                                                                                      5197 };
                                                                                                                                      +
                                                                                                                                      5198 
                                                                                                                                      +
                                                                                                                                      5199 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5200 // Zone name: Atlantic/Reykjavik
                                                                                                                                      +
                                                                                                                                      5201 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5202 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      5203 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      5204 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      5205 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5206 
                                                                                                                                      +
                                                                                                                                      5207 static const basic::ZoneEra kZoneEraAtlantic_Reykjavik[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5208  // 0:00 - GMT
                                                                                                                                      +
                                                                                                                                      5209  {
                                                                                                                                      +
                                                                                                                                      5210  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5211  "GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      5212  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5213  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5214  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5215  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5216  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5217  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5218  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5219  },
                                                                                                                                      +
                                                                                                                                      5220 
                                                                                                                                      +
                                                                                                                                      5221 };
                                                                                                                                      +
                                                                                                                                      5222 
                                                                                                                                      +
                                                                                                                                      5223 static const char kZoneNameAtlantic_Reykjavik[] ACE_TIME_PROGMEM = "Atlantic/Reykjavik";
                                                                                                                                      +
                                                                                                                                      5224 
                                                                                                                                      +
                                                                                                                                      5225 const basic::ZoneInfo kZoneAtlantic_Reykjavik ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5226  kZoneNameAtlantic_Reykjavik /*name*/,
                                                                                                                                      +
                                                                                                                                      5227  0x1c2b4f74 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5228  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5229  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5230  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5231  kZoneEraAtlantic_Reykjavik /*eras*/,
                                                                                                                                      +
                                                                                                                                      5232 };
                                                                                                                                      +
                                                                                                                                      5233 
                                                                                                                                      +
                                                                                                                                      5234 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5235 // Zone name: Atlantic/South_Georgia
                                                                                                                                      +
                                                                                                                                      5236 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5237 // Strings (bytes): 27
                                                                                                                                      +
                                                                                                                                      5238 // Memory (8-bit): 50
                                                                                                                                      +
                                                                                                                                      5239 // Memory (32-bit): 63
                                                                                                                                      +
                                                                                                                                      5240 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5241 
                                                                                                                                      +
                                                                                                                                      5242 static const basic::ZoneEra kZoneEraAtlantic_South_Georgia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5243  // -2:00 - -02
                                                                                                                                      +
                                                                                                                                      5244  {
                                                                                                                                      +
                                                                                                                                      5245  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5246  "-02" /*format*/,
                                                                                                                                      +
                                                                                                                                      5247  -8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5248  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5249  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5250  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5251  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5252  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5253  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5254  },
                                                                                                                                      +
                                                                                                                                      5255 
                                                                                                                                      +
                                                                                                                                      5256 };
                                                                                                                                      +
                                                                                                                                      5257 
                                                                                                                                      +
                                                                                                                                      5258 static const char kZoneNameAtlantic_South_Georgia[] ACE_TIME_PROGMEM = "Atlantic/South_Georgia";
                                                                                                                                      +
                                                                                                                                      5259 
                                                                                                                                      +
                                                                                                                                      5260 const basic::ZoneInfo kZoneAtlantic_South_Georgia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5261  kZoneNameAtlantic_South_Georgia /*name*/,
                                                                                                                                      +
                                                                                                                                      5262  0x33013174 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5263  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5264  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5265  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5266  kZoneEraAtlantic_South_Georgia /*eras*/,
                                                                                                                                      +
                                                                                                                                      5267 };
                                                                                                                                      +
                                                                                                                                      5268 
                                                                                                                                      +
                                                                                                                                      5269 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5270 // Zone name: Australia/Adelaide
                                                                                                                                      +
                                                                                                                                      5271 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5272 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      5273 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      5274 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      5275 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5276 
                                                                                                                                      +
                                                                                                                                      5277 static const basic::ZoneEra kZoneEraAustralia_Adelaide[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5278  // 9:30 AS AC%sT
                                                                                                                                      +
                                                                                                                                      5279  {
                                                                                                                                      +
                                                                                                                                      5280  &kPolicyAS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5281  "AC%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5282  38 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5283  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5284  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5285  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5286  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5287  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5288  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5289  },
                                                                                                                                      +
                                                                                                                                      5290 
                                                                                                                                      +
                                                                                                                                      5291 };
                                                                                                                                      +
                                                                                                                                      5292 
                                                                                                                                      +
                                                                                                                                      5293 static const char kZoneNameAustralia_Adelaide[] ACE_TIME_PROGMEM = "Australia/Adelaide";
                                                                                                                                      +
                                                                                                                                      5294 
                                                                                                                                      +
                                                                                                                                      5295 const basic::ZoneInfo kZoneAustralia_Adelaide ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5296  kZoneNameAustralia_Adelaide /*name*/,
                                                                                                                                      +
                                                                                                                                      5297  0x2428e8a3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5298  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5299  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5300  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5301  kZoneEraAustralia_Adelaide /*eras*/,
                                                                                                                                      +
                                                                                                                                      5302 };
                                                                                                                                      +
                                                                                                                                      5303 
                                                                                                                                      +
                                                                                                                                      5304 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5305 // Zone name: Australia/Brisbane
                                                                                                                                      +
                                                                                                                                      5306 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5307 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      5308 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      5309 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      5310 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5311 
                                                                                                                                      +
                                                                                                                                      5312 static const basic::ZoneEra kZoneEraAustralia_Brisbane[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5313  // 10:00 AQ AE%sT
                                                                                                                                      +
                                                                                                                                      5314  {
                                                                                                                                      +
                                                                                                                                      5315  &kPolicyAQ /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5316  "AE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5317  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5318  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5319  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5320  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5321  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5322  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5323  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5324  },
                                                                                                                                      +
                                                                                                                                      5325 
                                                                                                                                      +
                                                                                                                                      5326 };
                                                                                                                                      +
                                                                                                                                      5327 
                                                                                                                                      +
                                                                                                                                      5328 static const char kZoneNameAustralia_Brisbane[] ACE_TIME_PROGMEM = "Australia/Brisbane";
                                                                                                                                      +
                                                                                                                                      5329 
                                                                                                                                      +
                                                                                                                                      5330 const basic::ZoneInfo kZoneAustralia_Brisbane ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5331  kZoneNameAustralia_Brisbane /*name*/,
                                                                                                                                      +
                                                                                                                                      5332  0x4fedc9c0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5333  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5334  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5335  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5336  kZoneEraAustralia_Brisbane /*eras*/,
                                                                                                                                      +
                                                                                                                                      5337 };
                                                                                                                                      +
                                                                                                                                      5338 
                                                                                                                                      +
                                                                                                                                      5339 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5340 // Zone name: Australia/Broken_Hill
                                                                                                                                      +
                                                                                                                                      5341 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      5342 // Strings (bytes): 32
                                                                                                                                      +
                                                                                                                                      5343 // Memory (8-bit): 66
                                                                                                                                      +
                                                                                                                                      5344 // Memory (32-bit): 84
                                                                                                                                      +
                                                                                                                                      5345 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5346 
                                                                                                                                      +
                                                                                                                                      5347 static const basic::ZoneEra kZoneEraAustralia_Broken_Hill[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5348  // 9:30 AN AC%sT 2000
                                                                                                                                      +
                                                                                                                                      5349  {
                                                                                                                                      +
                                                                                                                                      5350  &kPolicyAN /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5351  "AC%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5352  38 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5353  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5354  0 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5355  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5356  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5357  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5358  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5359  },
                                                                                                                                      +
                                                                                                                                      5360  // 9:30 AS AC%sT
                                                                                                                                      +
                                                                                                                                      5361  {
                                                                                                                                      +
                                                                                                                                      5362  &kPolicyAS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5363  "AC%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5364  38 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5365  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5366  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5367  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5368  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5369  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5370  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5371  },
                                                                                                                                      +
                                                                                                                                      5372 
                                                                                                                                      +
                                                                                                                                      5373 };
                                                                                                                                      +
                                                                                                                                      5374 
                                                                                                                                      +
                                                                                                                                      5375 static const char kZoneNameAustralia_Broken_Hill[] ACE_TIME_PROGMEM = "Australia/Broken_Hill";
                                                                                                                                      +
                                                                                                                                      5376 
                                                                                                                                      +
                                                                                                                                      5377 const basic::ZoneInfo kZoneAustralia_Broken_Hill ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5378  kZoneNameAustralia_Broken_Hill /*name*/,
                                                                                                                                      +
                                                                                                                                      5379  0xb06eada3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5380  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5381  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5382  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5383  kZoneEraAustralia_Broken_Hill /*eras*/,
                                                                                                                                      +
                                                                                                                                      5384 };
                                                                                                                                      +
                                                                                                                                      5385 
                                                                                                                                      +
                                                                                                                                      5386 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5387 // Zone name: Australia/Currie
                                                                                                                                      +
                                                                                                                                      5388 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5389 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      5390 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      5391 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      5392 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5393 
                                                                                                                                      +
                                                                                                                                      5394 static const basic::ZoneEra kZoneEraAustralia_Currie[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5395  // 10:00 AT AE%sT
                                                                                                                                      +
                                                                                                                                      5396  {
                                                                                                                                      +
                                                                                                                                      5397  &kPolicyAT /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5398  "AE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5399  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5400  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5401  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5402  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5403  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5404  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5405  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5406  },
                                                                                                                                      +
                                                                                                                                      5407 
                                                                                                                                      +
                                                                                                                                      5408 };
                                                                                                                                      +
                                                                                                                                      5409 
                                                                                                                                      +
                                                                                                                                      5410 static const char kZoneNameAustralia_Currie[] ACE_TIME_PROGMEM = "Australia/Currie";
                                                                                                                                      +
                                                                                                                                      5411 
                                                                                                                                      +
                                                                                                                                      5412 const basic::ZoneInfo kZoneAustralia_Currie ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5413  kZoneNameAustralia_Currie /*name*/,
                                                                                                                                      +
                                                                                                                                      5414  0x278b6a24 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5415  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5416  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5417  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5418  kZoneEraAustralia_Currie /*eras*/,
                                                                                                                                      +
                                                                                                                                      5419 };
                                                                                                                                      +
                                                                                                                                      5420 
                                                                                                                                      +
                                                                                                                                      5421 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5422 // Zone name: Australia/Darwin
                                                                                                                                      +
                                                                                                                                      5423 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5424 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      5425 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      5426 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      5427 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5428 
                                                                                                                                      +
                                                                                                                                      5429 static const basic::ZoneEra kZoneEraAustralia_Darwin[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5430  // 9:30 Aus AC%sT
                                                                                                                                      +
                                                                                                                                      5431  {
                                                                                                                                      +
                                                                                                                                      5432  &kPolicyAus /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5433  "AC%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5434  38 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5435  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5436  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5437  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5438  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5439  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5440  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5441  },
                                                                                                                                      +
                                                                                                                                      5442 
                                                                                                                                      +
                                                                                                                                      5443 };
                                                                                                                                      +
                                                                                                                                      5444 
                                                                                                                                      +
                                                                                                                                      5445 static const char kZoneNameAustralia_Darwin[] ACE_TIME_PROGMEM = "Australia/Darwin";
                                                                                                                                      +
                                                                                                                                      5446 
                                                                                                                                      +
                                                                                                                                      5447 const basic::ZoneInfo kZoneAustralia_Darwin ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5448  kZoneNameAustralia_Darwin /*name*/,
                                                                                                                                      +
                                                                                                                                      5449  0x2876bdff /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5450  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5451  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5452  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5453  kZoneEraAustralia_Darwin /*eras*/,
                                                                                                                                      +
                                                                                                                                      5454 };
                                                                                                                                      +
                                                                                                                                      5455 
                                                                                                                                      +
                                                                                                                                      5456 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5457 // Zone name: Australia/Eucla
                                                                                                                                      +
                                                                                                                                      5458 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5459 // Strings (bytes): 28
                                                                                                                                      +
                                                                                                                                      5460 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      5461 // Memory (32-bit): 64
                                                                                                                                      +
                                                                                                                                      5462 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5463 
                                                                                                                                      +
                                                                                                                                      5464 static const basic::ZoneEra kZoneEraAustralia_Eucla[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5465  // 8:45 AW +0845/+0945
                                                                                                                                      +
                                                                                                                                      5466  {
                                                                                                                                      +
                                                                                                                                      5467  &kPolicyAW /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5468  "+0845/+0945" /*format*/,
                                                                                                                                      +
                                                                                                                                      5469  35 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5470  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5471  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5472  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5473  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5474  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5475  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5476  },
                                                                                                                                      +
                                                                                                                                      5477 
                                                                                                                                      +
                                                                                                                                      5478 };
                                                                                                                                      +
                                                                                                                                      5479 
                                                                                                                                      +
                                                                                                                                      5480 static const char kZoneNameAustralia_Eucla[] ACE_TIME_PROGMEM = "Australia/Eucla";
                                                                                                                                      +
                                                                                                                                      5481 
                                                                                                                                      +
                                                                                                                                      5482 const basic::ZoneInfo kZoneAustralia_Eucla ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5483  kZoneNameAustralia_Eucla /*name*/,
                                                                                                                                      +
                                                                                                                                      5484  0x8cf99e44 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5485  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5486  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5487  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5488  kZoneEraAustralia_Eucla /*eras*/,
                                                                                                                                      +
                                                                                                                                      5489 };
                                                                                                                                      +
                                                                                                                                      5490 
                                                                                                                                      +
                                                                                                                                      5491 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5492 // Zone name: Australia/Hobart
                                                                                                                                      +
                                                                                                                                      5493 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5494 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      5495 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      5496 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      5497 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5498 
                                                                                                                                      +
                                                                                                                                      5499 static const basic::ZoneEra kZoneEraAustralia_Hobart[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5500  // 10:00 AT AE%sT
                                                                                                                                      +
                                                                                                                                      5501  {
                                                                                                                                      +
                                                                                                                                      5502  &kPolicyAT /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5503  "AE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5504  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5505  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5506  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5507  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5508  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5509  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5510  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5511  },
                                                                                                                                      +
                                                                                                                                      5512 
                                                                                                                                      +
                                                                                                                                      5513 };
                                                                                                                                      +
                                                                                                                                      5514 
                                                                                                                                      +
                                                                                                                                      5515 static const char kZoneNameAustralia_Hobart[] ACE_TIME_PROGMEM = "Australia/Hobart";
                                                                                                                                      +
                                                                                                                                      5516 
                                                                                                                                      +
                                                                                                                                      5517 const basic::ZoneInfo kZoneAustralia_Hobart ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5518  kZoneNameAustralia_Hobart /*name*/,
                                                                                                                                      +
                                                                                                                                      5519  0x32bf951a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5520  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5521  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5522  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5523  kZoneEraAustralia_Hobart /*eras*/,
                                                                                                                                      +
                                                                                                                                      5524 };
                                                                                                                                      +
                                                                                                                                      5525 
                                                                                                                                      +
                                                                                                                                      5526 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5527 // Zone name: Australia/Lindeman
                                                                                                                                      +
                                                                                                                                      5528 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5529 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      5530 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      5531 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      5532 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5533 
                                                                                                                                      +
                                                                                                                                      5534 static const basic::ZoneEra kZoneEraAustralia_Lindeman[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5535  // 10:00 Holiday AE%sT
                                                                                                                                      +
                                                                                                                                      5536  {
                                                                                                                                      +
                                                                                                                                      5537  &kPolicyHoliday /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5538  "AE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5539  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5540  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5541  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5542  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5543  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5544  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5545  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5546  },
                                                                                                                                      +
                                                                                                                                      5547 
                                                                                                                                      +
                                                                                                                                      5548 };
                                                                                                                                      +
                                                                                                                                      5549 
                                                                                                                                      +
                                                                                                                                      5550 static const char kZoneNameAustralia_Lindeman[] ACE_TIME_PROGMEM = "Australia/Lindeman";
                                                                                                                                      +
                                                                                                                                      5551 
                                                                                                                                      +
                                                                                                                                      5552 const basic::ZoneInfo kZoneAustralia_Lindeman ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5553  kZoneNameAustralia_Lindeman /*name*/,
                                                                                                                                      +
                                                                                                                                      5554  0xe05029e2 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5555  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5556  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5557  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5558  kZoneEraAustralia_Lindeman /*eras*/,
                                                                                                                                      +
                                                                                                                                      5559 };
                                                                                                                                      +
                                                                                                                                      5560 
                                                                                                                                      +
                                                                                                                                      5561 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5562 // Zone name: Australia/Lord_Howe
                                                                                                                                      +
                                                                                                                                      5563 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5564 // Strings (bytes): 30
                                                                                                                                      +
                                                                                                                                      5565 // Memory (8-bit): 53
                                                                                                                                      +
                                                                                                                                      5566 // Memory (32-bit): 66
                                                                                                                                      +
                                                                                                                                      5567 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5568 
                                                                                                                                      +
                                                                                                                                      5569 static const basic::ZoneEra kZoneEraAustralia_Lord_Howe[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5570  // 10:30 LH +1030/+11
                                                                                                                                      +
                                                                                                                                      5571  {
                                                                                                                                      +
                                                                                                                                      5572  &kPolicyLH /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5573  "+1030/+11" /*format*/,
                                                                                                                                      +
                                                                                                                                      5574  42 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5575  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5576  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5577  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5578  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5579  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5580  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5581  },
                                                                                                                                      +
                                                                                                                                      5582 
                                                                                                                                      +
                                                                                                                                      5583 };
                                                                                                                                      +
                                                                                                                                      5584 
                                                                                                                                      +
                                                                                                                                      5585 static const char kZoneNameAustralia_Lord_Howe[] ACE_TIME_PROGMEM = "Australia/Lord_Howe";
                                                                                                                                      +
                                                                                                                                      5586 
                                                                                                                                      +
                                                                                                                                      5587 const basic::ZoneInfo kZoneAustralia_Lord_Howe ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5588  kZoneNameAustralia_Lord_Howe /*name*/,
                                                                                                                                      +
                                                                                                                                      5589  0xa748b67d /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5590  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5591  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5592  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5593  kZoneEraAustralia_Lord_Howe /*eras*/,
                                                                                                                                      +
                                                                                                                                      5594 };
                                                                                                                                      +
                                                                                                                                      5595 
                                                                                                                                      +
                                                                                                                                      5596 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5597 // Zone name: Australia/Melbourne
                                                                                                                                      +
                                                                                                                                      5598 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5599 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      5600 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      5601 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      5602 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5603 
                                                                                                                                      +
                                                                                                                                      5604 static const basic::ZoneEra kZoneEraAustralia_Melbourne[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5605  // 10:00 AV AE%sT
                                                                                                                                      +
                                                                                                                                      5606  {
                                                                                                                                      +
                                                                                                                                      5607  &kPolicyAV /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5608  "AE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5609  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5610  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5611  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5612  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5613  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5614  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5615  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5616  },
                                                                                                                                      +
                                                                                                                                      5617 
                                                                                                                                      +
                                                                                                                                      5618 };
                                                                                                                                      +
                                                                                                                                      5619 
                                                                                                                                      +
                                                                                                                                      5620 static const char kZoneNameAustralia_Melbourne[] ACE_TIME_PROGMEM = "Australia/Melbourne";
                                                                                                                                      +
                                                                                                                                      5621 
                                                                                                                                      +
                                                                                                                                      5622 const basic::ZoneInfo kZoneAustralia_Melbourne ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5623  kZoneNameAustralia_Melbourne /*name*/,
                                                                                                                                      +
                                                                                                                                      5624  0x0fe559a3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5625  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5626  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5627  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5628  kZoneEraAustralia_Melbourne /*eras*/,
                                                                                                                                      +
                                                                                                                                      5629 };
                                                                                                                                      +
                                                                                                                                      5630 
                                                                                                                                      +
                                                                                                                                      5631 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5632 // Zone name: Australia/Perth
                                                                                                                                      +
                                                                                                                                      5633 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5634 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      5635 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      5636 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      5637 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5638 
                                                                                                                                      +
                                                                                                                                      5639 static const basic::ZoneEra kZoneEraAustralia_Perth[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5640  // 8:00 AW AW%sT
                                                                                                                                      +
                                                                                                                                      5641  {
                                                                                                                                      +
                                                                                                                                      5642  &kPolicyAW /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5643  "AW%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5644  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5645  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5646  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5647  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5648  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5649  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5650  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5651  },
                                                                                                                                      +
                                                                                                                                      5652 
                                                                                                                                      +
                                                                                                                                      5653 };
                                                                                                                                      +
                                                                                                                                      5654 
                                                                                                                                      +
                                                                                                                                      5655 static const char kZoneNameAustralia_Perth[] ACE_TIME_PROGMEM = "Australia/Perth";
                                                                                                                                      +
                                                                                                                                      5656 
                                                                                                                                      +
                                                                                                                                      5657 const basic::ZoneInfo kZoneAustralia_Perth ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5658  kZoneNameAustralia_Perth /*name*/,
                                                                                                                                      +
                                                                                                                                      5659  0x8db8269d /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5660  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5661  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5662  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5663  kZoneEraAustralia_Perth /*eras*/,
                                                                                                                                      +
                                                                                                                                      5664 };
                                                                                                                                      +
                                                                                                                                      5665 
                                                                                                                                      +
                                                                                                                                      5666 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5667 // Zone name: Australia/Sydney
                                                                                                                                      +
                                                                                                                                      5668 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5669 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      5670 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      5671 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      5672 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5673 
                                                                                                                                      +
                                                                                                                                      5674 static const basic::ZoneEra kZoneEraAustralia_Sydney[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5675  // 10:00 AN AE%sT
                                                                                                                                      +
                                                                                                                                      5676  {
                                                                                                                                      +
                                                                                                                                      5677  &kPolicyAN /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5678  "AE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5679  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5680  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5681  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5682  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5683  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5684  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5685  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5686  },
                                                                                                                                      +
                                                                                                                                      5687 
                                                                                                                                      +
                                                                                                                                      5688 };
                                                                                                                                      +
                                                                                                                                      5689 
                                                                                                                                      +
                                                                                                                                      5690 static const char kZoneNameAustralia_Sydney[] ACE_TIME_PROGMEM = "Australia/Sydney";
                                                                                                                                      +
                                                                                                                                      5691 
                                                                                                                                      +
                                                                                                                                      5692 const basic::ZoneInfo kZoneAustralia_Sydney ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5693  kZoneNameAustralia_Sydney /*name*/,
                                                                                                                                      +
                                                                                                                                      5694  0x4d1e9776 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5695  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5696  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5697  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5698  kZoneEraAustralia_Sydney /*eras*/,
                                                                                                                                      +
                                                                                                                                      5699 };
                                                                                                                                      +
                                                                                                                                      5700 
                                                                                                                                      +
                                                                                                                                      5701 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5702 // Zone name: CET
                                                                                                                                      +
                                                                                                                                      5703 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5704 // Strings (bytes): 9
                                                                                                                                      +
                                                                                                                                      5705 // Memory (8-bit): 32
                                                                                                                                      +
                                                                                                                                      5706 // Memory (32-bit): 45
                                                                                                                                      +
                                                                                                                                      5707 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5708 
                                                                                                                                      +
                                                                                                                                      5709 static const basic::ZoneEra kZoneEraCET[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5710  // 1:00 C-Eur CE%sT
                                                                                                                                      +
                                                                                                                                      5711  {
                                                                                                                                      +
                                                                                                                                      5712  &kPolicyC_Eur /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5713  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5714  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5715  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5716  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5717  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5718  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5719  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5720  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5721  },
                                                                                                                                      +
                                                                                                                                      5722 
                                                                                                                                      +
                                                                                                                                      5723 };
                                                                                                                                      +
                                                                                                                                      5724 
                                                                                                                                      +
                                                                                                                                      5725 static const char kZoneNameCET[] ACE_TIME_PROGMEM = "CET";
                                                                                                                                      +
                                                                                                                                      5726 
                                                                                                                                      +
                                                                                                                                      5727 const basic::ZoneInfo kZoneCET ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5728  kZoneNameCET /*name*/,
                                                                                                                                      +
                                                                                                                                      5729  0x0b87d921 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5730  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5731  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5732  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5733  kZoneEraCET /*eras*/,
                                                                                                                                      +
                                                                                                                                      5734 };
                                                                                                                                      +
                                                                                                                                      5735 
                                                                                                                                      +
                                                                                                                                      5736 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5737 // Zone name: CST6CDT
                                                                                                                                      +
                                                                                                                                      5738 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5739 // Strings (bytes): 12
                                                                                                                                      +
                                                                                                                                      5740 // Memory (8-bit): 35
                                                                                                                                      +
                                                                                                                                      5741 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      5742 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5743 
                                                                                                                                      +
                                                                                                                                      5744 static const basic::ZoneEra kZoneEraCST6CDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5745  // -6:00 US C%sT
                                                                                                                                      +
                                                                                                                                      5746  {
                                                                                                                                      +
                                                                                                                                      5747  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5748  "C%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5749  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5750  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5751  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5752  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5753  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5754  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5755  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5756  },
                                                                                                                                      +
                                                                                                                                      5757 
                                                                                                                                      +
                                                                                                                                      5758 };
                                                                                                                                      +
                                                                                                                                      5759 
                                                                                                                                      +
                                                                                                                                      5760 static const char kZoneNameCST6CDT[] ACE_TIME_PROGMEM = "CST6CDT";
                                                                                                                                      +
                                                                                                                                      5761 
                                                                                                                                      +
                                                                                                                                      5762 const basic::ZoneInfo kZoneCST6CDT ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5763  kZoneNameCST6CDT /*name*/,
                                                                                                                                      +
                                                                                                                                      5764  0xf0e87d00 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5765  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5766  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5767  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5768  kZoneEraCST6CDT /*eras*/,
                                                                                                                                      +
                                                                                                                                      5769 };
                                                                                                                                      +
                                                                                                                                      5770 
                                                                                                                                      +
                                                                                                                                      5771 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5772 // Zone name: EET
                                                                                                                                      +
                                                                                                                                      5773 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5774 // Strings (bytes): 9
                                                                                                                                      +
                                                                                                                                      5775 // Memory (8-bit): 32
                                                                                                                                      +
                                                                                                                                      5776 // Memory (32-bit): 45
                                                                                                                                      +
                                                                                                                                      5777 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5778 
                                                                                                                                      +
                                                                                                                                      5779 static const basic::ZoneEra kZoneEraEET[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5780  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      5781  {
                                                                                                                                      +
                                                                                                                                      5782  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5783  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5784  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5785  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5786  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5787  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5788  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5789  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5790  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5791  },
                                                                                                                                      +
                                                                                                                                      5792 
                                                                                                                                      +
                                                                                                                                      5793 };
                                                                                                                                      +
                                                                                                                                      5794 
                                                                                                                                      +
                                                                                                                                      5795 static const char kZoneNameEET[] ACE_TIME_PROGMEM = "EET";
                                                                                                                                      +
                                                                                                                                      5796 
                                                                                                                                      +
                                                                                                                                      5797 const basic::ZoneInfo kZoneEET ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5798  kZoneNameEET /*name*/,
                                                                                                                                      +
                                                                                                                                      5799  0x0b87e1a3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5800  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5801  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5802  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5803  kZoneEraEET /*eras*/,
                                                                                                                                      +
                                                                                                                                      5804 };
                                                                                                                                      +
                                                                                                                                      5805 
                                                                                                                                      +
                                                                                                                                      5806 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5807 // Zone name: EST
                                                                                                                                      +
                                                                                                                                      5808 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5809 // Strings (bytes): 8
                                                                                                                                      +
                                                                                                                                      5810 // Memory (8-bit): 31
                                                                                                                                      +
                                                                                                                                      5811 // Memory (32-bit): 44
                                                                                                                                      +
                                                                                                                                      5812 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5813 
                                                                                                                                      +
                                                                                                                                      5814 static const basic::ZoneEra kZoneEraEST[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5815  // -5:00 - EST
                                                                                                                                      +
                                                                                                                                      5816  {
                                                                                                                                      +
                                                                                                                                      5817  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5818  "EST" /*format*/,
                                                                                                                                      +
                                                                                                                                      5819  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5820  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5821  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5822  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5823  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5824  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5825  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5826  },
                                                                                                                                      +
                                                                                                                                      5827 
                                                                                                                                      +
                                                                                                                                      5828 };
                                                                                                                                      +
                                                                                                                                      5829 
                                                                                                                                      +
                                                                                                                                      5830 static const char kZoneNameEST[] ACE_TIME_PROGMEM = "EST";
                                                                                                                                      +
                                                                                                                                      5831 
                                                                                                                                      +
                                                                                                                                      5832 const basic::ZoneInfo kZoneEST ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5833  kZoneNameEST /*name*/,
                                                                                                                                      +
                                                                                                                                      5834  0x0b87e371 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5835  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5836  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5837  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5838  kZoneEraEST /*eras*/,
                                                                                                                                      +
                                                                                                                                      5839 };
                                                                                                                                      +
                                                                                                                                      5840 
                                                                                                                                      +
                                                                                                                                      5841 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5842 // Zone name: EST5EDT
                                                                                                                                      +
                                                                                                                                      5843 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5844 // Strings (bytes): 12
                                                                                                                                      +
                                                                                                                                      5845 // Memory (8-bit): 35
                                                                                                                                      +
                                                                                                                                      5846 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      5847 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5848 
                                                                                                                                      +
                                                                                                                                      5849 static const basic::ZoneEra kZoneEraEST5EDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5850  // -5:00 US E%sT
                                                                                                                                      +
                                                                                                                                      5851  {
                                                                                                                                      +
                                                                                                                                      5852  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5853  "E%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      5854  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5855  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5856  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5857  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5858  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5859  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5860  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5861  },
                                                                                                                                      +
                                                                                                                                      5862 
                                                                                                                                      +
                                                                                                                                      5863 };
                                                                                                                                      +
                                                                                                                                      5864 
                                                                                                                                      +
                                                                                                                                      5865 static const char kZoneNameEST5EDT[] ACE_TIME_PROGMEM = "EST5EDT";
                                                                                                                                      +
                                                                                                                                      5866 
                                                                                                                                      +
                                                                                                                                      5867 const basic::ZoneInfo kZoneEST5EDT ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5868  kZoneNameEST5EDT /*name*/,
                                                                                                                                      +
                                                                                                                                      5869  0x8adc72a3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5870  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5871  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5872  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5873  kZoneEraEST5EDT /*eras*/,
                                                                                                                                      +
                                                                                                                                      5874 };
                                                                                                                                      +
                                                                                                                                      5875 
                                                                                                                                      +
                                                                                                                                      5876 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5877 // Zone name: Etc/GMT
                                                                                                                                      +
                                                                                                                                      5878 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5879 // Strings (bytes): 12
                                                                                                                                      +
                                                                                                                                      5880 // Memory (8-bit): 35
                                                                                                                                      +
                                                                                                                                      5881 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      5882 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5883 
                                                                                                                                      +
                                                                                                                                      5884 static const basic::ZoneEra kZoneEraEtc_GMT[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5885  // 0 - GMT
                                                                                                                                      +
                                                                                                                                      5886  {
                                                                                                                                      +
                                                                                                                                      5887  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5888  "GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      5889  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5890  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5891  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5892  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5893  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5894  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5895  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5896  },
                                                                                                                                      +
                                                                                                                                      5897 
                                                                                                                                      +
                                                                                                                                      5898 };
                                                                                                                                      +
                                                                                                                                      5899 
                                                                                                                                      +
                                                                                                                                      5900 static const char kZoneNameEtc_GMT[] ACE_TIME_PROGMEM = "Etc/GMT";
                                                                                                                                      +
                                                                                                                                      5901 
                                                                                                                                      +
                                                                                                                                      5902 const basic::ZoneInfo kZoneEtc_GMT ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5903  kZoneNameEtc_GMT /*name*/,
                                                                                                                                      +
                                                                                                                                      5904  0xd8e2de58 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5905  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5906  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5907  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5908  kZoneEraEtc_GMT /*eras*/,
                                                                                                                                      +
                                                                                                                                      5909 };
                                                                                                                                      +
                                                                                                                                      5910 
                                                                                                                                      +
                                                                                                                                      5911 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5912 // Zone name: Etc/GMT+1
                                                                                                                                      +
                                                                                                                                      5913 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5914 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      5915 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      5916 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      5917 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5918 
                                                                                                                                      +
                                                                                                                                      5919 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5920  // -1 - -01
                                                                                                                                      +
                                                                                                                                      5921  {
                                                                                                                                      +
                                                                                                                                      5922  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5923  "-01" /*format*/,
                                                                                                                                      +
                                                                                                                                      5924  -4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5925  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5926  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5927  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5928  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5929  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5930  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5931  },
                                                                                                                                      +
                                                                                                                                      5932 
                                                                                                                                      +
                                                                                                                                      5933 };
                                                                                                                                      +
                                                                                                                                      5934 
                                                                                                                                      +
                                                                                                                                      5935 static const char kZoneNameEtc_GMT_PLUS_1[] ACE_TIME_PROGMEM = "Etc/GMT+1";
                                                                                                                                      +
                                                                                                                                      5936 
                                                                                                                                      +
                                                                                                                                      5937 const basic::ZoneInfo kZoneEtc_GMT_PLUS_1 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5938  kZoneNameEtc_GMT_PLUS_1 /*name*/,
                                                                                                                                      +
                                                                                                                                      5939  0x9d13da14 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5940  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5941  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5942  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5943  kZoneEraEtc_GMT_PLUS_1 /*eras*/,
                                                                                                                                      +
                                                                                                                                      5944 };
                                                                                                                                      +
                                                                                                                                      5945 
                                                                                                                                      +
                                                                                                                                      5946 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5947 // Zone name: Etc/GMT+10
                                                                                                                                      +
                                                                                                                                      5948 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5949 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      5950 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      5951 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      5952 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5953 
                                                                                                                                      +
                                                                                                                                      5954 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5955  // -10 - -10
                                                                                                                                      +
                                                                                                                                      5956  {
                                                                                                                                      +
                                                                                                                                      5957  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5958  "-10" /*format*/,
                                                                                                                                      +
                                                                                                                                      5959  -40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5960  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5961  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5962  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5963  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5964  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5965  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5966  },
                                                                                                                                      +
                                                                                                                                      5967 
                                                                                                                                      +
                                                                                                                                      5968 };
                                                                                                                                      +
                                                                                                                                      5969 
                                                                                                                                      +
                                                                                                                                      5970 static const char kZoneNameEtc_GMT_PLUS_10[] ACE_TIME_PROGMEM = "Etc/GMT+10";
                                                                                                                                      +
                                                                                                                                      5971 
                                                                                                                                      +
                                                                                                                                      5972 const basic::ZoneInfo kZoneEtc_GMT_PLUS_10 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5973  kZoneNameEtc_GMT_PLUS_10 /*name*/,
                                                                                                                                      +
                                                                                                                                      5974  0x3f8f1cc4 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      5975  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      5976  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      5977  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      5978  kZoneEraEtc_GMT_PLUS_10 /*eras*/,
                                                                                                                                      +
                                                                                                                                      5979 };
                                                                                                                                      +
                                                                                                                                      5980 
                                                                                                                                      +
                                                                                                                                      5981 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5982 // Zone name: Etc/GMT+11
                                                                                                                                      +
                                                                                                                                      5983 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      5984 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      5985 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      5986 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      5987 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5988 
                                                                                                                                      +
                                                                                                                                      5989 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5990  // -11 - -11
                                                                                                                                      +
                                                                                                                                      5991  {
                                                                                                                                      +
                                                                                                                                      5992  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      5993  "-11" /*format*/,
                                                                                                                                      +
                                                                                                                                      5994  -44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      5995  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5996  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5997  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      5998  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      5999  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6000  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6001  },
                                                                                                                                      +
                                                                                                                                      6002 
                                                                                                                                      +
                                                                                                                                      6003 };
                                                                                                                                      +
                                                                                                                                      6004 
                                                                                                                                      +
                                                                                                                                      6005 static const char kZoneNameEtc_GMT_PLUS_11[] ACE_TIME_PROGMEM = "Etc/GMT+11";
                                                                                                                                      +
                                                                                                                                      6006 
                                                                                                                                      +
                                                                                                                                      6007 const basic::ZoneInfo kZoneEtc_GMT_PLUS_11 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6008  kZoneNameEtc_GMT_PLUS_11 /*name*/,
                                                                                                                                      +
                                                                                                                                      6009  0x3f8f1cc5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6010  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6011  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6012  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6013  kZoneEraEtc_GMT_PLUS_11 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6014 };
                                                                                                                                      +
                                                                                                                                      6015 
                                                                                                                                      +
                                                                                                                                      6016 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6017 // Zone name: Etc/GMT+12
                                                                                                                                      +
                                                                                                                                      6018 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6019 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      6020 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      6021 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      6022 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6023 
                                                                                                                                      +
                                                                                                                                      6024 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6025  // -12 - -12
                                                                                                                                      +
                                                                                                                                      6026  {
                                                                                                                                      +
                                                                                                                                      6027  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6028  "-12" /*format*/,
                                                                                                                                      +
                                                                                                                                      6029  -48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6030  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6031  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6032  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6033  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6034  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6035  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6036  },
                                                                                                                                      +
                                                                                                                                      6037 
                                                                                                                                      +
                                                                                                                                      6038 };
                                                                                                                                      +
                                                                                                                                      6039 
                                                                                                                                      +
                                                                                                                                      6040 static const char kZoneNameEtc_GMT_PLUS_12[] ACE_TIME_PROGMEM = "Etc/GMT+12";
                                                                                                                                      +
                                                                                                                                      6041 
                                                                                                                                      +
                                                                                                                                      6042 const basic::ZoneInfo kZoneEtc_GMT_PLUS_12 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6043  kZoneNameEtc_GMT_PLUS_12 /*name*/,
                                                                                                                                      +
                                                                                                                                      6044  0x3f8f1cc6 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6045  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6046  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6047  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6048  kZoneEraEtc_GMT_PLUS_12 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6049 };
                                                                                                                                      +
                                                                                                                                      6050 
                                                                                                                                      +
                                                                                                                                      6051 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6052 // Zone name: Etc/GMT+2
                                                                                                                                      +
                                                                                                                                      6053 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6054 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6055 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6056 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6057 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6058 
                                                                                                                                      +
                                                                                                                                      6059 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6060  // -2 - -02
                                                                                                                                      +
                                                                                                                                      6061  {
                                                                                                                                      +
                                                                                                                                      6062  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6063  "-02" /*format*/,
                                                                                                                                      +
                                                                                                                                      6064  -8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6065  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6066  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6067  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6068  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6069  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6070  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6071  },
                                                                                                                                      +
                                                                                                                                      6072 
                                                                                                                                      +
                                                                                                                                      6073 };
                                                                                                                                      +
                                                                                                                                      6074 
                                                                                                                                      +
                                                                                                                                      6075 static const char kZoneNameEtc_GMT_PLUS_2[] ACE_TIME_PROGMEM = "Etc/GMT+2";
                                                                                                                                      +
                                                                                                                                      6076 
                                                                                                                                      +
                                                                                                                                      6077 const basic::ZoneInfo kZoneEtc_GMT_PLUS_2 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6078  kZoneNameEtc_GMT_PLUS_2 /*name*/,
                                                                                                                                      +
                                                                                                                                      6079  0x9d13da15 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6080  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6081  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6082  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6083  kZoneEraEtc_GMT_PLUS_2 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6084 };
                                                                                                                                      +
                                                                                                                                      6085 
                                                                                                                                      +
                                                                                                                                      6086 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6087 // Zone name: Etc/GMT+3
                                                                                                                                      +
                                                                                                                                      6088 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6089 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6090 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6091 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6092 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6093 
                                                                                                                                      +
                                                                                                                                      6094 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6095  // -3 - -03
                                                                                                                                      +
                                                                                                                                      6096  {
                                                                                                                                      +
                                                                                                                                      6097  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6098  "-03" /*format*/,
                                                                                                                                      +
                                                                                                                                      6099  -12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6100  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6101  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6102  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6103  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6104  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6105  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6106  },
                                                                                                                                      +
                                                                                                                                      6107 
                                                                                                                                      +
                                                                                                                                      6108 };
                                                                                                                                      +
                                                                                                                                      6109 
                                                                                                                                      +
                                                                                                                                      6110 static const char kZoneNameEtc_GMT_PLUS_3[] ACE_TIME_PROGMEM = "Etc/GMT+3";
                                                                                                                                      +
                                                                                                                                      6111 
                                                                                                                                      +
                                                                                                                                      6112 const basic::ZoneInfo kZoneEtc_GMT_PLUS_3 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6113  kZoneNameEtc_GMT_PLUS_3 /*name*/,
                                                                                                                                      +
                                                                                                                                      6114  0x9d13da16 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6115  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6116  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6117  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6118  kZoneEraEtc_GMT_PLUS_3 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6119 };
                                                                                                                                      +
                                                                                                                                      6120 
                                                                                                                                      +
                                                                                                                                      6121 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6122 // Zone name: Etc/GMT+4
                                                                                                                                      +
                                                                                                                                      6123 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6124 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6125 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6126 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6127 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6128 
                                                                                                                                      +
                                                                                                                                      6129 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6130  // -4 - -04
                                                                                                                                      +
                                                                                                                                      6131  {
                                                                                                                                      +
                                                                                                                                      6132  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6133  "-04" /*format*/,
                                                                                                                                      +
                                                                                                                                      6134  -16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6135  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6136  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6137  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6138  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6139  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6140  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6141  },
                                                                                                                                      +
                                                                                                                                      6142 
                                                                                                                                      +
                                                                                                                                      6143 };
                                                                                                                                      +
                                                                                                                                      6144 
                                                                                                                                      +
                                                                                                                                      6145 static const char kZoneNameEtc_GMT_PLUS_4[] ACE_TIME_PROGMEM = "Etc/GMT+4";
                                                                                                                                      +
                                                                                                                                      6146 
                                                                                                                                      +
                                                                                                                                      6147 const basic::ZoneInfo kZoneEtc_GMT_PLUS_4 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6148  kZoneNameEtc_GMT_PLUS_4 /*name*/,
                                                                                                                                      +
                                                                                                                                      6149  0x9d13da17 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6150  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6151  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6152  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6153  kZoneEraEtc_GMT_PLUS_4 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6154 };
                                                                                                                                      +
                                                                                                                                      6155 
                                                                                                                                      +
                                                                                                                                      6156 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6157 // Zone name: Etc/GMT+5
                                                                                                                                      +
                                                                                                                                      6158 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6159 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6160 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6161 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6162 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6163 
                                                                                                                                      +
                                                                                                                                      6164 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6165  // -5 - -05
                                                                                                                                      +
                                                                                                                                      6166  {
                                                                                                                                      +
                                                                                                                                      6167  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6168  "-05" /*format*/,
                                                                                                                                      +
                                                                                                                                      6169  -20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6170  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6171  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6172  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6173  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6174  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6175  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6176  },
                                                                                                                                      +
                                                                                                                                      6177 
                                                                                                                                      +
                                                                                                                                      6178 };
                                                                                                                                      +
                                                                                                                                      6179 
                                                                                                                                      +
                                                                                                                                      6180 static const char kZoneNameEtc_GMT_PLUS_5[] ACE_TIME_PROGMEM = "Etc/GMT+5";
                                                                                                                                      +
                                                                                                                                      6181 
                                                                                                                                      +
                                                                                                                                      6182 const basic::ZoneInfo kZoneEtc_GMT_PLUS_5 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6183  kZoneNameEtc_GMT_PLUS_5 /*name*/,
                                                                                                                                      +
                                                                                                                                      6184  0x9d13da18 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6185  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6186  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6187  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6188  kZoneEraEtc_GMT_PLUS_5 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6189 };
                                                                                                                                      +
                                                                                                                                      6190 
                                                                                                                                      +
                                                                                                                                      6191 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6192 // Zone name: Etc/GMT+6
                                                                                                                                      +
                                                                                                                                      6193 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6194 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6195 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6196 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6197 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6198 
                                                                                                                                      +
                                                                                                                                      6199 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6200  // -6 - -06
                                                                                                                                      +
                                                                                                                                      6201  {
                                                                                                                                      +
                                                                                                                                      6202  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6203  "-06" /*format*/,
                                                                                                                                      +
                                                                                                                                      6204  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6205  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6206  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6207  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6208  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6209  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6210  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6211  },
                                                                                                                                      +
                                                                                                                                      6212 
                                                                                                                                      +
                                                                                                                                      6213 };
                                                                                                                                      +
                                                                                                                                      6214 
                                                                                                                                      +
                                                                                                                                      6215 static const char kZoneNameEtc_GMT_PLUS_6[] ACE_TIME_PROGMEM = "Etc/GMT+6";
                                                                                                                                      +
                                                                                                                                      6216 
                                                                                                                                      +
                                                                                                                                      6217 const basic::ZoneInfo kZoneEtc_GMT_PLUS_6 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6218  kZoneNameEtc_GMT_PLUS_6 /*name*/,
                                                                                                                                      +
                                                                                                                                      6219  0x9d13da19 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6220  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6221  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6222  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6223  kZoneEraEtc_GMT_PLUS_6 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6224 };
                                                                                                                                      +
                                                                                                                                      6225 
                                                                                                                                      +
                                                                                                                                      6226 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6227 // Zone name: Etc/GMT+7
                                                                                                                                      +
                                                                                                                                      6228 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6229 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6230 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6231 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6232 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6233 
                                                                                                                                      +
                                                                                                                                      6234 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6235  // -7 - -07
                                                                                                                                      +
                                                                                                                                      6236  {
                                                                                                                                      +
                                                                                                                                      6237  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6238  "-07" /*format*/,
                                                                                                                                      +
                                                                                                                                      6239  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6240  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6241  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6242  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6243  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6244  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6245  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6246  },
                                                                                                                                      +
                                                                                                                                      6247 
                                                                                                                                      +
                                                                                                                                      6248 };
                                                                                                                                      +
                                                                                                                                      6249 
                                                                                                                                      +
                                                                                                                                      6250 static const char kZoneNameEtc_GMT_PLUS_7[] ACE_TIME_PROGMEM = "Etc/GMT+7";
                                                                                                                                      +
                                                                                                                                      6251 
                                                                                                                                      +
                                                                                                                                      6252 const basic::ZoneInfo kZoneEtc_GMT_PLUS_7 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6253  kZoneNameEtc_GMT_PLUS_7 /*name*/,
                                                                                                                                      +
                                                                                                                                      6254  0x9d13da1a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6255  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6256  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6257  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6258  kZoneEraEtc_GMT_PLUS_7 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6259 };
                                                                                                                                      +
                                                                                                                                      6260 
                                                                                                                                      +
                                                                                                                                      6261 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6262 // Zone name: Etc/GMT+8
                                                                                                                                      +
                                                                                                                                      6263 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6264 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6265 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6266 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6267 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6268 
                                                                                                                                      +
                                                                                                                                      6269 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6270  // -8 - -08
                                                                                                                                      +
                                                                                                                                      6271  {
                                                                                                                                      +
                                                                                                                                      6272  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6273  "-08" /*format*/,
                                                                                                                                      +
                                                                                                                                      6274  -32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6275  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6276  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6277  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6278  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6279  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6280  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6281  },
                                                                                                                                      +
                                                                                                                                      6282 
                                                                                                                                      +
                                                                                                                                      6283 };
                                                                                                                                      +
                                                                                                                                      6284 
                                                                                                                                      +
                                                                                                                                      6285 static const char kZoneNameEtc_GMT_PLUS_8[] ACE_TIME_PROGMEM = "Etc/GMT+8";
                                                                                                                                      +
                                                                                                                                      6286 
                                                                                                                                      +
                                                                                                                                      6287 const basic::ZoneInfo kZoneEtc_GMT_PLUS_8 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6288  kZoneNameEtc_GMT_PLUS_8 /*name*/,
                                                                                                                                      +
                                                                                                                                      6289  0x9d13da1b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6290  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6291  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6292  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6293  kZoneEraEtc_GMT_PLUS_8 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6294 };
                                                                                                                                      +
                                                                                                                                      6295 
                                                                                                                                      +
                                                                                                                                      6296 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6297 // Zone name: Etc/GMT+9
                                                                                                                                      +
                                                                                                                                      6298 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6299 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6300 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6301 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6302 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6303 
                                                                                                                                      +
                                                                                                                                      6304 static const basic::ZoneEra kZoneEraEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6305  // -9 - -09
                                                                                                                                      +
                                                                                                                                      6306  {
                                                                                                                                      +
                                                                                                                                      6307  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6308  "-09" /*format*/,
                                                                                                                                      +
                                                                                                                                      6309  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6310  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6311  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6312  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6313  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6314  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6315  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6316  },
                                                                                                                                      +
                                                                                                                                      6317 
                                                                                                                                      +
                                                                                                                                      6318 };
                                                                                                                                      +
                                                                                                                                      6319 
                                                                                                                                      +
                                                                                                                                      6320 static const char kZoneNameEtc_GMT_PLUS_9[] ACE_TIME_PROGMEM = "Etc/GMT+9";
                                                                                                                                      +
                                                                                                                                      6321 
                                                                                                                                      +
                                                                                                                                      6322 const basic::ZoneInfo kZoneEtc_GMT_PLUS_9 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6323  kZoneNameEtc_GMT_PLUS_9 /*name*/,
                                                                                                                                      +
                                                                                                                                      6324  0x9d13da1c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6325  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6326  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6327  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6328  kZoneEraEtc_GMT_PLUS_9 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6329 };
                                                                                                                                      +
                                                                                                                                      6330 
                                                                                                                                      +
                                                                                                                                      6331 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6332 // Zone name: Etc/GMT-1
                                                                                                                                      +
                                                                                                                                      6333 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6334 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6335 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6336 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6337 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6338 
                                                                                                                                      +
                                                                                                                                      6339 static const basic::ZoneEra kZoneEraEtc_GMT_1[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6340  // 1 - +01
                                                                                                                                      +
                                                                                                                                      6341  {
                                                                                                                                      +
                                                                                                                                      6342  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6343  "+01" /*format*/,
                                                                                                                                      +
                                                                                                                                      6344  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6345  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6346  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6347  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6348  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6349  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6350  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6351  },
                                                                                                                                      +
                                                                                                                                      6352 
                                                                                                                                      +
                                                                                                                                      6353 };
                                                                                                                                      +
                                                                                                                                      6354 
                                                                                                                                      +
                                                                                                                                      6355 static const char kZoneNameEtc_GMT_1[] ACE_TIME_PROGMEM = "Etc/GMT-1";
                                                                                                                                      +
                                                                                                                                      6356 
                                                                                                                                      +
                                                                                                                                      6357 const basic::ZoneInfo kZoneEtc_GMT_1 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6358  kZoneNameEtc_GMT_1 /*name*/,
                                                                                                                                      +
                                                                                                                                      6359  0x9d13da56 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6360  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6361  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6362  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6363  kZoneEraEtc_GMT_1 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6364 };
                                                                                                                                      +
                                                                                                                                      6365 
                                                                                                                                      +
                                                                                                                                      6366 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6367 // Zone name: Etc/GMT-10
                                                                                                                                      +
                                                                                                                                      6368 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6369 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      6370 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      6371 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      6372 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6373 
                                                                                                                                      +
                                                                                                                                      6374 static const basic::ZoneEra kZoneEraEtc_GMT_10[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6375  // 10 - +10
                                                                                                                                      +
                                                                                                                                      6376  {
                                                                                                                                      +
                                                                                                                                      6377  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6378  "+10" /*format*/,
                                                                                                                                      +
                                                                                                                                      6379  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6380  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6381  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6382  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6383  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6384  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6385  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6386  },
                                                                                                                                      +
                                                                                                                                      6387 
                                                                                                                                      +
                                                                                                                                      6388 };
                                                                                                                                      +
                                                                                                                                      6389 
                                                                                                                                      +
                                                                                                                                      6390 static const char kZoneNameEtc_GMT_10[] ACE_TIME_PROGMEM = "Etc/GMT-10";
                                                                                                                                      +
                                                                                                                                      6391 
                                                                                                                                      +
                                                                                                                                      6392 const basic::ZoneInfo kZoneEtc_GMT_10 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6393  kZoneNameEtc_GMT_10 /*name*/,
                                                                                                                                      +
                                                                                                                                      6394  0x3f8f2546 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6395  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6396  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6397  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6398  kZoneEraEtc_GMT_10 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6399 };
                                                                                                                                      +
                                                                                                                                      6400 
                                                                                                                                      +
                                                                                                                                      6401 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6402 // Zone name: Etc/GMT-11
                                                                                                                                      +
                                                                                                                                      6403 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6404 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      6405 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      6406 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      6407 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6408 
                                                                                                                                      +
                                                                                                                                      6409 static const basic::ZoneEra kZoneEraEtc_GMT_11[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6410  // 11 - +11
                                                                                                                                      +
                                                                                                                                      6411  {
                                                                                                                                      +
                                                                                                                                      6412  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6413  "+11" /*format*/,
                                                                                                                                      +
                                                                                                                                      6414  44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6415  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6416  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6417  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6418  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6419  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6420  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6421  },
                                                                                                                                      +
                                                                                                                                      6422 
                                                                                                                                      +
                                                                                                                                      6423 };
                                                                                                                                      +
                                                                                                                                      6424 
                                                                                                                                      +
                                                                                                                                      6425 static const char kZoneNameEtc_GMT_11[] ACE_TIME_PROGMEM = "Etc/GMT-11";
                                                                                                                                      +
                                                                                                                                      6426 
                                                                                                                                      +
                                                                                                                                      6427 const basic::ZoneInfo kZoneEtc_GMT_11 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6428  kZoneNameEtc_GMT_11 /*name*/,
                                                                                                                                      +
                                                                                                                                      6429  0x3f8f2547 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6430  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6431  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6432  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6433  kZoneEraEtc_GMT_11 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6434 };
                                                                                                                                      +
                                                                                                                                      6435 
                                                                                                                                      +
                                                                                                                                      6436 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6437 // Zone name: Etc/GMT-12
                                                                                                                                      +
                                                                                                                                      6438 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6439 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      6440 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      6441 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      6442 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6443 
                                                                                                                                      +
                                                                                                                                      6444 static const basic::ZoneEra kZoneEraEtc_GMT_12[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6445  // 12 - +12
                                                                                                                                      +
                                                                                                                                      6446  {
                                                                                                                                      +
                                                                                                                                      6447  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6448  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      6449  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6450  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6451  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6452  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6453  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6454  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6455  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6456  },
                                                                                                                                      +
                                                                                                                                      6457 
                                                                                                                                      +
                                                                                                                                      6458 };
                                                                                                                                      +
                                                                                                                                      6459 
                                                                                                                                      +
                                                                                                                                      6460 static const char kZoneNameEtc_GMT_12[] ACE_TIME_PROGMEM = "Etc/GMT-12";
                                                                                                                                      +
                                                                                                                                      6461 
                                                                                                                                      +
                                                                                                                                      6462 const basic::ZoneInfo kZoneEtc_GMT_12 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6463  kZoneNameEtc_GMT_12 /*name*/,
                                                                                                                                      +
                                                                                                                                      6464  0x3f8f2548 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6465  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6466  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6467  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6468  kZoneEraEtc_GMT_12 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6469 };
                                                                                                                                      +
                                                                                                                                      6470 
                                                                                                                                      +
                                                                                                                                      6471 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6472 // Zone name: Etc/GMT-13
                                                                                                                                      +
                                                                                                                                      6473 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6474 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      6475 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      6476 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      6477 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6478 
                                                                                                                                      +
                                                                                                                                      6479 static const basic::ZoneEra kZoneEraEtc_GMT_13[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6480  // 13 - +13
                                                                                                                                      +
                                                                                                                                      6481  {
                                                                                                                                      +
                                                                                                                                      6482  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6483  "+13" /*format*/,
                                                                                                                                      +
                                                                                                                                      6484  52 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6485  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6486  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6487  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6488  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6489  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6490  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6491  },
                                                                                                                                      +
                                                                                                                                      6492 
                                                                                                                                      +
                                                                                                                                      6493 };
                                                                                                                                      +
                                                                                                                                      6494 
                                                                                                                                      +
                                                                                                                                      6495 static const char kZoneNameEtc_GMT_13[] ACE_TIME_PROGMEM = "Etc/GMT-13";
                                                                                                                                      +
                                                                                                                                      6496 
                                                                                                                                      +
                                                                                                                                      6497 const basic::ZoneInfo kZoneEtc_GMT_13 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6498  kZoneNameEtc_GMT_13 /*name*/,
                                                                                                                                      +
                                                                                                                                      6499  0x3f8f2549 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6500  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6501  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6502  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6503  kZoneEraEtc_GMT_13 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6504 };
                                                                                                                                      +
                                                                                                                                      6505 
                                                                                                                                      +
                                                                                                                                      6506 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6507 // Zone name: Etc/GMT-14
                                                                                                                                      +
                                                                                                                                      6508 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6509 // Strings (bytes): 15
                                                                                                                                      +
                                                                                                                                      6510 // Memory (8-bit): 38
                                                                                                                                      +
                                                                                                                                      6511 // Memory (32-bit): 51
                                                                                                                                      +
                                                                                                                                      6512 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6513 
                                                                                                                                      +
                                                                                                                                      6514 static const basic::ZoneEra kZoneEraEtc_GMT_14[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6515  // 14 - +14
                                                                                                                                      +
                                                                                                                                      6516  {
                                                                                                                                      +
                                                                                                                                      6517  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6518  "+14" /*format*/,
                                                                                                                                      +
                                                                                                                                      6519  56 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6520  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6521  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6522  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6523  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6524  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6525  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6526  },
                                                                                                                                      +
                                                                                                                                      6527 
                                                                                                                                      +
                                                                                                                                      6528 };
                                                                                                                                      +
                                                                                                                                      6529 
                                                                                                                                      +
                                                                                                                                      6530 static const char kZoneNameEtc_GMT_14[] ACE_TIME_PROGMEM = "Etc/GMT-14";
                                                                                                                                      +
                                                                                                                                      6531 
                                                                                                                                      +
                                                                                                                                      6532 const basic::ZoneInfo kZoneEtc_GMT_14 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6533  kZoneNameEtc_GMT_14 /*name*/,
                                                                                                                                      +
                                                                                                                                      6534  0x3f8f254a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6535  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6536  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6537  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6538  kZoneEraEtc_GMT_14 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6539 };
                                                                                                                                      +
                                                                                                                                      6540 
                                                                                                                                      +
                                                                                                                                      6541 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6542 // Zone name: Etc/GMT-2
                                                                                                                                      +
                                                                                                                                      6543 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6544 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6545 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6546 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6547 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6548 
                                                                                                                                      +
                                                                                                                                      6549 static const basic::ZoneEra kZoneEraEtc_GMT_2[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6550  // 2 - +02
                                                                                                                                      +
                                                                                                                                      6551  {
                                                                                                                                      +
                                                                                                                                      6552  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6553  "+02" /*format*/,
                                                                                                                                      +
                                                                                                                                      6554  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6555  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6556  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6557  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6558  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6559  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6560  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6561  },
                                                                                                                                      +
                                                                                                                                      6562 
                                                                                                                                      +
                                                                                                                                      6563 };
                                                                                                                                      +
                                                                                                                                      6564 
                                                                                                                                      +
                                                                                                                                      6565 static const char kZoneNameEtc_GMT_2[] ACE_TIME_PROGMEM = "Etc/GMT-2";
                                                                                                                                      +
                                                                                                                                      6566 
                                                                                                                                      +
                                                                                                                                      6567 const basic::ZoneInfo kZoneEtc_GMT_2 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6568  kZoneNameEtc_GMT_2 /*name*/,
                                                                                                                                      +
                                                                                                                                      6569  0x9d13da57 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6570  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6571  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6572  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6573  kZoneEraEtc_GMT_2 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6574 };
                                                                                                                                      +
                                                                                                                                      6575 
                                                                                                                                      +
                                                                                                                                      6576 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6577 // Zone name: Etc/GMT-3
                                                                                                                                      +
                                                                                                                                      6578 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6579 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6580 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6581 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6582 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6583 
                                                                                                                                      +
                                                                                                                                      6584 static const basic::ZoneEra kZoneEraEtc_GMT_3[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6585  // 3 - +03
                                                                                                                                      +
                                                                                                                                      6586  {
                                                                                                                                      +
                                                                                                                                      6587  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6588  "+03" /*format*/,
                                                                                                                                      +
                                                                                                                                      6589  12 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6590  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6591  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6592  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6593  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6594  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6595  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6596  },
                                                                                                                                      +
                                                                                                                                      6597 
                                                                                                                                      +
                                                                                                                                      6598 };
                                                                                                                                      +
                                                                                                                                      6599 
                                                                                                                                      +
                                                                                                                                      6600 static const char kZoneNameEtc_GMT_3[] ACE_TIME_PROGMEM = "Etc/GMT-3";
                                                                                                                                      +
                                                                                                                                      6601 
                                                                                                                                      +
                                                                                                                                      6602 const basic::ZoneInfo kZoneEtc_GMT_3 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6603  kZoneNameEtc_GMT_3 /*name*/,
                                                                                                                                      +
                                                                                                                                      6604  0x9d13da58 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6605  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6606  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6607  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6608  kZoneEraEtc_GMT_3 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6609 };
                                                                                                                                      +
                                                                                                                                      6610 
                                                                                                                                      +
                                                                                                                                      6611 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6612 // Zone name: Etc/GMT-4
                                                                                                                                      +
                                                                                                                                      6613 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6614 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6615 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6616 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6617 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6618 
                                                                                                                                      +
                                                                                                                                      6619 static const basic::ZoneEra kZoneEraEtc_GMT_4[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6620  // 4 - +04
                                                                                                                                      +
                                                                                                                                      6621  {
                                                                                                                                      +
                                                                                                                                      6622  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6623  "+04" /*format*/,
                                                                                                                                      +
                                                                                                                                      6624  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6625  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6626  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6627  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6628  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6629  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6630  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6631  },
                                                                                                                                      +
                                                                                                                                      6632 
                                                                                                                                      +
                                                                                                                                      6633 };
                                                                                                                                      +
                                                                                                                                      6634 
                                                                                                                                      +
                                                                                                                                      6635 static const char kZoneNameEtc_GMT_4[] ACE_TIME_PROGMEM = "Etc/GMT-4";
                                                                                                                                      +
                                                                                                                                      6636 
                                                                                                                                      +
                                                                                                                                      6637 const basic::ZoneInfo kZoneEtc_GMT_4 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6638  kZoneNameEtc_GMT_4 /*name*/,
                                                                                                                                      +
                                                                                                                                      6639  0x9d13da59 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6640  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6641  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6642  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6643  kZoneEraEtc_GMT_4 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6644 };
                                                                                                                                      +
                                                                                                                                      6645 
                                                                                                                                      +
                                                                                                                                      6646 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6647 // Zone name: Etc/GMT-5
                                                                                                                                      +
                                                                                                                                      6648 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6649 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6650 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6651 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6652 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6653 
                                                                                                                                      +
                                                                                                                                      6654 static const basic::ZoneEra kZoneEraEtc_GMT_5[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6655  // 5 - +05
                                                                                                                                      +
                                                                                                                                      6656  {
                                                                                                                                      +
                                                                                                                                      6657  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6658  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      6659  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6660  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6661  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6662  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6663  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6664  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6665  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6666  },
                                                                                                                                      +
                                                                                                                                      6667 
                                                                                                                                      +
                                                                                                                                      6668 };
                                                                                                                                      +
                                                                                                                                      6669 
                                                                                                                                      +
                                                                                                                                      6670 static const char kZoneNameEtc_GMT_5[] ACE_TIME_PROGMEM = "Etc/GMT-5";
                                                                                                                                      +
                                                                                                                                      6671 
                                                                                                                                      +
                                                                                                                                      6672 const basic::ZoneInfo kZoneEtc_GMT_5 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6673  kZoneNameEtc_GMT_5 /*name*/,
                                                                                                                                      +
                                                                                                                                      6674  0x9d13da5a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6675  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6676  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6677  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6678  kZoneEraEtc_GMT_5 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6679 };
                                                                                                                                      +
                                                                                                                                      6680 
                                                                                                                                      +
                                                                                                                                      6681 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6682 // Zone name: Etc/GMT-6
                                                                                                                                      +
                                                                                                                                      6683 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6684 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6685 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6686 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6687 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6688 
                                                                                                                                      +
                                                                                                                                      6689 static const basic::ZoneEra kZoneEraEtc_GMT_6[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6690  // 6 - +06
                                                                                                                                      +
                                                                                                                                      6691  {
                                                                                                                                      +
                                                                                                                                      6692  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6693  "+06" /*format*/,
                                                                                                                                      +
                                                                                                                                      6694  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6695  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6696  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6697  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6698  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6699  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6700  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6701  },
                                                                                                                                      +
                                                                                                                                      6702 
                                                                                                                                      +
                                                                                                                                      6703 };
                                                                                                                                      +
                                                                                                                                      6704 
                                                                                                                                      +
                                                                                                                                      6705 static const char kZoneNameEtc_GMT_6[] ACE_TIME_PROGMEM = "Etc/GMT-6";
                                                                                                                                      +
                                                                                                                                      6706 
                                                                                                                                      +
                                                                                                                                      6707 const basic::ZoneInfo kZoneEtc_GMT_6 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6708  kZoneNameEtc_GMT_6 /*name*/,
                                                                                                                                      +
                                                                                                                                      6709  0x9d13da5b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6710  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6711  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6712  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6713  kZoneEraEtc_GMT_6 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6714 };
                                                                                                                                      +
                                                                                                                                      6715 
                                                                                                                                      +
                                                                                                                                      6716 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6717 // Zone name: Etc/GMT-7
                                                                                                                                      +
                                                                                                                                      6718 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6719 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6720 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6721 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6722 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6723 
                                                                                                                                      +
                                                                                                                                      6724 static const basic::ZoneEra kZoneEraEtc_GMT_7[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6725  // 7 - +07
                                                                                                                                      +
                                                                                                                                      6726  {
                                                                                                                                      +
                                                                                                                                      6727  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6728  "+07" /*format*/,
                                                                                                                                      +
                                                                                                                                      6729  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6730  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6731  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6732  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6733  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6734  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6735  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6736  },
                                                                                                                                      +
                                                                                                                                      6737 
                                                                                                                                      +
                                                                                                                                      6738 };
                                                                                                                                      +
                                                                                                                                      6739 
                                                                                                                                      +
                                                                                                                                      6740 static const char kZoneNameEtc_GMT_7[] ACE_TIME_PROGMEM = "Etc/GMT-7";
                                                                                                                                      +
                                                                                                                                      6741 
                                                                                                                                      +
                                                                                                                                      6742 const basic::ZoneInfo kZoneEtc_GMT_7 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6743  kZoneNameEtc_GMT_7 /*name*/,
                                                                                                                                      +
                                                                                                                                      6744  0x9d13da5c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6745  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6746  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6747  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6748  kZoneEraEtc_GMT_7 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6749 };
                                                                                                                                      +
                                                                                                                                      6750 
                                                                                                                                      +
                                                                                                                                      6751 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6752 // Zone name: Etc/GMT-8
                                                                                                                                      +
                                                                                                                                      6753 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6754 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6755 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6756 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6757 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6758 
                                                                                                                                      +
                                                                                                                                      6759 static const basic::ZoneEra kZoneEraEtc_GMT_8[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6760  // 8 - +08
                                                                                                                                      +
                                                                                                                                      6761  {
                                                                                                                                      +
                                                                                                                                      6762  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6763  "+08" /*format*/,
                                                                                                                                      +
                                                                                                                                      6764  32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6765  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6766  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6767  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6768  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6769  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6770  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6771  },
                                                                                                                                      +
                                                                                                                                      6772 
                                                                                                                                      +
                                                                                                                                      6773 };
                                                                                                                                      +
                                                                                                                                      6774 
                                                                                                                                      +
                                                                                                                                      6775 static const char kZoneNameEtc_GMT_8[] ACE_TIME_PROGMEM = "Etc/GMT-8";
                                                                                                                                      +
                                                                                                                                      6776 
                                                                                                                                      +
                                                                                                                                      6777 const basic::ZoneInfo kZoneEtc_GMT_8 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6778  kZoneNameEtc_GMT_8 /*name*/,
                                                                                                                                      +
                                                                                                                                      6779  0x9d13da5d /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6780  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6781  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6782  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6783  kZoneEraEtc_GMT_8 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6784 };
                                                                                                                                      +
                                                                                                                                      6785 
                                                                                                                                      +
                                                                                                                                      6786 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6787 // Zone name: Etc/GMT-9
                                                                                                                                      +
                                                                                                                                      6788 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6789 // Strings (bytes): 14
                                                                                                                                      +
                                                                                                                                      6790 // Memory (8-bit): 37
                                                                                                                                      +
                                                                                                                                      6791 // Memory (32-bit): 50
                                                                                                                                      +
                                                                                                                                      6792 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6793 
                                                                                                                                      +
                                                                                                                                      6794 static const basic::ZoneEra kZoneEraEtc_GMT_9[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6795  // 9 - +09
                                                                                                                                      +
                                                                                                                                      6796  {
                                                                                                                                      +
                                                                                                                                      6797  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6798  "+09" /*format*/,
                                                                                                                                      +
                                                                                                                                      6799  36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6800  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6801  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6802  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6803  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6804  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6805  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6806  },
                                                                                                                                      +
                                                                                                                                      6807 
                                                                                                                                      +
                                                                                                                                      6808 };
                                                                                                                                      +
                                                                                                                                      6809 
                                                                                                                                      +
                                                                                                                                      6810 static const char kZoneNameEtc_GMT_9[] ACE_TIME_PROGMEM = "Etc/GMT-9";
                                                                                                                                      +
                                                                                                                                      6811 
                                                                                                                                      +
                                                                                                                                      6812 const basic::ZoneInfo kZoneEtc_GMT_9 ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6813  kZoneNameEtc_GMT_9 /*name*/,
                                                                                                                                      +
                                                                                                                                      6814  0x9d13da5e /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6815  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6816  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6817  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6818  kZoneEraEtc_GMT_9 /*eras*/,
                                                                                                                                      +
                                                                                                                                      6819 };
                                                                                                                                      +
                                                                                                                                      6820 
                                                                                                                                      +
                                                                                                                                      6821 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6822 // Zone name: Etc/UTC
                                                                                                                                      +
                                                                                                                                      6823 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6824 // Strings (bytes): 12
                                                                                                                                      +
                                                                                                                                      6825 // Memory (8-bit): 35
                                                                                                                                      +
                                                                                                                                      6826 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      6827 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6828 
                                                                                                                                      +
                                                                                                                                      6829 static const basic::ZoneEra kZoneEraEtc_UTC[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6830  // 0 - UTC
                                                                                                                                      +
                                                                                                                                      6831  {
                                                                                                                                      +
                                                                                                                                      6832  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6833  "UTC" /*format*/,
                                                                                                                                      +
                                                                                                                                      6834  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6835  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6836  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6837  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6838  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6839  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6840  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6841  },
                                                                                                                                      +
                                                                                                                                      6842 
                                                                                                                                      +
                                                                                                                                      6843 };
                                                                                                                                      +
                                                                                                                                      6844 
                                                                                                                                      +
                                                                                                                                      6845 static const char kZoneNameEtc_UTC[] ACE_TIME_PROGMEM = "Etc/UTC";
                                                                                                                                      +
                                                                                                                                      6846 
                                                                                                                                      +
                                                                                                                                      6847 const basic::ZoneInfo kZoneEtc_UTC ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6848  kZoneNameEtc_UTC /*name*/,
                                                                                                                                      +
                                                                                                                                      6849  0xd8e31abc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6850  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6851  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6852  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6853  kZoneEraEtc_UTC /*eras*/,
                                                                                                                                      +
                                                                                                                                      6854 };
                                                                                                                                      +
                                                                                                                                      6855 
                                                                                                                                      +
                                                                                                                                      6856 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6857 // Zone name: Europe/Amsterdam
                                                                                                                                      +
                                                                                                                                      6858 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6859 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      6860 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      6861 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      6862 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6863 
                                                                                                                                      +
                                                                                                                                      6864 static const basic::ZoneEra kZoneEraEurope_Amsterdam[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6865  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      6866  {
                                                                                                                                      +
                                                                                                                                      6867  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6868  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      6869  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6870  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6871  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6872  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6873  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6874  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6875  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6876  },
                                                                                                                                      +
                                                                                                                                      6877 
                                                                                                                                      +
                                                                                                                                      6878 };
                                                                                                                                      +
                                                                                                                                      6879 
                                                                                                                                      +
                                                                                                                                      6880 static const char kZoneNameEurope_Amsterdam[] ACE_TIME_PROGMEM = "Europe/Amsterdam";
                                                                                                                                      +
                                                                                                                                      6881 
                                                                                                                                      +
                                                                                                                                      6882 const basic::ZoneInfo kZoneEurope_Amsterdam ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6883  kZoneNameEurope_Amsterdam /*name*/,
                                                                                                                                      +
                                                                                                                                      6884  0x109395c2 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6885  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6886  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6887  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6888  kZoneEraEurope_Amsterdam /*eras*/,
                                                                                                                                      +
                                                                                                                                      6889 };
                                                                                                                                      +
                                                                                                                                      6890 
                                                                                                                                      +
                                                                                                                                      6891 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6892 // Zone name: Europe/Andorra
                                                                                                                                      +
                                                                                                                                      6893 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6894 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      6895 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      6896 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      6897 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6898 
                                                                                                                                      +
                                                                                                                                      6899 static const basic::ZoneEra kZoneEraEurope_Andorra[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6900  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      6901  {
                                                                                                                                      +
                                                                                                                                      6902  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6903  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      6904  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6905  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6906  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6907  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6908  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6909  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6910  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6911  },
                                                                                                                                      +
                                                                                                                                      6912 
                                                                                                                                      +
                                                                                                                                      6913 };
                                                                                                                                      +
                                                                                                                                      6914 
                                                                                                                                      +
                                                                                                                                      6915 static const char kZoneNameEurope_Andorra[] ACE_TIME_PROGMEM = "Europe/Andorra";
                                                                                                                                      +
                                                                                                                                      6916 
                                                                                                                                      +
                                                                                                                                      6917 const basic::ZoneInfo kZoneEurope_Andorra ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6918  kZoneNameEurope_Andorra /*name*/,
                                                                                                                                      +
                                                                                                                                      6919  0x97f6764b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6920  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6921  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6922  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6923  kZoneEraEurope_Andorra /*eras*/,
                                                                                                                                      +
                                                                                                                                      6924 };
                                                                                                                                      +
                                                                                                                                      6925 
                                                                                                                                      +
                                                                                                                                      6926 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6927 // Zone name: Europe/Athens
                                                                                                                                      +
                                                                                                                                      6928 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6929 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      6930 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      6931 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      6932 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6933 
                                                                                                                                      +
                                                                                                                                      6934 static const basic::ZoneEra kZoneEraEurope_Athens[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6935  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      6936  {
                                                                                                                                      +
                                                                                                                                      6937  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6938  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      6939  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6940  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6941  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6942  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6943  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6944  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6945  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6946  },
                                                                                                                                      +
                                                                                                                                      6947 
                                                                                                                                      +
                                                                                                                                      6948 };
                                                                                                                                      +
                                                                                                                                      6949 
                                                                                                                                      +
                                                                                                                                      6950 static const char kZoneNameEurope_Athens[] ACE_TIME_PROGMEM = "Europe/Athens";
                                                                                                                                      +
                                                                                                                                      6951 
                                                                                                                                      +
                                                                                                                                      6952 const basic::ZoneInfo kZoneEurope_Athens ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6953  kZoneNameEurope_Athens /*name*/,
                                                                                                                                      +
                                                                                                                                      6954  0x4318fa27 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6955  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6956  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6957  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6958  kZoneEraEurope_Athens /*eras*/,
                                                                                                                                      +
                                                                                                                                      6959 };
                                                                                                                                      +
                                                                                                                                      6960 
                                                                                                                                      +
                                                                                                                                      6961 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6962 // Zone name: Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      6963 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6964 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      6965 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      6966 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      6967 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6968 
                                                                                                                                      +
                                                                                                                                      6969 static const basic::ZoneEra kZoneEraEurope_Belgrade[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6970  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      6971  {
                                                                                                                                      +
                                                                                                                                      6972  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      6973  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      6974  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      6975  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      6976  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      6977  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      6978  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      6979  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      6980  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      6981  },
                                                                                                                                      +
                                                                                                                                      6982 
                                                                                                                                      +
                                                                                                                                      6983 };
                                                                                                                                      +
                                                                                                                                      6984 
                                                                                                                                      +
                                                                                                                                      6985 static const char kZoneNameEurope_Belgrade[] ACE_TIME_PROGMEM = "Europe/Belgrade";
                                                                                                                                      +
                                                                                                                                      6986 
                                                                                                                                      +
                                                                                                                                      6987 const basic::ZoneInfo kZoneEurope_Belgrade ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      6988  kZoneNameEurope_Belgrade /*name*/,
                                                                                                                                      +
                                                                                                                                      6989  0xe0532b3a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      6990  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      6991  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      6992  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      6993  kZoneEraEurope_Belgrade /*eras*/,
                                                                                                                                      +
                                                                                                                                      6994 };
                                                                                                                                      +
                                                                                                                                      6995 
                                                                                                                                      +
                                                                                                                                      6996 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      6997 // Zone name: Europe/Berlin
                                                                                                                                      +
                                                                                                                                      6998 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      6999 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7000 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7001 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7002 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7003 
                                                                                                                                      +
                                                                                                                                      7004 static const basic::ZoneEra kZoneEraEurope_Berlin[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7005  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7006  {
                                                                                                                                      +
                                                                                                                                      7007  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7008  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7009  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7010  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7011  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7012  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7013  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7014  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7015  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7016  },
                                                                                                                                      +
                                                                                                                                      7017 
                                                                                                                                      +
                                                                                                                                      7018 };
                                                                                                                                      +
                                                                                                                                      7019 
                                                                                                                                      +
                                                                                                                                      7020 static const char kZoneNameEurope_Berlin[] ACE_TIME_PROGMEM = "Europe/Berlin";
                                                                                                                                      +
                                                                                                                                      7021 
                                                                                                                                      +
                                                                                                                                      7022 const basic::ZoneInfo kZoneEurope_Berlin ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7023  kZoneNameEurope_Berlin /*name*/,
                                                                                                                                      +
                                                                                                                                      7024  0x44644c20 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7025  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7026  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7027  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7028  kZoneEraEurope_Berlin /*eras*/,
                                                                                                                                      +
                                                                                                                                      7029 };
                                                                                                                                      +
                                                                                                                                      7030 
                                                                                                                                      +
                                                                                                                                      7031 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7032 // Zone name: Europe/Brussels
                                                                                                                                      +
                                                                                                                                      7033 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7034 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      7035 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      7036 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      7037 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7038 
                                                                                                                                      +
                                                                                                                                      7039 static const basic::ZoneEra kZoneEraEurope_Brussels[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7040  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7041  {
                                                                                                                                      +
                                                                                                                                      7042  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7043  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7044  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7045  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7046  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7047  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7048  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7049  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7050  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7051  },
                                                                                                                                      +
                                                                                                                                      7052 
                                                                                                                                      +
                                                                                                                                      7053 };
                                                                                                                                      +
                                                                                                                                      7054 
                                                                                                                                      +
                                                                                                                                      7055 static const char kZoneNameEurope_Brussels[] ACE_TIME_PROGMEM = "Europe/Brussels";
                                                                                                                                      +
                                                                                                                                      7056 
                                                                                                                                      +
                                                                                                                                      7057 const basic::ZoneInfo kZoneEurope_Brussels ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7058  kZoneNameEurope_Brussels /*name*/,
                                                                                                                                      +
                                                                                                                                      7059  0xdee07337 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7060  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7061  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7062  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7063  kZoneEraEurope_Brussels /*eras*/,
                                                                                                                                      +
                                                                                                                                      7064 };
                                                                                                                                      +
                                                                                                                                      7065 
                                                                                                                                      +
                                                                                                                                      7066 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7067 // Zone name: Europe/Bucharest
                                                                                                                                      +
                                                                                                                                      7068 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7069 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      7070 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      7071 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      7072 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7073 
                                                                                                                                      +
                                                                                                                                      7074 static const basic::ZoneEra kZoneEraEurope_Bucharest[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7075  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      7076  {
                                                                                                                                      +
                                                                                                                                      7077  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7078  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7079  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7080  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7081  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7082  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7083  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7084  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7085  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7086  },
                                                                                                                                      +
                                                                                                                                      7087 
                                                                                                                                      +
                                                                                                                                      7088 };
                                                                                                                                      +
                                                                                                                                      7089 
                                                                                                                                      +
                                                                                                                                      7090 static const char kZoneNameEurope_Bucharest[] ACE_TIME_PROGMEM = "Europe/Bucharest";
                                                                                                                                      +
                                                                                                                                      7091 
                                                                                                                                      +
                                                                                                                                      7092 const basic::ZoneInfo kZoneEurope_Bucharest ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7093  kZoneNameEurope_Bucharest /*name*/,
                                                                                                                                      +
                                                                                                                                      7094  0xfb349ec5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7095  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7096  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7097  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7098  kZoneEraEurope_Bucharest /*eras*/,
                                                                                                                                      +
                                                                                                                                      7099 };
                                                                                                                                      +
                                                                                                                                      7100 
                                                                                                                                      +
                                                                                                                                      7101 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7102 // Zone name: Europe/Budapest
                                                                                                                                      +
                                                                                                                                      7103 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7104 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      7105 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      7106 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      7107 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7108 
                                                                                                                                      +
                                                                                                                                      7109 static const basic::ZoneEra kZoneEraEurope_Budapest[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7110  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7111  {
                                                                                                                                      +
                                                                                                                                      7112  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7113  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7114  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7115  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7116  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7117  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7118  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7119  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7120  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7121  },
                                                                                                                                      +
                                                                                                                                      7122 
                                                                                                                                      +
                                                                                                                                      7123 };
                                                                                                                                      +
                                                                                                                                      7124 
                                                                                                                                      +
                                                                                                                                      7125 static const char kZoneNameEurope_Budapest[] ACE_TIME_PROGMEM = "Europe/Budapest";
                                                                                                                                      +
                                                                                                                                      7126 
                                                                                                                                      +
                                                                                                                                      7127 const basic::ZoneInfo kZoneEurope_Budapest ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7128  kZoneNameEurope_Budapest /*name*/,
                                                                                                                                      +
                                                                                                                                      7129  0x9ce0197c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7130  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7131  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7132  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7133  kZoneEraEurope_Budapest /*eras*/,
                                                                                                                                      +
                                                                                                                                      7134 };
                                                                                                                                      +
                                                                                                                                      7135 
                                                                                                                                      +
                                                                                                                                      7136 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7137 // Zone name: Europe/Chisinau
                                                                                                                                      +
                                                                                                                                      7138 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7139 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      7140 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      7141 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      7142 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7143 
                                                                                                                                      +
                                                                                                                                      7144 static const basic::ZoneEra kZoneEraEurope_Chisinau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7145  // 2:00 Moldova EE%sT
                                                                                                                                      +
                                                                                                                                      7146  {
                                                                                                                                      +
                                                                                                                                      7147  &kPolicyMoldova /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7148  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7149  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7150  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7151  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7152  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7153  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7154  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7155  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7156  },
                                                                                                                                      +
                                                                                                                                      7157 
                                                                                                                                      +
                                                                                                                                      7158 };
                                                                                                                                      +
                                                                                                                                      7159 
                                                                                                                                      +
                                                                                                                                      7160 static const char kZoneNameEurope_Chisinau[] ACE_TIME_PROGMEM = "Europe/Chisinau";
                                                                                                                                      +
                                                                                                                                      7161 
                                                                                                                                      +
                                                                                                                                      7162 const basic::ZoneInfo kZoneEurope_Chisinau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7163  kZoneNameEurope_Chisinau /*name*/,
                                                                                                                                      +
                                                                                                                                      7164  0xad58aa18 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7165  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7166  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7167  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7168  kZoneEraEurope_Chisinau /*eras*/,
                                                                                                                                      +
                                                                                                                                      7169 };
                                                                                                                                      +
                                                                                                                                      7170 
                                                                                                                                      +
                                                                                                                                      7171 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7172 // Zone name: Europe/Copenhagen
                                                                                                                                      +
                                                                                                                                      7173 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7174 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      7175 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      7176 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      7177 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7178 
                                                                                                                                      +
                                                                                                                                      7179 static const basic::ZoneEra kZoneEraEurope_Copenhagen[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7180  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7181  {
                                                                                                                                      +
                                                                                                                                      7182  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7183  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7184  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7185  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7186  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7187  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7188  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7189  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7190  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7191  },
                                                                                                                                      +
                                                                                                                                      7192 
                                                                                                                                      +
                                                                                                                                      7193 };
                                                                                                                                      +
                                                                                                                                      7194 
                                                                                                                                      +
                                                                                                                                      7195 static const char kZoneNameEurope_Copenhagen[] ACE_TIME_PROGMEM = "Europe/Copenhagen";
                                                                                                                                      +
                                                                                                                                      7196 
                                                                                                                                      +
                                                                                                                                      7197 const basic::ZoneInfo kZoneEurope_Copenhagen ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7198  kZoneNameEurope_Copenhagen /*name*/,
                                                                                                                                      +
                                                                                                                                      7199  0xe0ed30bc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7200  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7201  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7202  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7203  kZoneEraEurope_Copenhagen /*eras*/,
                                                                                                                                      +
                                                                                                                                      7204 };
                                                                                                                                      +
                                                                                                                                      7205 
                                                                                                                                      +
                                                                                                                                      7206 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7207 // Zone name: Europe/Dublin
                                                                                                                                      +
                                                                                                                                      7208 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7209 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      7210 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      7211 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      7212 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7213 
                                                                                                                                      +
                                                                                                                                      7214 static const basic::ZoneEra kZoneEraEurope_Dublin[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7215  // 1:00 Eire IST/GMT
                                                                                                                                      +
                                                                                                                                      7216  {
                                                                                                                                      +
                                                                                                                                      7217  &kPolicyEire /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7218  "IST/GMT" /*format*/,
                                                                                                                                      +
                                                                                                                                      7219  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7220  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7221  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7222  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7223  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7224  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7225  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7226  },
                                                                                                                                      +
                                                                                                                                      7227 
                                                                                                                                      +
                                                                                                                                      7228 };
                                                                                                                                      +
                                                                                                                                      7229 
                                                                                                                                      +
                                                                                                                                      7230 static const char kZoneNameEurope_Dublin[] ACE_TIME_PROGMEM = "Europe/Dublin";
                                                                                                                                      +
                                                                                                                                      7231 
                                                                                                                                      +
                                                                                                                                      7232 const basic::ZoneInfo kZoneEurope_Dublin ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7233  kZoneNameEurope_Dublin /*name*/,
                                                                                                                                      +
                                                                                                                                      7234  0x4a275f62 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7235  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7236  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7237  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7238  kZoneEraEurope_Dublin /*eras*/,
                                                                                                                                      +
                                                                                                                                      7239 };
                                                                                                                                      +
                                                                                                                                      7240 
                                                                                                                                      +
                                                                                                                                      7241 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7242 // Zone name: Europe/Gibraltar
                                                                                                                                      +
                                                                                                                                      7243 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7244 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      7245 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      7246 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      7247 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7248 
                                                                                                                                      +
                                                                                                                                      7249 static const basic::ZoneEra kZoneEraEurope_Gibraltar[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7250  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7251  {
                                                                                                                                      +
                                                                                                                                      7252  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7253  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7254  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7255  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7256  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7257  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7258  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7259  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7260  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7261  },
                                                                                                                                      +
                                                                                                                                      7262 
                                                                                                                                      +
                                                                                                                                      7263 };
                                                                                                                                      +
                                                                                                                                      7264 
                                                                                                                                      +
                                                                                                                                      7265 static const char kZoneNameEurope_Gibraltar[] ACE_TIME_PROGMEM = "Europe/Gibraltar";
                                                                                                                                      +
                                                                                                                                      7266 
                                                                                                                                      +
                                                                                                                                      7267 const basic::ZoneInfo kZoneEurope_Gibraltar ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7268  kZoneNameEurope_Gibraltar /*name*/,
                                                                                                                                      +
                                                                                                                                      7269  0xf8e325fc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7270  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7271  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7272  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7273  kZoneEraEurope_Gibraltar /*eras*/,
                                                                                                                                      +
                                                                                                                                      7274 };
                                                                                                                                      +
                                                                                                                                      7275 
                                                                                                                                      +
                                                                                                                                      7276 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7277 // Zone name: Europe/Helsinki
                                                                                                                                      +
                                                                                                                                      7278 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7279 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      7280 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      7281 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      7282 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7283 
                                                                                                                                      +
                                                                                                                                      7284 static const basic::ZoneEra kZoneEraEurope_Helsinki[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7285  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      7286  {
                                                                                                                                      +
                                                                                                                                      7287  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7288  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7289  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7290  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7291  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7292  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7293  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7294  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7295  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7296  },
                                                                                                                                      +
                                                                                                                                      7297 
                                                                                                                                      +
                                                                                                                                      7298 };
                                                                                                                                      +
                                                                                                                                      7299 
                                                                                                                                      +
                                                                                                                                      7300 static const char kZoneNameEurope_Helsinki[] ACE_TIME_PROGMEM = "Europe/Helsinki";
                                                                                                                                      +
                                                                                                                                      7301 
                                                                                                                                      +
                                                                                                                                      7302 const basic::ZoneInfo kZoneEurope_Helsinki ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7303  kZoneNameEurope_Helsinki /*name*/,
                                                                                                                                      +
                                                                                                                                      7304  0x6ab2975b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7305  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7306  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7307  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7308  kZoneEraEurope_Helsinki /*eras*/,
                                                                                                                                      +
                                                                                                                                      7309 };
                                                                                                                                      +
                                                                                                                                      7310 
                                                                                                                                      +
                                                                                                                                      7311 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7312 // Zone name: Europe/Kiev
                                                                                                                                      +
                                                                                                                                      7313 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7314 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      7315 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      7316 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      7317 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7318 
                                                                                                                                      +
                                                                                                                                      7319 static const basic::ZoneEra kZoneEraEurope_Kiev[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7320  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      7321  {
                                                                                                                                      +
                                                                                                                                      7322  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7323  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7324  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7325  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7326  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7327  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7328  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7329  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7330  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7331  },
                                                                                                                                      +
                                                                                                                                      7332 
                                                                                                                                      +
                                                                                                                                      7333 };
                                                                                                                                      +
                                                                                                                                      7334 
                                                                                                                                      +
                                                                                                                                      7335 static const char kZoneNameEurope_Kiev[] ACE_TIME_PROGMEM = "Europe/Kiev";
                                                                                                                                      +
                                                                                                                                      7336 
                                                                                                                                      +
                                                                                                                                      7337 const basic::ZoneInfo kZoneEurope_Kiev ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7338  kZoneNameEurope_Kiev /*name*/,
                                                                                                                                      +
                                                                                                                                      7339  0xa2c19eb3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7340  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7341  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7342  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7343  kZoneEraEurope_Kiev /*eras*/,
                                                                                                                                      +
                                                                                                                                      7344 };
                                                                                                                                      +
                                                                                                                                      7345 
                                                                                                                                      +
                                                                                                                                      7346 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7347 // Zone name: Europe/Lisbon
                                                                                                                                      +
                                                                                                                                      7348 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7349 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7350 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7351 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7352 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7353 
                                                                                                                                      +
                                                                                                                                      7354 static const basic::ZoneEra kZoneEraEurope_Lisbon[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7355  // 0:00 EU WE%sT
                                                                                                                                      +
                                                                                                                                      7356  {
                                                                                                                                      +
                                                                                                                                      7357  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7358  "WE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7359  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7360  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7361  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7362  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7363  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7364  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7365  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7366  },
                                                                                                                                      +
                                                                                                                                      7367 
                                                                                                                                      +
                                                                                                                                      7368 };
                                                                                                                                      +
                                                                                                                                      7369 
                                                                                                                                      +
                                                                                                                                      7370 static const char kZoneNameEurope_Lisbon[] ACE_TIME_PROGMEM = "Europe/Lisbon";
                                                                                                                                      +
                                                                                                                                      7371 
                                                                                                                                      +
                                                                                                                                      7372 const basic::ZoneInfo kZoneEurope_Lisbon ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7373  kZoneNameEurope_Lisbon /*name*/,
                                                                                                                                      +
                                                                                                                                      7374  0x5c00a70b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7375  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7376  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7377  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7378  kZoneEraEurope_Lisbon /*eras*/,
                                                                                                                                      +
                                                                                                                                      7379 };
                                                                                                                                      +
                                                                                                                                      7380 
                                                                                                                                      +
                                                                                                                                      7381 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7382 // Zone name: Europe/London
                                                                                                                                      +
                                                                                                                                      7383 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7384 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      7385 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      7386 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      7387 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7388 
                                                                                                                                      +
                                                                                                                                      7389 static const basic::ZoneEra kZoneEraEurope_London[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7390  // 0:00 EU GMT/BST
                                                                                                                                      +
                                                                                                                                      7391  {
                                                                                                                                      +
                                                                                                                                      7392  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7393  "GMT/BST" /*format*/,
                                                                                                                                      +
                                                                                                                                      7394  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7395  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7396  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7397  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7398  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7399  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7400  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7401  },
                                                                                                                                      +
                                                                                                                                      7402 
                                                                                                                                      +
                                                                                                                                      7403 };
                                                                                                                                      +
                                                                                                                                      7404 
                                                                                                                                      +
                                                                                                                                      7405 static const char kZoneNameEurope_London[] ACE_TIME_PROGMEM = "Europe/London";
                                                                                                                                      +
                                                                                                                                      7406 
                                                                                                                                      +
                                                                                                                                      7407 const basic::ZoneInfo kZoneEurope_London ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7408  kZoneNameEurope_London /*name*/,
                                                                                                                                      +
                                                                                                                                      7409  0x5c6a84ae /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7410  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7411  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7412  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7413  kZoneEraEurope_London /*eras*/,
                                                                                                                                      +
                                                                                                                                      7414 };
                                                                                                                                      +
                                                                                                                                      7415 
                                                                                                                                      +
                                                                                                                                      7416 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7417 // Zone name: Europe/Luxembourg
                                                                                                                                      +
                                                                                                                                      7418 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7419 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      7420 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      7421 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      7422 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7423 
                                                                                                                                      +
                                                                                                                                      7424 static const basic::ZoneEra kZoneEraEurope_Luxembourg[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7425  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7426  {
                                                                                                                                      +
                                                                                                                                      7427  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7428  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7429  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7430  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7431  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7432  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7433  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7434  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7435  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7436  },
                                                                                                                                      +
                                                                                                                                      7437 
                                                                                                                                      +
                                                                                                                                      7438 };
                                                                                                                                      +
                                                                                                                                      7439 
                                                                                                                                      +
                                                                                                                                      7440 static const char kZoneNameEurope_Luxembourg[] ACE_TIME_PROGMEM = "Europe/Luxembourg";
                                                                                                                                      +
                                                                                                                                      7441 
                                                                                                                                      +
                                                                                                                                      7442 const basic::ZoneInfo kZoneEurope_Luxembourg ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7443  kZoneNameEurope_Luxembourg /*name*/,
                                                                                                                                      +
                                                                                                                                      7444  0x1f8bc6ce /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7445  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7446  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7447  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7448  kZoneEraEurope_Luxembourg /*eras*/,
                                                                                                                                      +
                                                                                                                                      7449 };
                                                                                                                                      +
                                                                                                                                      7450 
                                                                                                                                      +
                                                                                                                                      7451 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7452 // Zone name: Europe/Madrid
                                                                                                                                      +
                                                                                                                                      7453 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7454 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7455 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7456 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7457 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7458 
                                                                                                                                      +
                                                                                                                                      7459 static const basic::ZoneEra kZoneEraEurope_Madrid[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7460  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7461  {
                                                                                                                                      +
                                                                                                                                      7462  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7463  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7464  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7465  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7466  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7467  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7468  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7469  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7470  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7471  },
                                                                                                                                      +
                                                                                                                                      7472 
                                                                                                                                      +
                                                                                                                                      7473 };
                                                                                                                                      +
                                                                                                                                      7474 
                                                                                                                                      +
                                                                                                                                      7475 static const char kZoneNameEurope_Madrid[] ACE_TIME_PROGMEM = "Europe/Madrid";
                                                                                                                                      +
                                                                                                                                      7476 
                                                                                                                                      +
                                                                                                                                      7477 const basic::ZoneInfo kZoneEurope_Madrid ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7478  kZoneNameEurope_Madrid /*name*/,
                                                                                                                                      +
                                                                                                                                      7479  0x5dbd1535 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7480  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7481  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7482  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7483  kZoneEraEurope_Madrid /*eras*/,
                                                                                                                                      +
                                                                                                                                      7484 };
                                                                                                                                      +
                                                                                                                                      7485 
                                                                                                                                      +
                                                                                                                                      7486 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7487 // Zone name: Europe/Malta
                                                                                                                                      +
                                                                                                                                      7488 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7489 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      7490 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      7491 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      7492 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7493 
                                                                                                                                      +
                                                                                                                                      7494 static const basic::ZoneEra kZoneEraEurope_Malta[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7495  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7496  {
                                                                                                                                      +
                                                                                                                                      7497  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7498  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7499  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7500  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7501  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7502  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7503  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7504  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7505  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7506  },
                                                                                                                                      +
                                                                                                                                      7507 
                                                                                                                                      +
                                                                                                                                      7508 };
                                                                                                                                      +
                                                                                                                                      7509 
                                                                                                                                      +
                                                                                                                                      7510 static const char kZoneNameEurope_Malta[] ACE_TIME_PROGMEM = "Europe/Malta";
                                                                                                                                      +
                                                                                                                                      7511 
                                                                                                                                      +
                                                                                                                                      7512 const basic::ZoneInfo kZoneEurope_Malta ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7513  kZoneNameEurope_Malta /*name*/,
                                                                                                                                      +
                                                                                                                                      7514  0xfb1560f3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7515  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7516  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7517  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7518  kZoneEraEurope_Malta /*eras*/,
                                                                                                                                      +
                                                                                                                                      7519 };
                                                                                                                                      +
                                                                                                                                      7520 
                                                                                                                                      +
                                                                                                                                      7521 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7522 // Zone name: Europe/Monaco
                                                                                                                                      +
                                                                                                                                      7523 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7524 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7525 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7526 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7527 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7528 
                                                                                                                                      +
                                                                                                                                      7529 static const basic::ZoneEra kZoneEraEurope_Monaco[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7530  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7531  {
                                                                                                                                      +
                                                                                                                                      7532  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7533  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7534  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7535  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7536  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7537  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7538  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7539  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7540  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7541  },
                                                                                                                                      +
                                                                                                                                      7542 
                                                                                                                                      +
                                                                                                                                      7543 };
                                                                                                                                      +
                                                                                                                                      7544 
                                                                                                                                      +
                                                                                                                                      7545 static const char kZoneNameEurope_Monaco[] ACE_TIME_PROGMEM = "Europe/Monaco";
                                                                                                                                      +
                                                                                                                                      7546 
                                                                                                                                      +
                                                                                                                                      7547 const basic::ZoneInfo kZoneEurope_Monaco ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7548  kZoneNameEurope_Monaco /*name*/,
                                                                                                                                      +
                                                                                                                                      7549  0x5ebf9f01 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7550  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7551  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7552  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7553  kZoneEraEurope_Monaco /*eras*/,
                                                                                                                                      +
                                                                                                                                      7554 };
                                                                                                                                      +
                                                                                                                                      7555 
                                                                                                                                      +
                                                                                                                                      7556 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7557 // Zone name: Europe/Oslo
                                                                                                                                      +
                                                                                                                                      7558 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7559 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      7560 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      7561 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      7562 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7563 
                                                                                                                                      +
                                                                                                                                      7564 static const basic::ZoneEra kZoneEraEurope_Oslo[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7565  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7566  {
                                                                                                                                      +
                                                                                                                                      7567  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7568  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7569  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7570  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7571  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7572  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7573  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7574  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7575  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7576  },
                                                                                                                                      +
                                                                                                                                      7577 
                                                                                                                                      +
                                                                                                                                      7578 };
                                                                                                                                      +
                                                                                                                                      7579 
                                                                                                                                      +
                                                                                                                                      7580 static const char kZoneNameEurope_Oslo[] ACE_TIME_PROGMEM = "Europe/Oslo";
                                                                                                                                      +
                                                                                                                                      7581 
                                                                                                                                      +
                                                                                                                                      7582 const basic::ZoneInfo kZoneEurope_Oslo ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7583  kZoneNameEurope_Oslo /*name*/,
                                                                                                                                      +
                                                                                                                                      7584  0xa2c3fba1 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7585  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7586  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7587  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7588  kZoneEraEurope_Oslo /*eras*/,
                                                                                                                                      +
                                                                                                                                      7589 };
                                                                                                                                      +
                                                                                                                                      7590 
                                                                                                                                      +
                                                                                                                                      7591 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7592 // Zone name: Europe/Paris
                                                                                                                                      +
                                                                                                                                      7593 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7594 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      7595 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      7596 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      7597 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7598 
                                                                                                                                      +
                                                                                                                                      7599 static const basic::ZoneEra kZoneEraEurope_Paris[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7600  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7601  {
                                                                                                                                      +
                                                                                                                                      7602  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7603  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7604  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7605  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7606  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7607  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7608  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7609  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7610  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7611  },
                                                                                                                                      +
                                                                                                                                      7612 
                                                                                                                                      +
                                                                                                                                      7613 };
                                                                                                                                      +
                                                                                                                                      7614 
                                                                                                                                      +
                                                                                                                                      7615 static const char kZoneNameEurope_Paris[] ACE_TIME_PROGMEM = "Europe/Paris";
                                                                                                                                      +
                                                                                                                                      7616 
                                                                                                                                      +
                                                                                                                                      7617 const basic::ZoneInfo kZoneEurope_Paris ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7618  kZoneNameEurope_Paris /*name*/,
                                                                                                                                      +
                                                                                                                                      7619  0xfb4bc2a3 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7620  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7621  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7622  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7623  kZoneEraEurope_Paris /*eras*/,
                                                                                                                                      +
                                                                                                                                      7624 };
                                                                                                                                      +
                                                                                                                                      7625 
                                                                                                                                      +
                                                                                                                                      7626 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7627 // Zone name: Europe/Prague
                                                                                                                                      +
                                                                                                                                      7628 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7629 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7630 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7631 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7632 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7633 
                                                                                                                                      +
                                                                                                                                      7634 static const basic::ZoneEra kZoneEraEurope_Prague[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7635  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7636  {
                                                                                                                                      +
                                                                                                                                      7637  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7638  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7639  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7640  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7641  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7642  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7643  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7644  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7645  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7646  },
                                                                                                                                      +
                                                                                                                                      7647 
                                                                                                                                      +
                                                                                                                                      7648 };
                                                                                                                                      +
                                                                                                                                      7649 
                                                                                                                                      +
                                                                                                                                      7650 static const char kZoneNameEurope_Prague[] ACE_TIME_PROGMEM = "Europe/Prague";
                                                                                                                                      +
                                                                                                                                      7651 
                                                                                                                                      +
                                                                                                                                      7652 const basic::ZoneInfo kZoneEurope_Prague ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7653  kZoneNameEurope_Prague /*name*/,
                                                                                                                                      +
                                                                                                                                      7654  0x65ee5d48 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7655  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7656  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7657  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7658  kZoneEraEurope_Prague /*eras*/,
                                                                                                                                      +
                                                                                                                                      7659 };
                                                                                                                                      +
                                                                                                                                      7660 
                                                                                                                                      +
                                                                                                                                      7661 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7662 // Zone name: Europe/Rome
                                                                                                                                      +
                                                                                                                                      7663 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7664 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      7665 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      7666 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      7667 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7668 
                                                                                                                                      +
                                                                                                                                      7669 static const basic::ZoneEra kZoneEraEurope_Rome[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7670  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7671  {
                                                                                                                                      +
                                                                                                                                      7672  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7673  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7674  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7675  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7676  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7677  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7678  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7679  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7680  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7681  },
                                                                                                                                      +
                                                                                                                                      7682 
                                                                                                                                      +
                                                                                                                                      7683 };
                                                                                                                                      +
                                                                                                                                      7684 
                                                                                                                                      +
                                                                                                                                      7685 static const char kZoneNameEurope_Rome[] ACE_TIME_PROGMEM = "Europe/Rome";
                                                                                                                                      +
                                                                                                                                      7686 
                                                                                                                                      +
                                                                                                                                      7687 const basic::ZoneInfo kZoneEurope_Rome ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7688  kZoneNameEurope_Rome /*name*/,
                                                                                                                                      +
                                                                                                                                      7689  0xa2c58fd7 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7690  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7691  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7692  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7693  kZoneEraEurope_Rome /*eras*/,
                                                                                                                                      +
                                                                                                                                      7694 };
                                                                                                                                      +
                                                                                                                                      7695 
                                                                                                                                      +
                                                                                                                                      7696 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7697 // Zone name: Europe/Sofia
                                                                                                                                      +
                                                                                                                                      7698 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7699 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      7700 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      7701 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      7702 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7703 
                                                                                                                                      +
                                                                                                                                      7704 static const basic::ZoneEra kZoneEraEurope_Sofia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7705  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      7706  {
                                                                                                                                      +
                                                                                                                                      7707  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7708  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7709  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7710  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7711  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7712  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7713  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7714  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7715  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7716  },
                                                                                                                                      +
                                                                                                                                      7717 
                                                                                                                                      +
                                                                                                                                      7718 };
                                                                                                                                      +
                                                                                                                                      7719 
                                                                                                                                      +
                                                                                                                                      7720 static const char kZoneNameEurope_Sofia[] ACE_TIME_PROGMEM = "Europe/Sofia";
                                                                                                                                      +
                                                                                                                                      7721 
                                                                                                                                      +
                                                                                                                                      7722 const basic::ZoneInfo kZoneEurope_Sofia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7723  kZoneNameEurope_Sofia /*name*/,
                                                                                                                                      +
                                                                                                                                      7724  0xfb898656 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7725  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7726  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7727  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7728  kZoneEraEurope_Sofia /*eras*/,
                                                                                                                                      +
                                                                                                                                      7729 };
                                                                                                                                      +
                                                                                                                                      7730 
                                                                                                                                      +
                                                                                                                                      7731 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7732 // Zone name: Europe/Stockholm
                                                                                                                                      +
                                                                                                                                      7733 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7734 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      7735 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      7736 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      7737 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7738 
                                                                                                                                      +
                                                                                                                                      7739 static const basic::ZoneEra kZoneEraEurope_Stockholm[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7740  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7741  {
                                                                                                                                      +
                                                                                                                                      7742  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7743  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7744  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7745  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7746  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7747  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7748  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7749  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7750  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7751  },
                                                                                                                                      +
                                                                                                                                      7752 
                                                                                                                                      +
                                                                                                                                      7753 };
                                                                                                                                      +
                                                                                                                                      7754 
                                                                                                                                      +
                                                                                                                                      7755 static const char kZoneNameEurope_Stockholm[] ACE_TIME_PROGMEM = "Europe/Stockholm";
                                                                                                                                      +
                                                                                                                                      7756 
                                                                                                                                      +
                                                                                                                                      7757 const basic::ZoneInfo kZoneEurope_Stockholm ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7758  kZoneNameEurope_Stockholm /*name*/,
                                                                                                                                      +
                                                                                                                                      7759  0x5bf6fbb8 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7760  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7761  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7762  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7763  kZoneEraEurope_Stockholm /*eras*/,
                                                                                                                                      +
                                                                                                                                      7764 };
                                                                                                                                      +
                                                                                                                                      7765 
                                                                                                                                      +
                                                                                                                                      7766 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7767 // Zone name: Europe/Tirane
                                                                                                                                      +
                                                                                                                                      7768 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7769 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7770 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7771 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7772 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7773 
                                                                                                                                      +
                                                                                                                                      7774 static const basic::ZoneEra kZoneEraEurope_Tirane[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7775  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7776  {
                                                                                                                                      +
                                                                                                                                      7777  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7778  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7779  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7780  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7781  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7782  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7783  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7784  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7785  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7786  },
                                                                                                                                      +
                                                                                                                                      7787 
                                                                                                                                      +
                                                                                                                                      7788 };
                                                                                                                                      +
                                                                                                                                      7789 
                                                                                                                                      +
                                                                                                                                      7790 static const char kZoneNameEurope_Tirane[] ACE_TIME_PROGMEM = "Europe/Tirane";
                                                                                                                                      +
                                                                                                                                      7791 
                                                                                                                                      +
                                                                                                                                      7792 const basic::ZoneInfo kZoneEurope_Tirane ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7793  kZoneNameEurope_Tirane /*name*/,
                                                                                                                                      +
                                                                                                                                      7794  0x6ea95b47 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7795  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7796  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7797  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7798  kZoneEraEurope_Tirane /*eras*/,
                                                                                                                                      +
                                                                                                                                      7799 };
                                                                                                                                      +
                                                                                                                                      7800 
                                                                                                                                      +
                                                                                                                                      7801 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7802 // Zone name: Europe/Uzhgorod
                                                                                                                                      +
                                                                                                                                      7803 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7804 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      7805 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      7806 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      7807 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7808 
                                                                                                                                      +
                                                                                                                                      7809 static const basic::ZoneEra kZoneEraEurope_Uzhgorod[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7810  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      7811  {
                                                                                                                                      +
                                                                                                                                      7812  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7813  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7814  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7815  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7816  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7817  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7818  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7819  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7820  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7821  },
                                                                                                                                      +
                                                                                                                                      7822 
                                                                                                                                      +
                                                                                                                                      7823 };
                                                                                                                                      +
                                                                                                                                      7824 
                                                                                                                                      +
                                                                                                                                      7825 static const char kZoneNameEurope_Uzhgorod[] ACE_TIME_PROGMEM = "Europe/Uzhgorod";
                                                                                                                                      +
                                                                                                                                      7826 
                                                                                                                                      +
                                                                                                                                      7827 const basic::ZoneInfo kZoneEurope_Uzhgorod ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7828  kZoneNameEurope_Uzhgorod /*name*/,
                                                                                                                                      +
                                                                                                                                      7829  0xb066f5d6 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7830  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7831  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7832  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7833  kZoneEraEurope_Uzhgorod /*eras*/,
                                                                                                                                      +
                                                                                                                                      7834 };
                                                                                                                                      +
                                                                                                                                      7835 
                                                                                                                                      +
                                                                                                                                      7836 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7837 // Zone name: Europe/Vienna
                                                                                                                                      +
                                                                                                                                      7838 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7839 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7840 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7841 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7842 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7843 
                                                                                                                                      +
                                                                                                                                      7844 static const basic::ZoneEra kZoneEraEurope_Vienna[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7845  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7846  {
                                                                                                                                      +
                                                                                                                                      7847  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7848  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7849  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7850  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7851  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7852  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7853  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7854  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7855  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7856  },
                                                                                                                                      +
                                                                                                                                      7857 
                                                                                                                                      +
                                                                                                                                      7858 };
                                                                                                                                      +
                                                                                                                                      7859 
                                                                                                                                      +
                                                                                                                                      7860 static const char kZoneNameEurope_Vienna[] ACE_TIME_PROGMEM = "Europe/Vienna";
                                                                                                                                      +
                                                                                                                                      7861 
                                                                                                                                      +
                                                                                                                                      7862 const basic::ZoneInfo kZoneEurope_Vienna ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7863  kZoneNameEurope_Vienna /*name*/,
                                                                                                                                      +
                                                                                                                                      7864  0x734cc2e5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7865  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7866  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7867  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7868  kZoneEraEurope_Vienna /*eras*/,
                                                                                                                                      +
                                                                                                                                      7869 };
                                                                                                                                      +
                                                                                                                                      7870 
                                                                                                                                      +
                                                                                                                                      7871 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7872 // Zone name: Europe/Warsaw
                                                                                                                                      +
                                                                                                                                      7873 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7874 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7875 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7876 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7877 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7878 
                                                                                                                                      +
                                                                                                                                      7879 static const basic::ZoneEra kZoneEraEurope_Warsaw[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7880  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7881  {
                                                                                                                                      +
                                                                                                                                      7882  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7883  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7884  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7885  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7886  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7887  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7888  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7889  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7890  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7891  },
                                                                                                                                      +
                                                                                                                                      7892 
                                                                                                                                      +
                                                                                                                                      7893 };
                                                                                                                                      +
                                                                                                                                      7894 
                                                                                                                                      +
                                                                                                                                      7895 static const char kZoneNameEurope_Warsaw[] ACE_TIME_PROGMEM = "Europe/Warsaw";
                                                                                                                                      +
                                                                                                                                      7896 
                                                                                                                                      +
                                                                                                                                      7897 const basic::ZoneInfo kZoneEurope_Warsaw ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7898  kZoneNameEurope_Warsaw /*name*/,
                                                                                                                                      +
                                                                                                                                      7899  0x75185c19 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7900  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7901  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7902  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7903  kZoneEraEurope_Warsaw /*eras*/,
                                                                                                                                      +
                                                                                                                                      7904 };
                                                                                                                                      +
                                                                                                                                      7905 
                                                                                                                                      +
                                                                                                                                      7906 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7907 // Zone name: Europe/Zaporozhye
                                                                                                                                      +
                                                                                                                                      7908 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7909 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      7910 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      7911 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      7912 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7913 
                                                                                                                                      +
                                                                                                                                      7914 static const basic::ZoneEra kZoneEraEurope_Zaporozhye[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7915  // 2:00 EU EE%sT
                                                                                                                                      +
                                                                                                                                      7916  {
                                                                                                                                      +
                                                                                                                                      7917  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7918  "EE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7919  8 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7920  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7921  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7922  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7923  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7924  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7925  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7926  },
                                                                                                                                      +
                                                                                                                                      7927 
                                                                                                                                      +
                                                                                                                                      7928 };
                                                                                                                                      +
                                                                                                                                      7929 
                                                                                                                                      +
                                                                                                                                      7930 static const char kZoneNameEurope_Zaporozhye[] ACE_TIME_PROGMEM = "Europe/Zaporozhye";
                                                                                                                                      +
                                                                                                                                      7931 
                                                                                                                                      +
                                                                                                                                      7932 const basic::ZoneInfo kZoneEurope_Zaporozhye ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7933  kZoneNameEurope_Zaporozhye /*name*/,
                                                                                                                                      +
                                                                                                                                      7934  0xeab9767f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7935  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7936  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7937  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7938  kZoneEraEurope_Zaporozhye /*eras*/,
                                                                                                                                      +
                                                                                                                                      7939 };
                                                                                                                                      +
                                                                                                                                      7940 
                                                                                                                                      +
                                                                                                                                      7941 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7942 // Zone name: Europe/Zurich
                                                                                                                                      +
                                                                                                                                      7943 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7944 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      7945 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      7946 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      7947 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7948 
                                                                                                                                      +
                                                                                                                                      7949 static const basic::ZoneEra kZoneEraEurope_Zurich[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7950  // 1:00 EU CE%sT
                                                                                                                                      +
                                                                                                                                      7951  {
                                                                                                                                      +
                                                                                                                                      7952  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7953  "CE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      7954  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7955  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7956  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7957  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7958  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7959  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7960  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7961  },
                                                                                                                                      +
                                                                                                                                      7962 
                                                                                                                                      +
                                                                                                                                      7963 };
                                                                                                                                      +
                                                                                                                                      7964 
                                                                                                                                      +
                                                                                                                                      7965 static const char kZoneNameEurope_Zurich[] ACE_TIME_PROGMEM = "Europe/Zurich";
                                                                                                                                      +
                                                                                                                                      7966 
                                                                                                                                      +
                                                                                                                                      7967 const basic::ZoneInfo kZoneEurope_Zurich ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7968  kZoneNameEurope_Zurich /*name*/,
                                                                                                                                      +
                                                                                                                                      7969  0x7d8195b9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      7970  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      7971  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      7972  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      7973  kZoneEraEurope_Zurich /*eras*/,
                                                                                                                                      +
                                                                                                                                      7974 };
                                                                                                                                      +
                                                                                                                                      7975 
                                                                                                                                      +
                                                                                                                                      7976 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7977 // Zone name: HST
                                                                                                                                      +
                                                                                                                                      7978 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      7979 // Strings (bytes): 8
                                                                                                                                      +
                                                                                                                                      7980 // Memory (8-bit): 31
                                                                                                                                      +
                                                                                                                                      7981 // Memory (32-bit): 44
                                                                                                                                      +
                                                                                                                                      7982 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      7983 
                                                                                                                                      +
                                                                                                                                      7984 static const basic::ZoneEra kZoneEraHST[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      7985  // -10:00 - HST
                                                                                                                                      +
                                                                                                                                      7986  {
                                                                                                                                      +
                                                                                                                                      7987  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      7988  "HST" /*format*/,
                                                                                                                                      +
                                                                                                                                      7989  -40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      7990  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      7991  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      7992  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      7993  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      7994  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      7995  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      7996  },
                                                                                                                                      +
                                                                                                                                      7997 
                                                                                                                                      +
                                                                                                                                      7998 };
                                                                                                                                      +
                                                                                                                                      7999 
                                                                                                                                      +
                                                                                                                                      8000 static const char kZoneNameHST[] ACE_TIME_PROGMEM = "HST";
                                                                                                                                      +
                                                                                                                                      8001 
                                                                                                                                      +
                                                                                                                                      8002 const basic::ZoneInfo kZoneHST ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8003  kZoneNameHST /*name*/,
                                                                                                                                      +
                                                                                                                                      8004  0x0b87f034 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8005  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8006  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8007  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8008  kZoneEraHST /*eras*/,
                                                                                                                                      +
                                                                                                                                      8009 };
                                                                                                                                      +
                                                                                                                                      8010 
                                                                                                                                      +
                                                                                                                                      8011 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8012 // Zone name: Indian/Chagos
                                                                                                                                      +
                                                                                                                                      8013 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8014 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      8015 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      8016 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      8017 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8018 
                                                                                                                                      +
                                                                                                                                      8019 static const basic::ZoneEra kZoneEraIndian_Chagos[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8020  // 6:00 - +06
                                                                                                                                      +
                                                                                                                                      8021  {
                                                                                                                                      +
                                                                                                                                      8022  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8023  "+06" /*format*/,
                                                                                                                                      +
                                                                                                                                      8024  24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8025  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8026  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8027  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8028  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8029  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8030  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8031  },
                                                                                                                                      +
                                                                                                                                      8032 
                                                                                                                                      +
                                                                                                                                      8033 };
                                                                                                                                      +
                                                                                                                                      8034 
                                                                                                                                      +
                                                                                                                                      8035 static const char kZoneNameIndian_Chagos[] ACE_TIME_PROGMEM = "Indian/Chagos";
                                                                                                                                      +
                                                                                                                                      8036 
                                                                                                                                      +
                                                                                                                                      8037 const basic::ZoneInfo kZoneIndian_Chagos ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8038  kZoneNameIndian_Chagos /*name*/,
                                                                                                                                      +
                                                                                                                                      8039  0x456f7c3c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8040  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8041  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8042  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8043  kZoneEraIndian_Chagos /*eras*/,
                                                                                                                                      +
                                                                                                                                      8044 };
                                                                                                                                      +
                                                                                                                                      8045 
                                                                                                                                      +
                                                                                                                                      8046 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8047 // Zone name: Indian/Christmas
                                                                                                                                      +
                                                                                                                                      8048 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8049 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      8050 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      8051 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      8052 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8053 
                                                                                                                                      +
                                                                                                                                      8054 static const basic::ZoneEra kZoneEraIndian_Christmas[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8055  // 7:00 - +07
                                                                                                                                      +
                                                                                                                                      8056  {
                                                                                                                                      +
                                                                                                                                      8057  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8058  "+07" /*format*/,
                                                                                                                                      +
                                                                                                                                      8059  28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8060  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8061  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8062  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8063  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8064  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8065  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8066  },
                                                                                                                                      +
                                                                                                                                      8067 
                                                                                                                                      +
                                                                                                                                      8068 };
                                                                                                                                      +
                                                                                                                                      8069 
                                                                                                                                      +
                                                                                                                                      8070 static const char kZoneNameIndian_Christmas[] ACE_TIME_PROGMEM = "Indian/Christmas";
                                                                                                                                      +
                                                                                                                                      8071 
                                                                                                                                      +
                                                                                                                                      8072 const basic::ZoneInfo kZoneIndian_Christmas ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8073  kZoneNameIndian_Christmas /*name*/,
                                                                                                                                      +
                                                                                                                                      8074  0x68c207d5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8075  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8076  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8077  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8078  kZoneEraIndian_Christmas /*eras*/,
                                                                                                                                      +
                                                                                                                                      8079 };
                                                                                                                                      +
                                                                                                                                      8080 
                                                                                                                                      +
                                                                                                                                      8081 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8082 // Zone name: Indian/Cocos
                                                                                                                                      +
                                                                                                                                      8083 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8084 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      8085 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      8086 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      8087 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8088 
                                                                                                                                      +
                                                                                                                                      8089 static const basic::ZoneEra kZoneEraIndian_Cocos[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8090  // 6:30 - +0630
                                                                                                                                      +
                                                                                                                                      8091  {
                                                                                                                                      +
                                                                                                                                      8092  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8093  "+0630" /*format*/,
                                                                                                                                      +
                                                                                                                                      8094  26 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8095  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8096  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8097  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8098  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8099  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8100  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8101  },
                                                                                                                                      +
                                                                                                                                      8102 
                                                                                                                                      +
                                                                                                                                      8103 };
                                                                                                                                      +
                                                                                                                                      8104 
                                                                                                                                      +
                                                                                                                                      8105 static const char kZoneNameIndian_Cocos[] ACE_TIME_PROGMEM = "Indian/Cocos";
                                                                                                                                      +
                                                                                                                                      8106 
                                                                                                                                      +
                                                                                                                                      8107 const basic::ZoneInfo kZoneIndian_Cocos ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8108  kZoneNameIndian_Cocos /*name*/,
                                                                                                                                      +
                                                                                                                                      8109  0x021e86de /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8110  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8111  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8112  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8113  kZoneEraIndian_Cocos /*eras*/,
                                                                                                                                      +
                                                                                                                                      8114 };
                                                                                                                                      +
                                                                                                                                      8115 
                                                                                                                                      +
                                                                                                                                      8116 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8117 // Zone name: Indian/Kerguelen
                                                                                                                                      +
                                                                                                                                      8118 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8119 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      8120 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      8121 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      8122 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8123 
                                                                                                                                      +
                                                                                                                                      8124 static const basic::ZoneEra kZoneEraIndian_Kerguelen[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8125  // 5:00 - +05
                                                                                                                                      +
                                                                                                                                      8126  {
                                                                                                                                      +
                                                                                                                                      8127  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8128  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      8129  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8130  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8131  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8132  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8133  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8134  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8135  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8136  },
                                                                                                                                      +
                                                                                                                                      8137 
                                                                                                                                      +
                                                                                                                                      8138 };
                                                                                                                                      +
                                                                                                                                      8139 
                                                                                                                                      +
                                                                                                                                      8140 static const char kZoneNameIndian_Kerguelen[] ACE_TIME_PROGMEM = "Indian/Kerguelen";
                                                                                                                                      +
                                                                                                                                      8141 
                                                                                                                                      +
                                                                                                                                      8142 const basic::ZoneInfo kZoneIndian_Kerguelen ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8143  kZoneNameIndian_Kerguelen /*name*/,
                                                                                                                                      +
                                                                                                                                      8144  0x4351b389 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8145  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8146  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8147  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8148  kZoneEraIndian_Kerguelen /*eras*/,
                                                                                                                                      +
                                                                                                                                      8149 };
                                                                                                                                      +
                                                                                                                                      8150 
                                                                                                                                      +
                                                                                                                                      8151 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8152 // Zone name: Indian/Mahe
                                                                                                                                      +
                                                                                                                                      8153 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8154 // Strings (bytes): 16
                                                                                                                                      +
                                                                                                                                      8155 // Memory (8-bit): 39
                                                                                                                                      +
                                                                                                                                      8156 // Memory (32-bit): 52
                                                                                                                                      +
                                                                                                                                      8157 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8158 
                                                                                                                                      +
                                                                                                                                      8159 static const basic::ZoneEra kZoneEraIndian_Mahe[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8160  // 4:00 - +04
                                                                                                                                      +
                                                                                                                                      8161  {
                                                                                                                                      +
                                                                                                                                      8162  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8163  "+04" /*format*/,
                                                                                                                                      +
                                                                                                                                      8164  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8165  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8166  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8167  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8168  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8169  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8170  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8171  },
                                                                                                                                      +
                                                                                                                                      8172 
                                                                                                                                      +
                                                                                                                                      8173 };
                                                                                                                                      +
                                                                                                                                      8174 
                                                                                                                                      +
                                                                                                                                      8175 static const char kZoneNameIndian_Mahe[] ACE_TIME_PROGMEM = "Indian/Mahe";
                                                                                                                                      +
                                                                                                                                      8176 
                                                                                                                                      +
                                                                                                                                      8177 const basic::ZoneInfo kZoneIndian_Mahe ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8178  kZoneNameIndian_Mahe /*name*/,
                                                                                                                                      +
                                                                                                                                      8179  0x45e725e2 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8180  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8181  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8182  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8183  kZoneEraIndian_Mahe /*eras*/,
                                                                                                                                      +
                                                                                                                                      8184 };
                                                                                                                                      +
                                                                                                                                      8185 
                                                                                                                                      +
                                                                                                                                      8186 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8187 // Zone name: Indian/Maldives
                                                                                                                                      +
                                                                                                                                      8188 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8189 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      8190 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      8191 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      8192 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8193 
                                                                                                                                      +
                                                                                                                                      8194 static const basic::ZoneEra kZoneEraIndian_Maldives[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8195  // 5:00 - +05
                                                                                                                                      +
                                                                                                                                      8196  {
                                                                                                                                      +
                                                                                                                                      8197  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8198  "+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      8199  20 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8200  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8201  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8202  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8203  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8204  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8205  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8206  },
                                                                                                                                      +
                                                                                                                                      8207 
                                                                                                                                      +
                                                                                                                                      8208 };
                                                                                                                                      +
                                                                                                                                      8209 
                                                                                                                                      +
                                                                                                                                      8210 static const char kZoneNameIndian_Maldives[] ACE_TIME_PROGMEM = "Indian/Maldives";
                                                                                                                                      +
                                                                                                                                      8211 
                                                                                                                                      +
                                                                                                                                      8212 const basic::ZoneInfo kZoneIndian_Maldives ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8213  kZoneNameIndian_Maldives /*name*/,
                                                                                                                                      +
                                                                                                                                      8214  0x9869681c /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8215  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8216  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8217  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8218  kZoneEraIndian_Maldives /*eras*/,
                                                                                                                                      +
                                                                                                                                      8219 };
                                                                                                                                      +
                                                                                                                                      8220 
                                                                                                                                      +
                                                                                                                                      8221 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8222 // Zone name: Indian/Mauritius
                                                                                                                                      +
                                                                                                                                      8223 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8224 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      8225 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      8226 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      8227 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8228 
                                                                                                                                      +
                                                                                                                                      8229 static const basic::ZoneEra kZoneEraIndian_Mauritius[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8230  // 4:00 Mauritius +04/+05
                                                                                                                                      +
                                                                                                                                      8231  {
                                                                                                                                      +
                                                                                                                                      8232  &kPolicyMauritius /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8233  "+04/+05" /*format*/,
                                                                                                                                      +
                                                                                                                                      8234  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8235  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8236  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8237  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8238  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8239  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8240  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8241  },
                                                                                                                                      +
                                                                                                                                      8242 
                                                                                                                                      +
                                                                                                                                      8243 };
                                                                                                                                      +
                                                                                                                                      8244 
                                                                                                                                      +
                                                                                                                                      8245 static const char kZoneNameIndian_Mauritius[] ACE_TIME_PROGMEM = "Indian/Mauritius";
                                                                                                                                      +
                                                                                                                                      8246 
                                                                                                                                      +
                                                                                                                                      8247 const basic::ZoneInfo kZoneIndian_Mauritius ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8248  kZoneNameIndian_Mauritius /*name*/,
                                                                                                                                      +
                                                                                                                                      8249  0x7b09c02a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8250  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8251  4 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8252  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8253  kZoneEraIndian_Mauritius /*eras*/,
                                                                                                                                      +
                                                                                                                                      8254 };
                                                                                                                                      +
                                                                                                                                      8255 
                                                                                                                                      +
                                                                                                                                      8256 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8257 // Zone name: Indian/Reunion
                                                                                                                                      +
                                                                                                                                      8258 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8259 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      8260 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      8261 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      8262 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8263 
                                                                                                                                      +
                                                                                                                                      8264 static const basic::ZoneEra kZoneEraIndian_Reunion[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8265  // 4:00 - +04
                                                                                                                                      +
                                                                                                                                      8266  {
                                                                                                                                      +
                                                                                                                                      8267  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8268  "+04" /*format*/,
                                                                                                                                      +
                                                                                                                                      8269  16 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8270  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8271  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8272  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8273  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8274  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8275  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8276  },
                                                                                                                                      +
                                                                                                                                      8277 
                                                                                                                                      +
                                                                                                                                      8278 };
                                                                                                                                      +
                                                                                                                                      8279 
                                                                                                                                      +
                                                                                                                                      8280 static const char kZoneNameIndian_Reunion[] ACE_TIME_PROGMEM = "Indian/Reunion";
                                                                                                                                      +
                                                                                                                                      8281 
                                                                                                                                      +
                                                                                                                                      8282 const basic::ZoneInfo kZoneIndian_Reunion ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8283  kZoneNameIndian_Reunion /*name*/,
                                                                                                                                      +
                                                                                                                                      8284  0x7076c047 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8285  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8286  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8287  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8288  kZoneEraIndian_Reunion /*eras*/,
                                                                                                                                      +
                                                                                                                                      8289 };
                                                                                                                                      +
                                                                                                                                      8290 
                                                                                                                                      +
                                                                                                                                      8291 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8292 // Zone name: MET
                                                                                                                                      +
                                                                                                                                      8293 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8294 // Strings (bytes): 9
                                                                                                                                      +
                                                                                                                                      8295 // Memory (8-bit): 32
                                                                                                                                      +
                                                                                                                                      8296 // Memory (32-bit): 45
                                                                                                                                      +
                                                                                                                                      8297 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8298 
                                                                                                                                      +
                                                                                                                                      8299 static const basic::ZoneEra kZoneEraMET[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8300  // 1:00 C-Eur ME%sT
                                                                                                                                      +
                                                                                                                                      8301  {
                                                                                                                                      +
                                                                                                                                      8302  &kPolicyC_Eur /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8303  "ME%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      8304  4 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8305  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8306  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8307  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8308  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8309  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8310  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8311  },
                                                                                                                                      +
                                                                                                                                      8312 
                                                                                                                                      +
                                                                                                                                      8313 };
                                                                                                                                      +
                                                                                                                                      8314 
                                                                                                                                      +
                                                                                                                                      8315 static const char kZoneNameMET[] ACE_TIME_PROGMEM = "MET";
                                                                                                                                      +
                                                                                                                                      8316 
                                                                                                                                      +
                                                                                                                                      8317 const basic::ZoneInfo kZoneMET ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8318  kZoneNameMET /*name*/,
                                                                                                                                      +
                                                                                                                                      8319  0x0b8803ab /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8320  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8321  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8322  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8323  kZoneEraMET /*eras*/,
                                                                                                                                      +
                                                                                                                                      8324 };
                                                                                                                                      +
                                                                                                                                      8325 
                                                                                                                                      +
                                                                                                                                      8326 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8327 // Zone name: MST
                                                                                                                                      +
                                                                                                                                      8328 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8329 // Strings (bytes): 8
                                                                                                                                      +
                                                                                                                                      8330 // Memory (8-bit): 31
                                                                                                                                      +
                                                                                                                                      8331 // Memory (32-bit): 44
                                                                                                                                      +
                                                                                                                                      8332 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8333 
                                                                                                                                      +
                                                                                                                                      8334 static const basic::ZoneEra kZoneEraMST[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8335  // -7:00 - MST
                                                                                                                                      +
                                                                                                                                      8336  {
                                                                                                                                      +
                                                                                                                                      8337  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8338  "MST" /*format*/,
                                                                                                                                      +
                                                                                                                                      8339  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8340  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8341  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8342  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8343  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8344  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8345  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8346  },
                                                                                                                                      +
                                                                                                                                      8347 
                                                                                                                                      +
                                                                                                                                      8348 };
                                                                                                                                      +
                                                                                                                                      8349 
                                                                                                                                      +
                                                                                                                                      8350 static const char kZoneNameMST[] ACE_TIME_PROGMEM = "MST";
                                                                                                                                      +
                                                                                                                                      8351 
                                                                                                                                      +
                                                                                                                                      8352 const basic::ZoneInfo kZoneMST ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8353  kZoneNameMST /*name*/,
                                                                                                                                      +
                                                                                                                                      8354  0x0b880579 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8355  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8356  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8357  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8358  kZoneEraMST /*eras*/,
                                                                                                                                      +
                                                                                                                                      8359 };
                                                                                                                                      +
                                                                                                                                      8360 
                                                                                                                                      +
                                                                                                                                      8361 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8362 // Zone name: MST7MDT
                                                                                                                                      +
                                                                                                                                      8363 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8364 // Strings (bytes): 12
                                                                                                                                      +
                                                                                                                                      8365 // Memory (8-bit): 35
                                                                                                                                      +
                                                                                                                                      8366 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      8367 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8368 
                                                                                                                                      +
                                                                                                                                      8369 static const basic::ZoneEra kZoneEraMST7MDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8370  // -7:00 US M%sT
                                                                                                                                      +
                                                                                                                                      8371  {
                                                                                                                                      +
                                                                                                                                      8372  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8373  "M%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      8374  -28 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8375  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8376  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8377  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8378  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8379  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8380  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8381  },
                                                                                                                                      +
                                                                                                                                      8382 
                                                                                                                                      +
                                                                                                                                      8383 };
                                                                                                                                      +
                                                                                                                                      8384 
                                                                                                                                      +
                                                                                                                                      8385 static const char kZoneNameMST7MDT[] ACE_TIME_PROGMEM = "MST7MDT";
                                                                                                                                      +
                                                                                                                                      8386 
                                                                                                                                      +
                                                                                                                                      8387 const basic::ZoneInfo kZoneMST7MDT ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8388  kZoneNameMST7MDT /*name*/,
                                                                                                                                      +
                                                                                                                                      8389  0xf2af9375 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8390  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8391  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8392  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8393  kZoneEraMST7MDT /*eras*/,
                                                                                                                                      +
                                                                                                                                      8394 };
                                                                                                                                      +
                                                                                                                                      8395 
                                                                                                                                      +
                                                                                                                                      8396 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8397 // Zone name: PST8PDT
                                                                                                                                      +
                                                                                                                                      8398 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8399 // Strings (bytes): 12
                                                                                                                                      +
                                                                                                                                      8400 // Memory (8-bit): 35
                                                                                                                                      +
                                                                                                                                      8401 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      8402 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8403 
                                                                                                                                      +
                                                                                                                                      8404 static const basic::ZoneEra kZoneEraPST8PDT[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8405  // -8:00 US P%sT
                                                                                                                                      +
                                                                                                                                      8406  {
                                                                                                                                      +
                                                                                                                                      8407  &kPolicyUS /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8408  "P%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      8409  -32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8410  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8411  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8412  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8413  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8414  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8415  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8416  },
                                                                                                                                      +
                                                                                                                                      8417 
                                                                                                                                      +
                                                                                                                                      8418 };
                                                                                                                                      +
                                                                                                                                      8419 
                                                                                                                                      +
                                                                                                                                      8420 static const char kZoneNamePST8PDT[] ACE_TIME_PROGMEM = "PST8PDT";
                                                                                                                                      +
                                                                                                                                      8421 
                                                                                                                                      +
                                                                                                                                      8422 const basic::ZoneInfo kZonePST8PDT ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8423  kZoneNamePST8PDT /*name*/,
                                                                                                                                      +
                                                                                                                                      8424  0xd99ee2dc /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8425  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8426  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8427  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8428  kZoneEraPST8PDT /*eras*/,
                                                                                                                                      +
                                                                                                                                      8429 };
                                                                                                                                      +
                                                                                                                                      8430 
                                                                                                                                      +
                                                                                                                                      8431 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8432 // Zone name: Pacific/Auckland
                                                                                                                                      +
                                                                                                                                      8433 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8434 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      8435 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      8436 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      8437 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8438 
                                                                                                                                      +
                                                                                                                                      8439 static const basic::ZoneEra kZoneEraPacific_Auckland[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8440  // 12:00 NZ NZ%sT
                                                                                                                                      +
                                                                                                                                      8441  {
                                                                                                                                      +
                                                                                                                                      8442  &kPolicyNZ /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8443  "NZ%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      8444  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8445  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8446  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8447  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8448  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8449  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8450  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8451  },
                                                                                                                                      +
                                                                                                                                      8452 
                                                                                                                                      +
                                                                                                                                      8453 };
                                                                                                                                      +
                                                                                                                                      8454 
                                                                                                                                      +
                                                                                                                                      8455 static const char kZoneNamePacific_Auckland[] ACE_TIME_PROGMEM = "Pacific/Auckland";
                                                                                                                                      +
                                                                                                                                      8456 
                                                                                                                                      +
                                                                                                                                      8457 const basic::ZoneInfo kZonePacific_Auckland ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8458  kZoneNamePacific_Auckland /*name*/,
                                                                                                                                      +
                                                                                                                                      8459  0x25062f86 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8460  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8461  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8462  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8463  kZoneEraPacific_Auckland /*eras*/,
                                                                                                                                      +
                                                                                                                                      8464 };
                                                                                                                                      +
                                                                                                                                      8465 
                                                                                                                                      +
                                                                                                                                      8466 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8467 // Zone name: Pacific/Chatham
                                                                                                                                      +
                                                                                                                                      8468 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8469 // Strings (bytes): 28
                                                                                                                                      +
                                                                                                                                      8470 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      8471 // Memory (32-bit): 64
                                                                                                                                      +
                                                                                                                                      8472 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8473 
                                                                                                                                      +
                                                                                                                                      8474 static const basic::ZoneEra kZoneEraPacific_Chatham[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8475  // 12:45 Chatham +1245/+1345
                                                                                                                                      +
                                                                                                                                      8476  {
                                                                                                                                      +
                                                                                                                                      8477  &kPolicyChatham /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8478  "+1245/+1345" /*format*/,
                                                                                                                                      +
                                                                                                                                      8479  51 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8480  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8481  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8482  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8483  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8484  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8485  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8486  },
                                                                                                                                      +
                                                                                                                                      8487 
                                                                                                                                      +
                                                                                                                                      8488 };
                                                                                                                                      +
                                                                                                                                      8489 
                                                                                                                                      +
                                                                                                                                      8490 static const char kZoneNamePacific_Chatham[] ACE_TIME_PROGMEM = "Pacific/Chatham";
                                                                                                                                      +
                                                                                                                                      8491 
                                                                                                                                      +
                                                                                                                                      8492 const basic::ZoneInfo kZonePacific_Chatham ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8493  kZoneNamePacific_Chatham /*name*/,
                                                                                                                                      +
                                                                                                                                      8494  0x2f0de999 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8495  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8496  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8497  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8498  kZoneEraPacific_Chatham /*eras*/,
                                                                                                                                      +
                                                                                                                                      8499 };
                                                                                                                                      +
                                                                                                                                      8500 
                                                                                                                                      +
                                                                                                                                      8501 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8502 // Zone name: Pacific/Chuuk
                                                                                                                                      +
                                                                                                                                      8503 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8504 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      8505 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      8506 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      8507 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8508 
                                                                                                                                      +
                                                                                                                                      8509 static const basic::ZoneEra kZoneEraPacific_Chuuk[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8510  // 10:00 - +10
                                                                                                                                      +
                                                                                                                                      8511  {
                                                                                                                                      +
                                                                                                                                      8512  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8513  "+10" /*format*/,
                                                                                                                                      +
                                                                                                                                      8514  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8515  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8516  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8517  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8518  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8519  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8520  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8521  },
                                                                                                                                      +
                                                                                                                                      8522 
                                                                                                                                      +
                                                                                                                                      8523 };
                                                                                                                                      +
                                                                                                                                      8524 
                                                                                                                                      +
                                                                                                                                      8525 static const char kZoneNamePacific_Chuuk[] ACE_TIME_PROGMEM = "Pacific/Chuuk";
                                                                                                                                      +
                                                                                                                                      8526 
                                                                                                                                      +
                                                                                                                                      8527 const basic::ZoneInfo kZonePacific_Chuuk ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8528  kZoneNamePacific_Chuuk /*name*/,
                                                                                                                                      +
                                                                                                                                      8529  0x8a090b23 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8530  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8531  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8532  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8533  kZoneEraPacific_Chuuk /*eras*/,
                                                                                                                                      +
                                                                                                                                      8534 };
                                                                                                                                      +
                                                                                                                                      8535 
                                                                                                                                      +
                                                                                                                                      8536 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8537 // Zone name: Pacific/Easter
                                                                                                                                      +
                                                                                                                                      8538 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8539 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      8540 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      8541 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      8542 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8543 
                                                                                                                                      +
                                                                                                                                      8544 static const basic::ZoneEra kZoneEraPacific_Easter[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8545  // -6:00 Chile -06/-05
                                                                                                                                      +
                                                                                                                                      8546  {
                                                                                                                                      +
                                                                                                                                      8547  &kPolicyChile /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8548  "-06/-05" /*format*/,
                                                                                                                                      +
                                                                                                                                      8549  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8550  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8551  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8552  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8553  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8554  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8555  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8556  },
                                                                                                                                      +
                                                                                                                                      8557 
                                                                                                                                      +
                                                                                                                                      8558 };
                                                                                                                                      +
                                                                                                                                      8559 
                                                                                                                                      +
                                                                                                                                      8560 static const char kZoneNamePacific_Easter[] ACE_TIME_PROGMEM = "Pacific/Easter";
                                                                                                                                      +
                                                                                                                                      8561 
                                                                                                                                      +
                                                                                                                                      8562 const basic::ZoneInfo kZonePacific_Easter ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8563  kZoneNamePacific_Easter /*name*/,
                                                                                                                                      +
                                                                                                                                      8564  0xcf54f7e7 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8565  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8566  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8567  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8568  kZoneEraPacific_Easter /*eras*/,
                                                                                                                                      +
                                                                                                                                      8569 };
                                                                                                                                      +
                                                                                                                                      8570 
                                                                                                                                      +
                                                                                                                                      8571 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8572 // Zone name: Pacific/Efate
                                                                                                                                      +
                                                                                                                                      8573 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8574 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      8575 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      8576 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      8577 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8578 
                                                                                                                                      +
                                                                                                                                      8579 static const basic::ZoneEra kZoneEraPacific_Efate[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8580  // 11:00 Vanuatu +11/+12
                                                                                                                                      +
                                                                                                                                      8581  {
                                                                                                                                      +
                                                                                                                                      8582  &kPolicyVanuatu /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8583  "+11/+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      8584  44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8585  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8586  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8587  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8588  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8589  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8590  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8591  },
                                                                                                                                      +
                                                                                                                                      8592 
                                                                                                                                      +
                                                                                                                                      8593 };
                                                                                                                                      +
                                                                                                                                      8594 
                                                                                                                                      +
                                                                                                                                      8595 static const char kZoneNamePacific_Efate[] ACE_TIME_PROGMEM = "Pacific/Efate";
                                                                                                                                      +
                                                                                                                                      8596 
                                                                                                                                      +
                                                                                                                                      8597 const basic::ZoneInfo kZonePacific_Efate ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8598  kZoneNamePacific_Efate /*name*/,
                                                                                                                                      +
                                                                                                                                      8599  0x8a2bce28 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8600  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8601  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8602  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8603  kZoneEraPacific_Efate /*eras*/,
                                                                                                                                      +
                                                                                                                                      8604 };
                                                                                                                                      +
                                                                                                                                      8605 
                                                                                                                                      +
                                                                                                                                      8606 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8607 // Zone name: Pacific/Enderbury
                                                                                                                                      +
                                                                                                                                      8608 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8609 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      8610 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      8611 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      8612 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8613 
                                                                                                                                      +
                                                                                                                                      8614 static const basic::ZoneEra kZoneEraPacific_Enderbury[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8615  // 13:00 - +13
                                                                                                                                      +
                                                                                                                                      8616  {
                                                                                                                                      +
                                                                                                                                      8617  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8618  "+13" /*format*/,
                                                                                                                                      +
                                                                                                                                      8619  52 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8620  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8621  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8622  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8623  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8624  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8625  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8626  },
                                                                                                                                      +
                                                                                                                                      8627 
                                                                                                                                      +
                                                                                                                                      8628 };
                                                                                                                                      +
                                                                                                                                      8629 
                                                                                                                                      +
                                                                                                                                      8630 static const char kZoneNamePacific_Enderbury[] ACE_TIME_PROGMEM = "Pacific/Enderbury";
                                                                                                                                      +
                                                                                                                                      8631 
                                                                                                                                      +
                                                                                                                                      8632 const basic::ZoneInfo kZonePacific_Enderbury ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8633  kZoneNamePacific_Enderbury /*name*/,
                                                                                                                                      +
                                                                                                                                      8634  0x61599a93 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8635  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8636  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8637  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8638  kZoneEraPacific_Enderbury /*eras*/,
                                                                                                                                      +
                                                                                                                                      8639 };
                                                                                                                                      +
                                                                                                                                      8640 
                                                                                                                                      +
                                                                                                                                      8641 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8642 // Zone name: Pacific/Fiji
                                                                                                                                      +
                                                                                                                                      8643 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8644 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      8645 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      8646 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      8647 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8648 
                                                                                                                                      +
                                                                                                                                      8649 static const basic::ZoneEra kZoneEraPacific_Fiji[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8650  // 12:00 Fiji +12/+13
                                                                                                                                      +
                                                                                                                                      8651  {
                                                                                                                                      +
                                                                                                                                      8652  &kPolicyFiji /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8653  "+12/+13" /*format*/,
                                                                                                                                      +
                                                                                                                                      8654  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8655  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8656  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8657  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8658  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8659  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8660  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8661  },
                                                                                                                                      +
                                                                                                                                      8662 
                                                                                                                                      +
                                                                                                                                      8663 };
                                                                                                                                      +
                                                                                                                                      8664 
                                                                                                                                      +
                                                                                                                                      8665 static const char kZoneNamePacific_Fiji[] ACE_TIME_PROGMEM = "Pacific/Fiji";
                                                                                                                                      +
                                                                                                                                      8666 
                                                                                                                                      +
                                                                                                                                      8667 const basic::ZoneInfo kZonePacific_Fiji ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8668  kZoneNamePacific_Fiji /*name*/,
                                                                                                                                      +
                                                                                                                                      8669  0x23383ba5 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8670  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8671  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8672  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8673  kZoneEraPacific_Fiji /*eras*/,
                                                                                                                                      +
                                                                                                                                      8674 };
                                                                                                                                      +
                                                                                                                                      8675 
                                                                                                                                      +
                                                                                                                                      8676 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8677 // Zone name: Pacific/Funafuti
                                                                                                                                      +
                                                                                                                                      8678 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8679 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      8680 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      8681 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      8682 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8683 
                                                                                                                                      +
                                                                                                                                      8684 static const basic::ZoneEra kZoneEraPacific_Funafuti[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8685  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      8686  {
                                                                                                                                      +
                                                                                                                                      8687  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8688  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      8689  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8690  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8691  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8692  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8693  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8694  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8695  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8696  },
                                                                                                                                      +
                                                                                                                                      8697 
                                                                                                                                      +
                                                                                                                                      8698 };
                                                                                                                                      +
                                                                                                                                      8699 
                                                                                                                                      +
                                                                                                                                      8700 static const char kZoneNamePacific_Funafuti[] ACE_TIME_PROGMEM = "Pacific/Funafuti";
                                                                                                                                      +
                                                                                                                                      8701 
                                                                                                                                      +
                                                                                                                                      8702 const basic::ZoneInfo kZonePacific_Funafuti ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8703  kZoneNamePacific_Funafuti /*name*/,
                                                                                                                                      +
                                                                                                                                      8704  0xdb402d65 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8705  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8706  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8707  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8708  kZoneEraPacific_Funafuti /*eras*/,
                                                                                                                                      +
                                                                                                                                      8709 };
                                                                                                                                      +
                                                                                                                                      8710 
                                                                                                                                      +
                                                                                                                                      8711 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8712 // Zone name: Pacific/Galapagos
                                                                                                                                      +
                                                                                                                                      8713 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8714 // Strings (bytes): 26
                                                                                                                                      +
                                                                                                                                      8715 // Memory (8-bit): 49
                                                                                                                                      +
                                                                                                                                      8716 // Memory (32-bit): 62
                                                                                                                                      +
                                                                                                                                      8717 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8718 
                                                                                                                                      +
                                                                                                                                      8719 static const basic::ZoneEra kZoneEraPacific_Galapagos[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8720  // -6:00 Ecuador -06/-05
                                                                                                                                      +
                                                                                                                                      8721  {
                                                                                                                                      +
                                                                                                                                      8722  &kPolicyEcuador /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8723  "-06/-05" /*format*/,
                                                                                                                                      +
                                                                                                                                      8724  -24 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8725  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8726  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8727  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8728  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8729  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8730  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8731  },
                                                                                                                                      +
                                                                                                                                      8732 
                                                                                                                                      +
                                                                                                                                      8733 };
                                                                                                                                      +
                                                                                                                                      8734 
                                                                                                                                      +
                                                                                                                                      8735 static const char kZoneNamePacific_Galapagos[] ACE_TIME_PROGMEM = "Pacific/Galapagos";
                                                                                                                                      +
                                                                                                                                      8736 
                                                                                                                                      +
                                                                                                                                      8737 const basic::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8738  kZoneNamePacific_Galapagos /*name*/,
                                                                                                                                      +
                                                                                                                                      8739  0xa952f752 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8740  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8741  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8742  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8743  kZoneEraPacific_Galapagos /*eras*/,
                                                                                                                                      +
                                                                                                                                      8744 };
                                                                                                                                      +
                                                                                                                                      8745 
                                                                                                                                      +
                                                                                                                                      8746 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8747 // Zone name: Pacific/Gambier
                                                                                                                                      +
                                                                                                                                      8748 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8749 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      8750 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      8751 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      8752 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8753 
                                                                                                                                      +
                                                                                                                                      8754 static const basic::ZoneEra kZoneEraPacific_Gambier[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8755  // -9:00 - -09
                                                                                                                                      +
                                                                                                                                      8756  {
                                                                                                                                      +
                                                                                                                                      8757  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8758  "-09" /*format*/,
                                                                                                                                      +
                                                                                                                                      8759  -36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8760  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8761  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8762  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8763  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8764  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8765  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8766  },
                                                                                                                                      +
                                                                                                                                      8767 
                                                                                                                                      +
                                                                                                                                      8768 };
                                                                                                                                      +
                                                                                                                                      8769 
                                                                                                                                      +
                                                                                                                                      8770 static const char kZoneNamePacific_Gambier[] ACE_TIME_PROGMEM = "Pacific/Gambier";
                                                                                                                                      +
                                                                                                                                      8771 
                                                                                                                                      +
                                                                                                                                      8772 const basic::ZoneInfo kZonePacific_Gambier ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8773  kZoneNamePacific_Gambier /*name*/,
                                                                                                                                      +
                                                                                                                                      8774  0x53720c3a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8775  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8776  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8777  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8778  kZoneEraPacific_Gambier /*eras*/,
                                                                                                                                      +
                                                                                                                                      8779 };
                                                                                                                                      +
                                                                                                                                      8780 
                                                                                                                                      +
                                                                                                                                      8781 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8782 // Zone name: Pacific/Guadalcanal
                                                                                                                                      +
                                                                                                                                      8783 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8784 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      8785 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      8786 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      8787 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8788 
                                                                                                                                      +
                                                                                                                                      8789 static const basic::ZoneEra kZoneEraPacific_Guadalcanal[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8790  // 11:00 - +11
                                                                                                                                      +
                                                                                                                                      8791  {
                                                                                                                                      +
                                                                                                                                      8792  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8793  "+11" /*format*/,
                                                                                                                                      +
                                                                                                                                      8794  44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8795  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8796  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8797  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8798  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8799  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8800  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8801  },
                                                                                                                                      +
                                                                                                                                      8802 
                                                                                                                                      +
                                                                                                                                      8803 };
                                                                                                                                      +
                                                                                                                                      8804 
                                                                                                                                      +
                                                                                                                                      8805 static const char kZoneNamePacific_Guadalcanal[] ACE_TIME_PROGMEM = "Pacific/Guadalcanal";
                                                                                                                                      +
                                                                                                                                      8806 
                                                                                                                                      +
                                                                                                                                      8807 const basic::ZoneInfo kZonePacific_Guadalcanal ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8808  kZoneNamePacific_Guadalcanal /*name*/,
                                                                                                                                      +
                                                                                                                                      8809  0xf4dd25f0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8810  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8811  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8812  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8813  kZoneEraPacific_Guadalcanal /*eras*/,
                                                                                                                                      +
                                                                                                                                      8814 };
                                                                                                                                      +
                                                                                                                                      8815 
                                                                                                                                      +
                                                                                                                                      8816 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8817 // Zone name: Pacific/Honolulu
                                                                                                                                      +
                                                                                                                                      8818 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8819 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      8820 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      8821 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      8822 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8823 
                                                                                                                                      +
                                                                                                                                      8824 static const basic::ZoneEra kZoneEraPacific_Honolulu[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8825  // -10:00 - HST
                                                                                                                                      +
                                                                                                                                      8826  {
                                                                                                                                      +
                                                                                                                                      8827  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8828  "HST" /*format*/,
                                                                                                                                      +
                                                                                                                                      8829  -40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8830  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8831  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8832  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8833  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8834  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8835  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8836  },
                                                                                                                                      +
                                                                                                                                      8837 
                                                                                                                                      +
                                                                                                                                      8838 };
                                                                                                                                      +
                                                                                                                                      8839 
                                                                                                                                      +
                                                                                                                                      8840 static const char kZoneNamePacific_Honolulu[] ACE_TIME_PROGMEM = "Pacific/Honolulu";
                                                                                                                                      +
                                                                                                                                      8841 
                                                                                                                                      +
                                                                                                                                      8842 const basic::ZoneInfo kZonePacific_Honolulu ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8843  kZoneNamePacific_Honolulu /*name*/,
                                                                                                                                      +
                                                                                                                                      8844  0xe6e70af9 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8845  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8846  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8847  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8848  kZoneEraPacific_Honolulu /*eras*/,
                                                                                                                                      +
                                                                                                                                      8849 };
                                                                                                                                      +
                                                                                                                                      8850 
                                                                                                                                      +
                                                                                                                                      8851 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8852 // Zone name: Pacific/Kiritimati
                                                                                                                                      +
                                                                                                                                      8853 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8854 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      8855 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      8856 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      8857 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8858 
                                                                                                                                      +
                                                                                                                                      8859 static const basic::ZoneEra kZoneEraPacific_Kiritimati[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8860  // 14:00 - +14
                                                                                                                                      +
                                                                                                                                      8861  {
                                                                                                                                      +
                                                                                                                                      8862  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8863  "+14" /*format*/,
                                                                                                                                      +
                                                                                                                                      8864  56 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8865  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8866  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8867  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8868  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8869  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8870  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8871  },
                                                                                                                                      +
                                                                                                                                      8872 
                                                                                                                                      +
                                                                                                                                      8873 };
                                                                                                                                      +
                                                                                                                                      8874 
                                                                                                                                      +
                                                                                                                                      8875 static const char kZoneNamePacific_Kiritimati[] ACE_TIME_PROGMEM = "Pacific/Kiritimati";
                                                                                                                                      +
                                                                                                                                      8876 
                                                                                                                                      +
                                                                                                                                      8877 const basic::ZoneInfo kZonePacific_Kiritimati ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8878  kZoneNamePacific_Kiritimati /*name*/,
                                                                                                                                      +
                                                                                                                                      8879  0x8305073a /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8880  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8881  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8882  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8883  kZoneEraPacific_Kiritimati /*eras*/,
                                                                                                                                      +
                                                                                                                                      8884 };
                                                                                                                                      +
                                                                                                                                      8885 
                                                                                                                                      +
                                                                                                                                      8886 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8887 // Zone name: Pacific/Kosrae
                                                                                                                                      +
                                                                                                                                      8888 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      8889 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      8890 // Memory (8-bit): 57
                                                                                                                                      +
                                                                                                                                      8891 // Memory (32-bit): 75
                                                                                                                                      +
                                                                                                                                      8892 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8893 
                                                                                                                                      +
                                                                                                                                      8894 static const basic::ZoneEra kZoneEraPacific_Kosrae[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8895  // 12:00 - +12 1999
                                                                                                                                      +
                                                                                                                                      8896  {
                                                                                                                                      +
                                                                                                                                      8897  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8898  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      8899  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8900  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8901  -1 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8902  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8903  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8904  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8905  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8906  },
                                                                                                                                      +
                                                                                                                                      8907  // 11:00 - +11
                                                                                                                                      +
                                                                                                                                      8908  {
                                                                                                                                      +
                                                                                                                                      8909  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8910  "+11" /*format*/,
                                                                                                                                      +
                                                                                                                                      8911  44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8912  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8913  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8914  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8915  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8916  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8917  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8918  },
                                                                                                                                      +
                                                                                                                                      8919 
                                                                                                                                      +
                                                                                                                                      8920 };
                                                                                                                                      +
                                                                                                                                      8921 
                                                                                                                                      +
                                                                                                                                      8922 static const char kZoneNamePacific_Kosrae[] ACE_TIME_PROGMEM = "Pacific/Kosrae";
                                                                                                                                      +
                                                                                                                                      8923 
                                                                                                                                      +
                                                                                                                                      8924 const basic::ZoneInfo kZonePacific_Kosrae ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8925  kZoneNamePacific_Kosrae /*name*/,
                                                                                                                                      +
                                                                                                                                      8926  0xde5139a8 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8927  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8928  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8929  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8930  kZoneEraPacific_Kosrae /*eras*/,
                                                                                                                                      +
                                                                                                                                      8931 };
                                                                                                                                      +
                                                                                                                                      8932 
                                                                                                                                      +
                                                                                                                                      8933 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8934 // Zone name: Pacific/Kwajalein
                                                                                                                                      +
                                                                                                                                      8935 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8936 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      8937 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      8938 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      8939 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8940 
                                                                                                                                      +
                                                                                                                                      8941 static const basic::ZoneEra kZoneEraPacific_Kwajalein[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8942  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      8943  {
                                                                                                                                      +
                                                                                                                                      8944  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8945  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      8946  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8947  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8948  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8949  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8950  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8951  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8952  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8953  },
                                                                                                                                      +
                                                                                                                                      8954 
                                                                                                                                      +
                                                                                                                                      8955 };
                                                                                                                                      +
                                                                                                                                      8956 
                                                                                                                                      +
                                                                                                                                      8957 static const char kZoneNamePacific_Kwajalein[] ACE_TIME_PROGMEM = "Pacific/Kwajalein";
                                                                                                                                      +
                                                                                                                                      8958 
                                                                                                                                      +
                                                                                                                                      8959 const basic::ZoneInfo kZonePacific_Kwajalein ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8960  kZoneNamePacific_Kwajalein /*name*/,
                                                                                                                                      +
                                                                                                                                      8961  0x8e216759 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8962  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8963  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8964  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      8965  kZoneEraPacific_Kwajalein /*eras*/,
                                                                                                                                      +
                                                                                                                                      8966 };
                                                                                                                                      +
                                                                                                                                      8967 
                                                                                                                                      +
                                                                                                                                      8968 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8969 // Zone name: Pacific/Majuro
                                                                                                                                      +
                                                                                                                                      8970 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      8971 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      8972 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      8973 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      8974 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      8975 
                                                                                                                                      +
                                                                                                                                      8976 static const basic::ZoneEra kZoneEraPacific_Majuro[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8977  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      8978  {
                                                                                                                                      +
                                                                                                                                      8979  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      8980  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      8981  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      8982  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      8983  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      8984  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      8985  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      8986  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      8987  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      8988  },
                                                                                                                                      +
                                                                                                                                      8989 
                                                                                                                                      +
                                                                                                                                      8990 };
                                                                                                                                      +
                                                                                                                                      8991 
                                                                                                                                      +
                                                                                                                                      8992 static const char kZoneNamePacific_Majuro[] ACE_TIME_PROGMEM = "Pacific/Majuro";
                                                                                                                                      +
                                                                                                                                      8993 
                                                                                                                                      +
                                                                                                                                      8994 const basic::ZoneInfo kZonePacific_Majuro ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      8995  kZoneNamePacific_Majuro /*name*/,
                                                                                                                                      +
                                                                                                                                      8996  0xe1f95371 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      8997  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      8998  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      8999  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9000  kZoneEraPacific_Majuro /*eras*/,
                                                                                                                                      +
                                                                                                                                      9001 };
                                                                                                                                      +
                                                                                                                                      9002 
                                                                                                                                      +
                                                                                                                                      9003 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9004 // Zone name: Pacific/Marquesas
                                                                                                                                      +
                                                                                                                                      9005 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9006 // Strings (bytes): 24
                                                                                                                                      +
                                                                                                                                      9007 // Memory (8-bit): 47
                                                                                                                                      +
                                                                                                                                      9008 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      9009 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9010 
                                                                                                                                      +
                                                                                                                                      9011 static const basic::ZoneEra kZoneEraPacific_Marquesas[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9012  // -9:30 - -0930
                                                                                                                                      +
                                                                                                                                      9013  {
                                                                                                                                      +
                                                                                                                                      9014  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9015  "-0930" /*format*/,
                                                                                                                                      +
                                                                                                                                      9016  -38 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9017  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9018  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9019  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9020  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9021  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9022  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9023  },
                                                                                                                                      +
                                                                                                                                      9024 
                                                                                                                                      +
                                                                                                                                      9025 };
                                                                                                                                      +
                                                                                                                                      9026 
                                                                                                                                      +
                                                                                                                                      9027 static const char kZoneNamePacific_Marquesas[] ACE_TIME_PROGMEM = "Pacific/Marquesas";
                                                                                                                                      +
                                                                                                                                      9028 
                                                                                                                                      +
                                                                                                                                      9029 const basic::ZoneInfo kZonePacific_Marquesas ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9030  kZoneNamePacific_Marquesas /*name*/,
                                                                                                                                      +
                                                                                                                                      9031  0x57ca7135 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9032  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9033  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9034  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9035  kZoneEraPacific_Marquesas /*eras*/,
                                                                                                                                      +
                                                                                                                                      9036 };
                                                                                                                                      +
                                                                                                                                      9037 
                                                                                                                                      +
                                                                                                                                      9038 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9039 // Zone name: Pacific/Nauru
                                                                                                                                      +
                                                                                                                                      9040 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9041 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      9042 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      9043 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      9044 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9045 
                                                                                                                                      +
                                                                                                                                      9046 static const basic::ZoneEra kZoneEraPacific_Nauru[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9047  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      9048  {
                                                                                                                                      +
                                                                                                                                      9049  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9050  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      9051  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9052  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9053  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9054  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9055  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9056  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9057  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9058  },
                                                                                                                                      +
                                                                                                                                      9059 
                                                                                                                                      +
                                                                                                                                      9060 };
                                                                                                                                      +
                                                                                                                                      9061 
                                                                                                                                      +
                                                                                                                                      9062 static const char kZoneNamePacific_Nauru[] ACE_TIME_PROGMEM = "Pacific/Nauru";
                                                                                                                                      +
                                                                                                                                      9063 
                                                                                                                                      +
                                                                                                                                      9064 const basic::ZoneInfo kZonePacific_Nauru ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9065  kZoneNamePacific_Nauru /*name*/,
                                                                                                                                      +
                                                                                                                                      9066  0x8acc41ae /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9067  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9068  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9069  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9070  kZoneEraPacific_Nauru /*eras*/,
                                                                                                                                      +
                                                                                                                                      9071 };
                                                                                                                                      +
                                                                                                                                      9072 
                                                                                                                                      +
                                                                                                                                      9073 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9074 // Zone name: Pacific/Niue
                                                                                                                                      +
                                                                                                                                      9075 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9076 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      9077 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      9078 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      9079 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9080 
                                                                                                                                      +
                                                                                                                                      9081 static const basic::ZoneEra kZoneEraPacific_Niue[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9082  // -11:00 - -11
                                                                                                                                      +
                                                                                                                                      9083  {
                                                                                                                                      +
                                                                                                                                      9084  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9085  "-11" /*format*/,
                                                                                                                                      +
                                                                                                                                      9086  -44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9087  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9088  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9089  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9090  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9091  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9092  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9093  },
                                                                                                                                      +
                                                                                                                                      9094 
                                                                                                                                      +
                                                                                                                                      9095 };
                                                                                                                                      +
                                                                                                                                      9096 
                                                                                                                                      +
                                                                                                                                      9097 static const char kZoneNamePacific_Niue[] ACE_TIME_PROGMEM = "Pacific/Niue";
                                                                                                                                      +
                                                                                                                                      9098 
                                                                                                                                      +
                                                                                                                                      9099 const basic::ZoneInfo kZonePacific_Niue ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9100  kZoneNamePacific_Niue /*name*/,
                                                                                                                                      +
                                                                                                                                      9101  0x233ca014 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9102  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9103  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9104  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9105  kZoneEraPacific_Niue /*eras*/,
                                                                                                                                      +
                                                                                                                                      9106 };
                                                                                                                                      +
                                                                                                                                      9107 
                                                                                                                                      +
                                                                                                                                      9108 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9109 // Zone name: Pacific/Noumea
                                                                                                                                      +
                                                                                                                                      9110 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9111 // Strings (bytes): 23
                                                                                                                                      +
                                                                                                                                      9112 // Memory (8-bit): 46
                                                                                                                                      +
                                                                                                                                      9113 // Memory (32-bit): 59
                                                                                                                                      +
                                                                                                                                      9114 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9115 
                                                                                                                                      +
                                                                                                                                      9116 static const basic::ZoneEra kZoneEraPacific_Noumea[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9117  // 11:00 NC +11/+12
                                                                                                                                      +
                                                                                                                                      9118  {
                                                                                                                                      +
                                                                                                                                      9119  &kPolicyNC /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9120  "+11/+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      9121  44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9122  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9123  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9124  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9125  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9126  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9127  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9128  },
                                                                                                                                      +
                                                                                                                                      9129 
                                                                                                                                      +
                                                                                                                                      9130 };
                                                                                                                                      +
                                                                                                                                      9131 
                                                                                                                                      +
                                                                                                                                      9132 static const char kZoneNamePacific_Noumea[] ACE_TIME_PROGMEM = "Pacific/Noumea";
                                                                                                                                      +
                                                                                                                                      9133 
                                                                                                                                      +
                                                                                                                                      9134 const basic::ZoneInfo kZonePacific_Noumea ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9135  kZoneNamePacific_Noumea /*name*/,
                                                                                                                                      +
                                                                                                                                      9136  0xe551b788 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9137  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9138  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9139  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9140  kZoneEraPacific_Noumea /*eras*/,
                                                                                                                                      +
                                                                                                                                      9141 };
                                                                                                                                      +
                                                                                                                                      9142 
                                                                                                                                      +
                                                                                                                                      9143 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9144 // Zone name: Pacific/Pago_Pago
                                                                                                                                      +
                                                                                                                                      9145 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9146 // Strings (bytes): 22
                                                                                                                                      +
                                                                                                                                      9147 // Memory (8-bit): 45
                                                                                                                                      +
                                                                                                                                      9148 // Memory (32-bit): 58
                                                                                                                                      +
                                                                                                                                      9149 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9150 
                                                                                                                                      +
                                                                                                                                      9151 static const basic::ZoneEra kZoneEraPacific_Pago_Pago[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9152  // -11:00 - SST
                                                                                                                                      +
                                                                                                                                      9153  {
                                                                                                                                      +
                                                                                                                                      9154  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9155  "SST" /*format*/,
                                                                                                                                      +
                                                                                                                                      9156  -44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9157  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9158  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9159  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9160  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9161  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9162  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9163  },
                                                                                                                                      +
                                                                                                                                      9164 
                                                                                                                                      +
                                                                                                                                      9165 };
                                                                                                                                      +
                                                                                                                                      9166 
                                                                                                                                      +
                                                                                                                                      9167 static const char kZoneNamePacific_Pago_Pago[] ACE_TIME_PROGMEM = "Pacific/Pago_Pago";
                                                                                                                                      +
                                                                                                                                      9168 
                                                                                                                                      +
                                                                                                                                      9169 const basic::ZoneInfo kZonePacific_Pago_Pago ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9170  kZoneNamePacific_Pago_Pago /*name*/,
                                                                                                                                      +
                                                                                                                                      9171  0x603aebd0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9172  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9173  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9174  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9175  kZoneEraPacific_Pago_Pago /*eras*/,
                                                                                                                                      +
                                                                                                                                      9176 };
                                                                                                                                      +
                                                                                                                                      9177 
                                                                                                                                      +
                                                                                                                                      9178 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9179 // Zone name: Pacific/Palau
                                                                                                                                      +
                                                                                                                                      9180 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9181 // Strings (bytes): 18
                                                                                                                                      +
                                                                                                                                      9182 // Memory (8-bit): 41
                                                                                                                                      +
                                                                                                                                      9183 // Memory (32-bit): 54
                                                                                                                                      +
                                                                                                                                      9184 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9185 
                                                                                                                                      +
                                                                                                                                      9186 static const basic::ZoneEra kZoneEraPacific_Palau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9187  // 9:00 - +09
                                                                                                                                      +
                                                                                                                                      9188  {
                                                                                                                                      +
                                                                                                                                      9189  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9190  "+09" /*format*/,
                                                                                                                                      +
                                                                                                                                      9191  36 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9192  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9193  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9194  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9195  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9196  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9197  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9198  },
                                                                                                                                      +
                                                                                                                                      9199 
                                                                                                                                      +
                                                                                                                                      9200 };
                                                                                                                                      +
                                                                                                                                      9201 
                                                                                                                                      +
                                                                                                                                      9202 static const char kZoneNamePacific_Palau[] ACE_TIME_PROGMEM = "Pacific/Palau";
                                                                                                                                      +
                                                                                                                                      9203 
                                                                                                                                      +
                                                                                                                                      9204 const basic::ZoneInfo kZonePacific_Palau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9205  kZoneNamePacific_Palau /*name*/,
                                                                                                                                      +
                                                                                                                                      9206  0x8af04a36 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9207  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9208  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9209  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9210  kZoneEraPacific_Palau /*eras*/,
                                                                                                                                      +
                                                                                                                                      9211 };
                                                                                                                                      +
                                                                                                                                      9212 
                                                                                                                                      +
                                                                                                                                      9213 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9214 // Zone name: Pacific/Pitcairn
                                                                                                                                      +
                                                                                                                                      9215 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9216 // Strings (bytes): 21
                                                                                                                                      +
                                                                                                                                      9217 // Memory (8-bit): 44
                                                                                                                                      +
                                                                                                                                      9218 // Memory (32-bit): 57
                                                                                                                                      +
                                                                                                                                      9219 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9220 
                                                                                                                                      +
                                                                                                                                      9221 static const basic::ZoneEra kZoneEraPacific_Pitcairn[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9222  // -8:00 - -08
                                                                                                                                      +
                                                                                                                                      9223  {
                                                                                                                                      +
                                                                                                                                      9224  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9225  "-08" /*format*/,
                                                                                                                                      +
                                                                                                                                      9226  -32 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9227  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9228  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9229  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9230  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9231  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9232  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9233  },
                                                                                                                                      +
                                                                                                                                      9234 
                                                                                                                                      +
                                                                                                                                      9235 };
                                                                                                                                      +
                                                                                                                                      9236 
                                                                                                                                      +
                                                                                                                                      9237 static const char kZoneNamePacific_Pitcairn[] ACE_TIME_PROGMEM = "Pacific/Pitcairn";
                                                                                                                                      +
                                                                                                                                      9238 
                                                                                                                                      +
                                                                                                                                      9239 const basic::ZoneInfo kZonePacific_Pitcairn ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9240  kZoneNamePacific_Pitcairn /*name*/,
                                                                                                                                      +
                                                                                                                                      9241  0x8837d8bd /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9242  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9243  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9244  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9245  kZoneEraPacific_Pitcairn /*eras*/,
                                                                                                                                      +
                                                                                                                                      9246 };
                                                                                                                                      +
                                                                                                                                      9247 
                                                                                                                                      +
                                                                                                                                      9248 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9249 // Zone name: Pacific/Pohnpei
                                                                                                                                      +
                                                                                                                                      9250 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9251 // Strings (bytes): 20
                                                                                                                                      +
                                                                                                                                      9252 // Memory (8-bit): 43
                                                                                                                                      +
                                                                                                                                      9253 // Memory (32-bit): 56
                                                                                                                                      +
                                                                                                                                      9254 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9255 
                                                                                                                                      +
                                                                                                                                      9256 static const basic::ZoneEra kZoneEraPacific_Pohnpei[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9257  // 11:00 - +11
                                                                                                                                      +
                                                                                                                                      9258  {
                                                                                                                                      +
                                                                                                                                      9259  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9260  "+11" /*format*/,
                                                                                                                                      +
                                                                                                                                      9261  44 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9262  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9263  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9264  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9265  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9266  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9267  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9268  },
                                                                                                                                      +
                                                                                                                                      9269 
                                                                                                                                      +
                                                                                                                                      9270 };
                                                                                                                                      +
                                                                                                                                      9271 
                                                                                                                                      +
                                                                                                                                      9272 static const char kZoneNamePacific_Pohnpei[] ACE_TIME_PROGMEM = "Pacific/Pohnpei";
                                                                                                                                      +
                                                                                                                                      9273 
                                                                                                                                      +
                                                                                                                                      9274 const basic::ZoneInfo kZonePacific_Pohnpei ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9275  kZoneNamePacific_Pohnpei /*name*/,
                                                                                                                                      +
                                                                                                                                      9276  0x28929f96 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9277  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9278  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9279  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9280  kZoneEraPacific_Pohnpei /*eras*/,
                                                                                                                                      +
                                                                                                                                      9281 };
                                                                                                                                      +
                                                                                                                                      9282 
                                                                                                                                      +
                                                                                                                                      9283 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9284 // Zone name: Pacific/Port_Moresby
                                                                                                                                      +
                                                                                                                                      9285 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9286 // Strings (bytes): 25
                                                                                                                                      +
                                                                                                                                      9287 // Memory (8-bit): 48
                                                                                                                                      +
                                                                                                                                      9288 // Memory (32-bit): 61
                                                                                                                                      +
                                                                                                                                      9289 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9290 
                                                                                                                                      +
                                                                                                                                      9291 static const basic::ZoneEra kZoneEraPacific_Port_Moresby[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9292  // 10:00 - +10
                                                                                                                                      +
                                                                                                                                      9293  {
                                                                                                                                      +
                                                                                                                                      9294  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9295  "+10" /*format*/,
                                                                                                                                      +
                                                                                                                                      9296  40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9297  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9298  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9299  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9300  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9301  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9302  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9303  },
                                                                                                                                      +
                                                                                                                                      9304 
                                                                                                                                      +
                                                                                                                                      9305 };
                                                                                                                                      +
                                                                                                                                      9306 
                                                                                                                                      +
                                                                                                                                      9307 static const char kZoneNamePacific_Port_Moresby[] ACE_TIME_PROGMEM = "Pacific/Port_Moresby";
                                                                                                                                      +
                                                                                                                                      9308 
                                                                                                                                      +
                                                                                                                                      9309 const basic::ZoneInfo kZonePacific_Port_Moresby ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9310  kZoneNamePacific_Port_Moresby /*name*/,
                                                                                                                                      +
                                                                                                                                      9311  0xa7ba7f68 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9312  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9313  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9314  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9315  kZoneEraPacific_Port_Moresby /*eras*/,
                                                                                                                                      +
                                                                                                                                      9316 };
                                                                                                                                      +
                                                                                                                                      9317 
                                                                                                                                      +
                                                                                                                                      9318 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9319 // Zone name: Pacific/Rarotonga
                                                                                                                                      +
                                                                                                                                      9320 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9321 // Strings (bytes): 28
                                                                                                                                      +
                                                                                                                                      9322 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      9323 // Memory (32-bit): 64
                                                                                                                                      +
                                                                                                                                      9324 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9325 
                                                                                                                                      +
                                                                                                                                      9326 static const basic::ZoneEra kZoneEraPacific_Rarotonga[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9327  // -10:00 Cook -10/-0930
                                                                                                                                      +
                                                                                                                                      9328  {
                                                                                                                                      +
                                                                                                                                      9329  &kPolicyCook /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9330  "-10/-0930" /*format*/,
                                                                                                                                      +
                                                                                                                                      9331  -40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9332  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9333  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9334  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9335  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9336  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9337  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9338  },
                                                                                                                                      +
                                                                                                                                      9339 
                                                                                                                                      +
                                                                                                                                      9340 };
                                                                                                                                      +
                                                                                                                                      9341 
                                                                                                                                      +
                                                                                                                                      9342 static const char kZoneNamePacific_Rarotonga[] ACE_TIME_PROGMEM = "Pacific/Rarotonga";
                                                                                                                                      +
                                                                                                                                      9343 
                                                                                                                                      +
                                                                                                                                      9344 const basic::ZoneInfo kZonePacific_Rarotonga ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9345  kZoneNamePacific_Rarotonga /*name*/,
                                                                                                                                      +
                                                                                                                                      9346  0x9981a3b0 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9347  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9348  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9349  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9350  kZoneEraPacific_Rarotonga /*eras*/,
                                                                                                                                      +
                                                                                                                                      9351 };
                                                                                                                                      +
                                                                                                                                      9352 
                                                                                                                                      +
                                                                                                                                      9353 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9354 // Zone name: Pacific/Tahiti
                                                                                                                                      +
                                                                                                                                      9355 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9356 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      9357 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      9358 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      9359 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9360 
                                                                                                                                      +
                                                                                                                                      9361 static const basic::ZoneEra kZoneEraPacific_Tahiti[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9362  // -10:00 - -10
                                                                                                                                      +
                                                                                                                                      9363  {
                                                                                                                                      +
                                                                                                                                      9364  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9365  "-10" /*format*/,
                                                                                                                                      +
                                                                                                                                      9366  -40 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9367  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9368  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9369  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9370  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9371  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9372  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9373  },
                                                                                                                                      +
                                                                                                                                      9374 
                                                                                                                                      +
                                                                                                                                      9375 };
                                                                                                                                      +
                                                                                                                                      9376 
                                                                                                                                      +
                                                                                                                                      9377 static const char kZoneNamePacific_Tahiti[] ACE_TIME_PROGMEM = "Pacific/Tahiti";
                                                                                                                                      +
                                                                                                                                      9378 
                                                                                                                                      +
                                                                                                                                      9379 const basic::ZoneInfo kZonePacific_Tahiti ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9380  kZoneNamePacific_Tahiti /*name*/,
                                                                                                                                      +
                                                                                                                                      9381  0xf24c2446 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9382  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9383  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9384  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9385  kZoneEraPacific_Tahiti /*eras*/,
                                                                                                                                      +
                                                                                                                                      9386 };
                                                                                                                                      +
                                                                                                                                      9387 
                                                                                                                                      +
                                                                                                                                      9388 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9389 // Zone name: Pacific/Tarawa
                                                                                                                                      +
                                                                                                                                      9390 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9391 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      9392 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      9393 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      9394 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9395 
                                                                                                                                      +
                                                                                                                                      9396 static const basic::ZoneEra kZoneEraPacific_Tarawa[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9397  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      9398  {
                                                                                                                                      +
                                                                                                                                      9399  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9400  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      9401  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9402  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9403  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9404  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9405  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9406  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9407  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9408  },
                                                                                                                                      +
                                                                                                                                      9409 
                                                                                                                                      +
                                                                                                                                      9410 };
                                                                                                                                      +
                                                                                                                                      9411 
                                                                                                                                      +
                                                                                                                                      9412 static const char kZoneNamePacific_Tarawa[] ACE_TIME_PROGMEM = "Pacific/Tarawa";
                                                                                                                                      +
                                                                                                                                      9413 
                                                                                                                                      +
                                                                                                                                      9414 const basic::ZoneInfo kZonePacific_Tarawa ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9415  kZoneNamePacific_Tarawa /*name*/,
                                                                                                                                      +
                                                                                                                                      9416  0xf2517e63 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9417  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9418  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9419  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9420  kZoneEraPacific_Tarawa /*eras*/,
                                                                                                                                      +
                                                                                                                                      9421 };
                                                                                                                                      +
                                                                                                                                      9422 
                                                                                                                                      +
                                                                                                                                      9423 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9424 // Zone name: Pacific/Tongatapu
                                                                                                                                      +
                                                                                                                                      9425 // Zone Eras: 2
                                                                                                                                      +
                                                                                                                                      9426 // Strings (bytes): 30
                                                                                                                                      +
                                                                                                                                      9427 // Memory (8-bit): 64
                                                                                                                                      +
                                                                                                                                      9428 // Memory (32-bit): 82
                                                                                                                                      +
                                                                                                                                      9429 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9430 
                                                                                                                                      +
                                                                                                                                      9431 static const basic::ZoneEra kZoneEraPacific_Tongatapu[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9432  // 13:00 - +13 1999
                                                                                                                                      +
                                                                                                                                      9433  {
                                                                                                                                      +
                                                                                                                                      9434  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9435  "+13" /*format*/,
                                                                                                                                      +
                                                                                                                                      9436  52 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9437  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9438  -1 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9439  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9440  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9441  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9442  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9443  },
                                                                                                                                      +
                                                                                                                                      9444  // 13:00 Tonga +13/+14
                                                                                                                                      +
                                                                                                                                      9445  {
                                                                                                                                      +
                                                                                                                                      9446  &kPolicyTonga /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9447  "+13/+14" /*format*/,
                                                                                                                                      +
                                                                                                                                      9448  52 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9449  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9450  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9451  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9452  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9453  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9454  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9455  },
                                                                                                                                      +
                                                                                                                                      9456 
                                                                                                                                      +
                                                                                                                                      9457 };
                                                                                                                                      +
                                                                                                                                      9458 
                                                                                                                                      +
                                                                                                                                      9459 static const char kZoneNamePacific_Tongatapu[] ACE_TIME_PROGMEM = "Pacific/Tongatapu";
                                                                                                                                      +
                                                                                                                                      9460 
                                                                                                                                      +
                                                                                                                                      9461 const basic::ZoneInfo kZonePacific_Tongatapu ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9462  kZoneNamePacific_Tongatapu /*name*/,
                                                                                                                                      +
                                                                                                                                      9463  0x262ca836 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9464  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9465  6 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9466  2 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9467  kZoneEraPacific_Tongatapu /*eras*/,
                                                                                                                                      +
                                                                                                                                      9468 };
                                                                                                                                      +
                                                                                                                                      9469 
                                                                                                                                      +
                                                                                                                                      9470 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9471 // Zone name: Pacific/Wake
                                                                                                                                      +
                                                                                                                                      9472 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9473 // Strings (bytes): 17
                                                                                                                                      +
                                                                                                                                      9474 // Memory (8-bit): 40
                                                                                                                                      +
                                                                                                                                      9475 // Memory (32-bit): 53
                                                                                                                                      +
                                                                                                                                      9476 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9477 
                                                                                                                                      +
                                                                                                                                      9478 static const basic::ZoneEra kZoneEraPacific_Wake[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9479  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      9480  {
                                                                                                                                      +
                                                                                                                                      9481  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9482  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      9483  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9484  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9485  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9486  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9487  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9488  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9489  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9490  },
                                                                                                                                      +
                                                                                                                                      9491 
                                                                                                                                      +
                                                                                                                                      9492 };
                                                                                                                                      +
                                                                                                                                      9493 
                                                                                                                                      +
                                                                                                                                      9494 static const char kZoneNamePacific_Wake[] ACE_TIME_PROGMEM = "Pacific/Wake";
                                                                                                                                      +
                                                                                                                                      9495 
                                                                                                                                      +
                                                                                                                                      9496 const basic::ZoneInfo kZonePacific_Wake ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9497  kZoneNamePacific_Wake /*name*/,
                                                                                                                                      +
                                                                                                                                      9498  0x23416c2b /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9499  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9500  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9501  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9502  kZoneEraPacific_Wake /*eras*/,
                                                                                                                                      +
                                                                                                                                      9503 };
                                                                                                                                      +
                                                                                                                                      9504 
                                                                                                                                      +
                                                                                                                                      9505 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9506 // Zone name: Pacific/Wallis
                                                                                                                                      +
                                                                                                                                      9507 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9508 // Strings (bytes): 19
                                                                                                                                      +
                                                                                                                                      9509 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      9510 // Memory (32-bit): 55
                                                                                                                                      +
                                                                                                                                      9511 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9512 
                                                                                                                                      +
                                                                                                                                      9513 static const basic::ZoneEra kZoneEraPacific_Wallis[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9514  // 12:00 - +12
                                                                                                                                      +
                                                                                                                                      9515  {
                                                                                                                                      +
                                                                                                                                      9516  nullptr /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9517  "+12" /*format*/,
                                                                                                                                      +
                                                                                                                                      9518  48 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9519  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9520  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9521  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9522  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9523  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9524  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9525  },
                                                                                                                                      +
                                                                                                                                      9526 
                                                                                                                                      +
                                                                                                                                      9527 };
                                                                                                                                      +
                                                                                                                                      9528 
                                                                                                                                      +
                                                                                                                                      9529 static const char kZoneNamePacific_Wallis[] ACE_TIME_PROGMEM = "Pacific/Wallis";
                                                                                                                                      +
                                                                                                                                      9530 
                                                                                                                                      +
                                                                                                                                      9531 const basic::ZoneInfo kZonePacific_Wallis ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9532  kZoneNamePacific_Wallis /*name*/,
                                                                                                                                      +
                                                                                                                                      9533  0xf94ddb0f /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9534  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9535  2 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9536  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9537  kZoneEraPacific_Wallis /*eras*/,
                                                                                                                                      +
                                                                                                                                      9538 };
                                                                                                                                      +
                                                                                                                                      9539 
                                                                                                                                      +
                                                                                                                                      9540 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9541 // Zone name: WET
                                                                                                                                      +
                                                                                                                                      9542 // Zone Eras: 1
                                                                                                                                      +
                                                                                                                                      9543 // Strings (bytes): 9
                                                                                                                                      +
                                                                                                                                      9544 // Memory (8-bit): 32
                                                                                                                                      +
                                                                                                                                      9545 // Memory (32-bit): 45
                                                                                                                                      +
                                                                                                                                      9546 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9547 
                                                                                                                                      +
                                                                                                                                      9548 static const basic::ZoneEra kZoneEraWET[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9549  // 0:00 EU WE%sT
                                                                                                                                      +
                                                                                                                                      9550  {
                                                                                                                                      +
                                                                                                                                      9551  &kPolicyEU /*zonePolicy*/,
                                                                                                                                      +
                                                                                                                                      9552  "WE%T" /*format*/,
                                                                                                                                      +
                                                                                                                                      9553  0 /*offsetCode*/,
                                                                                                                                      +
                                                                                                                                      9554  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      9555  127 /*untilYearTiny*/,
                                                                                                                                      +
                                                                                                                                      9556  1 /*untilMonth*/,
                                                                                                                                      +
                                                                                                                                      9557  1 /*untilDay*/,
                                                                                                                                      +
                                                                                                                                      9558  0 /*untilTimeCode*/,
                                                                                                                                      +
                                                                                                                                      9559  basic::ZoneContext::kSuffixW /*untilTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      9560  },
                                                                                                                                      +
                                                                                                                                      9561 
                                                                                                                                      +
                                                                                                                                      9562 };
                                                                                                                                      +
                                                                                                                                      9563 
                                                                                                                                      +
                                                                                                                                      9564 static const char kZoneNameWET[] ACE_TIME_PROGMEM = "WET";
                                                                                                                                      +
                                                                                                                                      9565 
                                                                                                                                      +
                                                                                                                                      9566 const basic::ZoneInfo kZoneWET ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      9567  kZoneNameWET /*name*/,
                                                                                                                                      +
                                                                                                                                      9568  0x0b882e35 /*zoneId*/,
                                                                                                                                      +
                                                                                                                                      9569  &kZoneContext /*zoneContext*/,
                                                                                                                                      +
                                                                                                                                      9570  5 /*transitionBufSize*/,
                                                                                                                                      +
                                                                                                                                      9571  1 /*numEras*/,
                                                                                                                                      +
                                                                                                                                      9572  kZoneEraWET /*eras*/,
                                                                                                                                      +
                                                                                                                                      9573 };
                                                                                                                                      +
                                                                                                                                      9574 
                                                                                                                                      +
                                                                                                                                      9575 
                                                                                                                                      +
                                                                                                                                      9576 
                                                                                                                                      +
                                                                                                                                      9577 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9578 // Links: 182
                                                                                                                                      +
                                                                                                                                      9579 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      9580 
                                                                                                                                      +
                                                                                                                                      9581 const basic::ZoneInfo& kZoneAfrica_Addis_Ababa = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9582 const basic::ZoneInfo& kZoneAfrica_Asmara = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9583 const basic::ZoneInfo& kZoneAfrica_Asmera = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9584 const basic::ZoneInfo& kZoneAfrica_Bamako = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9585 const basic::ZoneInfo& kZoneAfrica_Bangui = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9586 const basic::ZoneInfo& kZoneAfrica_Banjul = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9587 const basic::ZoneInfo& kZoneAfrica_Blantyre = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9588 const basic::ZoneInfo& kZoneAfrica_Brazzaville = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9589 const basic::ZoneInfo& kZoneAfrica_Bujumbura = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9590 const basic::ZoneInfo& kZoneAfrica_Conakry = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9591 const basic::ZoneInfo& kZoneAfrica_Dakar = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9592 const basic::ZoneInfo& kZoneAfrica_Dar_es_Salaam = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9593 const basic::ZoneInfo& kZoneAfrica_Djibouti = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9594 const basic::ZoneInfo& kZoneAfrica_Douala = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9595 const basic::ZoneInfo& kZoneAfrica_Freetown = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9596 const basic::ZoneInfo& kZoneAfrica_Gaborone = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9597 const basic::ZoneInfo& kZoneAfrica_Harare = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9598 const basic::ZoneInfo& kZoneAfrica_Kampala = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9599 const basic::ZoneInfo& kZoneAfrica_Kigali = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9600 const basic::ZoneInfo& kZoneAfrica_Kinshasa = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9601 const basic::ZoneInfo& kZoneAfrica_Libreville = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9602 const basic::ZoneInfo& kZoneAfrica_Lome = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9603 const basic::ZoneInfo& kZoneAfrica_Luanda = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9604 const basic::ZoneInfo& kZoneAfrica_Lubumbashi = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9605 const basic::ZoneInfo& kZoneAfrica_Lusaka = kZoneAfrica_Maputo;
                                                                                                                                      +
                                                                                                                                      9606 const basic::ZoneInfo& kZoneAfrica_Malabo = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9607 const basic::ZoneInfo& kZoneAfrica_Maseru = kZoneAfrica_Johannesburg;
                                                                                                                                      +
                                                                                                                                      9608 const basic::ZoneInfo& kZoneAfrica_Mbabane = kZoneAfrica_Johannesburg;
                                                                                                                                      +
                                                                                                                                      9609 const basic::ZoneInfo& kZoneAfrica_Mogadishu = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9610 const basic::ZoneInfo& kZoneAfrica_Niamey = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9611 const basic::ZoneInfo& kZoneAfrica_Nouakchott = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9612 const basic::ZoneInfo& kZoneAfrica_Ouagadougou = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9613 const basic::ZoneInfo& kZoneAfrica_Porto_Novo = kZoneAfrica_Lagos;
                                                                                                                                      +
                                                                                                                                      9614 const basic::ZoneInfo& kZoneAfrica_Timbuktu = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9615 const basic::ZoneInfo& kZoneAmerica_Anguilla = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9616 const basic::ZoneInfo& kZoneAmerica_Antigua = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9617 const basic::ZoneInfo& kZoneAmerica_Aruba = kZoneAmerica_Curacao;
                                                                                                                                      +
                                                                                                                                      9618 const basic::ZoneInfo& kZoneAmerica_Atka = kZoneAmerica_Adak;
                                                                                                                                      +
                                                                                                                                      9619 const basic::ZoneInfo& kZoneAmerica_Cayman = kZoneAmerica_Panama;
                                                                                                                                      +
                                                                                                                                      9620 const basic::ZoneInfo& kZoneAmerica_Coral_Harbour = kZoneAmerica_Atikokan;
                                                                                                                                      +
                                                                                                                                      9621 const basic::ZoneInfo& kZoneAmerica_Dominica = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9622 const basic::ZoneInfo& kZoneAmerica_Fort_Wayne = kZoneAmerica_Indiana_Indianapolis;
                                                                                                                                      +
                                                                                                                                      9623 const basic::ZoneInfo& kZoneAmerica_Godthab = kZoneAmerica_Nuuk;
                                                                                                                                      +
                                                                                                                                      9624 const basic::ZoneInfo& kZoneAmerica_Grenada = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9625 const basic::ZoneInfo& kZoneAmerica_Guadeloupe = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9626 const basic::ZoneInfo& kZoneAmerica_Indianapolis = kZoneAmerica_Indiana_Indianapolis;
                                                                                                                                      +
                                                                                                                                      9627 const basic::ZoneInfo& kZoneAmerica_Kralendijk = kZoneAmerica_Curacao;
                                                                                                                                      +
                                                                                                                                      9628 const basic::ZoneInfo& kZoneAmerica_Louisville = kZoneAmerica_Kentucky_Louisville;
                                                                                                                                      +
                                                                                                                                      9629 const basic::ZoneInfo& kZoneAmerica_Lower_Princes = kZoneAmerica_Curacao;
                                                                                                                                      +
                                                                                                                                      9630 const basic::ZoneInfo& kZoneAmerica_Marigot = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9631 const basic::ZoneInfo& kZoneAmerica_Montreal = kZoneAmerica_Toronto;
                                                                                                                                      +
                                                                                                                                      9632 const basic::ZoneInfo& kZoneAmerica_Montserrat = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9633 const basic::ZoneInfo& kZoneAmerica_Shiprock = kZoneAmerica_Denver;
                                                                                                                                      +
                                                                                                                                      9634 const basic::ZoneInfo& kZoneAmerica_St_Barthelemy = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9635 const basic::ZoneInfo& kZoneAmerica_St_Kitts = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9636 const basic::ZoneInfo& kZoneAmerica_St_Lucia = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9637 const basic::ZoneInfo& kZoneAmerica_St_Thomas = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9638 const basic::ZoneInfo& kZoneAmerica_St_Vincent = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9639 const basic::ZoneInfo& kZoneAmerica_Tortola = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9640 const basic::ZoneInfo& kZoneAmerica_Virgin = kZoneAmerica_Port_of_Spain;
                                                                                                                                      +
                                                                                                                                      9641 const basic::ZoneInfo& kZoneAntarctica_McMurdo = kZonePacific_Auckland;
                                                                                                                                      +
                                                                                                                                      9642 const basic::ZoneInfo& kZoneAntarctica_South_Pole = kZonePacific_Auckland;
                                                                                                                                      +
                                                                                                                                      9643 const basic::ZoneInfo& kZoneArctic_Longyearbyen = kZoneEurope_Oslo;
                                                                                                                                      +
                                                                                                                                      9644 const basic::ZoneInfo& kZoneAsia_Aden = kZoneAsia_Riyadh;
                                                                                                                                      +
                                                                                                                                      9645 const basic::ZoneInfo& kZoneAsia_Ashkhabad = kZoneAsia_Ashgabat;
                                                                                                                                      +
                                                                                                                                      9646 const basic::ZoneInfo& kZoneAsia_Bahrain = kZoneAsia_Qatar;
                                                                                                                                      +
                                                                                                                                      9647 const basic::ZoneInfo& kZoneAsia_Calcutta = kZoneAsia_Kolkata;
                                                                                                                                      +
                                                                                                                                      9648 const basic::ZoneInfo& kZoneAsia_Chongqing = kZoneAsia_Shanghai;
                                                                                                                                      +
                                                                                                                                      9649 const basic::ZoneInfo& kZoneAsia_Chungking = kZoneAsia_Shanghai;
                                                                                                                                      +
                                                                                                                                      9650 const basic::ZoneInfo& kZoneAsia_Dacca = kZoneAsia_Dhaka;
                                                                                                                                      +
                                                                                                                                      9651 const basic::ZoneInfo& kZoneAsia_Harbin = kZoneAsia_Shanghai;
                                                                                                                                      +
                                                                                                                                      9652 const basic::ZoneInfo& kZoneAsia_Kashgar = kZoneAsia_Urumqi;
                                                                                                                                      +
                                                                                                                                      9653 const basic::ZoneInfo& kZoneAsia_Katmandu = kZoneAsia_Kathmandu;
                                                                                                                                      +
                                                                                                                                      9654 const basic::ZoneInfo& kZoneAsia_Kuwait = kZoneAsia_Riyadh;
                                                                                                                                      +
                                                                                                                                      9655 const basic::ZoneInfo& kZoneAsia_Macao = kZoneAsia_Macau;
                                                                                                                                      +
                                                                                                                                      9656 const basic::ZoneInfo& kZoneAsia_Muscat = kZoneAsia_Dubai;
                                                                                                                                      +
                                                                                                                                      9657 const basic::ZoneInfo& kZoneAsia_Phnom_Penh = kZoneAsia_Bangkok;
                                                                                                                                      +
                                                                                                                                      9658 const basic::ZoneInfo& kZoneAsia_Rangoon = kZoneAsia_Yangon;
                                                                                                                                      +
                                                                                                                                      9659 const basic::ZoneInfo& kZoneAsia_Saigon = kZoneAsia_Ho_Chi_Minh;
                                                                                                                                      +
                                                                                                                                      9660 const basic::ZoneInfo& kZoneAsia_Tel_Aviv = kZoneAsia_Jerusalem;
                                                                                                                                      +
                                                                                                                                      9661 const basic::ZoneInfo& kZoneAsia_Thimbu = kZoneAsia_Thimphu;
                                                                                                                                      +
                                                                                                                                      9662 const basic::ZoneInfo& kZoneAsia_Ujung_Pandang = kZoneAsia_Makassar;
                                                                                                                                      +
                                                                                                                                      9663 const basic::ZoneInfo& kZoneAsia_Ulan_Bator = kZoneAsia_Ulaanbaatar;
                                                                                                                                      +
                                                                                                                                      9664 const basic::ZoneInfo& kZoneAsia_Vientiane = kZoneAsia_Bangkok;
                                                                                                                                      +
                                                                                                                                      9665 const basic::ZoneInfo& kZoneAtlantic_Faeroe = kZoneAtlantic_Faroe;
                                                                                                                                      +
                                                                                                                                      9666 const basic::ZoneInfo& kZoneAtlantic_Jan_Mayen = kZoneEurope_Oslo;
                                                                                                                                      +
                                                                                                                                      9667 const basic::ZoneInfo& kZoneAtlantic_St_Helena = kZoneAfrica_Abidjan;
                                                                                                                                      +
                                                                                                                                      9668 const basic::ZoneInfo& kZoneAustralia_ACT = kZoneAustralia_Sydney;
                                                                                                                                      +
                                                                                                                                      9669 const basic::ZoneInfo& kZoneAustralia_Canberra = kZoneAustralia_Sydney;
                                                                                                                                      +
                                                                                                                                      9670 const basic::ZoneInfo& kZoneAustralia_LHI = kZoneAustralia_Lord_Howe;
                                                                                                                                      +
                                                                                                                                      9671 const basic::ZoneInfo& kZoneAustralia_NSW = kZoneAustralia_Sydney;
                                                                                                                                      +
                                                                                                                                      9672 const basic::ZoneInfo& kZoneAustralia_North = kZoneAustralia_Darwin;
                                                                                                                                      +
                                                                                                                                      9673 const basic::ZoneInfo& kZoneAustralia_Queensland = kZoneAustralia_Brisbane;
                                                                                                                                      +
                                                                                                                                      9674 const basic::ZoneInfo& kZoneAustralia_South = kZoneAustralia_Adelaide;
                                                                                                                                      +
                                                                                                                                      9675 const basic::ZoneInfo& kZoneAustralia_Tasmania = kZoneAustralia_Hobart;
                                                                                                                                      +
                                                                                                                                      9676 const basic::ZoneInfo& kZoneAustralia_Victoria = kZoneAustralia_Melbourne;
                                                                                                                                      +
                                                                                                                                      9677 const basic::ZoneInfo& kZoneAustralia_West = kZoneAustralia_Perth;
                                                                                                                                      +
                                                                                                                                      9678 const basic::ZoneInfo& kZoneAustralia_Yancowinna = kZoneAustralia_Broken_Hill;
                                                                                                                                      +
                                                                                                                                      9679 const basic::ZoneInfo& kZoneBrazil_East = kZoneAmerica_Sao_Paulo;
                                                                                                                                      +
                                                                                                                                      9680 const basic::ZoneInfo& kZoneBrazil_West = kZoneAmerica_Manaus;
                                                                                                                                      +
                                                                                                                                      9681 const basic::ZoneInfo& kZoneCanada_Atlantic = kZoneAmerica_Halifax;
                                                                                                                                      +
                                                                                                                                      9682 const basic::ZoneInfo& kZoneCanada_Central = kZoneAmerica_Winnipeg;
                                                                                                                                      +
                                                                                                                                      9683 const basic::ZoneInfo& kZoneCanada_Eastern = kZoneAmerica_Toronto;
                                                                                                                                      +
                                                                                                                                      9684 const basic::ZoneInfo& kZoneCanada_Mountain = kZoneAmerica_Edmonton;
                                                                                                                                      +
                                                                                                                                      9685 const basic::ZoneInfo& kZoneCanada_Pacific = kZoneAmerica_Vancouver;
                                                                                                                                      +
                                                                                                                                      9686 const basic::ZoneInfo& kZoneCanada_Saskatchewan = kZoneAmerica_Regina;
                                                                                                                                      +
                                                                                                                                      9687 const basic::ZoneInfo& kZoneChile_Continental = kZoneAmerica_Santiago;
                                                                                                                                      +
                                                                                                                                      9688 const basic::ZoneInfo& kZoneChile_EasterIsland = kZonePacific_Easter;
                                                                                                                                      +
                                                                                                                                      9689 const basic::ZoneInfo& kZoneCuba = kZoneAmerica_Havana;
                                                                                                                                      +
                                                                                                                                      9690 const basic::ZoneInfo& kZoneEire = kZoneEurope_Dublin;
                                                                                                                                      +
                                                                                                                                      9691 const basic::ZoneInfo& kZoneEtc_GMT_PLUS_0 = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9692 const basic::ZoneInfo& kZoneEtc_GMT_0 = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9693 const basic::ZoneInfo& kZoneEtc_GMT0 = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9694 const basic::ZoneInfo& kZoneEtc_Greenwich = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9695 const basic::ZoneInfo& kZoneEtc_UCT = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9696 const basic::ZoneInfo& kZoneEtc_Universal = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9697 const basic::ZoneInfo& kZoneEtc_Zulu = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9698 const basic::ZoneInfo& kZoneEurope_Belfast = kZoneEurope_London;
                                                                                                                                      +
                                                                                                                                      9699 const basic::ZoneInfo& kZoneEurope_Bratislava = kZoneEurope_Prague;
                                                                                                                                      +
                                                                                                                                      9700 const basic::ZoneInfo& kZoneEurope_Busingen = kZoneEurope_Zurich;
                                                                                                                                      +
                                                                                                                                      9701 const basic::ZoneInfo& kZoneEurope_Guernsey = kZoneEurope_London;
                                                                                                                                      +
                                                                                                                                      9702 const basic::ZoneInfo& kZoneEurope_Isle_of_Man = kZoneEurope_London;
                                                                                                                                      +
                                                                                                                                      9703 const basic::ZoneInfo& kZoneEurope_Jersey = kZoneEurope_London;
                                                                                                                                      +
                                                                                                                                      9704 const basic::ZoneInfo& kZoneEurope_Ljubljana = kZoneEurope_Belgrade;
                                                                                                                                      +
                                                                                                                                      9705 const basic::ZoneInfo& kZoneEurope_Mariehamn = kZoneEurope_Helsinki;
                                                                                                                                      +
                                                                                                                                      9706 const basic::ZoneInfo& kZoneEurope_Nicosia = kZoneAsia_Nicosia;
                                                                                                                                      +
                                                                                                                                      9707 const basic::ZoneInfo& kZoneEurope_Podgorica = kZoneEurope_Belgrade;
                                                                                                                                      +
                                                                                                                                      9708 const basic::ZoneInfo& kZoneEurope_San_Marino = kZoneEurope_Rome;
                                                                                                                                      +
                                                                                                                                      9709 const basic::ZoneInfo& kZoneEurope_Sarajevo = kZoneEurope_Belgrade;
                                                                                                                                      +
                                                                                                                                      9710 const basic::ZoneInfo& kZoneEurope_Skopje = kZoneEurope_Belgrade;
                                                                                                                                      +
                                                                                                                                      9711 const basic::ZoneInfo& kZoneEurope_Tiraspol = kZoneEurope_Chisinau;
                                                                                                                                      +
                                                                                                                                      9712 const basic::ZoneInfo& kZoneEurope_Vaduz = kZoneEurope_Zurich;
                                                                                                                                      +
                                                                                                                                      9713 const basic::ZoneInfo& kZoneEurope_Vatican = kZoneEurope_Rome;
                                                                                                                                      +
                                                                                                                                      9714 const basic::ZoneInfo& kZoneEurope_Zagreb = kZoneEurope_Belgrade;
                                                                                                                                      +
                                                                                                                                      9715 const basic::ZoneInfo& kZoneGB = kZoneEurope_London;
                                                                                                                                      +
                                                                                                                                      9716 const basic::ZoneInfo& kZoneGB_Eire = kZoneEurope_London;
                                                                                                                                      +
                                                                                                                                      9717 const basic::ZoneInfo& kZoneGMT = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9718 const basic::ZoneInfo& kZoneGMT_PLUS_0 = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9719 const basic::ZoneInfo& kZoneGMT_0 = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9720 const basic::ZoneInfo& kZoneGMT0 = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9721 const basic::ZoneInfo& kZoneGreenwich = kZoneEtc_GMT;
                                                                                                                                      +
                                                                                                                                      9722 const basic::ZoneInfo& kZoneHongkong = kZoneAsia_Hong_Kong;
                                                                                                                                      +
                                                                                                                                      9723 const basic::ZoneInfo& kZoneIceland = kZoneAtlantic_Reykjavik;
                                                                                                                                      +
                                                                                                                                      9724 const basic::ZoneInfo& kZoneIndian_Antananarivo = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9725 const basic::ZoneInfo& kZoneIndian_Comoro = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9726 const basic::ZoneInfo& kZoneIndian_Mayotte = kZoneAfrica_Nairobi;
                                                                                                                                      +
                                                                                                                                      9727 const basic::ZoneInfo& kZoneIran = kZoneAsia_Tehran;
                                                                                                                                      +
                                                                                                                                      9728 const basic::ZoneInfo& kZoneIsrael = kZoneAsia_Jerusalem;
                                                                                                                                      +
                                                                                                                                      9729 const basic::ZoneInfo& kZoneJamaica = kZoneAmerica_Jamaica;
                                                                                                                                      +
                                                                                                                                      9730 const basic::ZoneInfo& kZoneJapan = kZoneAsia_Tokyo;
                                                                                                                                      +
                                                                                                                                      9731 const basic::ZoneInfo& kZoneKwajalein = kZonePacific_Kwajalein;
                                                                                                                                      +
                                                                                                                                      9732 const basic::ZoneInfo& kZoneMexico_BajaSur = kZoneAmerica_Mazatlan;
                                                                                                                                      +
                                                                                                                                      9733 const basic::ZoneInfo& kZoneNZ = kZonePacific_Auckland;
                                                                                                                                      +
                                                                                                                                      9734 const basic::ZoneInfo& kZoneNZ_CHAT = kZonePacific_Chatham;
                                                                                                                                      +
                                                                                                                                      9735 const basic::ZoneInfo& kZoneNavajo = kZoneAmerica_Denver;
                                                                                                                                      +
                                                                                                                                      9736 const basic::ZoneInfo& kZonePRC = kZoneAsia_Shanghai;
                                                                                                                                      +
                                                                                                                                      9737 const basic::ZoneInfo& kZonePacific_Johnston = kZonePacific_Honolulu;
                                                                                                                                      +
                                                                                                                                      9738 const basic::ZoneInfo& kZonePacific_Midway = kZonePacific_Pago_Pago;
                                                                                                                                      +
                                                                                                                                      9739 const basic::ZoneInfo& kZonePacific_Ponape = kZonePacific_Pohnpei;
                                                                                                                                      +
                                                                                                                                      9740 const basic::ZoneInfo& kZonePacific_Samoa = kZonePacific_Pago_Pago;
                                                                                                                                      +
                                                                                                                                      9741 const basic::ZoneInfo& kZonePacific_Truk = kZonePacific_Chuuk;
                                                                                                                                      +
                                                                                                                                      9742 const basic::ZoneInfo& kZonePacific_Yap = kZonePacific_Chuuk;
                                                                                                                                      +
                                                                                                                                      9743 const basic::ZoneInfo& kZonePoland = kZoneEurope_Warsaw;
                                                                                                                                      +
                                                                                                                                      9744 const basic::ZoneInfo& kZonePortugal = kZoneEurope_Lisbon;
                                                                                                                                      +
                                                                                                                                      9745 const basic::ZoneInfo& kZoneROC = kZoneAsia_Taipei;
                                                                                                                                      +
                                                                                                                                      9746 const basic::ZoneInfo& kZoneROK = kZoneAsia_Seoul;
                                                                                                                                      +
                                                                                                                                      9747 const basic::ZoneInfo& kZoneSingapore = kZoneAsia_Singapore;
                                                                                                                                      +
                                                                                                                                      9748 const basic::ZoneInfo& kZoneUCT = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9749 const basic::ZoneInfo& kZoneUS_Alaska = kZoneAmerica_Anchorage;
                                                                                                                                      +
                                                                                                                                      9750 const basic::ZoneInfo& kZoneUS_Aleutian = kZoneAmerica_Adak;
                                                                                                                                      +
                                                                                                                                      9751 const basic::ZoneInfo& kZoneUS_Arizona = kZoneAmerica_Phoenix;
                                                                                                                                      +
                                                                                                                                      9752 const basic::ZoneInfo& kZoneUS_Central = kZoneAmerica_Chicago;
                                                                                                                                      +
                                                                                                                                      9753 const basic::ZoneInfo& kZoneUS_East_Indiana = kZoneAmerica_Indiana_Indianapolis;
                                                                                                                                      +
                                                                                                                                      9754 const basic::ZoneInfo& kZoneUS_Eastern = kZoneAmerica_New_York;
                                                                                                                                      +
                                                                                                                                      9755 const basic::ZoneInfo& kZoneUS_Hawaii = kZonePacific_Honolulu;
                                                                                                                                      +
                                                                                                                                      9756 const basic::ZoneInfo& kZoneUS_Michigan = kZoneAmerica_Detroit;
                                                                                                                                      +
                                                                                                                                      9757 const basic::ZoneInfo& kZoneUS_Mountain = kZoneAmerica_Denver;
                                                                                                                                      +
                                                                                                                                      9758 const basic::ZoneInfo& kZoneUS_Pacific = kZoneAmerica_Los_Angeles;
                                                                                                                                      +
                                                                                                                                      9759 const basic::ZoneInfo& kZoneUS_Samoa = kZonePacific_Pago_Pago;
                                                                                                                                      +
                                                                                                                                      9760 const basic::ZoneInfo& kZoneUTC = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9761 const basic::ZoneInfo& kZoneUniversal = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9762 const basic::ZoneInfo& kZoneZulu = kZoneEtc_UTC;
                                                                                                                                      +
                                                                                                                                      9763 
                                                                                                                                      +
                                                                                                                                      9764 }
                                                                                                                                      +
                                                                                                                                      9765 }
                                                                                                                                      + diff --git a/docs/html/zone__infos_8h_source.html b/docs/html/zone__infos_8h_source.html index 48d1edb9f..fc3afe74c 100644 --- a/docs/html/zone__infos_8h_source.html +++ b/docs/html/zone__infos_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb/zone_infos.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb/zone_infos.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zone_infos.h
                                                                                                                                      -
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      2 //
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      4 //
                                                                                                                                      5 // using the TZ Database files
                                                                                                                                      6 //
                                                                                                                                      7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
                                                                                                                                      8 //
                                                                                                                                      9 // from https://github.com/eggert/tz/releases/tag/2020a
                                                                                                                                      10 //
                                                                                                                                      11 // DO NOT EDIT
                                                                                                                                      12 
                                                                                                                                      13 #ifndef ACE_TIME_ZONEDB_ZONE_INFOS_H
                                                                                                                                      14 #define ACE_TIME_ZONEDB_ZONE_INFOS_H
                                                                                                                                      15 
                                                                                                                                      16 #include <ace_time/internal/ZoneInfo.h>
                                                                                                                                      17 
                                                                                                                                      18 namespace ace_time {
                                                                                                                                      19 namespace zonedb {
                                                                                                                                      20 
                                                                                                                                      21 //---------------------------------------------------------------------------
                                                                                                                                      22 // ZoneContext (should not be in PROGMEM)
                                                                                                                                      23 //---------------------------------------------------------------------------
                                                                                                                                      24 
                                                                                                                                      25 // Version of the TZ Database which generated these files.
                                                                                                                                      26 extern const char kTzDatabaseVersion[];
                                                                                                                                      27 
                                                                                                                                      28 // Metadata about the zonedb files.
                                                                                                                                      29 extern const basic::ZoneContext kZoneContext;
                                                                                                                                      30 
                                                                                                                                      31 //---------------------------------------------------------------------------
                                                                                                                                      32 // Supported zones: 268
                                                                                                                                      33 //---------------------------------------------------------------------------
                                                                                                                                      34 
                                                                                                                                      35 extern const basic::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan
                                                                                                                                      36 extern const basic::ZoneInfo kZoneAfrica_Accra; // Africa/Accra
                                                                                                                                      37 extern const basic::ZoneInfo kZoneAfrica_Algiers; // Africa/Algiers
                                                                                                                                      38 extern const basic::ZoneInfo kZoneAfrica_Bissau; // Africa/Bissau
                                                                                                                                      39 extern const basic::ZoneInfo kZoneAfrica_Ceuta; // Africa/Ceuta
                                                                                                                                      40 extern const basic::ZoneInfo kZoneAfrica_Johannesburg; // Africa/Johannesburg
                                                                                                                                      41 extern const basic::ZoneInfo kZoneAfrica_Lagos; // Africa/Lagos
                                                                                                                                      42 extern const basic::ZoneInfo kZoneAfrica_Maputo; // Africa/Maputo
                                                                                                                                      43 extern const basic::ZoneInfo kZoneAfrica_Monrovia; // Africa/Monrovia
                                                                                                                                      44 extern const basic::ZoneInfo kZoneAfrica_Nairobi; // Africa/Nairobi
                                                                                                                                      45 extern const basic::ZoneInfo kZoneAfrica_Ndjamena; // Africa/Ndjamena
                                                                                                                                      46 extern const basic::ZoneInfo kZoneAfrica_Tunis; // Africa/Tunis
                                                                                                                                      47 extern const basic::ZoneInfo kZoneAmerica_Adak; // America/Adak
                                                                                                                                      48 extern const basic::ZoneInfo kZoneAmerica_Anchorage; // America/Anchorage
                                                                                                                                      49 extern const basic::ZoneInfo kZoneAmerica_Asuncion; // America/Asuncion
                                                                                                                                      50 extern const basic::ZoneInfo kZoneAmerica_Atikokan; // America/Atikokan
                                                                                                                                      51 extern const basic::ZoneInfo kZoneAmerica_Barbados; // America/Barbados
                                                                                                                                      52 extern const basic::ZoneInfo kZoneAmerica_Belem; // America/Belem
                                                                                                                                      53 extern const basic::ZoneInfo kZoneAmerica_Blanc_Sablon; // America/Blanc-Sablon
                                                                                                                                      54 extern const basic::ZoneInfo kZoneAmerica_Bogota; // America/Bogota
                                                                                                                                      55 extern const basic::ZoneInfo kZoneAmerica_Boise; // America/Boise
                                                                                                                                      56 extern const basic::ZoneInfo kZoneAmerica_Campo_Grande; // America/Campo_Grande
                                                                                                                                      57 extern const basic::ZoneInfo kZoneAmerica_Cayenne; // America/Cayenne
                                                                                                                                      58 extern const basic::ZoneInfo kZoneAmerica_Chicago; // America/Chicago
                                                                                                                                      59 extern const basic::ZoneInfo kZoneAmerica_Chihuahua; // America/Chihuahua
                                                                                                                                      60 extern const basic::ZoneInfo kZoneAmerica_Costa_Rica; // America/Costa_Rica
                                                                                                                                      61 extern const basic::ZoneInfo kZoneAmerica_Creston; // America/Creston
                                                                                                                                      62 extern const basic::ZoneInfo kZoneAmerica_Curacao; // America/Curacao
                                                                                                                                      63 extern const basic::ZoneInfo kZoneAmerica_Danmarkshavn; // America/Danmarkshavn
                                                                                                                                      64 extern const basic::ZoneInfo kZoneAmerica_Dawson_Creek; // America/Dawson_Creek
                                                                                                                                      65 extern const basic::ZoneInfo kZoneAmerica_Denver; // America/Denver
                                                                                                                                      66 extern const basic::ZoneInfo kZoneAmerica_Detroit; // America/Detroit
                                                                                                                                      67 extern const basic::ZoneInfo kZoneAmerica_Edmonton; // America/Edmonton
                                                                                                                                      68 extern const basic::ZoneInfo kZoneAmerica_El_Salvador; // America/El_Salvador
                                                                                                                                      69 extern const basic::ZoneInfo kZoneAmerica_Glace_Bay; // America/Glace_Bay
                                                                                                                                      70 extern const basic::ZoneInfo kZoneAmerica_Guatemala; // America/Guatemala
                                                                                                                                      71 extern const basic::ZoneInfo kZoneAmerica_Guayaquil; // America/Guayaquil
                                                                                                                                      72 extern const basic::ZoneInfo kZoneAmerica_Guyana; // America/Guyana
                                                                                                                                      73 extern const basic::ZoneInfo kZoneAmerica_Halifax; // America/Halifax
                                                                                                                                      74 extern const basic::ZoneInfo kZoneAmerica_Havana; // America/Havana
                                                                                                                                      75 extern const basic::ZoneInfo kZoneAmerica_Hermosillo; // America/Hermosillo
                                                                                                                                      76 extern const basic::ZoneInfo kZoneAmerica_Indiana_Indianapolis; // America/Indiana/Indianapolis
                                                                                                                                      77 extern const basic::ZoneInfo kZoneAmerica_Indiana_Marengo; // America/Indiana/Marengo
                                                                                                                                      78 extern const basic::ZoneInfo kZoneAmerica_Indiana_Vevay; // America/Indiana/Vevay
                                                                                                                                      79 extern const basic::ZoneInfo kZoneAmerica_Inuvik; // America/Inuvik
                                                                                                                                      80 extern const basic::ZoneInfo kZoneAmerica_Jamaica; // America/Jamaica
                                                                                                                                      81 extern const basic::ZoneInfo kZoneAmerica_Juneau; // America/Juneau
                                                                                                                                      82 extern const basic::ZoneInfo kZoneAmerica_Kentucky_Louisville; // America/Kentucky/Louisville
                                                                                                                                      83 extern const basic::ZoneInfo kZoneAmerica_La_Paz; // America/La_Paz
                                                                                                                                      84 extern const basic::ZoneInfo kZoneAmerica_Lima; // America/Lima
                                                                                                                                      85 extern const basic::ZoneInfo kZoneAmerica_Los_Angeles; // America/Los_Angeles
                                                                                                                                      86 extern const basic::ZoneInfo kZoneAmerica_Managua; // America/Managua
                                                                                                                                      87 extern const basic::ZoneInfo kZoneAmerica_Manaus; // America/Manaus
                                                                                                                                      88 extern const basic::ZoneInfo kZoneAmerica_Martinique; // America/Martinique
                                                                                                                                      89 extern const basic::ZoneInfo kZoneAmerica_Matamoros; // America/Matamoros
                                                                                                                                      90 extern const basic::ZoneInfo kZoneAmerica_Mazatlan; // America/Mazatlan
                                                                                                                                      91 extern const basic::ZoneInfo kZoneAmerica_Menominee; // America/Menominee
                                                                                                                                      92 extern const basic::ZoneInfo kZoneAmerica_Merida; // America/Merida
                                                                                                                                      93 extern const basic::ZoneInfo kZoneAmerica_Miquelon; // America/Miquelon
                                                                                                                                      94 extern const basic::ZoneInfo kZoneAmerica_Moncton; // America/Moncton
                                                                                                                                      95 extern const basic::ZoneInfo kZoneAmerica_Monterrey; // America/Monterrey
                                                                                                                                      96 extern const basic::ZoneInfo kZoneAmerica_Montevideo; // America/Montevideo
                                                                                                                                      97 extern const basic::ZoneInfo kZoneAmerica_Nassau; // America/Nassau
                                                                                                                                      98 extern const basic::ZoneInfo kZoneAmerica_New_York; // America/New_York
                                                                                                                                      99 extern const basic::ZoneInfo kZoneAmerica_Nipigon; // America/Nipigon
                                                                                                                                      100 extern const basic::ZoneInfo kZoneAmerica_Nome; // America/Nome
                                                                                                                                      101 extern const basic::ZoneInfo kZoneAmerica_North_Dakota_Center; // America/North_Dakota/Center
                                                                                                                                      102 extern const basic::ZoneInfo kZoneAmerica_Nuuk; // America/Nuuk
                                                                                                                                      103 extern const basic::ZoneInfo kZoneAmerica_Ojinaga; // America/Ojinaga
                                                                                                                                      104 extern const basic::ZoneInfo kZoneAmerica_Panama; // America/Panama
                                                                                                                                      105 extern const basic::ZoneInfo kZoneAmerica_Paramaribo; // America/Paramaribo
                                                                                                                                      106 extern const basic::ZoneInfo kZoneAmerica_Phoenix; // America/Phoenix
                                                                                                                                      107 extern const basic::ZoneInfo kZoneAmerica_Port_au_Prince; // America/Port-au-Prince
                                                                                                                                      108 extern const basic::ZoneInfo kZoneAmerica_Port_of_Spain; // America/Port_of_Spain
                                                                                                                                      109 extern const basic::ZoneInfo kZoneAmerica_Porto_Velho; // America/Porto_Velho
                                                                                                                                      110 extern const basic::ZoneInfo kZoneAmerica_Puerto_Rico; // America/Puerto_Rico
                                                                                                                                      111 extern const basic::ZoneInfo kZoneAmerica_Rainy_River; // America/Rainy_River
                                                                                                                                      112 extern const basic::ZoneInfo kZoneAmerica_Regina; // America/Regina
                                                                                                                                      113 extern const basic::ZoneInfo kZoneAmerica_Santiago; // America/Santiago
                                                                                                                                      114 extern const basic::ZoneInfo kZoneAmerica_Sao_Paulo; // America/Sao_Paulo
                                                                                                                                      115 extern const basic::ZoneInfo kZoneAmerica_Scoresbysund; // America/Scoresbysund
                                                                                                                                      116 extern const basic::ZoneInfo kZoneAmerica_Sitka; // America/Sitka
                                                                                                                                      117 extern const basic::ZoneInfo kZoneAmerica_Swift_Current; // America/Swift_Current
                                                                                                                                      118 extern const basic::ZoneInfo kZoneAmerica_Tegucigalpa; // America/Tegucigalpa
                                                                                                                                      119 extern const basic::ZoneInfo kZoneAmerica_Thule; // America/Thule
                                                                                                                                      120 extern const basic::ZoneInfo kZoneAmerica_Thunder_Bay; // America/Thunder_Bay
                                                                                                                                      121 extern const basic::ZoneInfo kZoneAmerica_Toronto; // America/Toronto
                                                                                                                                      122 extern const basic::ZoneInfo kZoneAmerica_Vancouver; // America/Vancouver
                                                                                                                                      123 extern const basic::ZoneInfo kZoneAmerica_Winnipeg; // America/Winnipeg
                                                                                                                                      124 extern const basic::ZoneInfo kZoneAmerica_Yakutat; // America/Yakutat
                                                                                                                                      125 extern const basic::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife
                                                                                                                                      126 extern const basic::ZoneInfo kZoneAntarctica_DumontDUrville; // Antarctica/DumontDUrville
                                                                                                                                      127 extern const basic::ZoneInfo kZoneAntarctica_Rothera; // Antarctica/Rothera
                                                                                                                                      128 extern const basic::ZoneInfo kZoneAntarctica_Syowa; // Antarctica/Syowa
                                                                                                                                      129 extern const basic::ZoneInfo kZoneAntarctica_Vostok; // Antarctica/Vostok
                                                                                                                                      130 extern const basic::ZoneInfo kZoneAsia_Amman; // Asia/Amman
                                                                                                                                      131 extern const basic::ZoneInfo kZoneAsia_Ashgabat; // Asia/Ashgabat
                                                                                                                                      132 extern const basic::ZoneInfo kZoneAsia_Baghdad; // Asia/Baghdad
                                                                                                                                      133 extern const basic::ZoneInfo kZoneAsia_Baku; // Asia/Baku
                                                                                                                                      134 extern const basic::ZoneInfo kZoneAsia_Bangkok; // Asia/Bangkok
                                                                                                                                      135 extern const basic::ZoneInfo kZoneAsia_Beirut; // Asia/Beirut
                                                                                                                                      136 extern const basic::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei
                                                                                                                                      137 extern const basic::ZoneInfo kZoneAsia_Damascus; // Asia/Damascus
                                                                                                                                      138 extern const basic::ZoneInfo kZoneAsia_Dhaka; // Asia/Dhaka
                                                                                                                                      139 extern const basic::ZoneInfo kZoneAsia_Dubai; // Asia/Dubai
                                                                                                                                      140 extern const basic::ZoneInfo kZoneAsia_Dushanbe; // Asia/Dushanbe
                                                                                                                                      141 extern const basic::ZoneInfo kZoneAsia_Ho_Chi_Minh; // Asia/Ho_Chi_Minh
                                                                                                                                      142 extern const basic::ZoneInfo kZoneAsia_Hong_Kong; // Asia/Hong_Kong
                                                                                                                                      143 extern const basic::ZoneInfo kZoneAsia_Hovd; // Asia/Hovd
                                                                                                                                      144 extern const basic::ZoneInfo kZoneAsia_Jakarta; // Asia/Jakarta
                                                                                                                                      145 extern const basic::ZoneInfo kZoneAsia_Jayapura; // Asia/Jayapura
                                                                                                                                      146 extern const basic::ZoneInfo kZoneAsia_Jerusalem; // Asia/Jerusalem
                                                                                                                                      147 extern const basic::ZoneInfo kZoneAsia_Kabul; // Asia/Kabul
                                                                                                                                      148 extern const basic::ZoneInfo kZoneAsia_Karachi; // Asia/Karachi
                                                                                                                                      149 extern const basic::ZoneInfo kZoneAsia_Kathmandu; // Asia/Kathmandu
                                                                                                                                      150 extern const basic::ZoneInfo kZoneAsia_Kolkata; // Asia/Kolkata
                                                                                                                                      151 extern const basic::ZoneInfo kZoneAsia_Kuala_Lumpur; // Asia/Kuala_Lumpur
                                                                                                                                      152 extern const basic::ZoneInfo kZoneAsia_Kuching; // Asia/Kuching
                                                                                                                                      153 extern const basic::ZoneInfo kZoneAsia_Macau; // Asia/Macau
                                                                                                                                      154 extern const basic::ZoneInfo kZoneAsia_Makassar; // Asia/Makassar
                                                                                                                                      155 extern const basic::ZoneInfo kZoneAsia_Manila; // Asia/Manila
                                                                                                                                      156 extern const basic::ZoneInfo kZoneAsia_Nicosia; // Asia/Nicosia
                                                                                                                                      157 extern const basic::ZoneInfo kZoneAsia_Pontianak; // Asia/Pontianak
                                                                                                                                      158 extern const basic::ZoneInfo kZoneAsia_Qatar; // Asia/Qatar
                                                                                                                                      159 extern const basic::ZoneInfo kZoneAsia_Riyadh; // Asia/Riyadh
                                                                                                                                      160 extern const basic::ZoneInfo kZoneAsia_Samarkand; // Asia/Samarkand
                                                                                                                                      161 extern const basic::ZoneInfo kZoneAsia_Seoul; // Asia/Seoul
                                                                                                                                      162 extern const basic::ZoneInfo kZoneAsia_Shanghai; // Asia/Shanghai
                                                                                                                                      163 extern const basic::ZoneInfo kZoneAsia_Singapore; // Asia/Singapore
                                                                                                                                      164 extern const basic::ZoneInfo kZoneAsia_Taipei; // Asia/Taipei
                                                                                                                                      165 extern const basic::ZoneInfo kZoneAsia_Tashkent; // Asia/Tashkent
                                                                                                                                      166 extern const basic::ZoneInfo kZoneAsia_Tehran; // Asia/Tehran
                                                                                                                                      167 extern const basic::ZoneInfo kZoneAsia_Thimphu; // Asia/Thimphu
                                                                                                                                      168 extern const basic::ZoneInfo kZoneAsia_Tokyo; // Asia/Tokyo
                                                                                                                                      169 extern const basic::ZoneInfo kZoneAsia_Ulaanbaatar; // Asia/Ulaanbaatar
                                                                                                                                      170 extern const basic::ZoneInfo kZoneAsia_Urumqi; // Asia/Urumqi
                                                                                                                                      171 extern const basic::ZoneInfo kZoneAsia_Yangon; // Asia/Yangon
                                                                                                                                      172 extern const basic::ZoneInfo kZoneAsia_Yerevan; // Asia/Yerevan
                                                                                                                                      173 extern const basic::ZoneInfo kZoneAtlantic_Azores; // Atlantic/Azores
                                                                                                                                      174 extern const basic::ZoneInfo kZoneAtlantic_Bermuda; // Atlantic/Bermuda
                                                                                                                                      175 extern const basic::ZoneInfo kZoneAtlantic_Canary; // Atlantic/Canary
                                                                                                                                      176 extern const basic::ZoneInfo kZoneAtlantic_Cape_Verde; // Atlantic/Cape_Verde
                                                                                                                                      177 extern const basic::ZoneInfo kZoneAtlantic_Faroe; // Atlantic/Faroe
                                                                                                                                      178 extern const basic::ZoneInfo kZoneAtlantic_Madeira; // Atlantic/Madeira
                                                                                                                                      179 extern const basic::ZoneInfo kZoneAtlantic_Reykjavik; // Atlantic/Reykjavik
                                                                                                                                      180 extern const basic::ZoneInfo kZoneAtlantic_South_Georgia; // Atlantic/South_Georgia
                                                                                                                                      181 extern const basic::ZoneInfo kZoneAustralia_Adelaide; // Australia/Adelaide
                                                                                                                                      182 extern const basic::ZoneInfo kZoneAustralia_Brisbane; // Australia/Brisbane
                                                                                                                                      183 extern const basic::ZoneInfo kZoneAustralia_Broken_Hill; // Australia/Broken_Hill
                                                                                                                                      184 extern const basic::ZoneInfo kZoneAustralia_Currie; // Australia/Currie
                                                                                                                                      185 extern const basic::ZoneInfo kZoneAustralia_Darwin; // Australia/Darwin
                                                                                                                                      186 extern const basic::ZoneInfo kZoneAustralia_Eucla; // Australia/Eucla
                                                                                                                                      187 extern const basic::ZoneInfo kZoneAustralia_Hobart; // Australia/Hobart
                                                                                                                                      188 extern const basic::ZoneInfo kZoneAustralia_Lindeman; // Australia/Lindeman
                                                                                                                                      189 extern const basic::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe
                                                                                                                                      190 extern const basic::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne
                                                                                                                                      191 extern const basic::ZoneInfo kZoneAustralia_Perth; // Australia/Perth
                                                                                                                                      192 extern const basic::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney
                                                                                                                                      193 extern const basic::ZoneInfo kZoneCET; // CET
                                                                                                                                      194 extern const basic::ZoneInfo kZoneCST6CDT; // CST6CDT
                                                                                                                                      195 extern const basic::ZoneInfo kZoneEET; // EET
                                                                                                                                      196 extern const basic::ZoneInfo kZoneEST; // EST
                                                                                                                                      197 extern const basic::ZoneInfo kZoneEST5EDT; // EST5EDT
                                                                                                                                      198 extern const basic::ZoneInfo kZoneEtc_GMT; // Etc/GMT
                                                                                                                                      199 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1
                                                                                                                                      200 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10
                                                                                                                                      201 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_11; // Etc/GMT+11
                                                                                                                                      202 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_12; // Etc/GMT+12
                                                                                                                                      203 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_2; // Etc/GMT+2
                                                                                                                                      204 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_3; // Etc/GMT+3
                                                                                                                                      205 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_4; // Etc/GMT+4
                                                                                                                                      206 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_5; // Etc/GMT+5
                                                                                                                                      207 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_6; // Etc/GMT+6
                                                                                                                                      208 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_7; // Etc/GMT+7
                                                                                                                                      209 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_8; // Etc/GMT+8
                                                                                                                                      210 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_9; // Etc/GMT+9
                                                                                                                                      211 extern const basic::ZoneInfo kZoneEtc_GMT_1; // Etc/GMT-1
                                                                                                                                      212 extern const basic::ZoneInfo kZoneEtc_GMT_10; // Etc/GMT-10
                                                                                                                                      213 extern const basic::ZoneInfo kZoneEtc_GMT_11; // Etc/GMT-11
                                                                                                                                      214 extern const basic::ZoneInfo kZoneEtc_GMT_12; // Etc/GMT-12
                                                                                                                                      215 extern const basic::ZoneInfo kZoneEtc_GMT_13; // Etc/GMT-13
                                                                                                                                      216 extern const basic::ZoneInfo kZoneEtc_GMT_14; // Etc/GMT-14
                                                                                                                                      217 extern const basic::ZoneInfo kZoneEtc_GMT_2; // Etc/GMT-2
                                                                                                                                      218 extern const basic::ZoneInfo kZoneEtc_GMT_3; // Etc/GMT-3
                                                                                                                                      219 extern const basic::ZoneInfo kZoneEtc_GMT_4; // Etc/GMT-4
                                                                                                                                      220 extern const basic::ZoneInfo kZoneEtc_GMT_5; // Etc/GMT-5
                                                                                                                                      221 extern const basic::ZoneInfo kZoneEtc_GMT_6; // Etc/GMT-6
                                                                                                                                      222 extern const basic::ZoneInfo kZoneEtc_GMT_7; // Etc/GMT-7
                                                                                                                                      223 extern const basic::ZoneInfo kZoneEtc_GMT_8; // Etc/GMT-8
                                                                                                                                      224 extern const basic::ZoneInfo kZoneEtc_GMT_9; // Etc/GMT-9
                                                                                                                                      225 extern const basic::ZoneInfo kZoneEtc_UTC; // Etc/UTC
                                                                                                                                      226 extern const basic::ZoneInfo kZoneEurope_Amsterdam; // Europe/Amsterdam
                                                                                                                                      227 extern const basic::ZoneInfo kZoneEurope_Andorra; // Europe/Andorra
                                                                                                                                      228 extern const basic::ZoneInfo kZoneEurope_Athens; // Europe/Athens
                                                                                                                                      229 extern const basic::ZoneInfo kZoneEurope_Belgrade; // Europe/Belgrade
                                                                                                                                      230 extern const basic::ZoneInfo kZoneEurope_Berlin; // Europe/Berlin
                                                                                                                                      231 extern const basic::ZoneInfo kZoneEurope_Brussels; // Europe/Brussels
                                                                                                                                      232 extern const basic::ZoneInfo kZoneEurope_Bucharest; // Europe/Bucharest
                                                                                                                                      233 extern const basic::ZoneInfo kZoneEurope_Budapest; // Europe/Budapest
                                                                                                                                      234 extern const basic::ZoneInfo kZoneEurope_Chisinau; // Europe/Chisinau
                                                                                                                                      235 extern const basic::ZoneInfo kZoneEurope_Copenhagen; // Europe/Copenhagen
                                                                                                                                      236 extern const basic::ZoneInfo kZoneEurope_Dublin; // Europe/Dublin
                                                                                                                                      237 extern const basic::ZoneInfo kZoneEurope_Gibraltar; // Europe/Gibraltar
                                                                                                                                      238 extern const basic::ZoneInfo kZoneEurope_Helsinki; // Europe/Helsinki
                                                                                                                                      239 extern const basic::ZoneInfo kZoneEurope_Kiev; // Europe/Kiev
                                                                                                                                      240 extern const basic::ZoneInfo kZoneEurope_Lisbon; // Europe/Lisbon
                                                                                                                                      241 extern const basic::ZoneInfo kZoneEurope_London; // Europe/London
                                                                                                                                      242 extern const basic::ZoneInfo kZoneEurope_Luxembourg; // Europe/Luxembourg
                                                                                                                                      243 extern const basic::ZoneInfo kZoneEurope_Madrid; // Europe/Madrid
                                                                                                                                      244 extern const basic::ZoneInfo kZoneEurope_Malta; // Europe/Malta
                                                                                                                                      245 extern const basic::ZoneInfo kZoneEurope_Monaco; // Europe/Monaco
                                                                                                                                      246 extern const basic::ZoneInfo kZoneEurope_Oslo; // Europe/Oslo
                                                                                                                                      247 extern const basic::ZoneInfo kZoneEurope_Paris; // Europe/Paris
                                                                                                                                      248 extern const basic::ZoneInfo kZoneEurope_Prague; // Europe/Prague
                                                                                                                                      249 extern const basic::ZoneInfo kZoneEurope_Rome; // Europe/Rome
                                                                                                                                      250 extern const basic::ZoneInfo kZoneEurope_Sofia; // Europe/Sofia
                                                                                                                                      251 extern const basic::ZoneInfo kZoneEurope_Stockholm; // Europe/Stockholm
                                                                                                                                      252 extern const basic::ZoneInfo kZoneEurope_Tirane; // Europe/Tirane
                                                                                                                                      253 extern const basic::ZoneInfo kZoneEurope_Uzhgorod; // Europe/Uzhgorod
                                                                                                                                      254 extern const basic::ZoneInfo kZoneEurope_Vienna; // Europe/Vienna
                                                                                                                                      255 extern const basic::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw
                                                                                                                                      256 extern const basic::ZoneInfo kZoneEurope_Zaporozhye; // Europe/Zaporozhye
                                                                                                                                      257 extern const basic::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich
                                                                                                                                      258 extern const basic::ZoneInfo kZoneHST; // HST
                                                                                                                                      259 extern const basic::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos
                                                                                                                                      260 extern const basic::ZoneInfo kZoneIndian_Christmas; // Indian/Christmas
                                                                                                                                      261 extern const basic::ZoneInfo kZoneIndian_Cocos; // Indian/Cocos
                                                                                                                                      262 extern const basic::ZoneInfo kZoneIndian_Kerguelen; // Indian/Kerguelen
                                                                                                                                      263 extern const basic::ZoneInfo kZoneIndian_Mahe; // Indian/Mahe
                                                                                                                                      264 extern const basic::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives
                                                                                                                                      265 extern const basic::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius
                                                                                                                                      266 extern const basic::ZoneInfo kZoneIndian_Reunion; // Indian/Reunion
                                                                                                                                      267 extern const basic::ZoneInfo kZoneMET; // MET
                                                                                                                                      268 extern const basic::ZoneInfo kZoneMST; // MST
                                                                                                                                      269 extern const basic::ZoneInfo kZoneMST7MDT; // MST7MDT
                                                                                                                                      270 extern const basic::ZoneInfo kZonePST8PDT; // PST8PDT
                                                                                                                                      271 extern const basic::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland
                                                                                                                                      272 extern const basic::ZoneInfo kZonePacific_Chatham; // Pacific/Chatham
                                                                                                                                      273 extern const basic::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk
                                                                                                                                      274 extern const basic::ZoneInfo kZonePacific_Easter; // Pacific/Easter
                                                                                                                                      275 extern const basic::ZoneInfo kZonePacific_Efate; // Pacific/Efate
                                                                                                                                      276 extern const basic::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury
                                                                                                                                      277 extern const basic::ZoneInfo kZonePacific_Fiji; // Pacific/Fiji
                                                                                                                                      278 extern const basic::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti
                                                                                                                                      279 extern const basic::ZoneInfo kZonePacific_Galapagos; // Pacific/Galapagos
                                                                                                                                      280 extern const basic::ZoneInfo kZonePacific_Gambier; // Pacific/Gambier
                                                                                                                                      281 extern const basic::ZoneInfo kZonePacific_Guadalcanal; // Pacific/Guadalcanal
                                                                                                                                      282 extern const basic::ZoneInfo kZonePacific_Honolulu; // Pacific/Honolulu
                                                                                                                                      283 extern const basic::ZoneInfo kZonePacific_Kiritimati; // Pacific/Kiritimati
                                                                                                                                      284 extern const basic::ZoneInfo kZonePacific_Kosrae; // Pacific/Kosrae
                                                                                                                                      285 extern const basic::ZoneInfo kZonePacific_Kwajalein; // Pacific/Kwajalein
                                                                                                                                      286 extern const basic::ZoneInfo kZonePacific_Majuro; // Pacific/Majuro
                                                                                                                                      287 extern const basic::ZoneInfo kZonePacific_Marquesas; // Pacific/Marquesas
                                                                                                                                      288 extern const basic::ZoneInfo kZonePacific_Nauru; // Pacific/Nauru
                                                                                                                                      289 extern const basic::ZoneInfo kZonePacific_Niue; // Pacific/Niue
                                                                                                                                      290 extern const basic::ZoneInfo kZonePacific_Noumea; // Pacific/Noumea
                                                                                                                                      291 extern const basic::ZoneInfo kZonePacific_Pago_Pago; // Pacific/Pago_Pago
                                                                                                                                      292 extern const basic::ZoneInfo kZonePacific_Palau; // Pacific/Palau
                                                                                                                                      293 extern const basic::ZoneInfo kZonePacific_Pitcairn; // Pacific/Pitcairn
                                                                                                                                      294 extern const basic::ZoneInfo kZonePacific_Pohnpei; // Pacific/Pohnpei
                                                                                                                                      295 extern const basic::ZoneInfo kZonePacific_Port_Moresby; // Pacific/Port_Moresby
                                                                                                                                      296 extern const basic::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga
                                                                                                                                      297 extern const basic::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti
                                                                                                                                      298 extern const basic::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa
                                                                                                                                      299 extern const basic::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu
                                                                                                                                      300 extern const basic::ZoneInfo kZonePacific_Wake; // Pacific/Wake
                                                                                                                                      301 extern const basic::ZoneInfo kZonePacific_Wallis; // Pacific/Wallis
                                                                                                                                      302 extern const basic::ZoneInfo kZoneWET; // WET
                                                                                                                                      303 
                                                                                                                                      304 
                                                                                                                                      305 //---------------------------------------------------------------------------
                                                                                                                                      306 // Supported links: 182
                                                                                                                                      307 //---------------------------------------------------------------------------
                                                                                                                                      308 
                                                                                                                                      309 extern const basic::ZoneInfo& kZoneAfrica_Addis_Ababa; // Africa/Addis_Ababa -> Africa/Nairobi
                                                                                                                                      310 extern const basic::ZoneInfo& kZoneAfrica_Asmara; // Africa/Asmara -> Africa/Nairobi
                                                                                                                                      311 extern const basic::ZoneInfo& kZoneAfrica_Asmera; // Africa/Asmera -> Africa/Nairobi
                                                                                                                                      312 extern const basic::ZoneInfo& kZoneAfrica_Bamako; // Africa/Bamako -> Africa/Abidjan
                                                                                                                                      313 extern const basic::ZoneInfo& kZoneAfrica_Bangui; // Africa/Bangui -> Africa/Lagos
                                                                                                                                      314 extern const basic::ZoneInfo& kZoneAfrica_Banjul; // Africa/Banjul -> Africa/Abidjan
                                                                                                                                      315 extern const basic::ZoneInfo& kZoneAfrica_Blantyre; // Africa/Blantyre -> Africa/Maputo
                                                                                                                                      316 extern const basic::ZoneInfo& kZoneAfrica_Brazzaville; // Africa/Brazzaville -> Africa/Lagos
                                                                                                                                      317 extern const basic::ZoneInfo& kZoneAfrica_Bujumbura; // Africa/Bujumbura -> Africa/Maputo
                                                                                                                                      318 extern const basic::ZoneInfo& kZoneAfrica_Conakry; // Africa/Conakry -> Africa/Abidjan
                                                                                                                                      319 extern const basic::ZoneInfo& kZoneAfrica_Dakar; // Africa/Dakar -> Africa/Abidjan
                                                                                                                                      320 extern const basic::ZoneInfo& kZoneAfrica_Dar_es_Salaam; // Africa/Dar_es_Salaam -> Africa/Nairobi
                                                                                                                                      321 extern const basic::ZoneInfo& kZoneAfrica_Djibouti; // Africa/Djibouti -> Africa/Nairobi
                                                                                                                                      322 extern const basic::ZoneInfo& kZoneAfrica_Douala; // Africa/Douala -> Africa/Lagos
                                                                                                                                      323 extern const basic::ZoneInfo& kZoneAfrica_Freetown; // Africa/Freetown -> Africa/Abidjan
                                                                                                                                      324 extern const basic::ZoneInfo& kZoneAfrica_Gaborone; // Africa/Gaborone -> Africa/Maputo
                                                                                                                                      325 extern const basic::ZoneInfo& kZoneAfrica_Harare; // Africa/Harare -> Africa/Maputo
                                                                                                                                      326 extern const basic::ZoneInfo& kZoneAfrica_Kampala; // Africa/Kampala -> Africa/Nairobi
                                                                                                                                      327 extern const basic::ZoneInfo& kZoneAfrica_Kigali; // Africa/Kigali -> Africa/Maputo
                                                                                                                                      328 extern const basic::ZoneInfo& kZoneAfrica_Kinshasa; // Africa/Kinshasa -> Africa/Lagos
                                                                                                                                      329 extern const basic::ZoneInfo& kZoneAfrica_Libreville; // Africa/Libreville -> Africa/Lagos
                                                                                                                                      330 extern const basic::ZoneInfo& kZoneAfrica_Lome; // Africa/Lome -> Africa/Abidjan
                                                                                                                                      331 extern const basic::ZoneInfo& kZoneAfrica_Luanda; // Africa/Luanda -> Africa/Lagos
                                                                                                                                      332 extern const basic::ZoneInfo& kZoneAfrica_Lubumbashi; // Africa/Lubumbashi -> Africa/Maputo
                                                                                                                                      333 extern const basic::ZoneInfo& kZoneAfrica_Lusaka; // Africa/Lusaka -> Africa/Maputo
                                                                                                                                      334 extern const basic::ZoneInfo& kZoneAfrica_Malabo; // Africa/Malabo -> Africa/Lagos
                                                                                                                                      335 extern const basic::ZoneInfo& kZoneAfrica_Maseru; // Africa/Maseru -> Africa/Johannesburg
                                                                                                                                      336 extern const basic::ZoneInfo& kZoneAfrica_Mbabane; // Africa/Mbabane -> Africa/Johannesburg
                                                                                                                                      337 extern const basic::ZoneInfo& kZoneAfrica_Mogadishu; // Africa/Mogadishu -> Africa/Nairobi
                                                                                                                                      338 extern const basic::ZoneInfo& kZoneAfrica_Niamey; // Africa/Niamey -> Africa/Lagos
                                                                                                                                      339 extern const basic::ZoneInfo& kZoneAfrica_Nouakchott; // Africa/Nouakchott -> Africa/Abidjan
                                                                                                                                      340 extern const basic::ZoneInfo& kZoneAfrica_Ouagadougou; // Africa/Ouagadougou -> Africa/Abidjan
                                                                                                                                      341 extern const basic::ZoneInfo& kZoneAfrica_Porto_Novo; // Africa/Porto-Novo -> Africa/Lagos
                                                                                                                                      342 extern const basic::ZoneInfo& kZoneAfrica_Timbuktu; // Africa/Timbuktu -> Africa/Abidjan
                                                                                                                                      343 extern const basic::ZoneInfo& kZoneAmerica_Anguilla; // America/Anguilla -> America/Port_of_Spain
                                                                                                                                      344 extern const basic::ZoneInfo& kZoneAmerica_Antigua; // America/Antigua -> America/Port_of_Spain
                                                                                                                                      345 extern const basic::ZoneInfo& kZoneAmerica_Aruba; // America/Aruba -> America/Curacao
                                                                                                                                      346 extern const basic::ZoneInfo& kZoneAmerica_Atka; // America/Atka -> America/Adak
                                                                                                                                      347 extern const basic::ZoneInfo& kZoneAmerica_Cayman; // America/Cayman -> America/Panama
                                                                                                                                      348 extern const basic::ZoneInfo& kZoneAmerica_Coral_Harbour; // America/Coral_Harbour -> America/Atikokan
                                                                                                                                      349 extern const basic::ZoneInfo& kZoneAmerica_Dominica; // America/Dominica -> America/Port_of_Spain
                                                                                                                                      350 extern const basic::ZoneInfo& kZoneAmerica_Fort_Wayne; // America/Fort_Wayne -> America/Indiana/Indianapolis
                                                                                                                                      351 extern const basic::ZoneInfo& kZoneAmerica_Godthab; // America/Godthab -> America/Nuuk
                                                                                                                                      352 extern const basic::ZoneInfo& kZoneAmerica_Grenada; // America/Grenada -> America/Port_of_Spain
                                                                                                                                      353 extern const basic::ZoneInfo& kZoneAmerica_Guadeloupe; // America/Guadeloupe -> America/Port_of_Spain
                                                                                                                                      354 extern const basic::ZoneInfo& kZoneAmerica_Indianapolis; // America/Indianapolis -> America/Indiana/Indianapolis
                                                                                                                                      355 extern const basic::ZoneInfo& kZoneAmerica_Kralendijk; // America/Kralendijk -> America/Curacao
                                                                                                                                      356 extern const basic::ZoneInfo& kZoneAmerica_Louisville; // America/Louisville -> America/Kentucky/Louisville
                                                                                                                                      357 extern const basic::ZoneInfo& kZoneAmerica_Lower_Princes; // America/Lower_Princes -> America/Curacao
                                                                                                                                      358 extern const basic::ZoneInfo& kZoneAmerica_Marigot; // America/Marigot -> America/Port_of_Spain
                                                                                                                                      359 extern const basic::ZoneInfo& kZoneAmerica_Montreal; // America/Montreal -> America/Toronto
                                                                                                                                      360 extern const basic::ZoneInfo& kZoneAmerica_Montserrat; // America/Montserrat -> America/Port_of_Spain
                                                                                                                                      361 extern const basic::ZoneInfo& kZoneAmerica_Shiprock; // America/Shiprock -> America/Denver
                                                                                                                                      362 extern const basic::ZoneInfo& kZoneAmerica_St_Barthelemy; // America/St_Barthelemy -> America/Port_of_Spain
                                                                                                                                      363 extern const basic::ZoneInfo& kZoneAmerica_St_Kitts; // America/St_Kitts -> America/Port_of_Spain
                                                                                                                                      364 extern const basic::ZoneInfo& kZoneAmerica_St_Lucia; // America/St_Lucia -> America/Port_of_Spain
                                                                                                                                      365 extern const basic::ZoneInfo& kZoneAmerica_St_Thomas; // America/St_Thomas -> America/Port_of_Spain
                                                                                                                                      366 extern const basic::ZoneInfo& kZoneAmerica_St_Vincent; // America/St_Vincent -> America/Port_of_Spain
                                                                                                                                      367 extern const basic::ZoneInfo& kZoneAmerica_Tortola; // America/Tortola -> America/Port_of_Spain
                                                                                                                                      368 extern const basic::ZoneInfo& kZoneAmerica_Virgin; // America/Virgin -> America/Port_of_Spain
                                                                                                                                      369 extern const basic::ZoneInfo& kZoneAntarctica_McMurdo; // Antarctica/McMurdo -> Pacific/Auckland
                                                                                                                                      370 extern const basic::ZoneInfo& kZoneAntarctica_South_Pole; // Antarctica/South_Pole -> Pacific/Auckland
                                                                                                                                      371 extern const basic::ZoneInfo& kZoneArctic_Longyearbyen; // Arctic/Longyearbyen -> Europe/Oslo
                                                                                                                                      372 extern const basic::ZoneInfo& kZoneAsia_Aden; // Asia/Aden -> Asia/Riyadh
                                                                                                                                      373 extern const basic::ZoneInfo& kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/Ashgabat
                                                                                                                                      374 extern const basic::ZoneInfo& kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar
                                                                                                                                      375 extern const basic::ZoneInfo& kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata
                                                                                                                                      376 extern const basic::ZoneInfo& kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai
                                                                                                                                      377 extern const basic::ZoneInfo& kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai
                                                                                                                                      378 extern const basic::ZoneInfo& kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka
                                                                                                                                      379 extern const basic::ZoneInfo& kZoneAsia_Harbin; // Asia/Harbin -> Asia/Shanghai
                                                                                                                                      380 extern const basic::ZoneInfo& kZoneAsia_Kashgar; // Asia/Kashgar -> Asia/Urumqi
                                                                                                                                      381 extern const basic::ZoneInfo& kZoneAsia_Katmandu; // Asia/Katmandu -> Asia/Kathmandu
                                                                                                                                      382 extern const basic::ZoneInfo& kZoneAsia_Kuwait; // Asia/Kuwait -> Asia/Riyadh
                                                                                                                                      383 extern const basic::ZoneInfo& kZoneAsia_Macao; // Asia/Macao -> Asia/Macau
                                                                                                                                      384 extern const basic::ZoneInfo& kZoneAsia_Muscat; // Asia/Muscat -> Asia/Dubai
                                                                                                                                      385 extern const basic::ZoneInfo& kZoneAsia_Phnom_Penh; // Asia/Phnom_Penh -> Asia/Bangkok
                                                                                                                                      386 extern const basic::ZoneInfo& kZoneAsia_Rangoon; // Asia/Rangoon -> Asia/Yangon
                                                                                                                                      387 extern const basic::ZoneInfo& kZoneAsia_Saigon; // Asia/Saigon -> Asia/Ho_Chi_Minh
                                                                                                                                      388 extern const basic::ZoneInfo& kZoneAsia_Tel_Aviv; // Asia/Tel_Aviv -> Asia/Jerusalem
                                                                                                                                      389 extern const basic::ZoneInfo& kZoneAsia_Thimbu; // Asia/Thimbu -> Asia/Thimphu
                                                                                                                                      390 extern const basic::ZoneInfo& kZoneAsia_Ujung_Pandang; // Asia/Ujung_Pandang -> Asia/Makassar
                                                                                                                                      391 extern const basic::ZoneInfo& kZoneAsia_Ulan_Bator; // Asia/Ulan_Bator -> Asia/Ulaanbaatar
                                                                                                                                      392 extern const basic::ZoneInfo& kZoneAsia_Vientiane; // Asia/Vientiane -> Asia/Bangkok
                                                                                                                                      393 extern const basic::ZoneInfo& kZoneAtlantic_Faeroe; // Atlantic/Faeroe -> Atlantic/Faroe
                                                                                                                                      394 extern const basic::ZoneInfo& kZoneAtlantic_Jan_Mayen; // Atlantic/Jan_Mayen -> Europe/Oslo
                                                                                                                                      395 extern const basic::ZoneInfo& kZoneAtlantic_St_Helena; // Atlantic/St_Helena -> Africa/Abidjan
                                                                                                                                      396 extern const basic::ZoneInfo& kZoneAustralia_ACT; // Australia/ACT -> Australia/Sydney
                                                                                                                                      397 extern const basic::ZoneInfo& kZoneAustralia_Canberra; // Australia/Canberra -> Australia/Sydney
                                                                                                                                      398 extern const basic::ZoneInfo& kZoneAustralia_LHI; // Australia/LHI -> Australia/Lord_Howe
                                                                                                                                      399 extern const basic::ZoneInfo& kZoneAustralia_NSW; // Australia/NSW -> Australia/Sydney
                                                                                                                                      400 extern const basic::ZoneInfo& kZoneAustralia_North; // Australia/North -> Australia/Darwin
                                                                                                                                      401 extern const basic::ZoneInfo& kZoneAustralia_Queensland; // Australia/Queensland -> Australia/Brisbane
                                                                                                                                      402 extern const basic::ZoneInfo& kZoneAustralia_South; // Australia/South -> Australia/Adelaide
                                                                                                                                      403 extern const basic::ZoneInfo& kZoneAustralia_Tasmania; // Australia/Tasmania -> Australia/Hobart
                                                                                                                                      404 extern const basic::ZoneInfo& kZoneAustralia_Victoria; // Australia/Victoria -> Australia/Melbourne
                                                                                                                                      405 extern const basic::ZoneInfo& kZoneAustralia_West; // Australia/West -> Australia/Perth
                                                                                                                                      406 extern const basic::ZoneInfo& kZoneAustralia_Yancowinna; // Australia/Yancowinna -> Australia/Broken_Hill
                                                                                                                                      407 extern const basic::ZoneInfo& kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo
                                                                                                                                      408 extern const basic::ZoneInfo& kZoneBrazil_West; // Brazil/West -> America/Manaus
                                                                                                                                      409 extern const basic::ZoneInfo& kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax
                                                                                                                                      410 extern const basic::ZoneInfo& kZoneCanada_Central; // Canada/Central -> America/Winnipeg
                                                                                                                                      411 extern const basic::ZoneInfo& kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto
                                                                                                                                      412 extern const basic::ZoneInfo& kZoneCanada_Mountain; // Canada/Mountain -> America/Edmonton
                                                                                                                                      413 extern const basic::ZoneInfo& kZoneCanada_Pacific; // Canada/Pacific -> America/Vancouver
                                                                                                                                      414 extern const basic::ZoneInfo& kZoneCanada_Saskatchewan; // Canada/Saskatchewan -> America/Regina
                                                                                                                                      415 extern const basic::ZoneInfo& kZoneChile_Continental; // Chile/Continental -> America/Santiago
                                                                                                                                      416 extern const basic::ZoneInfo& kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter
                                                                                                                                      417 extern const basic::ZoneInfo& kZoneCuba; // Cuba -> America/Havana
                                                                                                                                      418 extern const basic::ZoneInfo& kZoneEire; // Eire -> Europe/Dublin
                                                                                                                                      419 extern const basic::ZoneInfo& kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT
                                                                                                                                      420 extern const basic::ZoneInfo& kZoneEtc_GMT_0; // Etc/GMT-0 -> Etc/GMT
                                                                                                                                      421 extern const basic::ZoneInfo& kZoneEtc_GMT0; // Etc/GMT0 -> Etc/GMT
                                                                                                                                      422 extern const basic::ZoneInfo& kZoneEtc_Greenwich; // Etc/Greenwich -> Etc/GMT
                                                                                                                                      423 extern const basic::ZoneInfo& kZoneEtc_UCT; // Etc/UCT -> Etc/UTC
                                                                                                                                      424 extern const basic::ZoneInfo& kZoneEtc_Universal; // Etc/Universal -> Etc/UTC
                                                                                                                                      425 extern const basic::ZoneInfo& kZoneEtc_Zulu; // Etc/Zulu -> Etc/UTC
                                                                                                                                      426 extern const basic::ZoneInfo& kZoneEurope_Belfast; // Europe/Belfast -> Europe/London
                                                                                                                                      427 extern const basic::ZoneInfo& kZoneEurope_Bratislava; // Europe/Bratislava -> Europe/Prague
                                                                                                                                      428 extern const basic::ZoneInfo& kZoneEurope_Busingen; // Europe/Busingen -> Europe/Zurich
                                                                                                                                      429 extern const basic::ZoneInfo& kZoneEurope_Guernsey; // Europe/Guernsey -> Europe/London
                                                                                                                                      430 extern const basic::ZoneInfo& kZoneEurope_Isle_of_Man; // Europe/Isle_of_Man -> Europe/London
                                                                                                                                      431 extern const basic::ZoneInfo& kZoneEurope_Jersey; // Europe/Jersey -> Europe/London
                                                                                                                                      432 extern const basic::ZoneInfo& kZoneEurope_Ljubljana; // Europe/Ljubljana -> Europe/Belgrade
                                                                                                                                      433 extern const basic::ZoneInfo& kZoneEurope_Mariehamn; // Europe/Mariehamn -> Europe/Helsinki
                                                                                                                                      434 extern const basic::ZoneInfo& kZoneEurope_Nicosia; // Europe/Nicosia -> Asia/Nicosia
                                                                                                                                      435 extern const basic::ZoneInfo& kZoneEurope_Podgorica; // Europe/Podgorica -> Europe/Belgrade
                                                                                                                                      436 extern const basic::ZoneInfo& kZoneEurope_San_Marino; // Europe/San_Marino -> Europe/Rome
                                                                                                                                      437 extern const basic::ZoneInfo& kZoneEurope_Sarajevo; // Europe/Sarajevo -> Europe/Belgrade
                                                                                                                                      438 extern const basic::ZoneInfo& kZoneEurope_Skopje; // Europe/Skopje -> Europe/Belgrade
                                                                                                                                      439 extern const basic::ZoneInfo& kZoneEurope_Tiraspol; // Europe/Tiraspol -> Europe/Chisinau
                                                                                                                                      440 extern const basic::ZoneInfo& kZoneEurope_Vaduz; // Europe/Vaduz -> Europe/Zurich
                                                                                                                                      441 extern const basic::ZoneInfo& kZoneEurope_Vatican; // Europe/Vatican -> Europe/Rome
                                                                                                                                      442 extern const basic::ZoneInfo& kZoneEurope_Zagreb; // Europe/Zagreb -> Europe/Belgrade
                                                                                                                                      443 extern const basic::ZoneInfo& kZoneGB; // GB -> Europe/London
                                                                                                                                      444 extern const basic::ZoneInfo& kZoneGB_Eire; // GB-Eire -> Europe/London
                                                                                                                                      445 extern const basic::ZoneInfo& kZoneGMT; // GMT -> Etc/GMT
                                                                                                                                      446 extern const basic::ZoneInfo& kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT
                                                                                                                                      447 extern const basic::ZoneInfo& kZoneGMT_0; // GMT-0 -> Etc/GMT
                                                                                                                                      448 extern const basic::ZoneInfo& kZoneGMT0; // GMT0 -> Etc/GMT
                                                                                                                                      449 extern const basic::ZoneInfo& kZoneGreenwich; // Greenwich -> Etc/GMT
                                                                                                                                      450 extern const basic::ZoneInfo& kZoneHongkong; // Hongkong -> Asia/Hong_Kong
                                                                                                                                      451 extern const basic::ZoneInfo& kZoneIceland; // Iceland -> Atlantic/Reykjavik
                                                                                                                                      452 extern const basic::ZoneInfo& kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi
                                                                                                                                      453 extern const basic::ZoneInfo& kZoneIndian_Comoro; // Indian/Comoro -> Africa/Nairobi
                                                                                                                                      454 extern const basic::ZoneInfo& kZoneIndian_Mayotte; // Indian/Mayotte -> Africa/Nairobi
                                                                                                                                      455 extern const basic::ZoneInfo& kZoneIran; // Iran -> Asia/Tehran
                                                                                                                                      456 extern const basic::ZoneInfo& kZoneIsrael; // Israel -> Asia/Jerusalem
                                                                                                                                      457 extern const basic::ZoneInfo& kZoneJamaica; // Jamaica -> America/Jamaica
                                                                                                                                      458 extern const basic::ZoneInfo& kZoneJapan; // Japan -> Asia/Tokyo
                                                                                                                                      459 extern const basic::ZoneInfo& kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein
                                                                                                                                      460 extern const basic::ZoneInfo& kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan
                                                                                                                                      461 extern const basic::ZoneInfo& kZoneNZ; // NZ -> Pacific/Auckland
                                                                                                                                      462 extern const basic::ZoneInfo& kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham
                                                                                                                                      463 extern const basic::ZoneInfo& kZoneNavajo; // Navajo -> America/Denver
                                                                                                                                      464 extern const basic::ZoneInfo& kZonePRC; // PRC -> Asia/Shanghai
                                                                                                                                      465 extern const basic::ZoneInfo& kZonePacific_Johnston; // Pacific/Johnston -> Pacific/Honolulu
                                                                                                                                      466 extern const basic::ZoneInfo& kZonePacific_Midway; // Pacific/Midway -> Pacific/Pago_Pago
                                                                                                                                      467 extern const basic::ZoneInfo& kZonePacific_Ponape; // Pacific/Ponape -> Pacific/Pohnpei
                                                                                                                                      468 extern const basic::ZoneInfo& kZonePacific_Samoa; // Pacific/Samoa -> Pacific/Pago_Pago
                                                                                                                                      469 extern const basic::ZoneInfo& kZonePacific_Truk; // Pacific/Truk -> Pacific/Chuuk
                                                                                                                                      470 extern const basic::ZoneInfo& kZonePacific_Yap; // Pacific/Yap -> Pacific/Chuuk
                                                                                                                                      471 extern const basic::ZoneInfo& kZonePoland; // Poland -> Europe/Warsaw
                                                                                                                                      472 extern const basic::ZoneInfo& kZonePortugal; // Portugal -> Europe/Lisbon
                                                                                                                                      473 extern const basic::ZoneInfo& kZoneROC; // ROC -> Asia/Taipei
                                                                                                                                      474 extern const basic::ZoneInfo& kZoneROK; // ROK -> Asia/Seoul
                                                                                                                                      475 extern const basic::ZoneInfo& kZoneSingapore; // Singapore -> Asia/Singapore
                                                                                                                                      476 extern const basic::ZoneInfo& kZoneUCT; // UCT -> Etc/UTC
                                                                                                                                      477 extern const basic::ZoneInfo& kZoneUS_Alaska; // US/Alaska -> America/Anchorage
                                                                                                                                      478 extern const basic::ZoneInfo& kZoneUS_Aleutian; // US/Aleutian -> America/Adak
                                                                                                                                      479 extern const basic::ZoneInfo& kZoneUS_Arizona; // US/Arizona -> America/Phoenix
                                                                                                                                      480 extern const basic::ZoneInfo& kZoneUS_Central; // US/Central -> America/Chicago
                                                                                                                                      481 extern const basic::ZoneInfo& kZoneUS_East_Indiana; // US/East-Indiana -> America/Indiana/Indianapolis
                                                                                                                                      482 extern const basic::ZoneInfo& kZoneUS_Eastern; // US/Eastern -> America/New_York
                                                                                                                                      483 extern const basic::ZoneInfo& kZoneUS_Hawaii; // US/Hawaii -> Pacific/Honolulu
                                                                                                                                      484 extern const basic::ZoneInfo& kZoneUS_Michigan; // US/Michigan -> America/Detroit
                                                                                                                                      485 extern const basic::ZoneInfo& kZoneUS_Mountain; // US/Mountain -> America/Denver
                                                                                                                                      486 extern const basic::ZoneInfo& kZoneUS_Pacific; // US/Pacific -> America/Los_Angeles
                                                                                                                                      487 extern const basic::ZoneInfo& kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago
                                                                                                                                      488 extern const basic::ZoneInfo& kZoneUTC; // UTC -> Etc/UTC
                                                                                                                                      489 extern const basic::ZoneInfo& kZoneUniversal; // Universal -> Etc/UTC
                                                                                                                                      490 extern const basic::ZoneInfo& kZoneZulu; // Zulu -> Etc/UTC
                                                                                                                                      491 
                                                                                                                                      492 
                                                                                                                                      493 //---------------------------------------------------------------------------
                                                                                                                                      494 // Unsupported zones: 119
                                                                                                                                      495 //---------------------------------------------------------------------------
                                                                                                                                      496 
                                                                                                                                      497 // Africa/Cairo (policy 'Egypt' not found)
                                                                                                                                      498 // Africa/Casablanca (UNTIL contains month/day/time)
                                                                                                                                      499 // Africa/El_Aaiun (UNTIL contains month/day/time)
                                                                                                                                      500 // Africa/Juba (UNTIL contains month/day/time)
                                                                                                                                      501 // Africa/Khartoum (UNTIL contains month/day/time)
                                                                                                                                      502 // Africa/Sao_Tome (UNTIL contains month/day/time)
                                                                                                                                      503 // Africa/Tripoli (UNTIL contains month/day/time)
                                                                                                                                      504 // Africa/Windhoek (policy 'Namibia' not found)
                                                                                                                                      505 // America/Araguaina (UNTIL contains month/day/time)
                                                                                                                                      506 // America/Argentina/Buenos_Aires (UNTIL contains month/day/time)
                                                                                                                                      507 // America/Argentina/Catamarca (UNTIL contains month/day/time)
                                                                                                                                      508 // America/Argentina/Cordoba (UNTIL contains month/day/time)
                                                                                                                                      509 // America/Argentina/Jujuy (UNTIL contains month/day/time)
                                                                                                                                      510 // America/Argentina/La_Rioja (UNTIL contains month/day/time)
                                                                                                                                      511 // America/Argentina/Mendoza (UNTIL contains month/day/time)
                                                                                                                                      512 // America/Argentina/Rio_Gallegos (UNTIL contains month/day/time)
                                                                                                                                      513 // America/Argentina/Salta (UNTIL contains month/day/time)
                                                                                                                                      514 // America/Argentina/San_Juan (UNTIL contains month/day/time)
                                                                                                                                      515 // America/Argentina/San_Luis (UNTIL contains month/day/time)
                                                                                                                                      516 // America/Argentina/Tucuman (UNTIL contains month/day/time)
                                                                                                                                      517 // America/Argentina/Ushuaia (UNTIL contains month/day/time)
                                                                                                                                      518 // America/Bahia (UNTIL contains month/day/time)
                                                                                                                                      519 // America/Bahia_Banderas (UNTIL contains month/day/time)
                                                                                                                                      520 // America/Belize (policy 'Belize' not found)
                                                                                                                                      521 // America/Boa_Vista (UNTIL contains month/day/time)
                                                                                                                                      522 // America/Cambridge_Bay (UNTIL contains month/day/time)
                                                                                                                                      523 // America/Cancun (UNTIL contains month/day/time)
                                                                                                                                      524 // America/Caracas (UNTIL contains month/day/time)
                                                                                                                                      525 // America/Cuiaba (UNTIL contains month/day/time)
                                                                                                                                      526 // America/Dawson (UNTIL contains month/day/time)
                                                                                                                                      527 // America/Eirunepe (UNTIL contains month/day/time)
                                                                                                                                      528 // America/Fort_Nelson (UNTIL contains month/day/time)
                                                                                                                                      529 // America/Fortaleza (UNTIL contains month/day/time)
                                                                                                                                      530 // America/Goose_Bay (UNTIL contains month/day/time)
                                                                                                                                      531 // America/Grand_Turk (UNTIL contains month/day/time)
                                                                                                                                      532 // America/Indiana/Knox (UNTIL contains month/day/time)
                                                                                                                                      533 // America/Indiana/Petersburg (UNTIL contains month/day/time)
                                                                                                                                      534 // America/Indiana/Tell_City (UNTIL contains month/day/time)
                                                                                                                                      535 // America/Indiana/Vincennes (UNTIL contains month/day/time)
                                                                                                                                      536 // America/Indiana/Winamac (UNTIL contains month/day/time)
                                                                                                                                      537 // America/Iqaluit (UNTIL contains month/day/time)
                                                                                                                                      538 // America/Kentucky/Monticello (UNTIL contains month/day/time)
                                                                                                                                      539 // America/Maceio (UNTIL contains month/day/time)
                                                                                                                                      540 // America/Metlakatla (UNTIL contains month/day/time)
                                                                                                                                      541 // America/Mexico_City (UNTIL contains month/day/time)
                                                                                                                                      542 // America/Noronha (UNTIL contains month/day/time)
                                                                                                                                      543 // America/North_Dakota/Beulah (UNTIL contains month/day/time)
                                                                                                                                      544 // America/North_Dakota/New_Salem (UNTIL contains month/day/time)
                                                                                                                                      545 // America/Pangnirtung (UNTIL contains month/day/time)
                                                                                                                                      546 // America/Punta_Arenas (UNTIL contains month/day/time)
                                                                                                                                      547 // America/Rankin_Inlet (UNTIL contains month/day/time)
                                                                                                                                      548 // America/Recife (UNTIL contains month/day/time)
                                                                                                                                      549 // America/Resolute (UNTIL contains month/day/time)
                                                                                                                                      550 // America/Rio_Branco (UNTIL contains month/day/time)
                                                                                                                                      551 // America/Santarem (UNTIL contains month/day/time)
                                                                                                                                      552 // America/Santo_Domingo (UNTIL contains month/day/time)
                                                                                                                                      553 // America/St_Johns (UNTIL contains month/day/time)
                                                                                                                                      554 // America/Tijuana (UNTIL contains month/day/time)
                                                                                                                                      555 // America/Whitehorse (UNTIL contains month/day/time)
                                                                                                                                      556 // Antarctica/Casey (UNTIL contains month/day/time)
                                                                                                                                      557 // Antarctica/Davis (UNTIL contains month/day/time)
                                                                                                                                      558 // Antarctica/Macquarie (UNTIL contains month/day/time)
                                                                                                                                      559 // Antarctica/Mawson (UNTIL contains month/day/time)
                                                                                                                                      560 // Antarctica/Palmer (UNTIL contains month/day/time)
                                                                                                                                      561 // Antarctica/Troll (UNTIL contains month/day/time)
                                                                                                                                      562 // Asia/Almaty (UNTIL contains month/day/time)
                                                                                                                                      563 // Asia/Anadyr (UNTIL contains month/day/time)
                                                                                                                                      564 // Asia/Aqtau (UNTIL contains month/day/time)
                                                                                                                                      565 // Asia/Aqtobe (UNTIL contains month/day/time)
                                                                                                                                      566 // Asia/Atyrau (UNTIL contains month/day/time)
                                                                                                                                      567 // Asia/Barnaul (UNTIL contains month/day/time)
                                                                                                                                      568 // Asia/Bishkek (UNTIL contains month/day/time)
                                                                                                                                      569 // Asia/Chita (UNTIL contains month/day/time)
                                                                                                                                      570 // Asia/Choibalsan (UNTIL contains month/day/time)
                                                                                                                                      571 // Asia/Colombo (UNTIL contains month/day/time)
                                                                                                                                      572 // Asia/Dili (UNTIL contains month/day/time)
                                                                                                                                      573 // Asia/Famagusta (UNTIL contains month/day/time)
                                                                                                                                      574 // Asia/Gaza (UNTIL contains month/day/time)
                                                                                                                                      575 // Asia/Hebron (policy 'Palestine' not found)
                                                                                                                                      576 // Asia/Irkutsk (UNTIL contains month/day/time)
                                                                                                                                      577 // Asia/Kamchatka (UNTIL contains month/day/time)
                                                                                                                                      578 // Asia/Khandyga (UNTIL contains month/day/time)
                                                                                                                                      579 // Asia/Krasnoyarsk (UNTIL contains month/day/time)
                                                                                                                                      580 // Asia/Magadan (UNTIL contains month/day/time)
                                                                                                                                      581 // Asia/Novokuznetsk (UNTIL contains month/day/time)
                                                                                                                                      582 // Asia/Novosibirsk (UNTIL contains month/day/time)
                                                                                                                                      583 // Asia/Omsk (UNTIL contains month/day/time)
                                                                                                                                      584 // Asia/Oral (UNTIL contains month/day/time)
                                                                                                                                      585 // Asia/Pyongyang (UNTIL contains month/day/time)
                                                                                                                                      586 // Asia/Qostanay (UNTIL contains month/day/time)
                                                                                                                                      587 // Asia/Qyzylorda (UNTIL contains month/day/time)
                                                                                                                                      588 // Asia/Sakhalin (UNTIL contains month/day/time)
                                                                                                                                      589 // Asia/Srednekolymsk (UNTIL contains month/day/time)
                                                                                                                                      590 // Asia/Tbilisi (UNTIL contains month/day/time)
                                                                                                                                      591 // Asia/Tomsk (UNTIL contains month/day/time)
                                                                                                                                      592 // Asia/Ust-Nera (UNTIL contains month/day/time)
                                                                                                                                      593 // Asia/Vladivostok (UNTIL contains month/day/time)
                                                                                                                                      594 // Asia/Yakutsk (UNTIL contains month/day/time)
                                                                                                                                      595 // Asia/Yekaterinburg (UNTIL contains month/day/time)
                                                                                                                                      596 // Atlantic/Stanley (UNTIL contains month/day/time)
                                                                                                                                      597 // Europe/Astrakhan (UNTIL contains month/day/time)
                                                                                                                                      598 // Europe/Istanbul (UNTIL contains month/day/time)
                                                                                                                                      599 // Europe/Kaliningrad (UNTIL contains month/day/time)
                                                                                                                                      600 // Europe/Kirov (UNTIL contains month/day/time)
                                                                                                                                      601 // Europe/Minsk (UNTIL contains month/day/time)
                                                                                                                                      602 // Europe/Moscow (UNTIL contains month/day/time)
                                                                                                                                      603 // Europe/Riga (UNTIL contains month/day/time)
                                                                                                                                      604 // Europe/Samara (UNTIL contains month/day/time)
                                                                                                                                      605 // Europe/Saratov (UNTIL contains month/day/time)
                                                                                                                                      606 // Europe/Simferopol (UNTIL contains month/day/time)
                                                                                                                                      607 // Europe/Tallinn (UNTIL contains month/day/time)
                                                                                                                                      608 // Europe/Ulyanovsk (UNTIL contains month/day/time)
                                                                                                                                      609 // Europe/Vilnius (UNTIL contains month/day/time)
                                                                                                                                      610 // Europe/Volgograd (UNTIL contains month/day/time)
                                                                                                                                      611 // Pacific/Apia (UNTIL contains month/day/time)
                                                                                                                                      612 // Pacific/Bougainville (UNTIL contains month/day/time)
                                                                                                                                      613 // Pacific/Fakaofo (UNTIL contains month/day/time)
                                                                                                                                      614 // Pacific/Guam (UNTIL contains month/day/time)
                                                                                                                                      615 // Pacific/Norfolk (UNTIL contains month/day/time)
                                                                                                                                      616 
                                                                                                                                      617 
                                                                                                                                      618 //---------------------------------------------------------------------------
                                                                                                                                      619 // Notable zones: 1
                                                                                                                                      620 //---------------------------------------------------------------------------
                                                                                                                                      621 
                                                                                                                                      622 // Africa/Johannesburg (RULES not fixed but FORMAT is missing '%' or '/')
                                                                                                                                      623 
                                                                                                                                      624 
                                                                                                                                      625 //---------------------------------------------------------------------------
                                                                                                                                      626 // Unsupported links: 24
                                                                                                                                      627 //---------------------------------------------------------------------------
                                                                                                                                      628 
                                                                                                                                      629 // America/Argentina/ComodRivadavia (Target Zone "America/Argentina/Catamarca" missing)
                                                                                                                                      630 // America/Buenos_Aires (Target Zone "America/Argentina/Buenos_Aires" missing)
                                                                                                                                      631 // America/Catamarca (Target Zone "America/Argentina/Catamarca" missing)
                                                                                                                                      632 // America/Cordoba (Target Zone "America/Argentina/Cordoba" missing)
                                                                                                                                      633 // America/Ensenada (Target Zone "America/Tijuana" missing)
                                                                                                                                      634 // America/Jujuy (Target Zone "America/Argentina/Jujuy" missing)
                                                                                                                                      635 // America/Knox_IN (Target Zone "America/Indiana/Knox" missing)
                                                                                                                                      636 // America/Mendoza (Target Zone "America/Argentina/Mendoza" missing)
                                                                                                                                      637 // America/Porto_Acre (Target Zone "America/Rio_Branco" missing)
                                                                                                                                      638 // America/Rosario (Target Zone "America/Argentina/Cordoba" missing)
                                                                                                                                      639 // America/Santa_Isabel (Target Zone "America/Tijuana" missing)
                                                                                                                                      640 // Asia/Istanbul (Target Zone "Europe/Istanbul" missing)
                                                                                                                                      641 // Brazil/Acre (Target Zone "America/Rio_Branco" missing)
                                                                                                                                      642 // Brazil/DeNoronha (Target Zone "America/Noronha" missing)
                                                                                                                                      643 // Canada/Newfoundland (Target Zone "America/St_Johns" missing)
                                                                                                                                      644 // Canada/Yukon (Target Zone "America/Whitehorse" missing)
                                                                                                                                      645 // Egypt (Target Zone "Africa/Cairo" missing)
                                                                                                                                      646 // Libya (Target Zone "Africa/Tripoli" missing)
                                                                                                                                      647 // Mexico/BajaNorte (Target Zone "America/Tijuana" missing)
                                                                                                                                      648 // Mexico/General (Target Zone "America/Mexico_City" missing)
                                                                                                                                      649 // Pacific/Saipan (Target Zone "Pacific/Guam" missing)
                                                                                                                                      650 // Turkey (Target Zone "Europe/Istanbul" missing)
                                                                                                                                      651 // US/Indiana-Starke (Target Zone "America/Indiana/Knox" missing)
                                                                                                                                      652 // W-SU (Target Zone "Europe/Moscow" missing)
                                                                                                                                      653 
                                                                                                                                      654 
                                                                                                                                      655 //---------------------------------------------------------------------------
                                                                                                                                      656 // Notable links: 0
                                                                                                                                      657 //---------------------------------------------------------------------------
                                                                                                                                      658 
                                                                                                                                      659 
                                                                                                                                      660 
                                                                                                                                      661 }
                                                                                                                                      662 }
                                                                                                                                      663 
                                                                                                                                      664 #endif
                                                                                                                                      +
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      +
                                                                                                                                      2 //
                                                                                                                                      +
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      +
                                                                                                                                      4 //
                                                                                                                                      +
                                                                                                                                      5 // using the TZ Database files
                                                                                                                                      +
                                                                                                                                      6 //
                                                                                                                                      +
                                                                                                                                      7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
                                                                                                                                      +
                                                                                                                                      8 //
                                                                                                                                      +
                                                                                                                                      9 // from https://github.com/eggert/tz/releases/tag/2020c
                                                                                                                                      +
                                                                                                                                      10 //
                                                                                                                                      +
                                                                                                                                      11 // DO NOT EDIT
                                                                                                                                      +
                                                                                                                                      12 
                                                                                                                                      +
                                                                                                                                      13 #ifndef ACE_TIME_ZONEDB_ZONE_INFOS_H
                                                                                                                                      +
                                                                                                                                      14 #define ACE_TIME_ZONEDB_ZONE_INFOS_H
                                                                                                                                      +
                                                                                                                                      15 
                                                                                                                                      +
                                                                                                                                      16 #include <ace_time/internal/ZoneInfo.h>
                                                                                                                                      +
                                                                                                                                      17 
                                                                                                                                      +
                                                                                                                                      18 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      19 namespace zonedb {
                                                                                                                                      +
                                                                                                                                      20 
                                                                                                                                      +
                                                                                                                                      21 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      22 // ZoneContext (should not be in PROGMEM)
                                                                                                                                      +
                                                                                                                                      23 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      24 
                                                                                                                                      +
                                                                                                                                      25 // Version of the TZ Database which generated these files.
                                                                                                                                      +
                                                                                                                                      26 extern const char kTzDatabaseVersion[];
                                                                                                                                      +
                                                                                                                                      27 
                                                                                                                                      +
                                                                                                                                      28 // Metadata about the zonedb files.
                                                                                                                                      +
                                                                                                                                      29 extern const basic::ZoneContext kZoneContext;
                                                                                                                                      +
                                                                                                                                      30 
                                                                                                                                      +
                                                                                                                                      31 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      32 // Supported zones: 268
                                                                                                                                      +
                                                                                                                                      33 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      34 
                                                                                                                                      +
                                                                                                                                      35 extern const basic::ZoneInfo kZoneAfrica_Abidjan; // Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      36 extern const basic::ZoneInfo kZoneAfrica_Accra; // Africa/Accra
                                                                                                                                      +
                                                                                                                                      37 extern const basic::ZoneInfo kZoneAfrica_Algiers; // Africa/Algiers
                                                                                                                                      +
                                                                                                                                      38 extern const basic::ZoneInfo kZoneAfrica_Bissau; // Africa/Bissau
                                                                                                                                      +
                                                                                                                                      39 extern const basic::ZoneInfo kZoneAfrica_Ceuta; // Africa/Ceuta
                                                                                                                                      +
                                                                                                                                      40 extern const basic::ZoneInfo kZoneAfrica_Johannesburg; // Africa/Johannesburg
                                                                                                                                      +
                                                                                                                                      41 extern const basic::ZoneInfo kZoneAfrica_Lagos; // Africa/Lagos
                                                                                                                                      +
                                                                                                                                      42 extern const basic::ZoneInfo kZoneAfrica_Maputo; // Africa/Maputo
                                                                                                                                      +
                                                                                                                                      43 extern const basic::ZoneInfo kZoneAfrica_Monrovia; // Africa/Monrovia
                                                                                                                                      +
                                                                                                                                      44 extern const basic::ZoneInfo kZoneAfrica_Nairobi; // Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      45 extern const basic::ZoneInfo kZoneAfrica_Ndjamena; // Africa/Ndjamena
                                                                                                                                      +
                                                                                                                                      46 extern const basic::ZoneInfo kZoneAfrica_Tunis; // Africa/Tunis
                                                                                                                                      +
                                                                                                                                      47 extern const basic::ZoneInfo kZoneAmerica_Adak; // America/Adak
                                                                                                                                      +
                                                                                                                                      48 extern const basic::ZoneInfo kZoneAmerica_Anchorage; // America/Anchorage
                                                                                                                                      +
                                                                                                                                      49 extern const basic::ZoneInfo kZoneAmerica_Asuncion; // America/Asuncion
                                                                                                                                      +
                                                                                                                                      50 extern const basic::ZoneInfo kZoneAmerica_Atikokan; // America/Atikokan
                                                                                                                                      +
                                                                                                                                      51 extern const basic::ZoneInfo kZoneAmerica_Barbados; // America/Barbados
                                                                                                                                      +
                                                                                                                                      52 extern const basic::ZoneInfo kZoneAmerica_Belem; // America/Belem
                                                                                                                                      +
                                                                                                                                      53 extern const basic::ZoneInfo kZoneAmerica_Blanc_Sablon; // America/Blanc-Sablon
                                                                                                                                      +
                                                                                                                                      54 extern const basic::ZoneInfo kZoneAmerica_Bogota; // America/Bogota
                                                                                                                                      +
                                                                                                                                      55 extern const basic::ZoneInfo kZoneAmerica_Boise; // America/Boise
                                                                                                                                      +
                                                                                                                                      56 extern const basic::ZoneInfo kZoneAmerica_Campo_Grande; // America/Campo_Grande
                                                                                                                                      +
                                                                                                                                      57 extern const basic::ZoneInfo kZoneAmerica_Cayenne; // America/Cayenne
                                                                                                                                      +
                                                                                                                                      58 extern const basic::ZoneInfo kZoneAmerica_Chicago; // America/Chicago
                                                                                                                                      +
                                                                                                                                      59 extern const basic::ZoneInfo kZoneAmerica_Chihuahua; // America/Chihuahua
                                                                                                                                      +
                                                                                                                                      60 extern const basic::ZoneInfo kZoneAmerica_Costa_Rica; // America/Costa_Rica
                                                                                                                                      +
                                                                                                                                      61 extern const basic::ZoneInfo kZoneAmerica_Creston; // America/Creston
                                                                                                                                      +
                                                                                                                                      62 extern const basic::ZoneInfo kZoneAmerica_Curacao; // America/Curacao
                                                                                                                                      +
                                                                                                                                      63 extern const basic::ZoneInfo kZoneAmerica_Danmarkshavn; // America/Danmarkshavn
                                                                                                                                      +
                                                                                                                                      64 extern const basic::ZoneInfo kZoneAmerica_Dawson_Creek; // America/Dawson_Creek
                                                                                                                                      +
                                                                                                                                      65 extern const basic::ZoneInfo kZoneAmerica_Denver; // America/Denver
                                                                                                                                      +
                                                                                                                                      66 extern const basic::ZoneInfo kZoneAmerica_Detroit; // America/Detroit
                                                                                                                                      +
                                                                                                                                      67 extern const basic::ZoneInfo kZoneAmerica_Edmonton; // America/Edmonton
                                                                                                                                      +
                                                                                                                                      68 extern const basic::ZoneInfo kZoneAmerica_El_Salvador; // America/El_Salvador
                                                                                                                                      +
                                                                                                                                      69 extern const basic::ZoneInfo kZoneAmerica_Glace_Bay; // America/Glace_Bay
                                                                                                                                      +
                                                                                                                                      70 extern const basic::ZoneInfo kZoneAmerica_Guatemala; // America/Guatemala
                                                                                                                                      +
                                                                                                                                      71 extern const basic::ZoneInfo kZoneAmerica_Guayaquil; // America/Guayaquil
                                                                                                                                      +
                                                                                                                                      72 extern const basic::ZoneInfo kZoneAmerica_Guyana; // America/Guyana
                                                                                                                                      +
                                                                                                                                      73 extern const basic::ZoneInfo kZoneAmerica_Halifax; // America/Halifax
                                                                                                                                      +
                                                                                                                                      74 extern const basic::ZoneInfo kZoneAmerica_Havana; // America/Havana
                                                                                                                                      +
                                                                                                                                      75 extern const basic::ZoneInfo kZoneAmerica_Hermosillo; // America/Hermosillo
                                                                                                                                      +
                                                                                                                                      76 extern const basic::ZoneInfo kZoneAmerica_Indiana_Indianapolis; // America/Indiana/Indianapolis
                                                                                                                                      +
                                                                                                                                      77 extern const basic::ZoneInfo kZoneAmerica_Indiana_Marengo; // America/Indiana/Marengo
                                                                                                                                      +
                                                                                                                                      78 extern const basic::ZoneInfo kZoneAmerica_Indiana_Vevay; // America/Indiana/Vevay
                                                                                                                                      +
                                                                                                                                      79 extern const basic::ZoneInfo kZoneAmerica_Inuvik; // America/Inuvik
                                                                                                                                      +
                                                                                                                                      80 extern const basic::ZoneInfo kZoneAmerica_Jamaica; // America/Jamaica
                                                                                                                                      +
                                                                                                                                      81 extern const basic::ZoneInfo kZoneAmerica_Juneau; // America/Juneau
                                                                                                                                      +
                                                                                                                                      82 extern const basic::ZoneInfo kZoneAmerica_Kentucky_Louisville; // America/Kentucky/Louisville
                                                                                                                                      +
                                                                                                                                      83 extern const basic::ZoneInfo kZoneAmerica_La_Paz; // America/La_Paz
                                                                                                                                      +
                                                                                                                                      84 extern const basic::ZoneInfo kZoneAmerica_Lima; // America/Lima
                                                                                                                                      +
                                                                                                                                      85 extern const basic::ZoneInfo kZoneAmerica_Los_Angeles; // America/Los_Angeles
                                                                                                                                      +
                                                                                                                                      86 extern const basic::ZoneInfo kZoneAmerica_Managua; // America/Managua
                                                                                                                                      +
                                                                                                                                      87 extern const basic::ZoneInfo kZoneAmerica_Manaus; // America/Manaus
                                                                                                                                      +
                                                                                                                                      88 extern const basic::ZoneInfo kZoneAmerica_Martinique; // America/Martinique
                                                                                                                                      +
                                                                                                                                      89 extern const basic::ZoneInfo kZoneAmerica_Matamoros; // America/Matamoros
                                                                                                                                      +
                                                                                                                                      90 extern const basic::ZoneInfo kZoneAmerica_Mazatlan; // America/Mazatlan
                                                                                                                                      +
                                                                                                                                      91 extern const basic::ZoneInfo kZoneAmerica_Menominee; // America/Menominee
                                                                                                                                      +
                                                                                                                                      92 extern const basic::ZoneInfo kZoneAmerica_Merida; // America/Merida
                                                                                                                                      +
                                                                                                                                      93 extern const basic::ZoneInfo kZoneAmerica_Miquelon; // America/Miquelon
                                                                                                                                      +
                                                                                                                                      94 extern const basic::ZoneInfo kZoneAmerica_Moncton; // America/Moncton
                                                                                                                                      +
                                                                                                                                      95 extern const basic::ZoneInfo kZoneAmerica_Monterrey; // America/Monterrey
                                                                                                                                      +
                                                                                                                                      96 extern const basic::ZoneInfo kZoneAmerica_Montevideo; // America/Montevideo
                                                                                                                                      +
                                                                                                                                      97 extern const basic::ZoneInfo kZoneAmerica_Nassau; // America/Nassau
                                                                                                                                      +
                                                                                                                                      98 extern const basic::ZoneInfo kZoneAmerica_New_York; // America/New_York
                                                                                                                                      +
                                                                                                                                      99 extern const basic::ZoneInfo kZoneAmerica_Nipigon; // America/Nipigon
                                                                                                                                      +
                                                                                                                                      100 extern const basic::ZoneInfo kZoneAmerica_Nome; // America/Nome
                                                                                                                                      +
                                                                                                                                      101 extern const basic::ZoneInfo kZoneAmerica_North_Dakota_Center; // America/North_Dakota/Center
                                                                                                                                      +
                                                                                                                                      102 extern const basic::ZoneInfo kZoneAmerica_Nuuk; // America/Nuuk
                                                                                                                                      +
                                                                                                                                      103 extern const basic::ZoneInfo kZoneAmerica_Ojinaga; // America/Ojinaga
                                                                                                                                      +
                                                                                                                                      104 extern const basic::ZoneInfo kZoneAmerica_Panama; // America/Panama
                                                                                                                                      +
                                                                                                                                      105 extern const basic::ZoneInfo kZoneAmerica_Paramaribo; // America/Paramaribo
                                                                                                                                      +
                                                                                                                                      106 extern const basic::ZoneInfo kZoneAmerica_Phoenix; // America/Phoenix
                                                                                                                                      +
                                                                                                                                      107 extern const basic::ZoneInfo kZoneAmerica_Port_au_Prince; // America/Port-au-Prince
                                                                                                                                      +
                                                                                                                                      108 extern const basic::ZoneInfo kZoneAmerica_Port_of_Spain; // America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      109 extern const basic::ZoneInfo kZoneAmerica_Porto_Velho; // America/Porto_Velho
                                                                                                                                      +
                                                                                                                                      110 extern const basic::ZoneInfo kZoneAmerica_Puerto_Rico; // America/Puerto_Rico
                                                                                                                                      +
                                                                                                                                      111 extern const basic::ZoneInfo kZoneAmerica_Rainy_River; // America/Rainy_River
                                                                                                                                      +
                                                                                                                                      112 extern const basic::ZoneInfo kZoneAmerica_Regina; // America/Regina
                                                                                                                                      +
                                                                                                                                      113 extern const basic::ZoneInfo kZoneAmerica_Santiago; // America/Santiago
                                                                                                                                      +
                                                                                                                                      114 extern const basic::ZoneInfo kZoneAmerica_Sao_Paulo; // America/Sao_Paulo
                                                                                                                                      +
                                                                                                                                      115 extern const basic::ZoneInfo kZoneAmerica_Scoresbysund; // America/Scoresbysund
                                                                                                                                      +
                                                                                                                                      116 extern const basic::ZoneInfo kZoneAmerica_Sitka; // America/Sitka
                                                                                                                                      +
                                                                                                                                      117 extern const basic::ZoneInfo kZoneAmerica_Swift_Current; // America/Swift_Current
                                                                                                                                      +
                                                                                                                                      118 extern const basic::ZoneInfo kZoneAmerica_Tegucigalpa; // America/Tegucigalpa
                                                                                                                                      +
                                                                                                                                      119 extern const basic::ZoneInfo kZoneAmerica_Thule; // America/Thule
                                                                                                                                      +
                                                                                                                                      120 extern const basic::ZoneInfo kZoneAmerica_Thunder_Bay; // America/Thunder_Bay
                                                                                                                                      +
                                                                                                                                      121 extern const basic::ZoneInfo kZoneAmerica_Toronto; // America/Toronto
                                                                                                                                      +
                                                                                                                                      122 extern const basic::ZoneInfo kZoneAmerica_Vancouver; // America/Vancouver
                                                                                                                                      +
                                                                                                                                      123 extern const basic::ZoneInfo kZoneAmerica_Winnipeg; // America/Winnipeg
                                                                                                                                      +
                                                                                                                                      124 extern const basic::ZoneInfo kZoneAmerica_Yakutat; // America/Yakutat
                                                                                                                                      +
                                                                                                                                      125 extern const basic::ZoneInfo kZoneAmerica_Yellowknife; // America/Yellowknife
                                                                                                                                      +
                                                                                                                                      126 extern const basic::ZoneInfo kZoneAntarctica_DumontDUrville; // Antarctica/DumontDUrville
                                                                                                                                      +
                                                                                                                                      127 extern const basic::ZoneInfo kZoneAntarctica_Rothera; // Antarctica/Rothera
                                                                                                                                      +
                                                                                                                                      128 extern const basic::ZoneInfo kZoneAntarctica_Syowa; // Antarctica/Syowa
                                                                                                                                      +
                                                                                                                                      129 extern const basic::ZoneInfo kZoneAntarctica_Vostok; // Antarctica/Vostok
                                                                                                                                      +
                                                                                                                                      130 extern const basic::ZoneInfo kZoneAsia_Amman; // Asia/Amman
                                                                                                                                      +
                                                                                                                                      131 extern const basic::ZoneInfo kZoneAsia_Ashgabat; // Asia/Ashgabat
                                                                                                                                      +
                                                                                                                                      132 extern const basic::ZoneInfo kZoneAsia_Baghdad; // Asia/Baghdad
                                                                                                                                      +
                                                                                                                                      133 extern const basic::ZoneInfo kZoneAsia_Baku; // Asia/Baku
                                                                                                                                      +
                                                                                                                                      134 extern const basic::ZoneInfo kZoneAsia_Bangkok; // Asia/Bangkok
                                                                                                                                      +
                                                                                                                                      135 extern const basic::ZoneInfo kZoneAsia_Beirut; // Asia/Beirut
                                                                                                                                      +
                                                                                                                                      136 extern const basic::ZoneInfo kZoneAsia_Brunei; // Asia/Brunei
                                                                                                                                      +
                                                                                                                                      137 extern const basic::ZoneInfo kZoneAsia_Damascus; // Asia/Damascus
                                                                                                                                      +
                                                                                                                                      138 extern const basic::ZoneInfo kZoneAsia_Dhaka; // Asia/Dhaka
                                                                                                                                      +
                                                                                                                                      139 extern const basic::ZoneInfo kZoneAsia_Dubai; // Asia/Dubai
                                                                                                                                      +
                                                                                                                                      140 extern const basic::ZoneInfo kZoneAsia_Dushanbe; // Asia/Dushanbe
                                                                                                                                      +
                                                                                                                                      141 extern const basic::ZoneInfo kZoneAsia_Ho_Chi_Minh; // Asia/Ho_Chi_Minh
                                                                                                                                      +
                                                                                                                                      142 extern const basic::ZoneInfo kZoneAsia_Hong_Kong; // Asia/Hong_Kong
                                                                                                                                      +
                                                                                                                                      143 extern const basic::ZoneInfo kZoneAsia_Hovd; // Asia/Hovd
                                                                                                                                      +
                                                                                                                                      144 extern const basic::ZoneInfo kZoneAsia_Jakarta; // Asia/Jakarta
                                                                                                                                      +
                                                                                                                                      145 extern const basic::ZoneInfo kZoneAsia_Jayapura; // Asia/Jayapura
                                                                                                                                      +
                                                                                                                                      146 extern const basic::ZoneInfo kZoneAsia_Jerusalem; // Asia/Jerusalem
                                                                                                                                      +
                                                                                                                                      147 extern const basic::ZoneInfo kZoneAsia_Kabul; // Asia/Kabul
                                                                                                                                      +
                                                                                                                                      148 extern const basic::ZoneInfo kZoneAsia_Karachi; // Asia/Karachi
                                                                                                                                      +
                                                                                                                                      149 extern const basic::ZoneInfo kZoneAsia_Kathmandu; // Asia/Kathmandu
                                                                                                                                      +
                                                                                                                                      150 extern const basic::ZoneInfo kZoneAsia_Kolkata; // Asia/Kolkata
                                                                                                                                      +
                                                                                                                                      151 extern const basic::ZoneInfo kZoneAsia_Kuala_Lumpur; // Asia/Kuala_Lumpur
                                                                                                                                      +
                                                                                                                                      152 extern const basic::ZoneInfo kZoneAsia_Kuching; // Asia/Kuching
                                                                                                                                      +
                                                                                                                                      153 extern const basic::ZoneInfo kZoneAsia_Macau; // Asia/Macau
                                                                                                                                      +
                                                                                                                                      154 extern const basic::ZoneInfo kZoneAsia_Makassar; // Asia/Makassar
                                                                                                                                      +
                                                                                                                                      155 extern const basic::ZoneInfo kZoneAsia_Manila; // Asia/Manila
                                                                                                                                      +
                                                                                                                                      156 extern const basic::ZoneInfo kZoneAsia_Nicosia; // Asia/Nicosia
                                                                                                                                      +
                                                                                                                                      157 extern const basic::ZoneInfo kZoneAsia_Pontianak; // Asia/Pontianak
                                                                                                                                      +
                                                                                                                                      158 extern const basic::ZoneInfo kZoneAsia_Qatar; // Asia/Qatar
                                                                                                                                      +
                                                                                                                                      159 extern const basic::ZoneInfo kZoneAsia_Riyadh; // Asia/Riyadh
                                                                                                                                      +
                                                                                                                                      160 extern const basic::ZoneInfo kZoneAsia_Samarkand; // Asia/Samarkand
                                                                                                                                      +
                                                                                                                                      161 extern const basic::ZoneInfo kZoneAsia_Seoul; // Asia/Seoul
                                                                                                                                      +
                                                                                                                                      162 extern const basic::ZoneInfo kZoneAsia_Shanghai; // Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      163 extern const basic::ZoneInfo kZoneAsia_Singapore; // Asia/Singapore
                                                                                                                                      +
                                                                                                                                      164 extern const basic::ZoneInfo kZoneAsia_Taipei; // Asia/Taipei
                                                                                                                                      +
                                                                                                                                      165 extern const basic::ZoneInfo kZoneAsia_Tashkent; // Asia/Tashkent
                                                                                                                                      +
                                                                                                                                      166 extern const basic::ZoneInfo kZoneAsia_Tehran; // Asia/Tehran
                                                                                                                                      +
                                                                                                                                      167 extern const basic::ZoneInfo kZoneAsia_Thimphu; // Asia/Thimphu
                                                                                                                                      +
                                                                                                                                      168 extern const basic::ZoneInfo kZoneAsia_Tokyo; // Asia/Tokyo
                                                                                                                                      +
                                                                                                                                      169 extern const basic::ZoneInfo kZoneAsia_Ulaanbaatar; // Asia/Ulaanbaatar
                                                                                                                                      +
                                                                                                                                      170 extern const basic::ZoneInfo kZoneAsia_Urumqi; // Asia/Urumqi
                                                                                                                                      +
                                                                                                                                      171 extern const basic::ZoneInfo kZoneAsia_Yangon; // Asia/Yangon
                                                                                                                                      +
                                                                                                                                      172 extern const basic::ZoneInfo kZoneAsia_Yerevan; // Asia/Yerevan
                                                                                                                                      +
                                                                                                                                      173 extern const basic::ZoneInfo kZoneAtlantic_Azores; // Atlantic/Azores
                                                                                                                                      +
                                                                                                                                      174 extern const basic::ZoneInfo kZoneAtlantic_Bermuda; // Atlantic/Bermuda
                                                                                                                                      +
                                                                                                                                      175 extern const basic::ZoneInfo kZoneAtlantic_Canary; // Atlantic/Canary
                                                                                                                                      +
                                                                                                                                      176 extern const basic::ZoneInfo kZoneAtlantic_Cape_Verde; // Atlantic/Cape_Verde
                                                                                                                                      +
                                                                                                                                      177 extern const basic::ZoneInfo kZoneAtlantic_Faroe; // Atlantic/Faroe
                                                                                                                                      +
                                                                                                                                      178 extern const basic::ZoneInfo kZoneAtlantic_Madeira; // Atlantic/Madeira
                                                                                                                                      +
                                                                                                                                      179 extern const basic::ZoneInfo kZoneAtlantic_Reykjavik; // Atlantic/Reykjavik
                                                                                                                                      +
                                                                                                                                      180 extern const basic::ZoneInfo kZoneAtlantic_South_Georgia; // Atlantic/South_Georgia
                                                                                                                                      +
                                                                                                                                      181 extern const basic::ZoneInfo kZoneAustralia_Adelaide; // Australia/Adelaide
                                                                                                                                      +
                                                                                                                                      182 extern const basic::ZoneInfo kZoneAustralia_Brisbane; // Australia/Brisbane
                                                                                                                                      +
                                                                                                                                      183 extern const basic::ZoneInfo kZoneAustralia_Broken_Hill; // Australia/Broken_Hill
                                                                                                                                      +
                                                                                                                                      184 extern const basic::ZoneInfo kZoneAustralia_Currie; // Australia/Currie
                                                                                                                                      +
                                                                                                                                      185 extern const basic::ZoneInfo kZoneAustralia_Darwin; // Australia/Darwin
                                                                                                                                      +
                                                                                                                                      186 extern const basic::ZoneInfo kZoneAustralia_Eucla; // Australia/Eucla
                                                                                                                                      +
                                                                                                                                      187 extern const basic::ZoneInfo kZoneAustralia_Hobart; // Australia/Hobart
                                                                                                                                      +
                                                                                                                                      188 extern const basic::ZoneInfo kZoneAustralia_Lindeman; // Australia/Lindeman
                                                                                                                                      +
                                                                                                                                      189 extern const basic::ZoneInfo kZoneAustralia_Lord_Howe; // Australia/Lord_Howe
                                                                                                                                      +
                                                                                                                                      190 extern const basic::ZoneInfo kZoneAustralia_Melbourne; // Australia/Melbourne
                                                                                                                                      +
                                                                                                                                      191 extern const basic::ZoneInfo kZoneAustralia_Perth; // Australia/Perth
                                                                                                                                      +
                                                                                                                                      192 extern const basic::ZoneInfo kZoneAustralia_Sydney; // Australia/Sydney
                                                                                                                                      +
                                                                                                                                      193 extern const basic::ZoneInfo kZoneCET; // CET
                                                                                                                                      +
                                                                                                                                      194 extern const basic::ZoneInfo kZoneCST6CDT; // CST6CDT
                                                                                                                                      +
                                                                                                                                      195 extern const basic::ZoneInfo kZoneEET; // EET
                                                                                                                                      +
                                                                                                                                      196 extern const basic::ZoneInfo kZoneEST; // EST
                                                                                                                                      +
                                                                                                                                      197 extern const basic::ZoneInfo kZoneEST5EDT; // EST5EDT
                                                                                                                                      +
                                                                                                                                      198 extern const basic::ZoneInfo kZoneEtc_GMT; // Etc/GMT
                                                                                                                                      +
                                                                                                                                      199 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_1; // Etc/GMT+1
                                                                                                                                      +
                                                                                                                                      200 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_10; // Etc/GMT+10
                                                                                                                                      +
                                                                                                                                      201 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_11; // Etc/GMT+11
                                                                                                                                      +
                                                                                                                                      202 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_12; // Etc/GMT+12
                                                                                                                                      +
                                                                                                                                      203 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_2; // Etc/GMT+2
                                                                                                                                      +
                                                                                                                                      204 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_3; // Etc/GMT+3
                                                                                                                                      +
                                                                                                                                      205 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_4; // Etc/GMT+4
                                                                                                                                      +
                                                                                                                                      206 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_5; // Etc/GMT+5
                                                                                                                                      +
                                                                                                                                      207 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_6; // Etc/GMT+6
                                                                                                                                      +
                                                                                                                                      208 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_7; // Etc/GMT+7
                                                                                                                                      +
                                                                                                                                      209 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_8; // Etc/GMT+8
                                                                                                                                      +
                                                                                                                                      210 extern const basic::ZoneInfo kZoneEtc_GMT_PLUS_9; // Etc/GMT+9
                                                                                                                                      +
                                                                                                                                      211 extern const basic::ZoneInfo kZoneEtc_GMT_1; // Etc/GMT-1
                                                                                                                                      +
                                                                                                                                      212 extern const basic::ZoneInfo kZoneEtc_GMT_10; // Etc/GMT-10
                                                                                                                                      +
                                                                                                                                      213 extern const basic::ZoneInfo kZoneEtc_GMT_11; // Etc/GMT-11
                                                                                                                                      +
                                                                                                                                      214 extern const basic::ZoneInfo kZoneEtc_GMT_12; // Etc/GMT-12
                                                                                                                                      +
                                                                                                                                      215 extern const basic::ZoneInfo kZoneEtc_GMT_13; // Etc/GMT-13
                                                                                                                                      +
                                                                                                                                      216 extern const basic::ZoneInfo kZoneEtc_GMT_14; // Etc/GMT-14
                                                                                                                                      +
                                                                                                                                      217 extern const basic::ZoneInfo kZoneEtc_GMT_2; // Etc/GMT-2
                                                                                                                                      +
                                                                                                                                      218 extern const basic::ZoneInfo kZoneEtc_GMT_3; // Etc/GMT-3
                                                                                                                                      +
                                                                                                                                      219 extern const basic::ZoneInfo kZoneEtc_GMT_4; // Etc/GMT-4
                                                                                                                                      +
                                                                                                                                      220 extern const basic::ZoneInfo kZoneEtc_GMT_5; // Etc/GMT-5
                                                                                                                                      +
                                                                                                                                      221 extern const basic::ZoneInfo kZoneEtc_GMT_6; // Etc/GMT-6
                                                                                                                                      +
                                                                                                                                      222 extern const basic::ZoneInfo kZoneEtc_GMT_7; // Etc/GMT-7
                                                                                                                                      +
                                                                                                                                      223 extern const basic::ZoneInfo kZoneEtc_GMT_8; // Etc/GMT-8
                                                                                                                                      +
                                                                                                                                      224 extern const basic::ZoneInfo kZoneEtc_GMT_9; // Etc/GMT-9
                                                                                                                                      +
                                                                                                                                      225 extern const basic::ZoneInfo kZoneEtc_UTC; // Etc/UTC
                                                                                                                                      +
                                                                                                                                      226 extern const basic::ZoneInfo kZoneEurope_Amsterdam; // Europe/Amsterdam
                                                                                                                                      +
                                                                                                                                      227 extern const basic::ZoneInfo kZoneEurope_Andorra; // Europe/Andorra
                                                                                                                                      +
                                                                                                                                      228 extern const basic::ZoneInfo kZoneEurope_Athens; // Europe/Athens
                                                                                                                                      +
                                                                                                                                      229 extern const basic::ZoneInfo kZoneEurope_Belgrade; // Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      230 extern const basic::ZoneInfo kZoneEurope_Berlin; // Europe/Berlin
                                                                                                                                      +
                                                                                                                                      231 extern const basic::ZoneInfo kZoneEurope_Brussels; // Europe/Brussels
                                                                                                                                      +
                                                                                                                                      232 extern const basic::ZoneInfo kZoneEurope_Bucharest; // Europe/Bucharest
                                                                                                                                      +
                                                                                                                                      233 extern const basic::ZoneInfo kZoneEurope_Budapest; // Europe/Budapest
                                                                                                                                      +
                                                                                                                                      234 extern const basic::ZoneInfo kZoneEurope_Chisinau; // Europe/Chisinau
                                                                                                                                      +
                                                                                                                                      235 extern const basic::ZoneInfo kZoneEurope_Copenhagen; // Europe/Copenhagen
                                                                                                                                      +
                                                                                                                                      236 extern const basic::ZoneInfo kZoneEurope_Dublin; // Europe/Dublin
                                                                                                                                      +
                                                                                                                                      237 extern const basic::ZoneInfo kZoneEurope_Gibraltar; // Europe/Gibraltar
                                                                                                                                      +
                                                                                                                                      238 extern const basic::ZoneInfo kZoneEurope_Helsinki; // Europe/Helsinki
                                                                                                                                      +
                                                                                                                                      239 extern const basic::ZoneInfo kZoneEurope_Kiev; // Europe/Kiev
                                                                                                                                      +
                                                                                                                                      240 extern const basic::ZoneInfo kZoneEurope_Lisbon; // Europe/Lisbon
                                                                                                                                      +
                                                                                                                                      241 extern const basic::ZoneInfo kZoneEurope_London; // Europe/London
                                                                                                                                      +
                                                                                                                                      242 extern const basic::ZoneInfo kZoneEurope_Luxembourg; // Europe/Luxembourg
                                                                                                                                      +
                                                                                                                                      243 extern const basic::ZoneInfo kZoneEurope_Madrid; // Europe/Madrid
                                                                                                                                      +
                                                                                                                                      244 extern const basic::ZoneInfo kZoneEurope_Malta; // Europe/Malta
                                                                                                                                      +
                                                                                                                                      245 extern const basic::ZoneInfo kZoneEurope_Monaco; // Europe/Monaco
                                                                                                                                      +
                                                                                                                                      246 extern const basic::ZoneInfo kZoneEurope_Oslo; // Europe/Oslo
                                                                                                                                      +
                                                                                                                                      247 extern const basic::ZoneInfo kZoneEurope_Paris; // Europe/Paris
                                                                                                                                      +
                                                                                                                                      248 extern const basic::ZoneInfo kZoneEurope_Prague; // Europe/Prague
                                                                                                                                      +
                                                                                                                                      249 extern const basic::ZoneInfo kZoneEurope_Rome; // Europe/Rome
                                                                                                                                      +
                                                                                                                                      250 extern const basic::ZoneInfo kZoneEurope_Sofia; // Europe/Sofia
                                                                                                                                      +
                                                                                                                                      251 extern const basic::ZoneInfo kZoneEurope_Stockholm; // Europe/Stockholm
                                                                                                                                      +
                                                                                                                                      252 extern const basic::ZoneInfo kZoneEurope_Tirane; // Europe/Tirane
                                                                                                                                      +
                                                                                                                                      253 extern const basic::ZoneInfo kZoneEurope_Uzhgorod; // Europe/Uzhgorod
                                                                                                                                      +
                                                                                                                                      254 extern const basic::ZoneInfo kZoneEurope_Vienna; // Europe/Vienna
                                                                                                                                      +
                                                                                                                                      255 extern const basic::ZoneInfo kZoneEurope_Warsaw; // Europe/Warsaw
                                                                                                                                      +
                                                                                                                                      256 extern const basic::ZoneInfo kZoneEurope_Zaporozhye; // Europe/Zaporozhye
                                                                                                                                      +
                                                                                                                                      257 extern const basic::ZoneInfo kZoneEurope_Zurich; // Europe/Zurich
                                                                                                                                      +
                                                                                                                                      258 extern const basic::ZoneInfo kZoneHST; // HST
                                                                                                                                      +
                                                                                                                                      259 extern const basic::ZoneInfo kZoneIndian_Chagos; // Indian/Chagos
                                                                                                                                      +
                                                                                                                                      260 extern const basic::ZoneInfo kZoneIndian_Christmas; // Indian/Christmas
                                                                                                                                      +
                                                                                                                                      261 extern const basic::ZoneInfo kZoneIndian_Cocos; // Indian/Cocos
                                                                                                                                      +
                                                                                                                                      262 extern const basic::ZoneInfo kZoneIndian_Kerguelen; // Indian/Kerguelen
                                                                                                                                      +
                                                                                                                                      263 extern const basic::ZoneInfo kZoneIndian_Mahe; // Indian/Mahe
                                                                                                                                      +
                                                                                                                                      264 extern const basic::ZoneInfo kZoneIndian_Maldives; // Indian/Maldives
                                                                                                                                      +
                                                                                                                                      265 extern const basic::ZoneInfo kZoneIndian_Mauritius; // Indian/Mauritius
                                                                                                                                      +
                                                                                                                                      266 extern const basic::ZoneInfo kZoneIndian_Reunion; // Indian/Reunion
                                                                                                                                      +
                                                                                                                                      267 extern const basic::ZoneInfo kZoneMET; // MET
                                                                                                                                      +
                                                                                                                                      268 extern const basic::ZoneInfo kZoneMST; // MST
                                                                                                                                      +
                                                                                                                                      269 extern const basic::ZoneInfo kZoneMST7MDT; // MST7MDT
                                                                                                                                      +
                                                                                                                                      270 extern const basic::ZoneInfo kZonePST8PDT; // PST8PDT
                                                                                                                                      +
                                                                                                                                      271 extern const basic::ZoneInfo kZonePacific_Auckland; // Pacific/Auckland
                                                                                                                                      +
                                                                                                                                      272 extern const basic::ZoneInfo kZonePacific_Chatham; // Pacific/Chatham
                                                                                                                                      +
                                                                                                                                      273 extern const basic::ZoneInfo kZonePacific_Chuuk; // Pacific/Chuuk
                                                                                                                                      +
                                                                                                                                      274 extern const basic::ZoneInfo kZonePacific_Easter; // Pacific/Easter
                                                                                                                                      +
                                                                                                                                      275 extern const basic::ZoneInfo kZonePacific_Efate; // Pacific/Efate
                                                                                                                                      +
                                                                                                                                      276 extern const basic::ZoneInfo kZonePacific_Enderbury; // Pacific/Enderbury
                                                                                                                                      +
                                                                                                                                      277 extern const basic::ZoneInfo kZonePacific_Fiji; // Pacific/Fiji
                                                                                                                                      +
                                                                                                                                      278 extern const basic::ZoneInfo kZonePacific_Funafuti; // Pacific/Funafuti
                                                                                                                                      +
                                                                                                                                      279 extern const basic::ZoneInfo kZonePacific_Galapagos; // Pacific/Galapagos
                                                                                                                                      +
                                                                                                                                      280 extern const basic::ZoneInfo kZonePacific_Gambier; // Pacific/Gambier
                                                                                                                                      +
                                                                                                                                      281 extern const basic::ZoneInfo kZonePacific_Guadalcanal; // Pacific/Guadalcanal
                                                                                                                                      +
                                                                                                                                      282 extern const basic::ZoneInfo kZonePacific_Honolulu; // Pacific/Honolulu
                                                                                                                                      +
                                                                                                                                      283 extern const basic::ZoneInfo kZonePacific_Kiritimati; // Pacific/Kiritimati
                                                                                                                                      +
                                                                                                                                      284 extern const basic::ZoneInfo kZonePacific_Kosrae; // Pacific/Kosrae
                                                                                                                                      +
                                                                                                                                      285 extern const basic::ZoneInfo kZonePacific_Kwajalein; // Pacific/Kwajalein
                                                                                                                                      +
                                                                                                                                      286 extern const basic::ZoneInfo kZonePacific_Majuro; // Pacific/Majuro
                                                                                                                                      +
                                                                                                                                      287 extern const basic::ZoneInfo kZonePacific_Marquesas; // Pacific/Marquesas
                                                                                                                                      +
                                                                                                                                      288 extern const basic::ZoneInfo kZonePacific_Nauru; // Pacific/Nauru
                                                                                                                                      +
                                                                                                                                      289 extern const basic::ZoneInfo kZonePacific_Niue; // Pacific/Niue
                                                                                                                                      +
                                                                                                                                      290 extern const basic::ZoneInfo kZonePacific_Noumea; // Pacific/Noumea
                                                                                                                                      +
                                                                                                                                      291 extern const basic::ZoneInfo kZonePacific_Pago_Pago; // Pacific/Pago_Pago
                                                                                                                                      +
                                                                                                                                      292 extern const basic::ZoneInfo kZonePacific_Palau; // Pacific/Palau
                                                                                                                                      +
                                                                                                                                      293 extern const basic::ZoneInfo kZonePacific_Pitcairn; // Pacific/Pitcairn
                                                                                                                                      +
                                                                                                                                      294 extern const basic::ZoneInfo kZonePacific_Pohnpei; // Pacific/Pohnpei
                                                                                                                                      +
                                                                                                                                      295 extern const basic::ZoneInfo kZonePacific_Port_Moresby; // Pacific/Port_Moresby
                                                                                                                                      +
                                                                                                                                      296 extern const basic::ZoneInfo kZonePacific_Rarotonga; // Pacific/Rarotonga
                                                                                                                                      +
                                                                                                                                      297 extern const basic::ZoneInfo kZonePacific_Tahiti; // Pacific/Tahiti
                                                                                                                                      +
                                                                                                                                      298 extern const basic::ZoneInfo kZonePacific_Tarawa; // Pacific/Tarawa
                                                                                                                                      +
                                                                                                                                      299 extern const basic::ZoneInfo kZonePacific_Tongatapu; // Pacific/Tongatapu
                                                                                                                                      +
                                                                                                                                      300 extern const basic::ZoneInfo kZonePacific_Wake; // Pacific/Wake
                                                                                                                                      +
                                                                                                                                      301 extern const basic::ZoneInfo kZonePacific_Wallis; // Pacific/Wallis
                                                                                                                                      +
                                                                                                                                      302 extern const basic::ZoneInfo kZoneWET; // WET
                                                                                                                                      +
                                                                                                                                      303 
                                                                                                                                      +
                                                                                                                                      304 
                                                                                                                                      +
                                                                                                                                      305 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      306 // Supported links: 182
                                                                                                                                      +
                                                                                                                                      307 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      308 
                                                                                                                                      +
                                                                                                                                      309 extern const basic::ZoneInfo& kZoneAfrica_Addis_Ababa; // Africa/Addis_Ababa -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      310 extern const basic::ZoneInfo& kZoneAfrica_Asmara; // Africa/Asmara -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      311 extern const basic::ZoneInfo& kZoneAfrica_Asmera; // Africa/Asmera -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      312 extern const basic::ZoneInfo& kZoneAfrica_Bamako; // Africa/Bamako -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      313 extern const basic::ZoneInfo& kZoneAfrica_Bangui; // Africa/Bangui -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      314 extern const basic::ZoneInfo& kZoneAfrica_Banjul; // Africa/Banjul -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      315 extern const basic::ZoneInfo& kZoneAfrica_Blantyre; // Africa/Blantyre -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      316 extern const basic::ZoneInfo& kZoneAfrica_Brazzaville; // Africa/Brazzaville -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      317 extern const basic::ZoneInfo& kZoneAfrica_Bujumbura; // Africa/Bujumbura -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      318 extern const basic::ZoneInfo& kZoneAfrica_Conakry; // Africa/Conakry -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      319 extern const basic::ZoneInfo& kZoneAfrica_Dakar; // Africa/Dakar -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      320 extern const basic::ZoneInfo& kZoneAfrica_Dar_es_Salaam; // Africa/Dar_es_Salaam -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      321 extern const basic::ZoneInfo& kZoneAfrica_Djibouti; // Africa/Djibouti -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      322 extern const basic::ZoneInfo& kZoneAfrica_Douala; // Africa/Douala -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      323 extern const basic::ZoneInfo& kZoneAfrica_Freetown; // Africa/Freetown -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      324 extern const basic::ZoneInfo& kZoneAfrica_Gaborone; // Africa/Gaborone -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      325 extern const basic::ZoneInfo& kZoneAfrica_Harare; // Africa/Harare -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      326 extern const basic::ZoneInfo& kZoneAfrica_Kampala; // Africa/Kampala -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      327 extern const basic::ZoneInfo& kZoneAfrica_Kigali; // Africa/Kigali -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      328 extern const basic::ZoneInfo& kZoneAfrica_Kinshasa; // Africa/Kinshasa -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      329 extern const basic::ZoneInfo& kZoneAfrica_Libreville; // Africa/Libreville -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      330 extern const basic::ZoneInfo& kZoneAfrica_Lome; // Africa/Lome -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      331 extern const basic::ZoneInfo& kZoneAfrica_Luanda; // Africa/Luanda -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      332 extern const basic::ZoneInfo& kZoneAfrica_Lubumbashi; // Africa/Lubumbashi -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      333 extern const basic::ZoneInfo& kZoneAfrica_Lusaka; // Africa/Lusaka -> Africa/Maputo
                                                                                                                                      +
                                                                                                                                      334 extern const basic::ZoneInfo& kZoneAfrica_Malabo; // Africa/Malabo -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      335 extern const basic::ZoneInfo& kZoneAfrica_Maseru; // Africa/Maseru -> Africa/Johannesburg
                                                                                                                                      +
                                                                                                                                      336 extern const basic::ZoneInfo& kZoneAfrica_Mbabane; // Africa/Mbabane -> Africa/Johannesburg
                                                                                                                                      +
                                                                                                                                      337 extern const basic::ZoneInfo& kZoneAfrica_Mogadishu; // Africa/Mogadishu -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      338 extern const basic::ZoneInfo& kZoneAfrica_Niamey; // Africa/Niamey -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      339 extern const basic::ZoneInfo& kZoneAfrica_Nouakchott; // Africa/Nouakchott -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      340 extern const basic::ZoneInfo& kZoneAfrica_Ouagadougou; // Africa/Ouagadougou -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      341 extern const basic::ZoneInfo& kZoneAfrica_Porto_Novo; // Africa/Porto-Novo -> Africa/Lagos
                                                                                                                                      +
                                                                                                                                      342 extern const basic::ZoneInfo& kZoneAfrica_Timbuktu; // Africa/Timbuktu -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      343 extern const basic::ZoneInfo& kZoneAmerica_Anguilla; // America/Anguilla -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      344 extern const basic::ZoneInfo& kZoneAmerica_Antigua; // America/Antigua -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      345 extern const basic::ZoneInfo& kZoneAmerica_Aruba; // America/Aruba -> America/Curacao
                                                                                                                                      +
                                                                                                                                      346 extern const basic::ZoneInfo& kZoneAmerica_Atka; // America/Atka -> America/Adak
                                                                                                                                      +
                                                                                                                                      347 extern const basic::ZoneInfo& kZoneAmerica_Cayman; // America/Cayman -> America/Panama
                                                                                                                                      +
                                                                                                                                      348 extern const basic::ZoneInfo& kZoneAmerica_Coral_Harbour; // America/Coral_Harbour -> America/Atikokan
                                                                                                                                      +
                                                                                                                                      349 extern const basic::ZoneInfo& kZoneAmerica_Dominica; // America/Dominica -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      350 extern const basic::ZoneInfo& kZoneAmerica_Fort_Wayne; // America/Fort_Wayne -> America/Indiana/Indianapolis
                                                                                                                                      +
                                                                                                                                      351 extern const basic::ZoneInfo& kZoneAmerica_Godthab; // America/Godthab -> America/Nuuk
                                                                                                                                      +
                                                                                                                                      352 extern const basic::ZoneInfo& kZoneAmerica_Grenada; // America/Grenada -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      353 extern const basic::ZoneInfo& kZoneAmerica_Guadeloupe; // America/Guadeloupe -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      354 extern const basic::ZoneInfo& kZoneAmerica_Indianapolis; // America/Indianapolis -> America/Indiana/Indianapolis
                                                                                                                                      +
                                                                                                                                      355 extern const basic::ZoneInfo& kZoneAmerica_Kralendijk; // America/Kralendijk -> America/Curacao
                                                                                                                                      +
                                                                                                                                      356 extern const basic::ZoneInfo& kZoneAmerica_Louisville; // America/Louisville -> America/Kentucky/Louisville
                                                                                                                                      +
                                                                                                                                      357 extern const basic::ZoneInfo& kZoneAmerica_Lower_Princes; // America/Lower_Princes -> America/Curacao
                                                                                                                                      +
                                                                                                                                      358 extern const basic::ZoneInfo& kZoneAmerica_Marigot; // America/Marigot -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      359 extern const basic::ZoneInfo& kZoneAmerica_Montreal; // America/Montreal -> America/Toronto
                                                                                                                                      +
                                                                                                                                      360 extern const basic::ZoneInfo& kZoneAmerica_Montserrat; // America/Montserrat -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      361 extern const basic::ZoneInfo& kZoneAmerica_Shiprock; // America/Shiprock -> America/Denver
                                                                                                                                      +
                                                                                                                                      362 extern const basic::ZoneInfo& kZoneAmerica_St_Barthelemy; // America/St_Barthelemy -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      363 extern const basic::ZoneInfo& kZoneAmerica_St_Kitts; // America/St_Kitts -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      364 extern const basic::ZoneInfo& kZoneAmerica_St_Lucia; // America/St_Lucia -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      365 extern const basic::ZoneInfo& kZoneAmerica_St_Thomas; // America/St_Thomas -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      366 extern const basic::ZoneInfo& kZoneAmerica_St_Vincent; // America/St_Vincent -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      367 extern const basic::ZoneInfo& kZoneAmerica_Tortola; // America/Tortola -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      368 extern const basic::ZoneInfo& kZoneAmerica_Virgin; // America/Virgin -> America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      369 extern const basic::ZoneInfo& kZoneAntarctica_McMurdo; // Antarctica/McMurdo -> Pacific/Auckland
                                                                                                                                      +
                                                                                                                                      370 extern const basic::ZoneInfo& kZoneAntarctica_South_Pole; // Antarctica/South_Pole -> Pacific/Auckland
                                                                                                                                      +
                                                                                                                                      371 extern const basic::ZoneInfo& kZoneArctic_Longyearbyen; // Arctic/Longyearbyen -> Europe/Oslo
                                                                                                                                      +
                                                                                                                                      372 extern const basic::ZoneInfo& kZoneAsia_Aden; // Asia/Aden -> Asia/Riyadh
                                                                                                                                      +
                                                                                                                                      373 extern const basic::ZoneInfo& kZoneAsia_Ashkhabad; // Asia/Ashkhabad -> Asia/Ashgabat
                                                                                                                                      +
                                                                                                                                      374 extern const basic::ZoneInfo& kZoneAsia_Bahrain; // Asia/Bahrain -> Asia/Qatar
                                                                                                                                      +
                                                                                                                                      375 extern const basic::ZoneInfo& kZoneAsia_Calcutta; // Asia/Calcutta -> Asia/Kolkata
                                                                                                                                      +
                                                                                                                                      376 extern const basic::ZoneInfo& kZoneAsia_Chongqing; // Asia/Chongqing -> Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      377 extern const basic::ZoneInfo& kZoneAsia_Chungking; // Asia/Chungking -> Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      378 extern const basic::ZoneInfo& kZoneAsia_Dacca; // Asia/Dacca -> Asia/Dhaka
                                                                                                                                      +
                                                                                                                                      379 extern const basic::ZoneInfo& kZoneAsia_Harbin; // Asia/Harbin -> Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      380 extern const basic::ZoneInfo& kZoneAsia_Kashgar; // Asia/Kashgar -> Asia/Urumqi
                                                                                                                                      +
                                                                                                                                      381 extern const basic::ZoneInfo& kZoneAsia_Katmandu; // Asia/Katmandu -> Asia/Kathmandu
                                                                                                                                      +
                                                                                                                                      382 extern const basic::ZoneInfo& kZoneAsia_Kuwait; // Asia/Kuwait -> Asia/Riyadh
                                                                                                                                      +
                                                                                                                                      383 extern const basic::ZoneInfo& kZoneAsia_Macao; // Asia/Macao -> Asia/Macau
                                                                                                                                      +
                                                                                                                                      384 extern const basic::ZoneInfo& kZoneAsia_Muscat; // Asia/Muscat -> Asia/Dubai
                                                                                                                                      +
                                                                                                                                      385 extern const basic::ZoneInfo& kZoneAsia_Phnom_Penh; // Asia/Phnom_Penh -> Asia/Bangkok
                                                                                                                                      +
                                                                                                                                      386 extern const basic::ZoneInfo& kZoneAsia_Rangoon; // Asia/Rangoon -> Asia/Yangon
                                                                                                                                      +
                                                                                                                                      387 extern const basic::ZoneInfo& kZoneAsia_Saigon; // Asia/Saigon -> Asia/Ho_Chi_Minh
                                                                                                                                      +
                                                                                                                                      388 extern const basic::ZoneInfo& kZoneAsia_Tel_Aviv; // Asia/Tel_Aviv -> Asia/Jerusalem
                                                                                                                                      +
                                                                                                                                      389 extern const basic::ZoneInfo& kZoneAsia_Thimbu; // Asia/Thimbu -> Asia/Thimphu
                                                                                                                                      +
                                                                                                                                      390 extern const basic::ZoneInfo& kZoneAsia_Ujung_Pandang; // Asia/Ujung_Pandang -> Asia/Makassar
                                                                                                                                      +
                                                                                                                                      391 extern const basic::ZoneInfo& kZoneAsia_Ulan_Bator; // Asia/Ulan_Bator -> Asia/Ulaanbaatar
                                                                                                                                      +
                                                                                                                                      392 extern const basic::ZoneInfo& kZoneAsia_Vientiane; // Asia/Vientiane -> Asia/Bangkok
                                                                                                                                      +
                                                                                                                                      393 extern const basic::ZoneInfo& kZoneAtlantic_Faeroe; // Atlantic/Faeroe -> Atlantic/Faroe
                                                                                                                                      +
                                                                                                                                      394 extern const basic::ZoneInfo& kZoneAtlantic_Jan_Mayen; // Atlantic/Jan_Mayen -> Europe/Oslo
                                                                                                                                      +
                                                                                                                                      395 extern const basic::ZoneInfo& kZoneAtlantic_St_Helena; // Atlantic/St_Helena -> Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      396 extern const basic::ZoneInfo& kZoneAustralia_ACT; // Australia/ACT -> Australia/Sydney
                                                                                                                                      +
                                                                                                                                      397 extern const basic::ZoneInfo& kZoneAustralia_Canberra; // Australia/Canberra -> Australia/Sydney
                                                                                                                                      +
                                                                                                                                      398 extern const basic::ZoneInfo& kZoneAustralia_LHI; // Australia/LHI -> Australia/Lord_Howe
                                                                                                                                      +
                                                                                                                                      399 extern const basic::ZoneInfo& kZoneAustralia_NSW; // Australia/NSW -> Australia/Sydney
                                                                                                                                      +
                                                                                                                                      400 extern const basic::ZoneInfo& kZoneAustralia_North; // Australia/North -> Australia/Darwin
                                                                                                                                      +
                                                                                                                                      401 extern const basic::ZoneInfo& kZoneAustralia_Queensland; // Australia/Queensland -> Australia/Brisbane
                                                                                                                                      +
                                                                                                                                      402 extern const basic::ZoneInfo& kZoneAustralia_South; // Australia/South -> Australia/Adelaide
                                                                                                                                      +
                                                                                                                                      403 extern const basic::ZoneInfo& kZoneAustralia_Tasmania; // Australia/Tasmania -> Australia/Hobart
                                                                                                                                      +
                                                                                                                                      404 extern const basic::ZoneInfo& kZoneAustralia_Victoria; // Australia/Victoria -> Australia/Melbourne
                                                                                                                                      +
                                                                                                                                      405 extern const basic::ZoneInfo& kZoneAustralia_West; // Australia/West -> Australia/Perth
                                                                                                                                      +
                                                                                                                                      406 extern const basic::ZoneInfo& kZoneAustralia_Yancowinna; // Australia/Yancowinna -> Australia/Broken_Hill
                                                                                                                                      +
                                                                                                                                      407 extern const basic::ZoneInfo& kZoneBrazil_East; // Brazil/East -> America/Sao_Paulo
                                                                                                                                      +
                                                                                                                                      408 extern const basic::ZoneInfo& kZoneBrazil_West; // Brazil/West -> America/Manaus
                                                                                                                                      +
                                                                                                                                      409 extern const basic::ZoneInfo& kZoneCanada_Atlantic; // Canada/Atlantic -> America/Halifax
                                                                                                                                      +
                                                                                                                                      410 extern const basic::ZoneInfo& kZoneCanada_Central; // Canada/Central -> America/Winnipeg
                                                                                                                                      +
                                                                                                                                      411 extern const basic::ZoneInfo& kZoneCanada_Eastern; // Canada/Eastern -> America/Toronto
                                                                                                                                      +
                                                                                                                                      412 extern const basic::ZoneInfo& kZoneCanada_Mountain; // Canada/Mountain -> America/Edmonton
                                                                                                                                      +
                                                                                                                                      413 extern const basic::ZoneInfo& kZoneCanada_Pacific; // Canada/Pacific -> America/Vancouver
                                                                                                                                      +
                                                                                                                                      414 extern const basic::ZoneInfo& kZoneCanada_Saskatchewan; // Canada/Saskatchewan -> America/Regina
                                                                                                                                      +
                                                                                                                                      415 extern const basic::ZoneInfo& kZoneChile_Continental; // Chile/Continental -> America/Santiago
                                                                                                                                      +
                                                                                                                                      416 extern const basic::ZoneInfo& kZoneChile_EasterIsland; // Chile/EasterIsland -> Pacific/Easter
                                                                                                                                      +
                                                                                                                                      417 extern const basic::ZoneInfo& kZoneCuba; // Cuba -> America/Havana
                                                                                                                                      +
                                                                                                                                      418 extern const basic::ZoneInfo& kZoneEire; // Eire -> Europe/Dublin
                                                                                                                                      +
                                                                                                                                      419 extern const basic::ZoneInfo& kZoneEtc_GMT_PLUS_0; // Etc/GMT+0 -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      420 extern const basic::ZoneInfo& kZoneEtc_GMT_0; // Etc/GMT-0 -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      421 extern const basic::ZoneInfo& kZoneEtc_GMT0; // Etc/GMT0 -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      422 extern const basic::ZoneInfo& kZoneEtc_Greenwich; // Etc/Greenwich -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      423 extern const basic::ZoneInfo& kZoneEtc_UCT; // Etc/UCT -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      424 extern const basic::ZoneInfo& kZoneEtc_Universal; // Etc/Universal -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      425 extern const basic::ZoneInfo& kZoneEtc_Zulu; // Etc/Zulu -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      426 extern const basic::ZoneInfo& kZoneEurope_Belfast; // Europe/Belfast -> Europe/London
                                                                                                                                      +
                                                                                                                                      427 extern const basic::ZoneInfo& kZoneEurope_Bratislava; // Europe/Bratislava -> Europe/Prague
                                                                                                                                      +
                                                                                                                                      428 extern const basic::ZoneInfo& kZoneEurope_Busingen; // Europe/Busingen -> Europe/Zurich
                                                                                                                                      +
                                                                                                                                      429 extern const basic::ZoneInfo& kZoneEurope_Guernsey; // Europe/Guernsey -> Europe/London
                                                                                                                                      +
                                                                                                                                      430 extern const basic::ZoneInfo& kZoneEurope_Isle_of_Man; // Europe/Isle_of_Man -> Europe/London
                                                                                                                                      +
                                                                                                                                      431 extern const basic::ZoneInfo& kZoneEurope_Jersey; // Europe/Jersey -> Europe/London
                                                                                                                                      +
                                                                                                                                      432 extern const basic::ZoneInfo& kZoneEurope_Ljubljana; // Europe/Ljubljana -> Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      433 extern const basic::ZoneInfo& kZoneEurope_Mariehamn; // Europe/Mariehamn -> Europe/Helsinki
                                                                                                                                      +
                                                                                                                                      434 extern const basic::ZoneInfo& kZoneEurope_Nicosia; // Europe/Nicosia -> Asia/Nicosia
                                                                                                                                      +
                                                                                                                                      435 extern const basic::ZoneInfo& kZoneEurope_Podgorica; // Europe/Podgorica -> Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      436 extern const basic::ZoneInfo& kZoneEurope_San_Marino; // Europe/San_Marino -> Europe/Rome
                                                                                                                                      +
                                                                                                                                      437 extern const basic::ZoneInfo& kZoneEurope_Sarajevo; // Europe/Sarajevo -> Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      438 extern const basic::ZoneInfo& kZoneEurope_Skopje; // Europe/Skopje -> Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      439 extern const basic::ZoneInfo& kZoneEurope_Tiraspol; // Europe/Tiraspol -> Europe/Chisinau
                                                                                                                                      +
                                                                                                                                      440 extern const basic::ZoneInfo& kZoneEurope_Vaduz; // Europe/Vaduz -> Europe/Zurich
                                                                                                                                      +
                                                                                                                                      441 extern const basic::ZoneInfo& kZoneEurope_Vatican; // Europe/Vatican -> Europe/Rome
                                                                                                                                      +
                                                                                                                                      442 extern const basic::ZoneInfo& kZoneEurope_Zagreb; // Europe/Zagreb -> Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      443 extern const basic::ZoneInfo& kZoneGB; // GB -> Europe/London
                                                                                                                                      +
                                                                                                                                      444 extern const basic::ZoneInfo& kZoneGB_Eire; // GB-Eire -> Europe/London
                                                                                                                                      +
                                                                                                                                      445 extern const basic::ZoneInfo& kZoneGMT; // GMT -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      446 extern const basic::ZoneInfo& kZoneGMT_PLUS_0; // GMT+0 -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      447 extern const basic::ZoneInfo& kZoneGMT_0; // GMT-0 -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      448 extern const basic::ZoneInfo& kZoneGMT0; // GMT0 -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      449 extern const basic::ZoneInfo& kZoneGreenwich; // Greenwich -> Etc/GMT
                                                                                                                                      +
                                                                                                                                      450 extern const basic::ZoneInfo& kZoneHongkong; // Hongkong -> Asia/Hong_Kong
                                                                                                                                      +
                                                                                                                                      451 extern const basic::ZoneInfo& kZoneIceland; // Iceland -> Atlantic/Reykjavik
                                                                                                                                      +
                                                                                                                                      452 extern const basic::ZoneInfo& kZoneIndian_Antananarivo; // Indian/Antananarivo -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      453 extern const basic::ZoneInfo& kZoneIndian_Comoro; // Indian/Comoro -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      454 extern const basic::ZoneInfo& kZoneIndian_Mayotte; // Indian/Mayotte -> Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      455 extern const basic::ZoneInfo& kZoneIran; // Iran -> Asia/Tehran
                                                                                                                                      +
                                                                                                                                      456 extern const basic::ZoneInfo& kZoneIsrael; // Israel -> Asia/Jerusalem
                                                                                                                                      +
                                                                                                                                      457 extern const basic::ZoneInfo& kZoneJamaica; // Jamaica -> America/Jamaica
                                                                                                                                      +
                                                                                                                                      458 extern const basic::ZoneInfo& kZoneJapan; // Japan -> Asia/Tokyo
                                                                                                                                      +
                                                                                                                                      459 extern const basic::ZoneInfo& kZoneKwajalein; // Kwajalein -> Pacific/Kwajalein
                                                                                                                                      +
                                                                                                                                      460 extern const basic::ZoneInfo& kZoneMexico_BajaSur; // Mexico/BajaSur -> America/Mazatlan
                                                                                                                                      +
                                                                                                                                      461 extern const basic::ZoneInfo& kZoneNZ; // NZ -> Pacific/Auckland
                                                                                                                                      +
                                                                                                                                      462 extern const basic::ZoneInfo& kZoneNZ_CHAT; // NZ-CHAT -> Pacific/Chatham
                                                                                                                                      +
                                                                                                                                      463 extern const basic::ZoneInfo& kZoneNavajo; // Navajo -> America/Denver
                                                                                                                                      +
                                                                                                                                      464 extern const basic::ZoneInfo& kZonePRC; // PRC -> Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      465 extern const basic::ZoneInfo& kZonePacific_Johnston; // Pacific/Johnston -> Pacific/Honolulu
                                                                                                                                      +
                                                                                                                                      466 extern const basic::ZoneInfo& kZonePacific_Midway; // Pacific/Midway -> Pacific/Pago_Pago
                                                                                                                                      +
                                                                                                                                      467 extern const basic::ZoneInfo& kZonePacific_Ponape; // Pacific/Ponape -> Pacific/Pohnpei
                                                                                                                                      +
                                                                                                                                      468 extern const basic::ZoneInfo& kZonePacific_Samoa; // Pacific/Samoa -> Pacific/Pago_Pago
                                                                                                                                      +
                                                                                                                                      469 extern const basic::ZoneInfo& kZonePacific_Truk; // Pacific/Truk -> Pacific/Chuuk
                                                                                                                                      +
                                                                                                                                      470 extern const basic::ZoneInfo& kZonePacific_Yap; // Pacific/Yap -> Pacific/Chuuk
                                                                                                                                      +
                                                                                                                                      471 extern const basic::ZoneInfo& kZonePoland; // Poland -> Europe/Warsaw
                                                                                                                                      +
                                                                                                                                      472 extern const basic::ZoneInfo& kZonePortugal; // Portugal -> Europe/Lisbon
                                                                                                                                      +
                                                                                                                                      473 extern const basic::ZoneInfo& kZoneROC; // ROC -> Asia/Taipei
                                                                                                                                      +
                                                                                                                                      474 extern const basic::ZoneInfo& kZoneROK; // ROK -> Asia/Seoul
                                                                                                                                      +
                                                                                                                                      475 extern const basic::ZoneInfo& kZoneSingapore; // Singapore -> Asia/Singapore
                                                                                                                                      +
                                                                                                                                      476 extern const basic::ZoneInfo& kZoneUCT; // UCT -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      477 extern const basic::ZoneInfo& kZoneUS_Alaska; // US/Alaska -> America/Anchorage
                                                                                                                                      +
                                                                                                                                      478 extern const basic::ZoneInfo& kZoneUS_Aleutian; // US/Aleutian -> America/Adak
                                                                                                                                      +
                                                                                                                                      479 extern const basic::ZoneInfo& kZoneUS_Arizona; // US/Arizona -> America/Phoenix
                                                                                                                                      +
                                                                                                                                      480 extern const basic::ZoneInfo& kZoneUS_Central; // US/Central -> America/Chicago
                                                                                                                                      +
                                                                                                                                      481 extern const basic::ZoneInfo& kZoneUS_East_Indiana; // US/East-Indiana -> America/Indiana/Indianapolis
                                                                                                                                      +
                                                                                                                                      482 extern const basic::ZoneInfo& kZoneUS_Eastern; // US/Eastern -> America/New_York
                                                                                                                                      +
                                                                                                                                      483 extern const basic::ZoneInfo& kZoneUS_Hawaii; // US/Hawaii -> Pacific/Honolulu
                                                                                                                                      +
                                                                                                                                      484 extern const basic::ZoneInfo& kZoneUS_Michigan; // US/Michigan -> America/Detroit
                                                                                                                                      +
                                                                                                                                      485 extern const basic::ZoneInfo& kZoneUS_Mountain; // US/Mountain -> America/Denver
                                                                                                                                      +
                                                                                                                                      486 extern const basic::ZoneInfo& kZoneUS_Pacific; // US/Pacific -> America/Los_Angeles
                                                                                                                                      +
                                                                                                                                      487 extern const basic::ZoneInfo& kZoneUS_Samoa; // US/Samoa -> Pacific/Pago_Pago
                                                                                                                                      +
                                                                                                                                      488 extern const basic::ZoneInfo& kZoneUTC; // UTC -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      489 extern const basic::ZoneInfo& kZoneUniversal; // Universal -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      490 extern const basic::ZoneInfo& kZoneZulu; // Zulu -> Etc/UTC
                                                                                                                                      +
                                                                                                                                      491 
                                                                                                                                      +
                                                                                                                                      492 
                                                                                                                                      +
                                                                                                                                      493 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      494 // Unsupported zones: 119
                                                                                                                                      +
                                                                                                                                      495 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      496 
                                                                                                                                      +
                                                                                                                                      497 // Africa/Cairo (policy 'Egypt' not found)
                                                                                                                                      +
                                                                                                                                      498 // Africa/Casablanca (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      499 // Africa/El_Aaiun (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      500 // Africa/Juba (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      501 // Africa/Khartoum (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      502 // Africa/Sao_Tome (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      503 // Africa/Tripoli (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      504 // Africa/Windhoek (policy 'Namibia' not found)
                                                                                                                                      +
                                                                                                                                      505 // America/Araguaina (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      506 // America/Argentina/Buenos_Aires (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      507 // America/Argentina/Catamarca (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      508 // America/Argentina/Cordoba (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      509 // America/Argentina/Jujuy (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      510 // America/Argentina/La_Rioja (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      511 // America/Argentina/Mendoza (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      512 // America/Argentina/Rio_Gallegos (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      513 // America/Argentina/Salta (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      514 // America/Argentina/San_Juan (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      515 // America/Argentina/San_Luis (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      516 // America/Argentina/Tucuman (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      517 // America/Argentina/Ushuaia (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      518 // America/Bahia (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      519 // America/Bahia_Banderas (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      520 // America/Belize (policy 'Belize' not found)
                                                                                                                                      +
                                                                                                                                      521 // America/Boa_Vista (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      522 // America/Cambridge_Bay (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      523 // America/Cancun (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      524 // America/Caracas (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      525 // America/Cuiaba (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      526 // America/Dawson (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      527 // America/Eirunepe (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      528 // America/Fort_Nelson (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      529 // America/Fortaleza (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      530 // America/Goose_Bay (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      531 // America/Grand_Turk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      532 // America/Indiana/Knox (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      533 // America/Indiana/Petersburg (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      534 // America/Indiana/Tell_City (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      535 // America/Indiana/Vincennes (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      536 // America/Indiana/Winamac (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      537 // America/Iqaluit (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      538 // America/Kentucky/Monticello (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      539 // America/Maceio (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      540 // America/Metlakatla (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      541 // America/Mexico_City (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      542 // America/Noronha (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      543 // America/North_Dakota/Beulah (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      544 // America/North_Dakota/New_Salem (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      545 // America/Pangnirtung (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      546 // America/Punta_Arenas (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      547 // America/Rankin_Inlet (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      548 // America/Recife (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      549 // America/Resolute (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      550 // America/Rio_Branco (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      551 // America/Santarem (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      552 // America/Santo_Domingo (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      553 // America/St_Johns (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      554 // America/Tijuana (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      555 // America/Whitehorse (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      556 // Antarctica/Casey (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      557 // Antarctica/Davis (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      558 // Antarctica/Macquarie (offset in RULES '1:00')
                                                                                                                                      +
                                                                                                                                      559 // Antarctica/Mawson (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      560 // Antarctica/Palmer (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      561 // Antarctica/Troll (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      562 // Asia/Almaty (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      563 // Asia/Anadyr (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      564 // Asia/Aqtau (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      565 // Asia/Aqtobe (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      566 // Asia/Atyrau (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      567 // Asia/Barnaul (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      568 // Asia/Bishkek (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      569 // Asia/Chita (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      570 // Asia/Choibalsan (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      571 // Asia/Colombo (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      572 // Asia/Dili (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      573 // Asia/Famagusta (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      574 // Asia/Gaza (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      575 // Asia/Hebron (policy 'Palestine' not found)
                                                                                                                                      +
                                                                                                                                      576 // Asia/Irkutsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      577 // Asia/Kamchatka (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      578 // Asia/Khandyga (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      579 // Asia/Krasnoyarsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      580 // Asia/Magadan (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      581 // Asia/Novokuznetsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      582 // Asia/Novosibirsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      583 // Asia/Omsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      584 // Asia/Oral (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      585 // Asia/Pyongyang (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      586 // Asia/Qostanay (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      587 // Asia/Qyzylorda (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      588 // Asia/Sakhalin (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      589 // Asia/Srednekolymsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      590 // Asia/Tbilisi (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      591 // Asia/Tomsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      592 // Asia/Ust-Nera (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      593 // Asia/Vladivostok (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      594 // Asia/Yakutsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      595 // Asia/Yekaterinburg (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      596 // Atlantic/Stanley (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      597 // Europe/Astrakhan (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      598 // Europe/Istanbul (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      599 // Europe/Kaliningrad (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      600 // Europe/Kirov (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      601 // Europe/Minsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      602 // Europe/Moscow (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      603 // Europe/Riga (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      604 // Europe/Samara (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      605 // Europe/Saratov (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      606 // Europe/Simferopol (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      607 // Europe/Tallinn (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      608 // Europe/Ulyanovsk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      609 // Europe/Vilnius (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      610 // Europe/Volgograd (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      611 // Pacific/Apia (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      612 // Pacific/Bougainville (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      613 // Pacific/Fakaofo (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      614 // Pacific/Guam (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      615 // Pacific/Norfolk (UNTIL contains month/day/time)
                                                                                                                                      +
                                                                                                                                      616 
                                                                                                                                      +
                                                                                                                                      617 
                                                                                                                                      +
                                                                                                                                      618 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      619 // Notable zones: 1
                                                                                                                                      +
                                                                                                                                      620 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      621 
                                                                                                                                      +
                                                                                                                                      622 // Africa/Johannesburg (RULES not fixed but FORMAT is missing '%' or '/')
                                                                                                                                      +
                                                                                                                                      623 
                                                                                                                                      +
                                                                                                                                      624 
                                                                                                                                      +
                                                                                                                                      625 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      626 // Unsupported links: 24
                                                                                                                                      +
                                                                                                                                      627 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      628 
                                                                                                                                      +
                                                                                                                                      629 // America/Argentina/ComodRivadavia (Target Zone "America/Argentina/Catamarca" missing)
                                                                                                                                      +
                                                                                                                                      630 // America/Buenos_Aires (Target Zone "America/Argentina/Buenos_Aires" missing)
                                                                                                                                      +
                                                                                                                                      631 // America/Catamarca (Target Zone "America/Argentina/Catamarca" missing)
                                                                                                                                      +
                                                                                                                                      632 // America/Cordoba (Target Zone "America/Argentina/Cordoba" missing)
                                                                                                                                      +
                                                                                                                                      633 // America/Ensenada (Target Zone "America/Tijuana" missing)
                                                                                                                                      +
                                                                                                                                      634 // America/Jujuy (Target Zone "America/Argentina/Jujuy" missing)
                                                                                                                                      +
                                                                                                                                      635 // America/Knox_IN (Target Zone "America/Indiana/Knox" missing)
                                                                                                                                      +
                                                                                                                                      636 // America/Mendoza (Target Zone "America/Argentina/Mendoza" missing)
                                                                                                                                      +
                                                                                                                                      637 // America/Porto_Acre (Target Zone "America/Rio_Branco" missing)
                                                                                                                                      +
                                                                                                                                      638 // America/Rosario (Target Zone "America/Argentina/Cordoba" missing)
                                                                                                                                      +
                                                                                                                                      639 // America/Santa_Isabel (Target Zone "America/Tijuana" missing)
                                                                                                                                      +
                                                                                                                                      640 // Asia/Istanbul (Target Zone "Europe/Istanbul" missing)
                                                                                                                                      +
                                                                                                                                      641 // Brazil/Acre (Target Zone "America/Rio_Branco" missing)
                                                                                                                                      +
                                                                                                                                      642 // Brazil/DeNoronha (Target Zone "America/Noronha" missing)
                                                                                                                                      +
                                                                                                                                      643 // Canada/Newfoundland (Target Zone "America/St_Johns" missing)
                                                                                                                                      +
                                                                                                                                      644 // Canada/Yukon (Target Zone "America/Whitehorse" missing)
                                                                                                                                      +
                                                                                                                                      645 // Egypt (Target Zone "Africa/Cairo" missing)
                                                                                                                                      +
                                                                                                                                      646 // Libya (Target Zone "Africa/Tripoli" missing)
                                                                                                                                      +
                                                                                                                                      647 // Mexico/BajaNorte (Target Zone "America/Tijuana" missing)
                                                                                                                                      +
                                                                                                                                      648 // Mexico/General (Target Zone "America/Mexico_City" missing)
                                                                                                                                      +
                                                                                                                                      649 // Pacific/Saipan (Target Zone "Pacific/Guam" missing)
                                                                                                                                      +
                                                                                                                                      650 // Turkey (Target Zone "Europe/Istanbul" missing)
                                                                                                                                      +
                                                                                                                                      651 // US/Indiana-Starke (Target Zone "America/Indiana/Knox" missing)
                                                                                                                                      +
                                                                                                                                      652 // W-SU (Target Zone "Europe/Moscow" missing)
                                                                                                                                      +
                                                                                                                                      653 
                                                                                                                                      +
                                                                                                                                      654 
                                                                                                                                      +
                                                                                                                                      655 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      656 // Notable links: 0
                                                                                                                                      +
                                                                                                                                      657 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      658 
                                                                                                                                      +
                                                                                                                                      659 
                                                                                                                                      +
                                                                                                                                      660 
                                                                                                                                      +
                                                                                                                                      661 }
                                                                                                                                      +
                                                                                                                                      662 }
                                                                                                                                      +
                                                                                                                                      663 
                                                                                                                                      +
                                                                                                                                      664 #endif
                                                                                                                                      diff --git a/docs/html/zone__policies_8cpp_source.html b/docs/html/zone__policies_8cpp_source.html index d36178d0b..8eaf077cb 100644 --- a/docs/html/zone__policies_8cpp_source.html +++ b/docs/html/zone__policies_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb/zone_policies.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb/zone_policies.cpp Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zone_policies.cpp
                                                                                                                                      -
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      2 //
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      4 //
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020a
                                                                                                                                      7 //
                                                                                                                                      8 // Policies: 65
                                                                                                                                      9 // Rules: 360
                                                                                                                                      10 // Memory (8-bit): 3630
                                                                                                                                      11 // Memory (32-bit): 5132
                                                                                                                                      12 //
                                                                                                                                      13 // DO NOT EDIT
                                                                                                                                      14 
                                                                                                                                      15 #include <ace_time/common/compat.h>
                                                                                                                                      16 #include "zone_policies.h"
                                                                                                                                      17 
                                                                                                                                      18 namespace ace_time {
                                                                                                                                      19 namespace zonedb {
                                                                                                                                      20 
                                                                                                                                      21 //---------------------------------------------------------------------------
                                                                                                                                      22 // Policy name: AN
                                                                                                                                      23 // Rules: 9
                                                                                                                                      24 // Memory (8-bit): 87
                                                                                                                                      25 // Memory (32-bit): 120
                                                                                                                                      26 //---------------------------------------------------------------------------
                                                                                                                                      27 
                                                                                                                                      28 static const basic::ZoneRule kZoneRulesAN[] ACE_TIME_PROGMEM = {
                                                                                                                                      29  // Rule AN 1987 1999 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      30  {
                                                                                                                                      31  -13 /*fromYearTiny*/,
                                                                                                                                      32  -1 /*toYearTiny*/,
                                                                                                                                      33  10 /*inMonth*/,
                                                                                                                                      34  7 /*onDayOfWeek*/,
                                                                                                                                      35  0 /*onDayOfMonth*/,
                                                                                                                                      36  8 /*atTimeCode*/,
                                                                                                                                      37  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      38  4 /*deltaCode*/,
                                                                                                                                      39  'D' /*letter*/,
                                                                                                                                      40  },
                                                                                                                                      41  // Rule AN 1990 1995 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      42  {
                                                                                                                                      43  -10 /*fromYearTiny*/,
                                                                                                                                      44  -5 /*toYearTiny*/,
                                                                                                                                      45  3 /*inMonth*/,
                                                                                                                                      46  7 /*onDayOfWeek*/,
                                                                                                                                      47  1 /*onDayOfMonth*/,
                                                                                                                                      48  8 /*atTimeCode*/,
                                                                                                                                      49  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      50  0 /*deltaCode*/,
                                                                                                                                      51  'S' /*letter*/,
                                                                                                                                      52  },
                                                                                                                                      53  // Rule AN 1996 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      54  {
                                                                                                                                      55  -4 /*fromYearTiny*/,
                                                                                                                                      56  5 /*toYearTiny*/,
                                                                                                                                      57  3 /*inMonth*/,
                                                                                                                                      58  7 /*onDayOfWeek*/,
                                                                                                                                      59  0 /*onDayOfMonth*/,
                                                                                                                                      60  8 /*atTimeCode*/,
                                                                                                                                      61  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      62  0 /*deltaCode*/,
                                                                                                                                      63  'S' /*letter*/,
                                                                                                                                      64  },
                                                                                                                                      65  // Rule AN 2000 only - Aug lastSun 2:00s 1:00 D
                                                                                                                                      66  {
                                                                                                                                      67  0 /*fromYearTiny*/,
                                                                                                                                      68  0 /*toYearTiny*/,
                                                                                                                                      69  8 /*inMonth*/,
                                                                                                                                      70  7 /*onDayOfWeek*/,
                                                                                                                                      71  0 /*onDayOfMonth*/,
                                                                                                                                      72  8 /*atTimeCode*/,
                                                                                                                                      73  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      74  4 /*deltaCode*/,
                                                                                                                                      75  'D' /*letter*/,
                                                                                                                                      76  },
                                                                                                                                      77  // Rule AN 2001 2007 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      78  {
                                                                                                                                      79  1 /*fromYearTiny*/,
                                                                                                                                      80  7 /*toYearTiny*/,
                                                                                                                                      81  10 /*inMonth*/,
                                                                                                                                      82  7 /*onDayOfWeek*/,
                                                                                                                                      83  0 /*onDayOfMonth*/,
                                                                                                                                      84  8 /*atTimeCode*/,
                                                                                                                                      85  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      86  4 /*deltaCode*/,
                                                                                                                                      87  'D' /*letter*/,
                                                                                                                                      88  },
                                                                                                                                      89  // Rule AN 2006 only - Apr Sun>=1 2:00s 0 S
                                                                                                                                      90  {
                                                                                                                                      91  6 /*fromYearTiny*/,
                                                                                                                                      92  6 /*toYearTiny*/,
                                                                                                                                      93  4 /*inMonth*/,
                                                                                                                                      94  7 /*onDayOfWeek*/,
                                                                                                                                      95  1 /*onDayOfMonth*/,
                                                                                                                                      96  8 /*atTimeCode*/,
                                                                                                                                      97  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      98  0 /*deltaCode*/,
                                                                                                                                      99  'S' /*letter*/,
                                                                                                                                      100  },
                                                                                                                                      101  // Rule AN 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      102  {
                                                                                                                                      103  7 /*fromYearTiny*/,
                                                                                                                                      104  7 /*toYearTiny*/,
                                                                                                                                      105  3 /*inMonth*/,
                                                                                                                                      106  7 /*onDayOfWeek*/,
                                                                                                                                      107  0 /*onDayOfMonth*/,
                                                                                                                                      108  8 /*atTimeCode*/,
                                                                                                                                      109  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      110  0 /*deltaCode*/,
                                                                                                                                      111  'S' /*letter*/,
                                                                                                                                      112  },
                                                                                                                                      113  // Rule AN 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      114  {
                                                                                                                                      115  8 /*fromYearTiny*/,
                                                                                                                                      116  126 /*toYearTiny*/,
                                                                                                                                      117  4 /*inMonth*/,
                                                                                                                                      118  7 /*onDayOfWeek*/,
                                                                                                                                      119  1 /*onDayOfMonth*/,
                                                                                                                                      120  8 /*atTimeCode*/,
                                                                                                                                      121  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      122  0 /*deltaCode*/,
                                                                                                                                      123  'S' /*letter*/,
                                                                                                                                      124  },
                                                                                                                                      125  // Rule AN 2008 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      126  {
                                                                                                                                      127  8 /*fromYearTiny*/,
                                                                                                                                      128  126 /*toYearTiny*/,
                                                                                                                                      129  10 /*inMonth*/,
                                                                                                                                      130  7 /*onDayOfWeek*/,
                                                                                                                                      131  1 /*onDayOfMonth*/,
                                                                                                                                      132  8 /*atTimeCode*/,
                                                                                                                                      133  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      134  4 /*deltaCode*/,
                                                                                                                                      135  'D' /*letter*/,
                                                                                                                                      136  },
                                                                                                                                      137 
                                                                                                                                      138 };
                                                                                                                                      139 
                                                                                                                                      140 
                                                                                                                                      141 
                                                                                                                                      142 const basic::ZonePolicy kPolicyAN ACE_TIME_PROGMEM = {
                                                                                                                                      143  kZoneRulesAN /*rules*/,
                                                                                                                                      144  nullptr /* letters */,
                                                                                                                                      145  9 /*numRules*/,
                                                                                                                                      146  0 /* numLetters */,
                                                                                                                                      147 };
                                                                                                                                      148 
                                                                                                                                      149 //---------------------------------------------------------------------------
                                                                                                                                      150 // Policy name: AQ
                                                                                                                                      151 // Rules: 1
                                                                                                                                      152 // Memory (8-bit): 15
                                                                                                                                      153 // Memory (32-bit): 24
                                                                                                                                      154 //---------------------------------------------------------------------------
                                                                                                                                      155 
                                                                                                                                      156 static const basic::ZoneRule kZoneRulesAQ[] ACE_TIME_PROGMEM = {
                                                                                                                                      157  // Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      158  {
                                                                                                                                      159  -10 /*fromYearTiny*/,
                                                                                                                                      160  -8 /*toYearTiny*/,
                                                                                                                                      161  3 /*inMonth*/,
                                                                                                                                      162  7 /*onDayOfWeek*/,
                                                                                                                                      163  1 /*onDayOfMonth*/,
                                                                                                                                      164  8 /*atTimeCode*/,
                                                                                                                                      165  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      166  0 /*deltaCode*/,
                                                                                                                                      167  'S' /*letter*/,
                                                                                                                                      168  },
                                                                                                                                      169 
                                                                                                                                      170 };
                                                                                                                                      171 
                                                                                                                                      172 
                                                                                                                                      173 
                                                                                                                                      174 const basic::ZonePolicy kPolicyAQ ACE_TIME_PROGMEM = {
                                                                                                                                      175  kZoneRulesAQ /*rules*/,
                                                                                                                                      176  nullptr /* letters */,
                                                                                                                                      177  1 /*numRules*/,
                                                                                                                                      178  0 /* numLetters */,
                                                                                                                                      179 };
                                                                                                                                      180 
                                                                                                                                      181 //---------------------------------------------------------------------------
                                                                                                                                      182 // Policy name: AS
                                                                                                                                      183 // Rules: 7
                                                                                                                                      184 // Memory (8-bit): 69
                                                                                                                                      185 // Memory (32-bit): 96
                                                                                                                                      186 //---------------------------------------------------------------------------
                                                                                                                                      187 
                                                                                                                                      188 static const basic::ZoneRule kZoneRulesAS[] ACE_TIME_PROGMEM = {
                                                                                                                                      189  // Rule AS 1987 2007 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      190  {
                                                                                                                                      191  -13 /*fromYearTiny*/,
                                                                                                                                      192  7 /*toYearTiny*/,
                                                                                                                                      193  10 /*inMonth*/,
                                                                                                                                      194  7 /*onDayOfWeek*/,
                                                                                                                                      195  0 /*onDayOfMonth*/,
                                                                                                                                      196  8 /*atTimeCode*/,
                                                                                                                                      197  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      198  4 /*deltaCode*/,
                                                                                                                                      199  'D' /*letter*/,
                                                                                                                                      200  },
                                                                                                                                      201  // Rule AS 1994 only - Mar 20 2:00s 0 S
                                                                                                                                      202  {
                                                                                                                                      203  -6 /*fromYearTiny*/,
                                                                                                                                      204  -6 /*toYearTiny*/,
                                                                                                                                      205  3 /*inMonth*/,
                                                                                                                                      206  0 /*onDayOfWeek*/,
                                                                                                                                      207  20 /*onDayOfMonth*/,
                                                                                                                                      208  8 /*atTimeCode*/,
                                                                                                                                      209  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      210  0 /*deltaCode*/,
                                                                                                                                      211  'S' /*letter*/,
                                                                                                                                      212  },
                                                                                                                                      213  // Rule AS 1995 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      214  {
                                                                                                                                      215  -5 /*fromYearTiny*/,
                                                                                                                                      216  5 /*toYearTiny*/,
                                                                                                                                      217  3 /*inMonth*/,
                                                                                                                                      218  7 /*onDayOfWeek*/,
                                                                                                                                      219  0 /*onDayOfMonth*/,
                                                                                                                                      220  8 /*atTimeCode*/,
                                                                                                                                      221  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      222  0 /*deltaCode*/,
                                                                                                                                      223  'S' /*letter*/,
                                                                                                                                      224  },
                                                                                                                                      225  // Rule AS 2006 only - Apr 2 2:00s 0 S
                                                                                                                                      226  {
                                                                                                                                      227  6 /*fromYearTiny*/,
                                                                                                                                      228  6 /*toYearTiny*/,
                                                                                                                                      229  4 /*inMonth*/,
                                                                                                                                      230  0 /*onDayOfWeek*/,
                                                                                                                                      231  2 /*onDayOfMonth*/,
                                                                                                                                      232  8 /*atTimeCode*/,
                                                                                                                                      233  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      234  0 /*deltaCode*/,
                                                                                                                                      235  'S' /*letter*/,
                                                                                                                                      236  },
                                                                                                                                      237  // Rule AS 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      238  {
                                                                                                                                      239  7 /*fromYearTiny*/,
                                                                                                                                      240  7 /*toYearTiny*/,
                                                                                                                                      241  3 /*inMonth*/,
                                                                                                                                      242  7 /*onDayOfWeek*/,
                                                                                                                                      243  0 /*onDayOfMonth*/,
                                                                                                                                      244  8 /*atTimeCode*/,
                                                                                                                                      245  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      246  0 /*deltaCode*/,
                                                                                                                                      247  'S' /*letter*/,
                                                                                                                                      248  },
                                                                                                                                      249  // Rule AS 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      250  {
                                                                                                                                      251  8 /*fromYearTiny*/,
                                                                                                                                      252  126 /*toYearTiny*/,
                                                                                                                                      253  4 /*inMonth*/,
                                                                                                                                      254  7 /*onDayOfWeek*/,
                                                                                                                                      255  1 /*onDayOfMonth*/,
                                                                                                                                      256  8 /*atTimeCode*/,
                                                                                                                                      257  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      258  0 /*deltaCode*/,
                                                                                                                                      259  'S' /*letter*/,
                                                                                                                                      260  },
                                                                                                                                      261  // Rule AS 2008 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      262  {
                                                                                                                                      263  8 /*fromYearTiny*/,
                                                                                                                                      264  126 /*toYearTiny*/,
                                                                                                                                      265  10 /*inMonth*/,
                                                                                                                                      266  7 /*onDayOfWeek*/,
                                                                                                                                      267  1 /*onDayOfMonth*/,
                                                                                                                                      268  8 /*atTimeCode*/,
                                                                                                                                      269  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      270  4 /*deltaCode*/,
                                                                                                                                      271  'D' /*letter*/,
                                                                                                                                      272  },
                                                                                                                                      273 
                                                                                                                                      274 };
                                                                                                                                      275 
                                                                                                                                      276 
                                                                                                                                      277 
                                                                                                                                      278 const basic::ZonePolicy kPolicyAS ACE_TIME_PROGMEM = {
                                                                                                                                      279  kZoneRulesAS /*rules*/,
                                                                                                                                      280  nullptr /* letters */,
                                                                                                                                      281  7 /*numRules*/,
                                                                                                                                      282  0 /* numLetters */,
                                                                                                                                      283 };
                                                                                                                                      284 
                                                                                                                                      285 //---------------------------------------------------------------------------
                                                                                                                                      286 // Policy name: AT
                                                                                                                                      287 // Rules: 8
                                                                                                                                      288 // Memory (8-bit): 78
                                                                                                                                      289 // Memory (32-bit): 108
                                                                                                                                      290 //---------------------------------------------------------------------------
                                                                                                                                      291 
                                                                                                                                      292 static const basic::ZoneRule kZoneRulesAT[] ACE_TIME_PROGMEM = {
                                                                                                                                      293  // Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      294  {
                                                                                                                                      295  -12 /*fromYearTiny*/,
                                                                                                                                      296  -10 /*toYearTiny*/,
                                                                                                                                      297  10 /*inMonth*/,
                                                                                                                                      298  7 /*onDayOfWeek*/,
                                                                                                                                      299  0 /*onDayOfMonth*/,
                                                                                                                                      300  8 /*atTimeCode*/,
                                                                                                                                      301  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      302  4 /*deltaCode*/,
                                                                                                                                      303  'D' /*letter*/,
                                                                                                                                      304  },
                                                                                                                                      305  // Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      306  {
                                                                                                                                      307  -9 /*fromYearTiny*/,
                                                                                                                                      308  -1 /*toYearTiny*/,
                                                                                                                                      309  10 /*inMonth*/,
                                                                                                                                      310  7 /*onDayOfWeek*/,
                                                                                                                                      311  1 /*onDayOfMonth*/,
                                                                                                                                      312  8 /*atTimeCode*/,
                                                                                                                                      313  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      314  4 /*deltaCode*/,
                                                                                                                                      315  'D' /*letter*/,
                                                                                                                                      316  },
                                                                                                                                      317  // Rule AT 1991 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      318  {
                                                                                                                                      319  -9 /*fromYearTiny*/,
                                                                                                                                      320  5 /*toYearTiny*/,
                                                                                                                                      321  3 /*inMonth*/,
                                                                                                                                      322  7 /*onDayOfWeek*/,
                                                                                                                                      323  0 /*onDayOfMonth*/,
                                                                                                                                      324  8 /*atTimeCode*/,
                                                                                                                                      325  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      326  0 /*deltaCode*/,
                                                                                                                                      327  'S' /*letter*/,
                                                                                                                                      328  },
                                                                                                                                      329  // Rule AT 2000 only - Aug lastSun 2:00s 1:00 D
                                                                                                                                      330  {
                                                                                                                                      331  0 /*fromYearTiny*/,
                                                                                                                                      332  0 /*toYearTiny*/,
                                                                                                                                      333  8 /*inMonth*/,
                                                                                                                                      334  7 /*onDayOfWeek*/,
                                                                                                                                      335  0 /*onDayOfMonth*/,
                                                                                                                                      336  8 /*atTimeCode*/,
                                                                                                                                      337  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      338  4 /*deltaCode*/,
                                                                                                                                      339  'D' /*letter*/,
                                                                                                                                      340  },
                                                                                                                                      341  // Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      342  {
                                                                                                                                      343  1 /*fromYearTiny*/,
                                                                                                                                      344  126 /*toYearTiny*/,
                                                                                                                                      345  10 /*inMonth*/,
                                                                                                                                      346  7 /*onDayOfWeek*/,
                                                                                                                                      347  1 /*onDayOfMonth*/,
                                                                                                                                      348  8 /*atTimeCode*/,
                                                                                                                                      349  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      350  4 /*deltaCode*/,
                                                                                                                                      351  'D' /*letter*/,
                                                                                                                                      352  },
                                                                                                                                      353  // Rule AT 2006 only - Apr Sun>=1 2:00s 0 S
                                                                                                                                      354  {
                                                                                                                                      355  6 /*fromYearTiny*/,
                                                                                                                                      356  6 /*toYearTiny*/,
                                                                                                                                      357  4 /*inMonth*/,
                                                                                                                                      358  7 /*onDayOfWeek*/,
                                                                                                                                      359  1 /*onDayOfMonth*/,
                                                                                                                                      360  8 /*atTimeCode*/,
                                                                                                                                      361  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      362  0 /*deltaCode*/,
                                                                                                                                      363  'S' /*letter*/,
                                                                                                                                      364  },
                                                                                                                                      365  // Rule AT 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      366  {
                                                                                                                                      367  7 /*fromYearTiny*/,
                                                                                                                                      368  7 /*toYearTiny*/,
                                                                                                                                      369  3 /*inMonth*/,
                                                                                                                                      370  7 /*onDayOfWeek*/,
                                                                                                                                      371  0 /*onDayOfMonth*/,
                                                                                                                                      372  8 /*atTimeCode*/,
                                                                                                                                      373  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      374  0 /*deltaCode*/,
                                                                                                                                      375  'S' /*letter*/,
                                                                                                                                      376  },
                                                                                                                                      377  // Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      378  {
                                                                                                                                      379  8 /*fromYearTiny*/,
                                                                                                                                      380  126 /*toYearTiny*/,
                                                                                                                                      381  4 /*inMonth*/,
                                                                                                                                      382  7 /*onDayOfWeek*/,
                                                                                                                                      383  1 /*onDayOfMonth*/,
                                                                                                                                      384  8 /*atTimeCode*/,
                                                                                                                                      385  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      386  0 /*deltaCode*/,
                                                                                                                                      387  'S' /*letter*/,
                                                                                                                                      388  },
                                                                                                                                      389 
                                                                                                                                      390 };
                                                                                                                                      391 
                                                                                                                                      392 
                                                                                                                                      393 
                                                                                                                                      394 const basic::ZonePolicy kPolicyAT ACE_TIME_PROGMEM = {
                                                                                                                                      395  kZoneRulesAT /*rules*/,
                                                                                                                                      396  nullptr /* letters */,
                                                                                                                                      397  8 /*numRules*/,
                                                                                                                                      398  0 /* numLetters */,
                                                                                                                                      399 };
                                                                                                                                      400 
                                                                                                                                      401 //---------------------------------------------------------------------------
                                                                                                                                      402 // Policy name: AV
                                                                                                                                      403 // Rules: 9
                                                                                                                                      404 // Memory (8-bit): 87
                                                                                                                                      405 // Memory (32-bit): 120
                                                                                                                                      406 //---------------------------------------------------------------------------
                                                                                                                                      407 
                                                                                                                                      408 static const basic::ZoneRule kZoneRulesAV[] ACE_TIME_PROGMEM = {
                                                                                                                                      409  // Rule AV 1988 1999 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      410  {
                                                                                                                                      411  -12 /*fromYearTiny*/,
                                                                                                                                      412  -1 /*toYearTiny*/,
                                                                                                                                      413  10 /*inMonth*/,
                                                                                                                                      414  7 /*onDayOfWeek*/,
                                                                                                                                      415  0 /*onDayOfMonth*/,
                                                                                                                                      416  8 /*atTimeCode*/,
                                                                                                                                      417  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      418  4 /*deltaCode*/,
                                                                                                                                      419  'D' /*letter*/,
                                                                                                                                      420  },
                                                                                                                                      421  // Rule AV 1991 1994 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      422  {
                                                                                                                                      423  -9 /*fromYearTiny*/,
                                                                                                                                      424  -6 /*toYearTiny*/,
                                                                                                                                      425  3 /*inMonth*/,
                                                                                                                                      426  7 /*onDayOfWeek*/,
                                                                                                                                      427  1 /*onDayOfMonth*/,
                                                                                                                                      428  8 /*atTimeCode*/,
                                                                                                                                      429  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      430  0 /*deltaCode*/,
                                                                                                                                      431  'S' /*letter*/,
                                                                                                                                      432  },
                                                                                                                                      433  // Rule AV 1995 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      434  {
                                                                                                                                      435  -5 /*fromYearTiny*/,
                                                                                                                                      436  5 /*toYearTiny*/,
                                                                                                                                      437  3 /*inMonth*/,
                                                                                                                                      438  7 /*onDayOfWeek*/,
                                                                                                                                      439  0 /*onDayOfMonth*/,
                                                                                                                                      440  8 /*atTimeCode*/,
                                                                                                                                      441  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      442  0 /*deltaCode*/,
                                                                                                                                      443  'S' /*letter*/,
                                                                                                                                      444  },
                                                                                                                                      445  // Rule AV 2000 only - Aug lastSun 2:00s 1:00 D
                                                                                                                                      446  {
                                                                                                                                      447  0 /*fromYearTiny*/,
                                                                                                                                      448  0 /*toYearTiny*/,
                                                                                                                                      449  8 /*inMonth*/,
                                                                                                                                      450  7 /*onDayOfWeek*/,
                                                                                                                                      451  0 /*onDayOfMonth*/,
                                                                                                                                      452  8 /*atTimeCode*/,
                                                                                                                                      453  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      454  4 /*deltaCode*/,
                                                                                                                                      455  'D' /*letter*/,
                                                                                                                                      456  },
                                                                                                                                      457  // Rule AV 2001 2007 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      458  {
                                                                                                                                      459  1 /*fromYearTiny*/,
                                                                                                                                      460  7 /*toYearTiny*/,
                                                                                                                                      461  10 /*inMonth*/,
                                                                                                                                      462  7 /*onDayOfWeek*/,
                                                                                                                                      463  0 /*onDayOfMonth*/,
                                                                                                                                      464  8 /*atTimeCode*/,
                                                                                                                                      465  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      466  4 /*deltaCode*/,
                                                                                                                                      467  'D' /*letter*/,
                                                                                                                                      468  },
                                                                                                                                      469  // Rule AV 2006 only - Apr Sun>=1 2:00s 0 S
                                                                                                                                      470  {
                                                                                                                                      471  6 /*fromYearTiny*/,
                                                                                                                                      472  6 /*toYearTiny*/,
                                                                                                                                      473  4 /*inMonth*/,
                                                                                                                                      474  7 /*onDayOfWeek*/,
                                                                                                                                      475  1 /*onDayOfMonth*/,
                                                                                                                                      476  8 /*atTimeCode*/,
                                                                                                                                      477  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      478  0 /*deltaCode*/,
                                                                                                                                      479  'S' /*letter*/,
                                                                                                                                      480  },
                                                                                                                                      481  // Rule AV 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      482  {
                                                                                                                                      483  7 /*fromYearTiny*/,
                                                                                                                                      484  7 /*toYearTiny*/,
                                                                                                                                      485  3 /*inMonth*/,
                                                                                                                                      486  7 /*onDayOfWeek*/,
                                                                                                                                      487  0 /*onDayOfMonth*/,
                                                                                                                                      488  8 /*atTimeCode*/,
                                                                                                                                      489  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      490  0 /*deltaCode*/,
                                                                                                                                      491  'S' /*letter*/,
                                                                                                                                      492  },
                                                                                                                                      493  // Rule AV 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      494  {
                                                                                                                                      495  8 /*fromYearTiny*/,
                                                                                                                                      496  126 /*toYearTiny*/,
                                                                                                                                      497  4 /*inMonth*/,
                                                                                                                                      498  7 /*onDayOfWeek*/,
                                                                                                                                      499  1 /*onDayOfMonth*/,
                                                                                                                                      500  8 /*atTimeCode*/,
                                                                                                                                      501  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      502  0 /*deltaCode*/,
                                                                                                                                      503  'S' /*letter*/,
                                                                                                                                      504  },
                                                                                                                                      505  // Rule AV 2008 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      506  {
                                                                                                                                      507  8 /*fromYearTiny*/,
                                                                                                                                      508  126 /*toYearTiny*/,
                                                                                                                                      509  10 /*inMonth*/,
                                                                                                                                      510  7 /*onDayOfWeek*/,
                                                                                                                                      511  1 /*onDayOfMonth*/,
                                                                                                                                      512  8 /*atTimeCode*/,
                                                                                                                                      513  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      514  4 /*deltaCode*/,
                                                                                                                                      515  'D' /*letter*/,
                                                                                                                                      516  },
                                                                                                                                      517 
                                                                                                                                      518 };
                                                                                                                                      519 
                                                                                                                                      520 
                                                                                                                                      521 
                                                                                                                                      522 const basic::ZonePolicy kPolicyAV ACE_TIME_PROGMEM = {
                                                                                                                                      523  kZoneRulesAV /*rules*/,
                                                                                                                                      524  nullptr /* letters */,
                                                                                                                                      525  9 /*numRules*/,
                                                                                                                                      526  0 /* numLetters */,
                                                                                                                                      527 };
                                                                                                                                      528 
                                                                                                                                      529 //---------------------------------------------------------------------------
                                                                                                                                      530 // Policy name: AW
                                                                                                                                      531 // Rules: 4
                                                                                                                                      532 // Memory (8-bit): 42
                                                                                                                                      533 // Memory (32-bit): 60
                                                                                                                                      534 //---------------------------------------------------------------------------
                                                                                                                                      535 
                                                                                                                                      536 static const basic::ZoneRule kZoneRulesAW[] ACE_TIME_PROGMEM = {
                                                                                                                                      537  // Rule AW 1992 only - Mar Sun>=1 2:00s 0 S
                                                                                                                                      538  {
                                                                                                                                      539  -8 /*fromYearTiny*/,
                                                                                                                                      540  -8 /*toYearTiny*/,
                                                                                                                                      541  3 /*inMonth*/,
                                                                                                                                      542  7 /*onDayOfWeek*/,
                                                                                                                                      543  1 /*onDayOfMonth*/,
                                                                                                                                      544  8 /*atTimeCode*/,
                                                                                                                                      545  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      546  0 /*deltaCode*/,
                                                                                                                                      547  'S' /*letter*/,
                                                                                                                                      548  },
                                                                                                                                      549  // Rule AW 2006 only - Dec 3 2:00s 1:00 D
                                                                                                                                      550  {
                                                                                                                                      551  6 /*fromYearTiny*/,
                                                                                                                                      552  6 /*toYearTiny*/,
                                                                                                                                      553  12 /*inMonth*/,
                                                                                                                                      554  0 /*onDayOfWeek*/,
                                                                                                                                      555  3 /*onDayOfMonth*/,
                                                                                                                                      556  8 /*atTimeCode*/,
                                                                                                                                      557  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      558  4 /*deltaCode*/,
                                                                                                                                      559  'D' /*letter*/,
                                                                                                                                      560  },
                                                                                                                                      561  // Rule AW 2007 2009 - Mar lastSun 2:00s 0 S
                                                                                                                                      562  {
                                                                                                                                      563  7 /*fromYearTiny*/,
                                                                                                                                      564  9 /*toYearTiny*/,
                                                                                                                                      565  3 /*inMonth*/,
                                                                                                                                      566  7 /*onDayOfWeek*/,
                                                                                                                                      567  0 /*onDayOfMonth*/,
                                                                                                                                      568  8 /*atTimeCode*/,
                                                                                                                                      569  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      570  0 /*deltaCode*/,
                                                                                                                                      571  'S' /*letter*/,
                                                                                                                                      572  },
                                                                                                                                      573  // Rule AW 2007 2008 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      574  {
                                                                                                                                      575  7 /*fromYearTiny*/,
                                                                                                                                      576  8 /*toYearTiny*/,
                                                                                                                                      577  10 /*inMonth*/,
                                                                                                                                      578  7 /*onDayOfWeek*/,
                                                                                                                                      579  0 /*onDayOfMonth*/,
                                                                                                                                      580  8 /*atTimeCode*/,
                                                                                                                                      581  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      582  4 /*deltaCode*/,
                                                                                                                                      583  'D' /*letter*/,
                                                                                                                                      584  },
                                                                                                                                      585 
                                                                                                                                      586 };
                                                                                                                                      587 
                                                                                                                                      588 
                                                                                                                                      589 
                                                                                                                                      590 const basic::ZonePolicy kPolicyAW ACE_TIME_PROGMEM = {
                                                                                                                                      591  kZoneRulesAW /*rules*/,
                                                                                                                                      592  nullptr /* letters */,
                                                                                                                                      593  4 /*numRules*/,
                                                                                                                                      594  0 /* numLetters */,
                                                                                                                                      595 };
                                                                                                                                      596 
                                                                                                                                      597 //---------------------------------------------------------------------------
                                                                                                                                      598 // Policy name: Armenia
                                                                                                                                      599 // Rules: 3
                                                                                                                                      600 // Memory (8-bit): 33
                                                                                                                                      601 // Memory (32-bit): 48
                                                                                                                                      602 //---------------------------------------------------------------------------
                                                                                                                                      603 
                                                                                                                                      604 static const basic::ZoneRule kZoneRulesArmenia[] ACE_TIME_PROGMEM = {
                                                                                                                                      605  // Anchor: Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
                                                                                                                                      606  {
                                                                                                                                      607  -127 /*fromYearTiny*/,
                                                                                                                                      608  -127 /*toYearTiny*/,
                                                                                                                                      609  1 /*inMonth*/,
                                                                                                                                      610  0 /*onDayOfWeek*/,
                                                                                                                                      611  1 /*onDayOfMonth*/,
                                                                                                                                      612  0 /*atTimeCode*/,
                                                                                                                                      613  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      614  0 /*deltaCode*/,
                                                                                                                                      615  '-' /*letter*/,
                                                                                                                                      616  },
                                                                                                                                      617  // Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 -
                                                                                                                                      618  {
                                                                                                                                      619  11 /*fromYearTiny*/,
                                                                                                                                      620  11 /*toYearTiny*/,
                                                                                                                                      621  3 /*inMonth*/,
                                                                                                                                      622  7 /*onDayOfWeek*/,
                                                                                                                                      623  0 /*onDayOfMonth*/,
                                                                                                                                      624  8 /*atTimeCode*/,
                                                                                                                                      625  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      626  4 /*deltaCode*/,
                                                                                                                                      627  '-' /*letter*/,
                                                                                                                                      628  },
                                                                                                                                      629  // Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
                                                                                                                                      630  {
                                                                                                                                      631  11 /*fromYearTiny*/,
                                                                                                                                      632  11 /*toYearTiny*/,
                                                                                                                                      633  10 /*inMonth*/,
                                                                                                                                      634  7 /*onDayOfWeek*/,
                                                                                                                                      635  0 /*onDayOfMonth*/,
                                                                                                                                      636  8 /*atTimeCode*/,
                                                                                                                                      637  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      638  0 /*deltaCode*/,
                                                                                                                                      639  '-' /*letter*/,
                                                                                                                                      640  },
                                                                                                                                      641 
                                                                                                                                      642 };
                                                                                                                                      643 
                                                                                                                                      644 
                                                                                                                                      645 
                                                                                                                                      646 const basic::ZonePolicy kPolicyArmenia ACE_TIME_PROGMEM = {
                                                                                                                                      647  kZoneRulesArmenia /*rules*/,
                                                                                                                                      648  nullptr /* letters */,
                                                                                                                                      649  3 /*numRules*/,
                                                                                                                                      650  0 /* numLetters */,
                                                                                                                                      651 };
                                                                                                                                      652 
                                                                                                                                      653 //---------------------------------------------------------------------------
                                                                                                                                      654 // Policy name: Aus
                                                                                                                                      655 // Rules: 1
                                                                                                                                      656 // Memory (8-bit): 15
                                                                                                                                      657 // Memory (32-bit): 24
                                                                                                                                      658 //---------------------------------------------------------------------------
                                                                                                                                      659 
                                                                                                                                      660 static const basic::ZoneRule kZoneRulesAus[] ACE_TIME_PROGMEM = {
                                                                                                                                      661  // Rule Aus 1943 1944 - Mar lastSun 2:00 0 S
                                                                                                                                      662  {
                                                                                                                                      663  -57 /*fromYearTiny*/,
                                                                                                                                      664  -56 /*toYearTiny*/,
                                                                                                                                      665  3 /*inMonth*/,
                                                                                                                                      666  7 /*onDayOfWeek*/,
                                                                                                                                      667  0 /*onDayOfMonth*/,
                                                                                                                                      668  8 /*atTimeCode*/,
                                                                                                                                      669  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      670  0 /*deltaCode*/,
                                                                                                                                      671  'S' /*letter*/,
                                                                                                                                      672  },
                                                                                                                                      673 
                                                                                                                                      674 };
                                                                                                                                      675 
                                                                                                                                      676 
                                                                                                                                      677 
                                                                                                                                      678 const basic::ZonePolicy kPolicyAus ACE_TIME_PROGMEM = {
                                                                                                                                      679  kZoneRulesAus /*rules*/,
                                                                                                                                      680  nullptr /* letters */,
                                                                                                                                      681  1 /*numRules*/,
                                                                                                                                      682  0 /* numLetters */,
                                                                                                                                      683 };
                                                                                                                                      684 
                                                                                                                                      685 //---------------------------------------------------------------------------
                                                                                                                                      686 // Policy name: Azer
                                                                                                                                      687 // Rules: 2
                                                                                                                                      688 // Memory (8-bit): 24
                                                                                                                                      689 // Memory (32-bit): 36
                                                                                                                                      690 //---------------------------------------------------------------------------
                                                                                                                                      691 
                                                                                                                                      692 static const basic::ZoneRule kZoneRulesAzer[] ACE_TIME_PROGMEM = {
                                                                                                                                      693  // Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 -
                                                                                                                                      694  {
                                                                                                                                      695  -3 /*fromYearTiny*/,
                                                                                                                                      696  15 /*toYearTiny*/,
                                                                                                                                      697  3 /*inMonth*/,
                                                                                                                                      698  7 /*onDayOfWeek*/,
                                                                                                                                      699  0 /*onDayOfMonth*/,
                                                                                                                                      700  16 /*atTimeCode*/,
                                                                                                                                      701  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      702  4 /*deltaCode*/,
                                                                                                                                      703  '-' /*letter*/,
                                                                                                                                      704  },
                                                                                                                                      705  // Rule Azer 1997 2015 - Oct lastSun 5:00 0 -
                                                                                                                                      706  {
                                                                                                                                      707  -3 /*fromYearTiny*/,
                                                                                                                                      708  15 /*toYearTiny*/,
                                                                                                                                      709  10 /*inMonth*/,
                                                                                                                                      710  7 /*onDayOfWeek*/,
                                                                                                                                      711  0 /*onDayOfMonth*/,
                                                                                                                                      712  20 /*atTimeCode*/,
                                                                                                                                      713  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      714  0 /*deltaCode*/,
                                                                                                                                      715  '-' /*letter*/,
                                                                                                                                      716  },
                                                                                                                                      717 
                                                                                                                                      718 };
                                                                                                                                      719 
                                                                                                                                      720 
                                                                                                                                      721 
                                                                                                                                      722 const basic::ZonePolicy kPolicyAzer ACE_TIME_PROGMEM = {
                                                                                                                                      723  kZoneRulesAzer /*rules*/,
                                                                                                                                      724  nullptr /* letters */,
                                                                                                                                      725  2 /*numRules*/,
                                                                                                                                      726  0 /* numLetters */,
                                                                                                                                      727 };
                                                                                                                                      728 
                                                                                                                                      729 //---------------------------------------------------------------------------
                                                                                                                                      730 // Policy name: Barb
                                                                                                                                      731 // Rules: 1
                                                                                                                                      732 // Memory (8-bit): 15
                                                                                                                                      733 // Memory (32-bit): 24
                                                                                                                                      734 //---------------------------------------------------------------------------
                                                                                                                                      735 
                                                                                                                                      736 static const basic::ZoneRule kZoneRulesBarb[] ACE_TIME_PROGMEM = {
                                                                                                                                      737  // Rule Barb 1980 only - Sep 25 2:00 0 S
                                                                                                                                      738  {
                                                                                                                                      739  -20 /*fromYearTiny*/,
                                                                                                                                      740  -20 /*toYearTiny*/,
                                                                                                                                      741  9 /*inMonth*/,
                                                                                                                                      742  0 /*onDayOfWeek*/,
                                                                                                                                      743  25 /*onDayOfMonth*/,
                                                                                                                                      744  8 /*atTimeCode*/,
                                                                                                                                      745  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      746  0 /*deltaCode*/,
                                                                                                                                      747  'S' /*letter*/,
                                                                                                                                      748  },
                                                                                                                                      749 
                                                                                                                                      750 };
                                                                                                                                      751 
                                                                                                                                      752 
                                                                                                                                      753 
                                                                                                                                      754 const basic::ZonePolicy kPolicyBarb ACE_TIME_PROGMEM = {
                                                                                                                                      755  kZoneRulesBarb /*rules*/,
                                                                                                                                      756  nullptr /* letters */,
                                                                                                                                      757  1 /*numRules*/,
                                                                                                                                      758  0 /* numLetters */,
                                                                                                                                      759 };
                                                                                                                                      760 
                                                                                                                                      761 //---------------------------------------------------------------------------
                                                                                                                                      762 // Policy name: Brazil
                                                                                                                                      763 // Rules: 20
                                                                                                                                      764 // Memory (8-bit): 186
                                                                                                                                      765 // Memory (32-bit): 252
                                                                                                                                      766 //---------------------------------------------------------------------------
                                                                                                                                      767 
                                                                                                                                      768 static const basic::ZoneRule kZoneRulesBrazil[] ACE_TIME_PROGMEM = {
                                                                                                                                      769  // Rule Brazil 1998 only - Oct 11 0:00 1:00 -
                                                                                                                                      770  {
                                                                                                                                      771  -2 /*fromYearTiny*/,
                                                                                                                                      772  -2 /*toYearTiny*/,
                                                                                                                                      773  10 /*inMonth*/,
                                                                                                                                      774  0 /*onDayOfWeek*/,
                                                                                                                                      775  11 /*onDayOfMonth*/,
                                                                                                                                      776  0 /*atTimeCode*/,
                                                                                                                                      777  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      778  4 /*deltaCode*/,
                                                                                                                                      779  '-' /*letter*/,
                                                                                                                                      780  },
                                                                                                                                      781  // Rule Brazil 1999 only - Feb 21 0:00 0 -
                                                                                                                                      782  {
                                                                                                                                      783  -1 /*fromYearTiny*/,
                                                                                                                                      784  -1 /*toYearTiny*/,
                                                                                                                                      785  2 /*inMonth*/,
                                                                                                                                      786  0 /*onDayOfWeek*/,
                                                                                                                                      787  21 /*onDayOfMonth*/,
                                                                                                                                      788  0 /*atTimeCode*/,
                                                                                                                                      789  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      790  0 /*deltaCode*/,
                                                                                                                                      791  '-' /*letter*/,
                                                                                                                                      792  },
                                                                                                                                      793  // Rule Brazil 1999 only - Oct 3 0:00 1:00 -
                                                                                                                                      794  {
                                                                                                                                      795  -1 /*fromYearTiny*/,
                                                                                                                                      796  -1 /*toYearTiny*/,
                                                                                                                                      797  10 /*inMonth*/,
                                                                                                                                      798  0 /*onDayOfWeek*/,
                                                                                                                                      799  3 /*onDayOfMonth*/,
                                                                                                                                      800  0 /*atTimeCode*/,
                                                                                                                                      801  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      802  4 /*deltaCode*/,
                                                                                                                                      803  '-' /*letter*/,
                                                                                                                                      804  },
                                                                                                                                      805  // Rule Brazil 2000 only - Feb 27 0:00 0 -
                                                                                                                                      806  {
                                                                                                                                      807  0 /*fromYearTiny*/,
                                                                                                                                      808  0 /*toYearTiny*/,
                                                                                                                                      809  2 /*inMonth*/,
                                                                                                                                      810  0 /*onDayOfWeek*/,
                                                                                                                                      811  27 /*onDayOfMonth*/,
                                                                                                                                      812  0 /*atTimeCode*/,
                                                                                                                                      813  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      814  0 /*deltaCode*/,
                                                                                                                                      815  '-' /*letter*/,
                                                                                                                                      816  },
                                                                                                                                      817  // Rule Brazil 2000 2001 - Oct Sun>=8 0:00 1:00 -
                                                                                                                                      818  {
                                                                                                                                      819  0 /*fromYearTiny*/,
                                                                                                                                      820  1 /*toYearTiny*/,
                                                                                                                                      821  10 /*inMonth*/,
                                                                                                                                      822  7 /*onDayOfWeek*/,
                                                                                                                                      823  8 /*onDayOfMonth*/,
                                                                                                                                      824  0 /*atTimeCode*/,
                                                                                                                                      825  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      826  4 /*deltaCode*/,
                                                                                                                                      827  '-' /*letter*/,
                                                                                                                                      828  },
                                                                                                                                      829  // Rule Brazil 2001 2006 - Feb Sun>=15 0:00 0 -
                                                                                                                                      830  {
                                                                                                                                      831  1 /*fromYearTiny*/,
                                                                                                                                      832  6 /*toYearTiny*/,
                                                                                                                                      833  2 /*inMonth*/,
                                                                                                                                      834  7 /*onDayOfWeek*/,
                                                                                                                                      835  15 /*onDayOfMonth*/,
                                                                                                                                      836  0 /*atTimeCode*/,
                                                                                                                                      837  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      838  0 /*deltaCode*/,
                                                                                                                                      839  '-' /*letter*/,
                                                                                                                                      840  },
                                                                                                                                      841  // Rule Brazil 2002 only - Nov 3 0:00 1:00 -
                                                                                                                                      842  {
                                                                                                                                      843  2 /*fromYearTiny*/,
                                                                                                                                      844  2 /*toYearTiny*/,
                                                                                                                                      845  11 /*inMonth*/,
                                                                                                                                      846  0 /*onDayOfWeek*/,
                                                                                                                                      847  3 /*onDayOfMonth*/,
                                                                                                                                      848  0 /*atTimeCode*/,
                                                                                                                                      849  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      850  4 /*deltaCode*/,
                                                                                                                                      851  '-' /*letter*/,
                                                                                                                                      852  },
                                                                                                                                      853  // Rule Brazil 2003 only - Oct 19 0:00 1:00 -
                                                                                                                                      854  {
                                                                                                                                      855  3 /*fromYearTiny*/,
                                                                                                                                      856  3 /*toYearTiny*/,
                                                                                                                                      857  10 /*inMonth*/,
                                                                                                                                      858  0 /*onDayOfWeek*/,
                                                                                                                                      859  19 /*onDayOfMonth*/,
                                                                                                                                      860  0 /*atTimeCode*/,
                                                                                                                                      861  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      862  4 /*deltaCode*/,
                                                                                                                                      863  '-' /*letter*/,
                                                                                                                                      864  },
                                                                                                                                      865  // Rule Brazil 2004 only - Nov 2 0:00 1:00 -
                                                                                                                                      866  {
                                                                                                                                      867  4 /*fromYearTiny*/,
                                                                                                                                      868  4 /*toYearTiny*/,
                                                                                                                                      869  11 /*inMonth*/,
                                                                                                                                      870  0 /*onDayOfWeek*/,
                                                                                                                                      871  2 /*onDayOfMonth*/,
                                                                                                                                      872  0 /*atTimeCode*/,
                                                                                                                                      873  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      874  4 /*deltaCode*/,
                                                                                                                                      875  '-' /*letter*/,
                                                                                                                                      876  },
                                                                                                                                      877  // Rule Brazil 2005 only - Oct 16 0:00 1:00 -
                                                                                                                                      878  {
                                                                                                                                      879  5 /*fromYearTiny*/,
                                                                                                                                      880  5 /*toYearTiny*/,
                                                                                                                                      881  10 /*inMonth*/,
                                                                                                                                      882  0 /*onDayOfWeek*/,
                                                                                                                                      883  16 /*onDayOfMonth*/,
                                                                                                                                      884  0 /*atTimeCode*/,
                                                                                                                                      885  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      886  4 /*deltaCode*/,
                                                                                                                                      887  '-' /*letter*/,
                                                                                                                                      888  },
                                                                                                                                      889  // Rule Brazil 2006 only - Nov 5 0:00 1:00 -
                                                                                                                                      890  {
                                                                                                                                      891  6 /*fromYearTiny*/,
                                                                                                                                      892  6 /*toYearTiny*/,
                                                                                                                                      893  11 /*inMonth*/,
                                                                                                                                      894  0 /*onDayOfWeek*/,
                                                                                                                                      895  5 /*onDayOfMonth*/,
                                                                                                                                      896  0 /*atTimeCode*/,
                                                                                                                                      897  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      898  4 /*deltaCode*/,
                                                                                                                                      899  '-' /*letter*/,
                                                                                                                                      900  },
                                                                                                                                      901  // Rule Brazil 2007 only - Feb 25 0:00 0 -
                                                                                                                                      902  {
                                                                                                                                      903  7 /*fromYearTiny*/,
                                                                                                                                      904  7 /*toYearTiny*/,
                                                                                                                                      905  2 /*inMonth*/,
                                                                                                                                      906  0 /*onDayOfWeek*/,
                                                                                                                                      907  25 /*onDayOfMonth*/,
                                                                                                                                      908  0 /*atTimeCode*/,
                                                                                                                                      909  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      910  0 /*deltaCode*/,
                                                                                                                                      911  '-' /*letter*/,
                                                                                                                                      912  },
                                                                                                                                      913  // Rule Brazil 2007 only - Oct Sun>=8 0:00 1:00 -
                                                                                                                                      914  {
                                                                                                                                      915  7 /*fromYearTiny*/,
                                                                                                                                      916  7 /*toYearTiny*/,
                                                                                                                                      917  10 /*inMonth*/,
                                                                                                                                      918  7 /*onDayOfWeek*/,
                                                                                                                                      919  8 /*onDayOfMonth*/,
                                                                                                                                      920  0 /*atTimeCode*/,
                                                                                                                                      921  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      922  4 /*deltaCode*/,
                                                                                                                                      923  '-' /*letter*/,
                                                                                                                                      924  },
                                                                                                                                      925  // Rule Brazil 2008 2017 - Oct Sun>=15 0:00 1:00 -
                                                                                                                                      926  {
                                                                                                                                      927  8 /*fromYearTiny*/,
                                                                                                                                      928  17 /*toYearTiny*/,
                                                                                                                                      929  10 /*inMonth*/,
                                                                                                                                      930  7 /*onDayOfWeek*/,
                                                                                                                                      931  15 /*onDayOfMonth*/,
                                                                                                                                      932  0 /*atTimeCode*/,
                                                                                                                                      933  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      934  4 /*deltaCode*/,
                                                                                                                                      935  '-' /*letter*/,
                                                                                                                                      936  },
                                                                                                                                      937  // Rule Brazil 2008 2011 - Feb Sun>=15 0:00 0 -
                                                                                                                                      938  {
                                                                                                                                      939  8 /*fromYearTiny*/,
                                                                                                                                      940  11 /*toYearTiny*/,
                                                                                                                                      941  2 /*inMonth*/,
                                                                                                                                      942  7 /*onDayOfWeek*/,
                                                                                                                                      943  15 /*onDayOfMonth*/,
                                                                                                                                      944  0 /*atTimeCode*/,
                                                                                                                                      945  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      946  0 /*deltaCode*/,
                                                                                                                                      947  '-' /*letter*/,
                                                                                                                                      948  },
                                                                                                                                      949  // Rule Brazil 2012 only - Feb Sun>=22 0:00 0 -
                                                                                                                                      950  {
                                                                                                                                      951  12 /*fromYearTiny*/,
                                                                                                                                      952  12 /*toYearTiny*/,
                                                                                                                                      953  2 /*inMonth*/,
                                                                                                                                      954  7 /*onDayOfWeek*/,
                                                                                                                                      955  22 /*onDayOfMonth*/,
                                                                                                                                      956  0 /*atTimeCode*/,
                                                                                                                                      957  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      958  0 /*deltaCode*/,
                                                                                                                                      959  '-' /*letter*/,
                                                                                                                                      960  },
                                                                                                                                      961  // Rule Brazil 2013 2014 - Feb Sun>=15 0:00 0 -
                                                                                                                                      962  {
                                                                                                                                      963  13 /*fromYearTiny*/,
                                                                                                                                      964  14 /*toYearTiny*/,
                                                                                                                                      965  2 /*inMonth*/,
                                                                                                                                      966  7 /*onDayOfWeek*/,
                                                                                                                                      967  15 /*onDayOfMonth*/,
                                                                                                                                      968  0 /*atTimeCode*/,
                                                                                                                                      969  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      970  0 /*deltaCode*/,
                                                                                                                                      971  '-' /*letter*/,
                                                                                                                                      972  },
                                                                                                                                      973  // Rule Brazil 2015 only - Feb Sun>=22 0:00 0 -
                                                                                                                                      974  {
                                                                                                                                      975  15 /*fromYearTiny*/,
                                                                                                                                      976  15 /*toYearTiny*/,
                                                                                                                                      977  2 /*inMonth*/,
                                                                                                                                      978  7 /*onDayOfWeek*/,
                                                                                                                                      979  22 /*onDayOfMonth*/,
                                                                                                                                      980  0 /*atTimeCode*/,
                                                                                                                                      981  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      982  0 /*deltaCode*/,
                                                                                                                                      983  '-' /*letter*/,
                                                                                                                                      984  },
                                                                                                                                      985  // Rule Brazil 2016 2019 - Feb Sun>=15 0:00 0 -
                                                                                                                                      986  {
                                                                                                                                      987  16 /*fromYearTiny*/,
                                                                                                                                      988  19 /*toYearTiny*/,
                                                                                                                                      989  2 /*inMonth*/,
                                                                                                                                      990  7 /*onDayOfWeek*/,
                                                                                                                                      991  15 /*onDayOfMonth*/,
                                                                                                                                      992  0 /*atTimeCode*/,
                                                                                                                                      993  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      994  0 /*deltaCode*/,
                                                                                                                                      995  '-' /*letter*/,
                                                                                                                                      996  },
                                                                                                                                      997  // Rule Brazil 2018 only - Nov Sun>=1 0:00 1:00 -
                                                                                                                                      998  {
                                                                                                                                      999  18 /*fromYearTiny*/,
                                                                                                                                      1000  18 /*toYearTiny*/,
                                                                                                                                      1001  11 /*inMonth*/,
                                                                                                                                      1002  7 /*onDayOfWeek*/,
                                                                                                                                      1003  1 /*onDayOfMonth*/,
                                                                                                                                      1004  0 /*atTimeCode*/,
                                                                                                                                      1005  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1006  4 /*deltaCode*/,
                                                                                                                                      1007  '-' /*letter*/,
                                                                                                                                      1008  },
                                                                                                                                      1009 
                                                                                                                                      1010 };
                                                                                                                                      1011 
                                                                                                                                      1012 
                                                                                                                                      1013 
                                                                                                                                      1014 const basic::ZonePolicy kPolicyBrazil ACE_TIME_PROGMEM = {
                                                                                                                                      1015  kZoneRulesBrazil /*rules*/,
                                                                                                                                      1016  nullptr /* letters */,
                                                                                                                                      1017  20 /*numRules*/,
                                                                                                                                      1018  0 /* numLetters */,
                                                                                                                                      1019 };
                                                                                                                                      1020 
                                                                                                                                      1021 //---------------------------------------------------------------------------
                                                                                                                                      1022 // Policy name: C_Eur
                                                                                                                                      1023 // Rules: 3
                                                                                                                                      1024 // Memory (8-bit): 33
                                                                                                                                      1025 // Memory (32-bit): 48
                                                                                                                                      1026 //---------------------------------------------------------------------------
                                                                                                                                      1027 
                                                                                                                                      1028 static const basic::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = {
                                                                                                                                      1029  // Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 -
                                                                                                                                      1030  {
                                                                                                                                      1031  -21 /*fromYearTiny*/,
                                                                                                                                      1032  -5 /*toYearTiny*/,
                                                                                                                                      1033  9 /*inMonth*/,
                                                                                                                                      1034  7 /*onDayOfWeek*/,
                                                                                                                                      1035  0 /*onDayOfMonth*/,
                                                                                                                                      1036  8 /*atTimeCode*/,
                                                                                                                                      1037  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1038  0 /*deltaCode*/,
                                                                                                                                      1039  '-' /*letter*/,
                                                                                                                                      1040  },
                                                                                                                                      1041  // Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S
                                                                                                                                      1042  {
                                                                                                                                      1043  -19 /*fromYearTiny*/,
                                                                                                                                      1044  126 /*toYearTiny*/,
                                                                                                                                      1045  3 /*inMonth*/,
                                                                                                                                      1046  7 /*onDayOfWeek*/,
                                                                                                                                      1047  0 /*onDayOfMonth*/,
                                                                                                                                      1048  8 /*atTimeCode*/,
                                                                                                                                      1049  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1050  4 /*deltaCode*/,
                                                                                                                                      1051  'S' /*letter*/,
                                                                                                                                      1052  },
                                                                                                                                      1053  // Rule C-Eur 1996 max - Oct lastSun 2:00s 0 -
                                                                                                                                      1054  {
                                                                                                                                      1055  -4 /*fromYearTiny*/,
                                                                                                                                      1056  126 /*toYearTiny*/,
                                                                                                                                      1057  10 /*inMonth*/,
                                                                                                                                      1058  7 /*onDayOfWeek*/,
                                                                                                                                      1059  0 /*onDayOfMonth*/,
                                                                                                                                      1060  8 /*atTimeCode*/,
                                                                                                                                      1061  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1062  0 /*deltaCode*/,
                                                                                                                                      1063  '-' /*letter*/,
                                                                                                                                      1064  },
                                                                                                                                      1065 
                                                                                                                                      1066 };
                                                                                                                                      1067 
                                                                                                                                      1068 
                                                                                                                                      1069 
                                                                                                                                      1070 const basic::ZonePolicy kPolicyC_Eur ACE_TIME_PROGMEM = {
                                                                                                                                      1071  kZoneRulesC_Eur /*rules*/,
                                                                                                                                      1072  nullptr /* letters */,
                                                                                                                                      1073  3 /*numRules*/,
                                                                                                                                      1074  0 /* numLetters */,
                                                                                                                                      1075 };
                                                                                                                                      1076 
                                                                                                                                      1077 //---------------------------------------------------------------------------
                                                                                                                                      1078 // Policy name: CO
                                                                                                                                      1079 // Rules: 1
                                                                                                                                      1080 // Memory (8-bit): 15
                                                                                                                                      1081 // Memory (32-bit): 24
                                                                                                                                      1082 //---------------------------------------------------------------------------
                                                                                                                                      1083 
                                                                                                                                      1084 static const basic::ZoneRule kZoneRulesCO[] ACE_TIME_PROGMEM = {
                                                                                                                                      1085  // Rule CO 1993 only - Apr 4 0:00 0 -
                                                                                                                                      1086  {
                                                                                                                                      1087  -7 /*fromYearTiny*/,
                                                                                                                                      1088  -7 /*toYearTiny*/,
                                                                                                                                      1089  4 /*inMonth*/,
                                                                                                                                      1090  0 /*onDayOfWeek*/,
                                                                                                                                      1091  4 /*onDayOfMonth*/,
                                                                                                                                      1092  0 /*atTimeCode*/,
                                                                                                                                      1093  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1094  0 /*deltaCode*/,
                                                                                                                                      1095  '-' /*letter*/,
                                                                                                                                      1096  },
                                                                                                                                      1097 
                                                                                                                                      1098 };
                                                                                                                                      1099 
                                                                                                                                      1100 
                                                                                                                                      1101 
                                                                                                                                      1102 const basic::ZonePolicy kPolicyCO ACE_TIME_PROGMEM = {
                                                                                                                                      1103  kZoneRulesCO /*rules*/,
                                                                                                                                      1104  nullptr /* letters */,
                                                                                                                                      1105  1 /*numRules*/,
                                                                                                                                      1106  0 /* numLetters */,
                                                                                                                                      1107 };
                                                                                                                                      1108 
                                                                                                                                      1109 //---------------------------------------------------------------------------
                                                                                                                                      1110 // Policy name: CR
                                                                                                                                      1111 // Rules: 1
                                                                                                                                      1112 // Memory (8-bit): 15
                                                                                                                                      1113 // Memory (32-bit): 24
                                                                                                                                      1114 //---------------------------------------------------------------------------
                                                                                                                                      1115 
                                                                                                                                      1116 static const basic::ZoneRule kZoneRulesCR[] ACE_TIME_PROGMEM = {
                                                                                                                                      1117  // Rule CR 1992 only - Mar 15 0:00 0 S
                                                                                                                                      1118  {
                                                                                                                                      1119  -8 /*fromYearTiny*/,
                                                                                                                                      1120  -8 /*toYearTiny*/,
                                                                                                                                      1121  3 /*inMonth*/,
                                                                                                                                      1122  0 /*onDayOfWeek*/,
                                                                                                                                      1123  15 /*onDayOfMonth*/,
                                                                                                                                      1124  0 /*atTimeCode*/,
                                                                                                                                      1125  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1126  0 /*deltaCode*/,
                                                                                                                                      1127  'S' /*letter*/,
                                                                                                                                      1128  },
                                                                                                                                      1129 
                                                                                                                                      1130 };
                                                                                                                                      1131 
                                                                                                                                      1132 
                                                                                                                                      1133 
                                                                                                                                      1134 const basic::ZonePolicy kPolicyCR ACE_TIME_PROGMEM = {
                                                                                                                                      1135  kZoneRulesCR /*rules*/,
                                                                                                                                      1136  nullptr /* letters */,
                                                                                                                                      1137  1 /*numRules*/,
                                                                                                                                      1138  0 /* numLetters */,
                                                                                                                                      1139 };
                                                                                                                                      1140 
                                                                                                                                      1141 //---------------------------------------------------------------------------
                                                                                                                                      1142 // Policy name: Canada
                                                                                                                                      1143 // Rules: 5
                                                                                                                                      1144 // Memory (8-bit): 51
                                                                                                                                      1145 // Memory (32-bit): 72
                                                                                                                                      1146 //---------------------------------------------------------------------------
                                                                                                                                      1147 
                                                                                                                                      1148 static const basic::ZoneRule kZoneRulesCanada[] ACE_TIME_PROGMEM = {
                                                                                                                                      1149  // Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
                                                                                                                                      1150  {
                                                                                                                                      1151  -26 /*fromYearTiny*/,
                                                                                                                                      1152  -14 /*toYearTiny*/,
                                                                                                                                      1153  4 /*inMonth*/,
                                                                                                                                      1154  7 /*onDayOfWeek*/,
                                                                                                                                      1155  0 /*onDayOfMonth*/,
                                                                                                                                      1156  8 /*atTimeCode*/,
                                                                                                                                      1157  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1158  4 /*deltaCode*/,
                                                                                                                                      1159  'D' /*letter*/,
                                                                                                                                      1160  },
                                                                                                                                      1161  // Rule Canada 1974 2006 - Oct lastSun 2:00 0 S
                                                                                                                                      1162  {
                                                                                                                                      1163  -26 /*fromYearTiny*/,
                                                                                                                                      1164  6 /*toYearTiny*/,
                                                                                                                                      1165  10 /*inMonth*/,
                                                                                                                                      1166  7 /*onDayOfWeek*/,
                                                                                                                                      1167  0 /*onDayOfMonth*/,
                                                                                                                                      1168  8 /*atTimeCode*/,
                                                                                                                                      1169  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1170  0 /*deltaCode*/,
                                                                                                                                      1171  'S' /*letter*/,
                                                                                                                                      1172  },
                                                                                                                                      1173  // Rule Canada 1987 2006 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      1174  {
                                                                                                                                      1175  -13 /*fromYearTiny*/,
                                                                                                                                      1176  6 /*toYearTiny*/,
                                                                                                                                      1177  4 /*inMonth*/,
                                                                                                                                      1178  7 /*onDayOfWeek*/,
                                                                                                                                      1179  1 /*onDayOfMonth*/,
                                                                                                                                      1180  8 /*atTimeCode*/,
                                                                                                                                      1181  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1182  4 /*deltaCode*/,
                                                                                                                                      1183  'D' /*letter*/,
                                                                                                                                      1184  },
                                                                                                                                      1185  // Rule Canada 2007 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      1186  {
                                                                                                                                      1187  7 /*fromYearTiny*/,
                                                                                                                                      1188  126 /*toYearTiny*/,
                                                                                                                                      1189  3 /*inMonth*/,
                                                                                                                                      1190  7 /*onDayOfWeek*/,
                                                                                                                                      1191  8 /*onDayOfMonth*/,
                                                                                                                                      1192  8 /*atTimeCode*/,
                                                                                                                                      1193  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1194  4 /*deltaCode*/,
                                                                                                                                      1195  'D' /*letter*/,
                                                                                                                                      1196  },
                                                                                                                                      1197  // Rule Canada 2007 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      1198  {
                                                                                                                                      1199  7 /*fromYearTiny*/,
                                                                                                                                      1200  126 /*toYearTiny*/,
                                                                                                                                      1201  11 /*inMonth*/,
                                                                                                                                      1202  7 /*onDayOfWeek*/,
                                                                                                                                      1203  1 /*onDayOfMonth*/,
                                                                                                                                      1204  8 /*atTimeCode*/,
                                                                                                                                      1205  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1206  0 /*deltaCode*/,
                                                                                                                                      1207  'S' /*letter*/,
                                                                                                                                      1208  },
                                                                                                                                      1209 
                                                                                                                                      1210 };
                                                                                                                                      1211 
                                                                                                                                      1212 
                                                                                                                                      1213 
                                                                                                                                      1214 const basic::ZonePolicy kPolicyCanada ACE_TIME_PROGMEM = {
                                                                                                                                      1215  kZoneRulesCanada /*rules*/,
                                                                                                                                      1216  nullptr /* letters */,
                                                                                                                                      1217  5 /*numRules*/,
                                                                                                                                      1218  0 /* numLetters */,
                                                                                                                                      1219 };
                                                                                                                                      1220 
                                                                                                                                      1221 //---------------------------------------------------------------------------
                                                                                                                                      1222 // Policy name: Chatham
                                                                                                                                      1223 // Rules: 5
                                                                                                                                      1224 // Memory (8-bit): 51
                                                                                                                                      1225 // Memory (32-bit): 72
                                                                                                                                      1226 //---------------------------------------------------------------------------
                                                                                                                                      1227 
                                                                                                                                      1228 static const basic::ZoneRule kZoneRulesChatham[] ACE_TIME_PROGMEM = {
                                                                                                                                      1229  // Rule Chatham 1989 only - Oct Sun>=8 2:45s 1:00 -
                                                                                                                                      1230  {
                                                                                                                                      1231  -11 /*fromYearTiny*/,
                                                                                                                                      1232  -11 /*toYearTiny*/,
                                                                                                                                      1233  10 /*inMonth*/,
                                                                                                                                      1234  7 /*onDayOfWeek*/,
                                                                                                                                      1235  8 /*onDayOfMonth*/,
                                                                                                                                      1236  11 /*atTimeCode*/,
                                                                                                                                      1237  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1238  4 /*deltaCode*/,
                                                                                                                                      1239  '-' /*letter*/,
                                                                                                                                      1240  },
                                                                                                                                      1241  // Rule Chatham 1990 2006 - Oct Sun>=1 2:45s 1:00 -
                                                                                                                                      1242  {
                                                                                                                                      1243  -10 /*fromYearTiny*/,
                                                                                                                                      1244  6 /*toYearTiny*/,
                                                                                                                                      1245  10 /*inMonth*/,
                                                                                                                                      1246  7 /*onDayOfWeek*/,
                                                                                                                                      1247  1 /*onDayOfMonth*/,
                                                                                                                                      1248  11 /*atTimeCode*/,
                                                                                                                                      1249  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1250  4 /*deltaCode*/,
                                                                                                                                      1251  '-' /*letter*/,
                                                                                                                                      1252  },
                                                                                                                                      1253  // Rule Chatham 1990 2007 - Mar Sun>=15 2:45s 0 -
                                                                                                                                      1254  {
                                                                                                                                      1255  -10 /*fromYearTiny*/,
                                                                                                                                      1256  7 /*toYearTiny*/,
                                                                                                                                      1257  3 /*inMonth*/,
                                                                                                                                      1258  7 /*onDayOfWeek*/,
                                                                                                                                      1259  15 /*onDayOfMonth*/,
                                                                                                                                      1260  11 /*atTimeCode*/,
                                                                                                                                      1261  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1262  0 /*deltaCode*/,
                                                                                                                                      1263  '-' /*letter*/,
                                                                                                                                      1264  },
                                                                                                                                      1265  // Rule Chatham 2007 max - Sep lastSun 2:45s 1:00 -
                                                                                                                                      1266  {
                                                                                                                                      1267  7 /*fromYearTiny*/,
                                                                                                                                      1268  126 /*toYearTiny*/,
                                                                                                                                      1269  9 /*inMonth*/,
                                                                                                                                      1270  7 /*onDayOfWeek*/,
                                                                                                                                      1271  0 /*onDayOfMonth*/,
                                                                                                                                      1272  11 /*atTimeCode*/,
                                                                                                                                      1273  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1274  4 /*deltaCode*/,
                                                                                                                                      1275  '-' /*letter*/,
                                                                                                                                      1276  },
                                                                                                                                      1277  // Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
                                                                                                                                      1278  {
                                                                                                                                      1279  8 /*fromYearTiny*/,
                                                                                                                                      1280  126 /*toYearTiny*/,
                                                                                                                                      1281  4 /*inMonth*/,
                                                                                                                                      1282  7 /*onDayOfWeek*/,
                                                                                                                                      1283  1 /*onDayOfMonth*/,
                                                                                                                                      1284  11 /*atTimeCode*/,
                                                                                                                                      1285  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1286  0 /*deltaCode*/,
                                                                                                                                      1287  '-' /*letter*/,
                                                                                                                                      1288  },
                                                                                                                                      1289 
                                                                                                                                      1290 };
                                                                                                                                      1291 
                                                                                                                                      1292 
                                                                                                                                      1293 
                                                                                                                                      1294 const basic::ZonePolicy kPolicyChatham ACE_TIME_PROGMEM = {
                                                                                                                                      1295  kZoneRulesChatham /*rules*/,
                                                                                                                                      1296  nullptr /* letters */,
                                                                                                                                      1297  5 /*numRules*/,
                                                                                                                                      1298  0 /* numLetters */,
                                                                                                                                      1299 };
                                                                                                                                      1300 
                                                                                                                                      1301 //---------------------------------------------------------------------------
                                                                                                                                      1302 // Policy name: Chile
                                                                                                                                      1303 // Rules: 15
                                                                                                                                      1304 // Memory (8-bit): 141
                                                                                                                                      1305 // Memory (32-bit): 192
                                                                                                                                      1306 //---------------------------------------------------------------------------
                                                                                                                                      1307 
                                                                                                                                      1308 static const basic::ZoneRule kZoneRulesChile[] ACE_TIME_PROGMEM = {
                                                                                                                                      1309  // Rule Chile 1998 only - Sep 27 4:00u 1:00 -
                                                                                                                                      1310  {
                                                                                                                                      1311  -2 /*fromYearTiny*/,
                                                                                                                                      1312  -2 /*toYearTiny*/,
                                                                                                                                      1313  9 /*inMonth*/,
                                                                                                                                      1314  0 /*onDayOfWeek*/,
                                                                                                                                      1315  27 /*onDayOfMonth*/,
                                                                                                                                      1316  16 /*atTimeCode*/,
                                                                                                                                      1317  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1318  4 /*deltaCode*/,
                                                                                                                                      1319  '-' /*letter*/,
                                                                                                                                      1320  },
                                                                                                                                      1321  // Rule Chile 1999 only - Apr 4 3:00u 0 -
                                                                                                                                      1322  {
                                                                                                                                      1323  -1 /*fromYearTiny*/,
                                                                                                                                      1324  -1 /*toYearTiny*/,
                                                                                                                                      1325  4 /*inMonth*/,
                                                                                                                                      1326  0 /*onDayOfWeek*/,
                                                                                                                                      1327  4 /*onDayOfMonth*/,
                                                                                                                                      1328  12 /*atTimeCode*/,
                                                                                                                                      1329  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1330  0 /*deltaCode*/,
                                                                                                                                      1331  '-' /*letter*/,
                                                                                                                                      1332  },
                                                                                                                                      1333  // Rule Chile 1999 2010 - Oct Sun>=9 4:00u 1:00 -
                                                                                                                                      1334  {
                                                                                                                                      1335  -1 /*fromYearTiny*/,
                                                                                                                                      1336  10 /*toYearTiny*/,
                                                                                                                                      1337  10 /*inMonth*/,
                                                                                                                                      1338  7 /*onDayOfWeek*/,
                                                                                                                                      1339  9 /*onDayOfMonth*/,
                                                                                                                                      1340  16 /*atTimeCode*/,
                                                                                                                                      1341  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1342  4 /*deltaCode*/,
                                                                                                                                      1343  '-' /*letter*/,
                                                                                                                                      1344  },
                                                                                                                                      1345  // Rule Chile 2000 2007 - Mar Sun>=9 3:00u 0 -
                                                                                                                                      1346  {
                                                                                                                                      1347  0 /*fromYearTiny*/,
                                                                                                                                      1348  7 /*toYearTiny*/,
                                                                                                                                      1349  3 /*inMonth*/,
                                                                                                                                      1350  7 /*onDayOfWeek*/,
                                                                                                                                      1351  9 /*onDayOfMonth*/,
                                                                                                                                      1352  12 /*atTimeCode*/,
                                                                                                                                      1353  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1354  0 /*deltaCode*/,
                                                                                                                                      1355  '-' /*letter*/,
                                                                                                                                      1356  },
                                                                                                                                      1357  // Rule Chile 2008 only - Mar 30 3:00u 0 -
                                                                                                                                      1358  {
                                                                                                                                      1359  8 /*fromYearTiny*/,
                                                                                                                                      1360  8 /*toYearTiny*/,
                                                                                                                                      1361  3 /*inMonth*/,
                                                                                                                                      1362  0 /*onDayOfWeek*/,
                                                                                                                                      1363  30 /*onDayOfMonth*/,
                                                                                                                                      1364  12 /*atTimeCode*/,
                                                                                                                                      1365  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1366  0 /*deltaCode*/,
                                                                                                                                      1367  '-' /*letter*/,
                                                                                                                                      1368  },
                                                                                                                                      1369  // Rule Chile 2009 only - Mar Sun>=9 3:00u 0 -
                                                                                                                                      1370  {
                                                                                                                                      1371  9 /*fromYearTiny*/,
                                                                                                                                      1372  9 /*toYearTiny*/,
                                                                                                                                      1373  3 /*inMonth*/,
                                                                                                                                      1374  7 /*onDayOfWeek*/,
                                                                                                                                      1375  9 /*onDayOfMonth*/,
                                                                                                                                      1376  12 /*atTimeCode*/,
                                                                                                                                      1377  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1378  0 /*deltaCode*/,
                                                                                                                                      1379  '-' /*letter*/,
                                                                                                                                      1380  },
                                                                                                                                      1381  // Rule Chile 2010 only - Apr Sun>=1 3:00u 0 -
                                                                                                                                      1382  {
                                                                                                                                      1383  10 /*fromYearTiny*/,
                                                                                                                                      1384  10 /*toYearTiny*/,
                                                                                                                                      1385  4 /*inMonth*/,
                                                                                                                                      1386  7 /*onDayOfWeek*/,
                                                                                                                                      1387  1 /*onDayOfMonth*/,
                                                                                                                                      1388  12 /*atTimeCode*/,
                                                                                                                                      1389  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1390  0 /*deltaCode*/,
                                                                                                                                      1391  '-' /*letter*/,
                                                                                                                                      1392  },
                                                                                                                                      1393  // Rule Chile 2011 only - May Sun>=2 3:00u 0 -
                                                                                                                                      1394  {
                                                                                                                                      1395  11 /*fromYearTiny*/,
                                                                                                                                      1396  11 /*toYearTiny*/,
                                                                                                                                      1397  5 /*inMonth*/,
                                                                                                                                      1398  7 /*onDayOfWeek*/,
                                                                                                                                      1399  2 /*onDayOfMonth*/,
                                                                                                                                      1400  12 /*atTimeCode*/,
                                                                                                                                      1401  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1402  0 /*deltaCode*/,
                                                                                                                                      1403  '-' /*letter*/,
                                                                                                                                      1404  },
                                                                                                                                      1405  // Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 -
                                                                                                                                      1406  {
                                                                                                                                      1407  11 /*fromYearTiny*/,
                                                                                                                                      1408  11 /*toYearTiny*/,
                                                                                                                                      1409  8 /*inMonth*/,
                                                                                                                                      1410  7 /*onDayOfWeek*/,
                                                                                                                                      1411  16 /*onDayOfMonth*/,
                                                                                                                                      1412  16 /*atTimeCode*/,
                                                                                                                                      1413  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1414  4 /*deltaCode*/,
                                                                                                                                      1415  '-' /*letter*/,
                                                                                                                                      1416  },
                                                                                                                                      1417  // Rule Chile 2012 2014 - Apr Sun>=23 3:00u 0 -
                                                                                                                                      1418  {
                                                                                                                                      1419  12 /*fromYearTiny*/,
                                                                                                                                      1420  14 /*toYearTiny*/,
                                                                                                                                      1421  4 /*inMonth*/,
                                                                                                                                      1422  7 /*onDayOfWeek*/,
                                                                                                                                      1423  23 /*onDayOfMonth*/,
                                                                                                                                      1424  12 /*atTimeCode*/,
                                                                                                                                      1425  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1426  0 /*deltaCode*/,
                                                                                                                                      1427  '-' /*letter*/,
                                                                                                                                      1428  },
                                                                                                                                      1429  // Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 -
                                                                                                                                      1430  {
                                                                                                                                      1431  12 /*fromYearTiny*/,
                                                                                                                                      1432  14 /*toYearTiny*/,
                                                                                                                                      1433  9 /*inMonth*/,
                                                                                                                                      1434  7 /*onDayOfWeek*/,
                                                                                                                                      1435  2 /*onDayOfMonth*/,
                                                                                                                                      1436  16 /*atTimeCode*/,
                                                                                                                                      1437  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1438  4 /*deltaCode*/,
                                                                                                                                      1439  '-' /*letter*/,
                                                                                                                                      1440  },
                                                                                                                                      1441  // Rule Chile 2016 2018 - May Sun>=9 3:00u 0 -
                                                                                                                                      1442  {
                                                                                                                                      1443  16 /*fromYearTiny*/,
                                                                                                                                      1444  18 /*toYearTiny*/,
                                                                                                                                      1445  5 /*inMonth*/,
                                                                                                                                      1446  7 /*onDayOfWeek*/,
                                                                                                                                      1447  9 /*onDayOfMonth*/,
                                                                                                                                      1448  12 /*atTimeCode*/,
                                                                                                                                      1449  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1450  0 /*deltaCode*/,
                                                                                                                                      1451  '-' /*letter*/,
                                                                                                                                      1452  },
                                                                                                                                      1453  // Rule Chile 2016 2018 - Aug Sun>=9 4:00u 1:00 -
                                                                                                                                      1454  {
                                                                                                                                      1455  16 /*fromYearTiny*/,
                                                                                                                                      1456  18 /*toYearTiny*/,
                                                                                                                                      1457  8 /*inMonth*/,
                                                                                                                                      1458  7 /*onDayOfWeek*/,
                                                                                                                                      1459  9 /*onDayOfMonth*/,
                                                                                                                                      1460  16 /*atTimeCode*/,
                                                                                                                                      1461  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1462  4 /*deltaCode*/,
                                                                                                                                      1463  '-' /*letter*/,
                                                                                                                                      1464  },
                                                                                                                                      1465  // Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
                                                                                                                                      1466  {
                                                                                                                                      1467  19 /*fromYearTiny*/,
                                                                                                                                      1468  126 /*toYearTiny*/,
                                                                                                                                      1469  4 /*inMonth*/,
                                                                                                                                      1470  7 /*onDayOfWeek*/,
                                                                                                                                      1471  2 /*onDayOfMonth*/,
                                                                                                                                      1472  12 /*atTimeCode*/,
                                                                                                                                      1473  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1474  0 /*deltaCode*/,
                                                                                                                                      1475  '-' /*letter*/,
                                                                                                                                      1476  },
                                                                                                                                      1477  // Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
                                                                                                                                      1478  {
                                                                                                                                      1479  19 /*fromYearTiny*/,
                                                                                                                                      1480  126 /*toYearTiny*/,
                                                                                                                                      1481  9 /*inMonth*/,
                                                                                                                                      1482  7 /*onDayOfWeek*/,
                                                                                                                                      1483  2 /*onDayOfMonth*/,
                                                                                                                                      1484  16 /*atTimeCode*/,
                                                                                                                                      1485  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1486  4 /*deltaCode*/,
                                                                                                                                      1487  '-' /*letter*/,
                                                                                                                                      1488  },
                                                                                                                                      1489 
                                                                                                                                      1490 };
                                                                                                                                      1491 
                                                                                                                                      1492 
                                                                                                                                      1493 
                                                                                                                                      1494 const basic::ZonePolicy kPolicyChile ACE_TIME_PROGMEM = {
                                                                                                                                      1495  kZoneRulesChile /*rules*/,
                                                                                                                                      1496  nullptr /* letters */,
                                                                                                                                      1497  15 /*numRules*/,
                                                                                                                                      1498  0 /* numLetters */,
                                                                                                                                      1499 };
                                                                                                                                      1500 
                                                                                                                                      1501 //---------------------------------------------------------------------------
                                                                                                                                      1502 // Policy name: Cook
                                                                                                                                      1503 // Rules: 1
                                                                                                                                      1504 // Memory (8-bit): 15
                                                                                                                                      1505 // Memory (32-bit): 24
                                                                                                                                      1506 //---------------------------------------------------------------------------
                                                                                                                                      1507 
                                                                                                                                      1508 static const basic::ZoneRule kZoneRulesCook[] ACE_TIME_PROGMEM = {
                                                                                                                                      1509  // Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
                                                                                                                                      1510  {
                                                                                                                                      1511  -21 /*fromYearTiny*/,
                                                                                                                                      1512  -9 /*toYearTiny*/,
                                                                                                                                      1513  3 /*inMonth*/,
                                                                                                                                      1514  7 /*onDayOfWeek*/,
                                                                                                                                      1515  1 /*onDayOfMonth*/,
                                                                                                                                      1516  0 /*atTimeCode*/,
                                                                                                                                      1517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1518  0 /*deltaCode*/,
                                                                                                                                      1519  '-' /*letter*/,
                                                                                                                                      1520  },
                                                                                                                                      1521 
                                                                                                                                      1522 };
                                                                                                                                      1523 
                                                                                                                                      1524 
                                                                                                                                      1525 
                                                                                                                                      1526 const basic::ZonePolicy kPolicyCook ACE_TIME_PROGMEM = {
                                                                                                                                      1527  kZoneRulesCook /*rules*/,
                                                                                                                                      1528  nullptr /* letters */,
                                                                                                                                      1529  1 /*numRules*/,
                                                                                                                                      1530  0 /* numLetters */,
                                                                                                                                      1531 };
                                                                                                                                      1532 
                                                                                                                                      1533 //---------------------------------------------------------------------------
                                                                                                                                      1534 // Policy name: Cuba
                                                                                                                                      1535 // Rules: 14
                                                                                                                                      1536 // Memory (8-bit): 132
                                                                                                                                      1537 // Memory (32-bit): 180
                                                                                                                                      1538 //---------------------------------------------------------------------------
                                                                                                                                      1539 
                                                                                                                                      1540 static const basic::ZoneRule kZoneRulesCuba[] ACE_TIME_PROGMEM = {
                                                                                                                                      1541  // Rule Cuba 1997 only - Oct 12 0:00s 0 S
                                                                                                                                      1542  {
                                                                                                                                      1543  -3 /*fromYearTiny*/,
                                                                                                                                      1544  -3 /*toYearTiny*/,
                                                                                                                                      1545  10 /*inMonth*/,
                                                                                                                                      1546  0 /*onDayOfWeek*/,
                                                                                                                                      1547  12 /*onDayOfMonth*/,
                                                                                                                                      1548  0 /*atTimeCode*/,
                                                                                                                                      1549  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1550  0 /*deltaCode*/,
                                                                                                                                      1551  'S' /*letter*/,
                                                                                                                                      1552  },
                                                                                                                                      1553  // Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D
                                                                                                                                      1554  {
                                                                                                                                      1555  -2 /*fromYearTiny*/,
                                                                                                                                      1556  -1 /*toYearTiny*/,
                                                                                                                                      1557  3 /*inMonth*/,
                                                                                                                                      1558  7 /*onDayOfWeek*/,
                                                                                                                                      1559  0 /*onDayOfMonth*/,
                                                                                                                                      1560  0 /*atTimeCode*/,
                                                                                                                                      1561  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1562  4 /*deltaCode*/,
                                                                                                                                      1563  'D' /*letter*/,
                                                                                                                                      1564  },
                                                                                                                                      1565  // Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S
                                                                                                                                      1566  {
                                                                                                                                      1567  -2 /*fromYearTiny*/,
                                                                                                                                      1568  3 /*toYearTiny*/,
                                                                                                                                      1569  10 /*inMonth*/,
                                                                                                                                      1570  7 /*onDayOfWeek*/,
                                                                                                                                      1571  0 /*onDayOfMonth*/,
                                                                                                                                      1572  0 /*atTimeCode*/,
                                                                                                                                      1573  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1574  0 /*deltaCode*/,
                                                                                                                                      1575  'S' /*letter*/,
                                                                                                                                      1576  },
                                                                                                                                      1577  // Rule Cuba 2000 2003 - Apr Sun>=1 0:00s 1:00 D
                                                                                                                                      1578  {
                                                                                                                                      1579  0 /*fromYearTiny*/,
                                                                                                                                      1580  3 /*toYearTiny*/,
                                                                                                                                      1581  4 /*inMonth*/,
                                                                                                                                      1582  7 /*onDayOfWeek*/,
                                                                                                                                      1583  1 /*onDayOfMonth*/,
                                                                                                                                      1584  0 /*atTimeCode*/,
                                                                                                                                      1585  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1586  4 /*deltaCode*/,
                                                                                                                                      1587  'D' /*letter*/,
                                                                                                                                      1588  },
                                                                                                                                      1589  // Rule Cuba 2004 only - Mar lastSun 0:00s 1:00 D
                                                                                                                                      1590  {
                                                                                                                                      1591  4 /*fromYearTiny*/,
                                                                                                                                      1592  4 /*toYearTiny*/,
                                                                                                                                      1593  3 /*inMonth*/,
                                                                                                                                      1594  7 /*onDayOfWeek*/,
                                                                                                                                      1595  0 /*onDayOfMonth*/,
                                                                                                                                      1596  0 /*atTimeCode*/,
                                                                                                                                      1597  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1598  4 /*deltaCode*/,
                                                                                                                                      1599  'D' /*letter*/,
                                                                                                                                      1600  },
                                                                                                                                      1601  // Rule Cuba 2006 2010 - Oct lastSun 0:00s 0 S
                                                                                                                                      1602  {
                                                                                                                                      1603  6 /*fromYearTiny*/,
                                                                                                                                      1604  10 /*toYearTiny*/,
                                                                                                                                      1605  10 /*inMonth*/,
                                                                                                                                      1606  7 /*onDayOfWeek*/,
                                                                                                                                      1607  0 /*onDayOfMonth*/,
                                                                                                                                      1608  0 /*atTimeCode*/,
                                                                                                                                      1609  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1610  0 /*deltaCode*/,
                                                                                                                                      1611  'S' /*letter*/,
                                                                                                                                      1612  },
                                                                                                                                      1613  // Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D
                                                                                                                                      1614  {
                                                                                                                                      1615  7 /*fromYearTiny*/,
                                                                                                                                      1616  7 /*toYearTiny*/,
                                                                                                                                      1617  3 /*inMonth*/,
                                                                                                                                      1618  7 /*onDayOfWeek*/,
                                                                                                                                      1619  8 /*onDayOfMonth*/,
                                                                                                                                      1620  0 /*atTimeCode*/,
                                                                                                                                      1621  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1622  4 /*deltaCode*/,
                                                                                                                                      1623  'D' /*letter*/,
                                                                                                                                      1624  },
                                                                                                                                      1625  // Rule Cuba 2008 only - Mar Sun>=15 0:00s 1:00 D
                                                                                                                                      1626  {
                                                                                                                                      1627  8 /*fromYearTiny*/,
                                                                                                                                      1628  8 /*toYearTiny*/,
                                                                                                                                      1629  3 /*inMonth*/,
                                                                                                                                      1630  7 /*onDayOfWeek*/,
                                                                                                                                      1631  15 /*onDayOfMonth*/,
                                                                                                                                      1632  0 /*atTimeCode*/,
                                                                                                                                      1633  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1634  4 /*deltaCode*/,
                                                                                                                                      1635  'D' /*letter*/,
                                                                                                                                      1636  },
                                                                                                                                      1637  // Rule Cuba 2009 2010 - Mar Sun>=8 0:00s 1:00 D
                                                                                                                                      1638  {
                                                                                                                                      1639  9 /*fromYearTiny*/,
                                                                                                                                      1640  10 /*toYearTiny*/,
                                                                                                                                      1641  3 /*inMonth*/,
                                                                                                                                      1642  7 /*onDayOfWeek*/,
                                                                                                                                      1643  8 /*onDayOfMonth*/,
                                                                                                                                      1644  0 /*atTimeCode*/,
                                                                                                                                      1645  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1646  4 /*deltaCode*/,
                                                                                                                                      1647  'D' /*letter*/,
                                                                                                                                      1648  },
                                                                                                                                      1649  // Rule Cuba 2011 only - Mar Sun>=15 0:00s 1:00 D
                                                                                                                                      1650  {
                                                                                                                                      1651  11 /*fromYearTiny*/,
                                                                                                                                      1652  11 /*toYearTiny*/,
                                                                                                                                      1653  3 /*inMonth*/,
                                                                                                                                      1654  7 /*onDayOfWeek*/,
                                                                                                                                      1655  15 /*onDayOfMonth*/,
                                                                                                                                      1656  0 /*atTimeCode*/,
                                                                                                                                      1657  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1658  4 /*deltaCode*/,
                                                                                                                                      1659  'D' /*letter*/,
                                                                                                                                      1660  },
                                                                                                                                      1661  // Rule Cuba 2011 only - Nov 13 0:00s 0 S
                                                                                                                                      1662  {
                                                                                                                                      1663  11 /*fromYearTiny*/,
                                                                                                                                      1664  11 /*toYearTiny*/,
                                                                                                                                      1665  11 /*inMonth*/,
                                                                                                                                      1666  0 /*onDayOfWeek*/,
                                                                                                                                      1667  13 /*onDayOfMonth*/,
                                                                                                                                      1668  0 /*atTimeCode*/,
                                                                                                                                      1669  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1670  0 /*deltaCode*/,
                                                                                                                                      1671  'S' /*letter*/,
                                                                                                                                      1672  },
                                                                                                                                      1673  // Rule Cuba 2012 only - Apr 1 0:00s 1:00 D
                                                                                                                                      1674  {
                                                                                                                                      1675  12 /*fromYearTiny*/,
                                                                                                                                      1676  12 /*toYearTiny*/,
                                                                                                                                      1677  4 /*inMonth*/,
                                                                                                                                      1678  0 /*onDayOfWeek*/,
                                                                                                                                      1679  1 /*onDayOfMonth*/,
                                                                                                                                      1680  0 /*atTimeCode*/,
                                                                                                                                      1681  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1682  4 /*deltaCode*/,
                                                                                                                                      1683  'D' /*letter*/,
                                                                                                                                      1684  },
                                                                                                                                      1685  // Rule Cuba 2012 max - Nov Sun>=1 0:00s 0 S
                                                                                                                                      1686  {
                                                                                                                                      1687  12 /*fromYearTiny*/,
                                                                                                                                      1688  126 /*toYearTiny*/,
                                                                                                                                      1689  11 /*inMonth*/,
                                                                                                                                      1690  7 /*onDayOfWeek*/,
                                                                                                                                      1691  1 /*onDayOfMonth*/,
                                                                                                                                      1692  0 /*atTimeCode*/,
                                                                                                                                      1693  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1694  0 /*deltaCode*/,
                                                                                                                                      1695  'S' /*letter*/,
                                                                                                                                      1696  },
                                                                                                                                      1697  // Rule Cuba 2013 max - Mar Sun>=8 0:00s 1:00 D
                                                                                                                                      1698  {
                                                                                                                                      1699  13 /*fromYearTiny*/,
                                                                                                                                      1700  126 /*toYearTiny*/,
                                                                                                                                      1701  3 /*inMonth*/,
                                                                                                                                      1702  7 /*onDayOfWeek*/,
                                                                                                                                      1703  8 /*onDayOfMonth*/,
                                                                                                                                      1704  0 /*atTimeCode*/,
                                                                                                                                      1705  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      1706  4 /*deltaCode*/,
                                                                                                                                      1707  'D' /*letter*/,
                                                                                                                                      1708  },
                                                                                                                                      1709 
                                                                                                                                      1710 };
                                                                                                                                      1711 
                                                                                                                                      1712 
                                                                                                                                      1713 
                                                                                                                                      1714 const basic::ZonePolicy kPolicyCuba ACE_TIME_PROGMEM = {
                                                                                                                                      1715  kZoneRulesCuba /*rules*/,
                                                                                                                                      1716  nullptr /* letters */,
                                                                                                                                      1717  14 /*numRules*/,
                                                                                                                                      1718  0 /* numLetters */,
                                                                                                                                      1719 };
                                                                                                                                      1720 
                                                                                                                                      1721 //---------------------------------------------------------------------------
                                                                                                                                      1722 // Policy name: Dhaka
                                                                                                                                      1723 // Rules: 3
                                                                                                                                      1724 // Memory (8-bit): 33
                                                                                                                                      1725 // Memory (32-bit): 48
                                                                                                                                      1726 //---------------------------------------------------------------------------
                                                                                                                                      1727 
                                                                                                                                      1728 static const basic::ZoneRule kZoneRulesDhaka[] ACE_TIME_PROGMEM = {
                                                                                                                                      1729  // Anchor: Rule Dhaka 2009 only - Dec 31 24:00 0 -
                                                                                                                                      1730  {
                                                                                                                                      1731  -127 /*fromYearTiny*/,
                                                                                                                                      1732  -127 /*toYearTiny*/,
                                                                                                                                      1733  1 /*inMonth*/,
                                                                                                                                      1734  0 /*onDayOfWeek*/,
                                                                                                                                      1735  1 /*onDayOfMonth*/,
                                                                                                                                      1736  0 /*atTimeCode*/,
                                                                                                                                      1737  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1738  0 /*deltaCode*/,
                                                                                                                                      1739  '-' /*letter*/,
                                                                                                                                      1740  },
                                                                                                                                      1741  // Rule Dhaka 2009 only - Jun 19 23:00 1:00 -
                                                                                                                                      1742  {
                                                                                                                                      1743  9 /*fromYearTiny*/,
                                                                                                                                      1744  9 /*toYearTiny*/,
                                                                                                                                      1745  6 /*inMonth*/,
                                                                                                                                      1746  0 /*onDayOfWeek*/,
                                                                                                                                      1747  19 /*onDayOfMonth*/,
                                                                                                                                      1748  92 /*atTimeCode*/,
                                                                                                                                      1749  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1750  4 /*deltaCode*/,
                                                                                                                                      1751  '-' /*letter*/,
                                                                                                                                      1752  },
                                                                                                                                      1753  // Rule Dhaka 2009 only - Dec 31 24:00 0 -
                                                                                                                                      1754  {
                                                                                                                                      1755  9 /*fromYearTiny*/,
                                                                                                                                      1756  9 /*toYearTiny*/,
                                                                                                                                      1757  12 /*inMonth*/,
                                                                                                                                      1758  0 /*onDayOfWeek*/,
                                                                                                                                      1759  31 /*onDayOfMonth*/,
                                                                                                                                      1760  96 /*atTimeCode*/,
                                                                                                                                      1761  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1762  0 /*deltaCode*/,
                                                                                                                                      1763  '-' /*letter*/,
                                                                                                                                      1764  },
                                                                                                                                      1765 
                                                                                                                                      1766 };
                                                                                                                                      1767 
                                                                                                                                      1768 
                                                                                                                                      1769 
                                                                                                                                      1770 const basic::ZonePolicy kPolicyDhaka ACE_TIME_PROGMEM = {
                                                                                                                                      1771  kZoneRulesDhaka /*rules*/,
                                                                                                                                      1772  nullptr /* letters */,
                                                                                                                                      1773  3 /*numRules*/,
                                                                                                                                      1774  0 /* numLetters */,
                                                                                                                                      1775 };
                                                                                                                                      1776 
                                                                                                                                      1777 //---------------------------------------------------------------------------
                                                                                                                                      1778 // Policy name: EU
                                                                                                                                      1779 // Rules: 3
                                                                                                                                      1780 // Memory (8-bit): 33
                                                                                                                                      1781 // Memory (32-bit): 48
                                                                                                                                      1782 //---------------------------------------------------------------------------
                                                                                                                                      1783 
                                                                                                                                      1784 static const basic::ZoneRule kZoneRulesEU[] ACE_TIME_PROGMEM = {
                                                                                                                                      1785  // Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
                                                                                                                                      1786  {
                                                                                                                                      1787  -21 /*fromYearTiny*/,
                                                                                                                                      1788  -5 /*toYearTiny*/,
                                                                                                                                      1789  9 /*inMonth*/,
                                                                                                                                      1790  7 /*onDayOfWeek*/,
                                                                                                                                      1791  0 /*onDayOfMonth*/,
                                                                                                                                      1792  4 /*atTimeCode*/,
                                                                                                                                      1793  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1794  0 /*deltaCode*/,
                                                                                                                                      1795  '-' /*letter*/,
                                                                                                                                      1796  },
                                                                                                                                      1797  // Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
                                                                                                                                      1798  {
                                                                                                                                      1799  -19 /*fromYearTiny*/,
                                                                                                                                      1800  126 /*toYearTiny*/,
                                                                                                                                      1801  3 /*inMonth*/,
                                                                                                                                      1802  7 /*onDayOfWeek*/,
                                                                                                                                      1803  0 /*onDayOfMonth*/,
                                                                                                                                      1804  4 /*atTimeCode*/,
                                                                                                                                      1805  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1806  4 /*deltaCode*/,
                                                                                                                                      1807  'S' /*letter*/,
                                                                                                                                      1808  },
                                                                                                                                      1809  // Rule EU 1996 max - Oct lastSun 1:00u 0 -
                                                                                                                                      1810  {
                                                                                                                                      1811  -4 /*fromYearTiny*/,
                                                                                                                                      1812  126 /*toYearTiny*/,
                                                                                                                                      1813  10 /*inMonth*/,
                                                                                                                                      1814  7 /*onDayOfWeek*/,
                                                                                                                                      1815  0 /*onDayOfMonth*/,
                                                                                                                                      1816  4 /*atTimeCode*/,
                                                                                                                                      1817  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1818  0 /*deltaCode*/,
                                                                                                                                      1819  '-' /*letter*/,
                                                                                                                                      1820  },
                                                                                                                                      1821 
                                                                                                                                      1822 };
                                                                                                                                      1823 
                                                                                                                                      1824 
                                                                                                                                      1825 
                                                                                                                                      1826 const basic::ZonePolicy kPolicyEU ACE_TIME_PROGMEM = {
                                                                                                                                      1827  kZoneRulesEU /*rules*/,
                                                                                                                                      1828  nullptr /* letters */,
                                                                                                                                      1829  3 /*numRules*/,
                                                                                                                                      1830  0 /* numLetters */,
                                                                                                                                      1831 };
                                                                                                                                      1832 
                                                                                                                                      1833 //---------------------------------------------------------------------------
                                                                                                                                      1834 // Policy name: EUAsia
                                                                                                                                      1835 // Rules: 3
                                                                                                                                      1836 // Memory (8-bit): 33
                                                                                                                                      1837 // Memory (32-bit): 48
                                                                                                                                      1838 //---------------------------------------------------------------------------
                                                                                                                                      1839 
                                                                                                                                      1840 static const basic::ZoneRule kZoneRulesEUAsia[] ACE_TIME_PROGMEM = {
                                                                                                                                      1841  // Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S
                                                                                                                                      1842  {
                                                                                                                                      1843  -19 /*fromYearTiny*/,
                                                                                                                                      1844  126 /*toYearTiny*/,
                                                                                                                                      1845  3 /*inMonth*/,
                                                                                                                                      1846  7 /*onDayOfWeek*/,
                                                                                                                                      1847  0 /*onDayOfMonth*/,
                                                                                                                                      1848  4 /*atTimeCode*/,
                                                                                                                                      1849  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1850  4 /*deltaCode*/,
                                                                                                                                      1851  'S' /*letter*/,
                                                                                                                                      1852  },
                                                                                                                                      1853  // Rule EUAsia 1979 1995 - Sep lastSun 1:00u 0 -
                                                                                                                                      1854  {
                                                                                                                                      1855  -21 /*fromYearTiny*/,
                                                                                                                                      1856  -5 /*toYearTiny*/,
                                                                                                                                      1857  9 /*inMonth*/,
                                                                                                                                      1858  7 /*onDayOfWeek*/,
                                                                                                                                      1859  0 /*onDayOfMonth*/,
                                                                                                                                      1860  4 /*atTimeCode*/,
                                                                                                                                      1861  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1862  0 /*deltaCode*/,
                                                                                                                                      1863  '-' /*letter*/,
                                                                                                                                      1864  },
                                                                                                                                      1865  // Rule EUAsia 1996 max - Oct lastSun 1:00u 0 -
                                                                                                                                      1866  {
                                                                                                                                      1867  -4 /*fromYearTiny*/,
                                                                                                                                      1868  126 /*toYearTiny*/,
                                                                                                                                      1869  10 /*inMonth*/,
                                                                                                                                      1870  7 /*onDayOfWeek*/,
                                                                                                                                      1871  0 /*onDayOfMonth*/,
                                                                                                                                      1872  4 /*atTimeCode*/,
                                                                                                                                      1873  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1874  0 /*deltaCode*/,
                                                                                                                                      1875  '-' /*letter*/,
                                                                                                                                      1876  },
                                                                                                                                      1877 
                                                                                                                                      1878 };
                                                                                                                                      1879 
                                                                                                                                      1880 
                                                                                                                                      1881 
                                                                                                                                      1882 const basic::ZonePolicy kPolicyEUAsia ACE_TIME_PROGMEM = {
                                                                                                                                      1883  kZoneRulesEUAsia /*rules*/,
                                                                                                                                      1884  nullptr /* letters */,
                                                                                                                                      1885  3 /*numRules*/,
                                                                                                                                      1886  0 /* numLetters */,
                                                                                                                                      1887 };
                                                                                                                                      1888 
                                                                                                                                      1889 //---------------------------------------------------------------------------
                                                                                                                                      1890 // Policy name: Ecuador
                                                                                                                                      1891 // Rules: 1
                                                                                                                                      1892 // Memory (8-bit): 15
                                                                                                                                      1893 // Memory (32-bit): 24
                                                                                                                                      1894 //---------------------------------------------------------------------------
                                                                                                                                      1895 
                                                                                                                                      1896 static const basic::ZoneRule kZoneRulesEcuador[] ACE_TIME_PROGMEM = {
                                                                                                                                      1897  // Rule Ecuador 1993 only - Feb 5 0:00 0 -
                                                                                                                                      1898  {
                                                                                                                                      1899  -7 /*fromYearTiny*/,
                                                                                                                                      1900  -7 /*toYearTiny*/,
                                                                                                                                      1901  2 /*inMonth*/,
                                                                                                                                      1902  0 /*onDayOfWeek*/,
                                                                                                                                      1903  5 /*onDayOfMonth*/,
                                                                                                                                      1904  0 /*atTimeCode*/,
                                                                                                                                      1905  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1906  0 /*deltaCode*/,
                                                                                                                                      1907  '-' /*letter*/,
                                                                                                                                      1908  },
                                                                                                                                      1909 
                                                                                                                                      1910 };
                                                                                                                                      1911 
                                                                                                                                      1912 
                                                                                                                                      1913 
                                                                                                                                      1914 const basic::ZonePolicy kPolicyEcuador ACE_TIME_PROGMEM = {
                                                                                                                                      1915  kZoneRulesEcuador /*rules*/,
                                                                                                                                      1916  nullptr /* letters */,
                                                                                                                                      1917  1 /*numRules*/,
                                                                                                                                      1918  0 /* numLetters */,
                                                                                                                                      1919 };
                                                                                                                                      1920 
                                                                                                                                      1921 //---------------------------------------------------------------------------
                                                                                                                                      1922 // Policy name: Eire
                                                                                                                                      1923 // Rules: 3
                                                                                                                                      1924 // Memory (8-bit): 33
                                                                                                                                      1925 // Memory (32-bit): 48
                                                                                                                                      1926 //---------------------------------------------------------------------------
                                                                                                                                      1927 
                                                                                                                                      1928 static const basic::ZoneRule kZoneRulesEire[] ACE_TIME_PROGMEM = {
                                                                                                                                      1929  // Rule Eire 1981 max - Mar lastSun 1:00u 0 -
                                                                                                                                      1930  {
                                                                                                                                      1931  -19 /*fromYearTiny*/,
                                                                                                                                      1932  126 /*toYearTiny*/,
                                                                                                                                      1933  3 /*inMonth*/,
                                                                                                                                      1934  7 /*onDayOfWeek*/,
                                                                                                                                      1935  0 /*onDayOfMonth*/,
                                                                                                                                      1936  4 /*atTimeCode*/,
                                                                                                                                      1937  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1938  0 /*deltaCode*/,
                                                                                                                                      1939  '-' /*letter*/,
                                                                                                                                      1940  },
                                                                                                                                      1941  // Rule Eire 1990 1995 - Oct Sun>=22 1:00u -1:00 -
                                                                                                                                      1942  {
                                                                                                                                      1943  -10 /*fromYearTiny*/,
                                                                                                                                      1944  -5 /*toYearTiny*/,
                                                                                                                                      1945  10 /*inMonth*/,
                                                                                                                                      1946  7 /*onDayOfWeek*/,
                                                                                                                                      1947  22 /*onDayOfMonth*/,
                                                                                                                                      1948  4 /*atTimeCode*/,
                                                                                                                                      1949  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1950  -4 /*deltaCode*/,
                                                                                                                                      1951  '-' /*letter*/,
                                                                                                                                      1952  },
                                                                                                                                      1953  // Rule Eire 1996 max - Oct lastSun 1:00u -1:00 -
                                                                                                                                      1954  {
                                                                                                                                      1955  -4 /*fromYearTiny*/,
                                                                                                                                      1956  126 /*toYearTiny*/,
                                                                                                                                      1957  10 /*inMonth*/,
                                                                                                                                      1958  7 /*onDayOfWeek*/,
                                                                                                                                      1959  0 /*onDayOfMonth*/,
                                                                                                                                      1960  4 /*atTimeCode*/,
                                                                                                                                      1961  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      1962  -4 /*deltaCode*/,
                                                                                                                                      1963  '-' /*letter*/,
                                                                                                                                      1964  },
                                                                                                                                      1965 
                                                                                                                                      1966 };
                                                                                                                                      1967 
                                                                                                                                      1968 
                                                                                                                                      1969 
                                                                                                                                      1970 const basic::ZonePolicy kPolicyEire ACE_TIME_PROGMEM = {
                                                                                                                                      1971  kZoneRulesEire /*rules*/,
                                                                                                                                      1972  nullptr /* letters */,
                                                                                                                                      1973  3 /*numRules*/,
                                                                                                                                      1974  0 /* numLetters */,
                                                                                                                                      1975 };
                                                                                                                                      1976 
                                                                                                                                      1977 //---------------------------------------------------------------------------
                                                                                                                                      1978 // Policy name: Fiji
                                                                                                                                      1979 // Rules: 11
                                                                                                                                      1980 // Memory (8-bit): 105
                                                                                                                                      1981 // Memory (32-bit): 144
                                                                                                                                      1982 //---------------------------------------------------------------------------
                                                                                                                                      1983 
                                                                                                                                      1984 static const basic::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = {
                                                                                                                                      1985  // Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      1986  {
                                                                                                                                      1987  -2 /*fromYearTiny*/,
                                                                                                                                      1988  -1 /*toYearTiny*/,
                                                                                                                                      1989  11 /*inMonth*/,
                                                                                                                                      1990  7 /*onDayOfWeek*/,
                                                                                                                                      1991  1 /*onDayOfMonth*/,
                                                                                                                                      1992  8 /*atTimeCode*/,
                                                                                                                                      1993  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      1994  4 /*deltaCode*/,
                                                                                                                                      1995  '-' /*letter*/,
                                                                                                                                      1996  },
                                                                                                                                      1997  // Rule Fiji 1999 2000 - Feb lastSun 3:00 0 -
                                                                                                                                      1998  {
                                                                                                                                      1999  -1 /*fromYearTiny*/,
                                                                                                                                      2000  0 /*toYearTiny*/,
                                                                                                                                      2001  2 /*inMonth*/,
                                                                                                                                      2002  7 /*onDayOfWeek*/,
                                                                                                                                      2003  0 /*onDayOfMonth*/,
                                                                                                                                      2004  12 /*atTimeCode*/,
                                                                                                                                      2005  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2006  0 /*deltaCode*/,
                                                                                                                                      2007  '-' /*letter*/,
                                                                                                                                      2008  },
                                                                                                                                      2009  // Rule Fiji 2009 only - Nov 29 2:00 1:00 -
                                                                                                                                      2010  {
                                                                                                                                      2011  9 /*fromYearTiny*/,
                                                                                                                                      2012  9 /*toYearTiny*/,
                                                                                                                                      2013  11 /*inMonth*/,
                                                                                                                                      2014  0 /*onDayOfWeek*/,
                                                                                                                                      2015  29 /*onDayOfMonth*/,
                                                                                                                                      2016  8 /*atTimeCode*/,
                                                                                                                                      2017  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2018  4 /*deltaCode*/,
                                                                                                                                      2019  '-' /*letter*/,
                                                                                                                                      2020  },
                                                                                                                                      2021  // Rule Fiji 2010 only - Mar lastSun 3:00 0 -
                                                                                                                                      2022  {
                                                                                                                                      2023  10 /*fromYearTiny*/,
                                                                                                                                      2024  10 /*toYearTiny*/,
                                                                                                                                      2025  3 /*inMonth*/,
                                                                                                                                      2026  7 /*onDayOfWeek*/,
                                                                                                                                      2027  0 /*onDayOfMonth*/,
                                                                                                                                      2028  12 /*atTimeCode*/,
                                                                                                                                      2029  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2030  0 /*deltaCode*/,
                                                                                                                                      2031  '-' /*letter*/,
                                                                                                                                      2032  },
                                                                                                                                      2033  // Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 -
                                                                                                                                      2034  {
                                                                                                                                      2035  10 /*fromYearTiny*/,
                                                                                                                                      2036  13 /*toYearTiny*/,
                                                                                                                                      2037  10 /*inMonth*/,
                                                                                                                                      2038  7 /*onDayOfWeek*/,
                                                                                                                                      2039  21 /*onDayOfMonth*/,
                                                                                                                                      2040  8 /*atTimeCode*/,
                                                                                                                                      2041  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2042  4 /*deltaCode*/,
                                                                                                                                      2043  '-' /*letter*/,
                                                                                                                                      2044  },
                                                                                                                                      2045  // Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
                                                                                                                                      2046  {
                                                                                                                                      2047  11 /*fromYearTiny*/,
                                                                                                                                      2048  11 /*toYearTiny*/,
                                                                                                                                      2049  3 /*inMonth*/,
                                                                                                                                      2050  7 /*onDayOfWeek*/,
                                                                                                                                      2051  1 /*onDayOfMonth*/,
                                                                                                                                      2052  12 /*atTimeCode*/,
                                                                                                                                      2053  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2054  0 /*deltaCode*/,
                                                                                                                                      2055  '-' /*letter*/,
                                                                                                                                      2056  },
                                                                                                                                      2057  // Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
                                                                                                                                      2058  {
                                                                                                                                      2059  12 /*fromYearTiny*/,
                                                                                                                                      2060  13 /*toYearTiny*/,
                                                                                                                                      2061  1 /*inMonth*/,
                                                                                                                                      2062  7 /*onDayOfWeek*/,
                                                                                                                                      2063  18 /*onDayOfMonth*/,
                                                                                                                                      2064  12 /*atTimeCode*/,
                                                                                                                                      2065  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2066  0 /*deltaCode*/,
                                                                                                                                      2067  '-' /*letter*/,
                                                                                                                                      2068  },
                                                                                                                                      2069  // Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
                                                                                                                                      2070  {
                                                                                                                                      2071  14 /*fromYearTiny*/,
                                                                                                                                      2072  14 /*toYearTiny*/,
                                                                                                                                      2073  1 /*inMonth*/,
                                                                                                                                      2074  7 /*onDayOfWeek*/,
                                                                                                                                      2075  18 /*onDayOfMonth*/,
                                                                                                                                      2076  8 /*atTimeCode*/,
                                                                                                                                      2077  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2078  0 /*deltaCode*/,
                                                                                                                                      2079  '-' /*letter*/,
                                                                                                                                      2080  },
                                                                                                                                      2081  // Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      2082  {
                                                                                                                                      2083  14 /*fromYearTiny*/,
                                                                                                                                      2084  18 /*toYearTiny*/,
                                                                                                                                      2085  11 /*inMonth*/,
                                                                                                                                      2086  7 /*onDayOfWeek*/,
                                                                                                                                      2087  1 /*onDayOfMonth*/,
                                                                                                                                      2088  8 /*atTimeCode*/,
                                                                                                                                      2089  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2090  4 /*deltaCode*/,
                                                                                                                                      2091  '-' /*letter*/,
                                                                                                                                      2092  },
                                                                                                                                      2093  // Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
                                                                                                                                      2094  {
                                                                                                                                      2095  15 /*fromYearTiny*/,
                                                                                                                                      2096  126 /*toYearTiny*/,
                                                                                                                                      2097  1 /*inMonth*/,
                                                                                                                                      2098  7 /*onDayOfWeek*/,
                                                                                                                                      2099  12 /*onDayOfMonth*/,
                                                                                                                                      2100  12 /*atTimeCode*/,
                                                                                                                                      2101  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2102  0 /*deltaCode*/,
                                                                                                                                      2103  '-' /*letter*/,
                                                                                                                                      2104  },
                                                                                                                                      2105  // Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 -
                                                                                                                                      2106  {
                                                                                                                                      2107  19 /*fromYearTiny*/,
                                                                                                                                      2108  126 /*toYearTiny*/,
                                                                                                                                      2109  11 /*inMonth*/,
                                                                                                                                      2110  7 /*onDayOfWeek*/,
                                                                                                                                      2111  8 /*onDayOfMonth*/,
                                                                                                                                      2112  8 /*atTimeCode*/,
                                                                                                                                      2113  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2114  4 /*deltaCode*/,
                                                                                                                                      2115  '-' /*letter*/,
                                                                                                                                      2116  },
                                                                                                                                      2117 
                                                                                                                                      2118 };
                                                                                                                                      2119 
                                                                                                                                      2120 
                                                                                                                                      2121 
                                                                                                                                      2122 const basic::ZonePolicy kPolicyFiji ACE_TIME_PROGMEM = {
                                                                                                                                      2123  kZoneRulesFiji /*rules*/,
                                                                                                                                      2124  nullptr /* letters */,
                                                                                                                                      2125  11 /*numRules*/,
                                                                                                                                      2126  0 /* numLetters */,
                                                                                                                                      2127 };
                                                                                                                                      2128 
                                                                                                                                      2129 //---------------------------------------------------------------------------
                                                                                                                                      2130 // Policy name: Ghana
                                                                                                                                      2131 // Rules: 1
                                                                                                                                      2132 // Memory (8-bit): 15
                                                                                                                                      2133 // Memory (32-bit): 24
                                                                                                                                      2134 //---------------------------------------------------------------------------
                                                                                                                                      2135 
                                                                                                                                      2136 static const basic::ZoneRule kZoneRulesGhana[] ACE_TIME_PROGMEM = {
                                                                                                                                      2137  // Rule Ghana 1920 1942 - Dec 31 0:00 0 -
                                                                                                                                      2138  {
                                                                                                                                      2139  -80 /*fromYearTiny*/,
                                                                                                                                      2140  -58 /*toYearTiny*/,
                                                                                                                                      2141  12 /*inMonth*/,
                                                                                                                                      2142  0 /*onDayOfWeek*/,
                                                                                                                                      2143  31 /*onDayOfMonth*/,
                                                                                                                                      2144  0 /*atTimeCode*/,
                                                                                                                                      2145  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2146  0 /*deltaCode*/,
                                                                                                                                      2147  '-' /*letter*/,
                                                                                                                                      2148  },
                                                                                                                                      2149 
                                                                                                                                      2150 };
                                                                                                                                      2151 
                                                                                                                                      2152 
                                                                                                                                      2153 
                                                                                                                                      2154 const basic::ZonePolicy kPolicyGhana ACE_TIME_PROGMEM = {
                                                                                                                                      2155  kZoneRulesGhana /*rules*/,
                                                                                                                                      2156  nullptr /* letters */,
                                                                                                                                      2157  1 /*numRules*/,
                                                                                                                                      2158  0 /* numLetters */,
                                                                                                                                      2159 };
                                                                                                                                      2160 
                                                                                                                                      2161 //---------------------------------------------------------------------------
                                                                                                                                      2162 // Policy name: Guat
                                                                                                                                      2163 // Rules: 3
                                                                                                                                      2164 // Memory (8-bit): 33
                                                                                                                                      2165 // Memory (32-bit): 48
                                                                                                                                      2166 //---------------------------------------------------------------------------
                                                                                                                                      2167 
                                                                                                                                      2168 static const basic::ZoneRule kZoneRulesGuat[] ACE_TIME_PROGMEM = {
                                                                                                                                      2169  // Rule Guat 1991 only - Sep 7 0:00 0 S
                                                                                                                                      2170  {
                                                                                                                                      2171  -9 /*fromYearTiny*/,
                                                                                                                                      2172  -9 /*toYearTiny*/,
                                                                                                                                      2173  9 /*inMonth*/,
                                                                                                                                      2174  0 /*onDayOfWeek*/,
                                                                                                                                      2175  7 /*onDayOfMonth*/,
                                                                                                                                      2176  0 /*atTimeCode*/,
                                                                                                                                      2177  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2178  0 /*deltaCode*/,
                                                                                                                                      2179  'S' /*letter*/,
                                                                                                                                      2180  },
                                                                                                                                      2181  // Rule Guat 2006 only - Apr 30 0:00 1:00 D
                                                                                                                                      2182  {
                                                                                                                                      2183  6 /*fromYearTiny*/,
                                                                                                                                      2184  6 /*toYearTiny*/,
                                                                                                                                      2185  4 /*inMonth*/,
                                                                                                                                      2186  0 /*onDayOfWeek*/,
                                                                                                                                      2187  30 /*onDayOfMonth*/,
                                                                                                                                      2188  0 /*atTimeCode*/,
                                                                                                                                      2189  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2190  4 /*deltaCode*/,
                                                                                                                                      2191  'D' /*letter*/,
                                                                                                                                      2192  },
                                                                                                                                      2193  // Rule Guat 2006 only - Oct 1 0:00 0 S
                                                                                                                                      2194  {
                                                                                                                                      2195  6 /*fromYearTiny*/,
                                                                                                                                      2196  6 /*toYearTiny*/,
                                                                                                                                      2197  10 /*inMonth*/,
                                                                                                                                      2198  0 /*onDayOfWeek*/,
                                                                                                                                      2199  1 /*onDayOfMonth*/,
                                                                                                                                      2200  0 /*atTimeCode*/,
                                                                                                                                      2201  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2202  0 /*deltaCode*/,
                                                                                                                                      2203  'S' /*letter*/,
                                                                                                                                      2204  },
                                                                                                                                      2205 
                                                                                                                                      2206 };
                                                                                                                                      2207 
                                                                                                                                      2208 
                                                                                                                                      2209 
                                                                                                                                      2210 const basic::ZonePolicy kPolicyGuat ACE_TIME_PROGMEM = {
                                                                                                                                      2211  kZoneRulesGuat /*rules*/,
                                                                                                                                      2212  nullptr /* letters */,
                                                                                                                                      2213  3 /*numRules*/,
                                                                                                                                      2214  0 /* numLetters */,
                                                                                                                                      2215 };
                                                                                                                                      2216 
                                                                                                                                      2217 //---------------------------------------------------------------------------
                                                                                                                                      2218 // Policy name: HK
                                                                                                                                      2219 // Rules: 1
                                                                                                                                      2220 // Memory (8-bit): 15
                                                                                                                                      2221 // Memory (32-bit): 24
                                                                                                                                      2222 //---------------------------------------------------------------------------
                                                                                                                                      2223 
                                                                                                                                      2224 static const basic::ZoneRule kZoneRulesHK[] ACE_TIME_PROGMEM = {
                                                                                                                                      2225  // Rule HK 1979 only - Oct 21 3:30 0 -
                                                                                                                                      2226  {
                                                                                                                                      2227  -21 /*fromYearTiny*/,
                                                                                                                                      2228  -21 /*toYearTiny*/,
                                                                                                                                      2229  10 /*inMonth*/,
                                                                                                                                      2230  0 /*onDayOfWeek*/,
                                                                                                                                      2231  21 /*onDayOfMonth*/,
                                                                                                                                      2232  14 /*atTimeCode*/,
                                                                                                                                      2233  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2234  0 /*deltaCode*/,
                                                                                                                                      2235  '-' /*letter*/,
                                                                                                                                      2236  },
                                                                                                                                      2237 
                                                                                                                                      2238 };
                                                                                                                                      2239 
                                                                                                                                      2240 
                                                                                                                                      2241 
                                                                                                                                      2242 const basic::ZonePolicy kPolicyHK ACE_TIME_PROGMEM = {
                                                                                                                                      2243  kZoneRulesHK /*rules*/,
                                                                                                                                      2244  nullptr /* letters */,
                                                                                                                                      2245  1 /*numRules*/,
                                                                                                                                      2246  0 /* numLetters */,
                                                                                                                                      2247 };
                                                                                                                                      2248 
                                                                                                                                      2249 //---------------------------------------------------------------------------
                                                                                                                                      2250 // Policy name: Haiti
                                                                                                                                      2251 // Rules: 7
                                                                                                                                      2252 // Memory (8-bit): 69
                                                                                                                                      2253 // Memory (32-bit): 96
                                                                                                                                      2254 //---------------------------------------------------------------------------
                                                                                                                                      2255 
                                                                                                                                      2256 static const basic::ZoneRule kZoneRulesHaiti[] ACE_TIME_PROGMEM = {
                                                                                                                                      2257  // Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S
                                                                                                                                      2258  {
                                                                                                                                      2259  -12 /*fromYearTiny*/,
                                                                                                                                      2260  -3 /*toYearTiny*/,
                                                                                                                                      2261  10 /*inMonth*/,
                                                                                                                                      2262  7 /*onDayOfWeek*/,
                                                                                                                                      2263  0 /*onDayOfMonth*/,
                                                                                                                                      2264  4 /*atTimeCode*/,
                                                                                                                                      2265  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      2266  0 /*deltaCode*/,
                                                                                                                                      2267  'S' /*letter*/,
                                                                                                                                      2268  },
                                                                                                                                      2269  // Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D
                                                                                                                                      2270  {
                                                                                                                                      2271  5 /*fromYearTiny*/,
                                                                                                                                      2272  6 /*toYearTiny*/,
                                                                                                                                      2273  4 /*inMonth*/,
                                                                                                                                      2274  7 /*onDayOfWeek*/,
                                                                                                                                      2275  1 /*onDayOfMonth*/,
                                                                                                                                      2276  0 /*atTimeCode*/,
                                                                                                                                      2277  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2278  4 /*deltaCode*/,
                                                                                                                                      2279  'D' /*letter*/,
                                                                                                                                      2280  },
                                                                                                                                      2281  // Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S
                                                                                                                                      2282  {
                                                                                                                                      2283  5 /*fromYearTiny*/,
                                                                                                                                      2284  6 /*toYearTiny*/,
                                                                                                                                      2285  10 /*inMonth*/,
                                                                                                                                      2286  7 /*onDayOfWeek*/,
                                                                                                                                      2287  0 /*onDayOfMonth*/,
                                                                                                                                      2288  0 /*atTimeCode*/,
                                                                                                                                      2289  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2290  0 /*deltaCode*/,
                                                                                                                                      2291  'S' /*letter*/,
                                                                                                                                      2292  },
                                                                                                                                      2293  // Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      2294  {
                                                                                                                                      2295  12 /*fromYearTiny*/,
                                                                                                                                      2296  15 /*toYearTiny*/,
                                                                                                                                      2297  3 /*inMonth*/,
                                                                                                                                      2298  7 /*onDayOfWeek*/,
                                                                                                                                      2299  8 /*onDayOfMonth*/,
                                                                                                                                      2300  8 /*atTimeCode*/,
                                                                                                                                      2301  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2302  4 /*deltaCode*/,
                                                                                                                                      2303  'D' /*letter*/,
                                                                                                                                      2304  },
                                                                                                                                      2305  // Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S
                                                                                                                                      2306  {
                                                                                                                                      2307  12 /*fromYearTiny*/,
                                                                                                                                      2308  15 /*toYearTiny*/,
                                                                                                                                      2309  11 /*inMonth*/,
                                                                                                                                      2310  7 /*onDayOfWeek*/,
                                                                                                                                      2311  1 /*onDayOfMonth*/,
                                                                                                                                      2312  8 /*atTimeCode*/,
                                                                                                                                      2313  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2314  0 /*deltaCode*/,
                                                                                                                                      2315  'S' /*letter*/,
                                                                                                                                      2316  },
                                                                                                                                      2317  // Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      2318  {
                                                                                                                                      2319  17 /*fromYearTiny*/,
                                                                                                                                      2320  126 /*toYearTiny*/,
                                                                                                                                      2321  3 /*inMonth*/,
                                                                                                                                      2322  7 /*onDayOfWeek*/,
                                                                                                                                      2323  8 /*onDayOfMonth*/,
                                                                                                                                      2324  8 /*atTimeCode*/,
                                                                                                                                      2325  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2326  4 /*deltaCode*/,
                                                                                                                                      2327  'D' /*letter*/,
                                                                                                                                      2328  },
                                                                                                                                      2329  // Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      2330  {
                                                                                                                                      2331  17 /*fromYearTiny*/,
                                                                                                                                      2332  126 /*toYearTiny*/,
                                                                                                                                      2333  11 /*inMonth*/,
                                                                                                                                      2334  7 /*onDayOfWeek*/,
                                                                                                                                      2335  1 /*onDayOfMonth*/,
                                                                                                                                      2336  8 /*atTimeCode*/,
                                                                                                                                      2337  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2338  0 /*deltaCode*/,
                                                                                                                                      2339  'S' /*letter*/,
                                                                                                                                      2340  },
                                                                                                                                      2341 
                                                                                                                                      2342 };
                                                                                                                                      2343 
                                                                                                                                      2344 
                                                                                                                                      2345 
                                                                                                                                      2346 const basic::ZonePolicy kPolicyHaiti ACE_TIME_PROGMEM = {
                                                                                                                                      2347  kZoneRulesHaiti /*rules*/,
                                                                                                                                      2348  nullptr /* letters */,
                                                                                                                                      2349  7 /*numRules*/,
                                                                                                                                      2350  0 /* numLetters */,
                                                                                                                                      2351 };
                                                                                                                                      2352 
                                                                                                                                      2353 //---------------------------------------------------------------------------
                                                                                                                                      2354 // Policy name: Holiday
                                                                                                                                      2355 // Rules: 1
                                                                                                                                      2356 // Memory (8-bit): 15
                                                                                                                                      2357 // Memory (32-bit): 24
                                                                                                                                      2358 //---------------------------------------------------------------------------
                                                                                                                                      2359 
                                                                                                                                      2360 static const basic::ZoneRule kZoneRulesHoliday[] ACE_TIME_PROGMEM = {
                                                                                                                                      2361  // Rule Holiday 1993 1994 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      2362  {
                                                                                                                                      2363  -7 /*fromYearTiny*/,
                                                                                                                                      2364  -6 /*toYearTiny*/,
                                                                                                                                      2365  3 /*inMonth*/,
                                                                                                                                      2366  7 /*onDayOfWeek*/,
                                                                                                                                      2367  1 /*onDayOfMonth*/,
                                                                                                                                      2368  8 /*atTimeCode*/,
                                                                                                                                      2369  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      2370  0 /*deltaCode*/,
                                                                                                                                      2371  'S' /*letter*/,
                                                                                                                                      2372  },
                                                                                                                                      2373 
                                                                                                                                      2374 };
                                                                                                                                      2375 
                                                                                                                                      2376 
                                                                                                                                      2377 
                                                                                                                                      2378 const basic::ZonePolicy kPolicyHoliday ACE_TIME_PROGMEM = {
                                                                                                                                      2379  kZoneRulesHoliday /*rules*/,
                                                                                                                                      2380  nullptr /* letters */,
                                                                                                                                      2381  1 /*numRules*/,
                                                                                                                                      2382  0 /* numLetters */,
                                                                                                                                      2383 };
                                                                                                                                      2384 
                                                                                                                                      2385 //---------------------------------------------------------------------------
                                                                                                                                      2386 // Policy name: Hond
                                                                                                                                      2387 // Rules: 3
                                                                                                                                      2388 // Memory (8-bit): 33
                                                                                                                                      2389 // Memory (32-bit): 48
                                                                                                                                      2390 //---------------------------------------------------------------------------
                                                                                                                                      2391 
                                                                                                                                      2392 static const basic::ZoneRule kZoneRulesHond[] ACE_TIME_PROGMEM = {
                                                                                                                                      2393  // Rule Hond 1987 1988 - Sep lastSun 0:00 0 S
                                                                                                                                      2394  {
                                                                                                                                      2395  -13 /*fromYearTiny*/,
                                                                                                                                      2396  -12 /*toYearTiny*/,
                                                                                                                                      2397  9 /*inMonth*/,
                                                                                                                                      2398  7 /*onDayOfWeek*/,
                                                                                                                                      2399  0 /*onDayOfMonth*/,
                                                                                                                                      2400  0 /*atTimeCode*/,
                                                                                                                                      2401  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2402  0 /*deltaCode*/,
                                                                                                                                      2403  'S' /*letter*/,
                                                                                                                                      2404  },
                                                                                                                                      2405  // Rule Hond 2006 only - May Sun>=1 0:00 1:00 D
                                                                                                                                      2406  {
                                                                                                                                      2407  6 /*fromYearTiny*/,
                                                                                                                                      2408  6 /*toYearTiny*/,
                                                                                                                                      2409  5 /*inMonth*/,
                                                                                                                                      2410  7 /*onDayOfWeek*/,
                                                                                                                                      2411  1 /*onDayOfMonth*/,
                                                                                                                                      2412  0 /*atTimeCode*/,
                                                                                                                                      2413  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2414  4 /*deltaCode*/,
                                                                                                                                      2415  'D' /*letter*/,
                                                                                                                                      2416  },
                                                                                                                                      2417  // Rule Hond 2006 only - Aug Mon>=1 0:00 0 S
                                                                                                                                      2418  {
                                                                                                                                      2419  6 /*fromYearTiny*/,
                                                                                                                                      2420  6 /*toYearTiny*/,
                                                                                                                                      2421  8 /*inMonth*/,
                                                                                                                                      2422  1 /*onDayOfWeek*/,
                                                                                                                                      2423  1 /*onDayOfMonth*/,
                                                                                                                                      2424  0 /*atTimeCode*/,
                                                                                                                                      2425  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2426  0 /*deltaCode*/,
                                                                                                                                      2427  'S' /*letter*/,
                                                                                                                                      2428  },
                                                                                                                                      2429 
                                                                                                                                      2430 };
                                                                                                                                      2431 
                                                                                                                                      2432 
                                                                                                                                      2433 
                                                                                                                                      2434 const basic::ZonePolicy kPolicyHond ACE_TIME_PROGMEM = {
                                                                                                                                      2435  kZoneRulesHond /*rules*/,
                                                                                                                                      2436  nullptr /* letters */,
                                                                                                                                      2437  3 /*numRules*/,
                                                                                                                                      2438  0 /* numLetters */,
                                                                                                                                      2439 };
                                                                                                                                      2440 
                                                                                                                                      2441 //---------------------------------------------------------------------------
                                                                                                                                      2442 // Policy name: Iran
                                                                                                                                      2443 // Rules: 55
                                                                                                                                      2444 // Memory (8-bit): 501
                                                                                                                                      2445 // Memory (32-bit): 672
                                                                                                                                      2446 //---------------------------------------------------------------------------
                                                                                                                                      2447 
                                                                                                                                      2448 static const basic::ZoneRule kZoneRulesIran[] ACE_TIME_PROGMEM = {
                                                                                                                                      2449  // Rule Iran 1996 only - Sep 20 24:00 0 -
                                                                                                                                      2450  {
                                                                                                                                      2451  -4 /*fromYearTiny*/,
                                                                                                                                      2452  -4 /*toYearTiny*/,
                                                                                                                                      2453  9 /*inMonth*/,
                                                                                                                                      2454  0 /*onDayOfWeek*/,
                                                                                                                                      2455  20 /*onDayOfMonth*/,
                                                                                                                                      2456  96 /*atTimeCode*/,
                                                                                                                                      2457  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2458  0 /*deltaCode*/,
                                                                                                                                      2459  '-' /*letter*/,
                                                                                                                                      2460  },
                                                                                                                                      2461  // Rule Iran 1997 1999 - Mar 21 24:00 1:00 -
                                                                                                                                      2462  {
                                                                                                                                      2463  -3 /*fromYearTiny*/,
                                                                                                                                      2464  -1 /*toYearTiny*/,
                                                                                                                                      2465  3 /*inMonth*/,
                                                                                                                                      2466  0 /*onDayOfWeek*/,
                                                                                                                                      2467  21 /*onDayOfMonth*/,
                                                                                                                                      2468  96 /*atTimeCode*/,
                                                                                                                                      2469  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2470  4 /*deltaCode*/,
                                                                                                                                      2471  '-' /*letter*/,
                                                                                                                                      2472  },
                                                                                                                                      2473  // Rule Iran 1997 1999 - Sep 21 24:00 0 -
                                                                                                                                      2474  {
                                                                                                                                      2475  -3 /*fromYearTiny*/,
                                                                                                                                      2476  -1 /*toYearTiny*/,
                                                                                                                                      2477  9 /*inMonth*/,
                                                                                                                                      2478  0 /*onDayOfWeek*/,
                                                                                                                                      2479  21 /*onDayOfMonth*/,
                                                                                                                                      2480  96 /*atTimeCode*/,
                                                                                                                                      2481  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2482  0 /*deltaCode*/,
                                                                                                                                      2483  '-' /*letter*/,
                                                                                                                                      2484  },
                                                                                                                                      2485  // Rule Iran 2000 only - Mar 20 24:00 1:00 -
                                                                                                                                      2486  {
                                                                                                                                      2487  0 /*fromYearTiny*/,
                                                                                                                                      2488  0 /*toYearTiny*/,
                                                                                                                                      2489  3 /*inMonth*/,
                                                                                                                                      2490  0 /*onDayOfWeek*/,
                                                                                                                                      2491  20 /*onDayOfMonth*/,
                                                                                                                                      2492  96 /*atTimeCode*/,
                                                                                                                                      2493  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2494  4 /*deltaCode*/,
                                                                                                                                      2495  '-' /*letter*/,
                                                                                                                                      2496  },
                                                                                                                                      2497  // Rule Iran 2000 only - Sep 20 24:00 0 -
                                                                                                                                      2498  {
                                                                                                                                      2499  0 /*fromYearTiny*/,
                                                                                                                                      2500  0 /*toYearTiny*/,
                                                                                                                                      2501  9 /*inMonth*/,
                                                                                                                                      2502  0 /*onDayOfWeek*/,
                                                                                                                                      2503  20 /*onDayOfMonth*/,
                                                                                                                                      2504  96 /*atTimeCode*/,
                                                                                                                                      2505  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2506  0 /*deltaCode*/,
                                                                                                                                      2507  '-' /*letter*/,
                                                                                                                                      2508  },
                                                                                                                                      2509  // Rule Iran 2001 2003 - Mar 21 24:00 1:00 -
                                                                                                                                      2510  {
                                                                                                                                      2511  1 /*fromYearTiny*/,
                                                                                                                                      2512  3 /*toYearTiny*/,
                                                                                                                                      2513  3 /*inMonth*/,
                                                                                                                                      2514  0 /*onDayOfWeek*/,
                                                                                                                                      2515  21 /*onDayOfMonth*/,
                                                                                                                                      2516  96 /*atTimeCode*/,
                                                                                                                                      2517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2518  4 /*deltaCode*/,
                                                                                                                                      2519  '-' /*letter*/,
                                                                                                                                      2520  },
                                                                                                                                      2521  // Rule Iran 2001 2003 - Sep 21 24:00 0 -
                                                                                                                                      2522  {
                                                                                                                                      2523  1 /*fromYearTiny*/,
                                                                                                                                      2524  3 /*toYearTiny*/,
                                                                                                                                      2525  9 /*inMonth*/,
                                                                                                                                      2526  0 /*onDayOfWeek*/,
                                                                                                                                      2527  21 /*onDayOfMonth*/,
                                                                                                                                      2528  96 /*atTimeCode*/,
                                                                                                                                      2529  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2530  0 /*deltaCode*/,
                                                                                                                                      2531  '-' /*letter*/,
                                                                                                                                      2532  },
                                                                                                                                      2533  // Rule Iran 2004 only - Mar 20 24:00 1:00 -
                                                                                                                                      2534  {
                                                                                                                                      2535  4 /*fromYearTiny*/,
                                                                                                                                      2536  4 /*toYearTiny*/,
                                                                                                                                      2537  3 /*inMonth*/,
                                                                                                                                      2538  0 /*onDayOfWeek*/,
                                                                                                                                      2539  20 /*onDayOfMonth*/,
                                                                                                                                      2540  96 /*atTimeCode*/,
                                                                                                                                      2541  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2542  4 /*deltaCode*/,
                                                                                                                                      2543  '-' /*letter*/,
                                                                                                                                      2544  },
                                                                                                                                      2545  // Rule Iran 2004 only - Sep 20 24:00 0 -
                                                                                                                                      2546  {
                                                                                                                                      2547  4 /*fromYearTiny*/,
                                                                                                                                      2548  4 /*toYearTiny*/,
                                                                                                                                      2549  9 /*inMonth*/,
                                                                                                                                      2550  0 /*onDayOfWeek*/,
                                                                                                                                      2551  20 /*onDayOfMonth*/,
                                                                                                                                      2552  96 /*atTimeCode*/,
                                                                                                                                      2553  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2554  0 /*deltaCode*/,
                                                                                                                                      2555  '-' /*letter*/,
                                                                                                                                      2556  },
                                                                                                                                      2557  // Rule Iran 2005 only - Mar 21 24:00 1:00 -
                                                                                                                                      2558  {
                                                                                                                                      2559  5 /*fromYearTiny*/,
                                                                                                                                      2560  5 /*toYearTiny*/,
                                                                                                                                      2561  3 /*inMonth*/,
                                                                                                                                      2562  0 /*onDayOfWeek*/,
                                                                                                                                      2563  21 /*onDayOfMonth*/,
                                                                                                                                      2564  96 /*atTimeCode*/,
                                                                                                                                      2565  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2566  4 /*deltaCode*/,
                                                                                                                                      2567  '-' /*letter*/,
                                                                                                                                      2568  },
                                                                                                                                      2569  // Rule Iran 2005 only - Sep 21 24:00 0 -
                                                                                                                                      2570  {
                                                                                                                                      2571  5 /*fromYearTiny*/,
                                                                                                                                      2572  5 /*toYearTiny*/,
                                                                                                                                      2573  9 /*inMonth*/,
                                                                                                                                      2574  0 /*onDayOfWeek*/,
                                                                                                                                      2575  21 /*onDayOfMonth*/,
                                                                                                                                      2576  96 /*atTimeCode*/,
                                                                                                                                      2577  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2578  0 /*deltaCode*/,
                                                                                                                                      2579  '-' /*letter*/,
                                                                                                                                      2580  },
                                                                                                                                      2581  // Rule Iran 2008 only - Mar 20 24:00 1:00 -
                                                                                                                                      2582  {
                                                                                                                                      2583  8 /*fromYearTiny*/,
                                                                                                                                      2584  8 /*toYearTiny*/,
                                                                                                                                      2585  3 /*inMonth*/,
                                                                                                                                      2586  0 /*onDayOfWeek*/,
                                                                                                                                      2587  20 /*onDayOfMonth*/,
                                                                                                                                      2588  96 /*atTimeCode*/,
                                                                                                                                      2589  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2590  4 /*deltaCode*/,
                                                                                                                                      2591  '-' /*letter*/,
                                                                                                                                      2592  },
                                                                                                                                      2593  // Rule Iran 2008 only - Sep 20 24:00 0 -
                                                                                                                                      2594  {
                                                                                                                                      2595  8 /*fromYearTiny*/,
                                                                                                                                      2596  8 /*toYearTiny*/,
                                                                                                                                      2597  9 /*inMonth*/,
                                                                                                                                      2598  0 /*onDayOfWeek*/,
                                                                                                                                      2599  20 /*onDayOfMonth*/,
                                                                                                                                      2600  96 /*atTimeCode*/,
                                                                                                                                      2601  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2602  0 /*deltaCode*/,
                                                                                                                                      2603  '-' /*letter*/,
                                                                                                                                      2604  },
                                                                                                                                      2605  // Rule Iran 2009 2011 - Mar 21 24:00 1:00 -
                                                                                                                                      2606  {
                                                                                                                                      2607  9 /*fromYearTiny*/,
                                                                                                                                      2608  11 /*toYearTiny*/,
                                                                                                                                      2609  3 /*inMonth*/,
                                                                                                                                      2610  0 /*onDayOfWeek*/,
                                                                                                                                      2611  21 /*onDayOfMonth*/,
                                                                                                                                      2612  96 /*atTimeCode*/,
                                                                                                                                      2613  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2614  4 /*deltaCode*/,
                                                                                                                                      2615  '-' /*letter*/,
                                                                                                                                      2616  },
                                                                                                                                      2617  // Rule Iran 2009 2011 - Sep 21 24:00 0 -
                                                                                                                                      2618  {
                                                                                                                                      2619  9 /*fromYearTiny*/,
                                                                                                                                      2620  11 /*toYearTiny*/,
                                                                                                                                      2621  9 /*inMonth*/,
                                                                                                                                      2622  0 /*onDayOfWeek*/,
                                                                                                                                      2623  21 /*onDayOfMonth*/,
                                                                                                                                      2624  96 /*atTimeCode*/,
                                                                                                                                      2625  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2626  0 /*deltaCode*/,
                                                                                                                                      2627  '-' /*letter*/,
                                                                                                                                      2628  },
                                                                                                                                      2629  // Rule Iran 2012 only - Mar 20 24:00 1:00 -
                                                                                                                                      2630  {
                                                                                                                                      2631  12 /*fromYearTiny*/,
                                                                                                                                      2632  12 /*toYearTiny*/,
                                                                                                                                      2633  3 /*inMonth*/,
                                                                                                                                      2634  0 /*onDayOfWeek*/,
                                                                                                                                      2635  20 /*onDayOfMonth*/,
                                                                                                                                      2636  96 /*atTimeCode*/,
                                                                                                                                      2637  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2638  4 /*deltaCode*/,
                                                                                                                                      2639  '-' /*letter*/,
                                                                                                                                      2640  },
                                                                                                                                      2641  // Rule Iran 2012 only - Sep 20 24:00 0 -
                                                                                                                                      2642  {
                                                                                                                                      2643  12 /*fromYearTiny*/,
                                                                                                                                      2644  12 /*toYearTiny*/,
                                                                                                                                      2645  9 /*inMonth*/,
                                                                                                                                      2646  0 /*onDayOfWeek*/,
                                                                                                                                      2647  20 /*onDayOfMonth*/,
                                                                                                                                      2648  96 /*atTimeCode*/,
                                                                                                                                      2649  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2650  0 /*deltaCode*/,
                                                                                                                                      2651  '-' /*letter*/,
                                                                                                                                      2652  },
                                                                                                                                      2653  // Rule Iran 2013 2015 - Mar 21 24:00 1:00 -
                                                                                                                                      2654  {
                                                                                                                                      2655  13 /*fromYearTiny*/,
                                                                                                                                      2656  15 /*toYearTiny*/,
                                                                                                                                      2657  3 /*inMonth*/,
                                                                                                                                      2658  0 /*onDayOfWeek*/,
                                                                                                                                      2659  21 /*onDayOfMonth*/,
                                                                                                                                      2660  96 /*atTimeCode*/,
                                                                                                                                      2661  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2662  4 /*deltaCode*/,
                                                                                                                                      2663  '-' /*letter*/,
                                                                                                                                      2664  },
                                                                                                                                      2665  // Rule Iran 2013 2015 - Sep 21 24:00 0 -
                                                                                                                                      2666  {
                                                                                                                                      2667  13 /*fromYearTiny*/,
                                                                                                                                      2668  15 /*toYearTiny*/,
                                                                                                                                      2669  9 /*inMonth*/,
                                                                                                                                      2670  0 /*onDayOfWeek*/,
                                                                                                                                      2671  21 /*onDayOfMonth*/,
                                                                                                                                      2672  96 /*atTimeCode*/,
                                                                                                                                      2673  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2674  0 /*deltaCode*/,
                                                                                                                                      2675  '-' /*letter*/,
                                                                                                                                      2676  },
                                                                                                                                      2677  // Rule Iran 2016 only - Mar 20 24:00 1:00 -
                                                                                                                                      2678  {
                                                                                                                                      2679  16 /*fromYearTiny*/,
                                                                                                                                      2680  16 /*toYearTiny*/,
                                                                                                                                      2681  3 /*inMonth*/,
                                                                                                                                      2682  0 /*onDayOfWeek*/,
                                                                                                                                      2683  20 /*onDayOfMonth*/,
                                                                                                                                      2684  96 /*atTimeCode*/,
                                                                                                                                      2685  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2686  4 /*deltaCode*/,
                                                                                                                                      2687  '-' /*letter*/,
                                                                                                                                      2688  },
                                                                                                                                      2689  // Rule Iran 2016 only - Sep 20 24:00 0 -
                                                                                                                                      2690  {
                                                                                                                                      2691  16 /*fromYearTiny*/,
                                                                                                                                      2692  16 /*toYearTiny*/,
                                                                                                                                      2693  9 /*inMonth*/,
                                                                                                                                      2694  0 /*onDayOfWeek*/,
                                                                                                                                      2695  20 /*onDayOfMonth*/,
                                                                                                                                      2696  96 /*atTimeCode*/,
                                                                                                                                      2697  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2698  0 /*deltaCode*/,
                                                                                                                                      2699  '-' /*letter*/,
                                                                                                                                      2700  },
                                                                                                                                      2701  // Rule Iran 2017 2019 - Mar 21 24:00 1:00 -
                                                                                                                                      2702  {
                                                                                                                                      2703  17 /*fromYearTiny*/,
                                                                                                                                      2704  19 /*toYearTiny*/,
                                                                                                                                      2705  3 /*inMonth*/,
                                                                                                                                      2706  0 /*onDayOfWeek*/,
                                                                                                                                      2707  21 /*onDayOfMonth*/,
                                                                                                                                      2708  96 /*atTimeCode*/,
                                                                                                                                      2709  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2710  4 /*deltaCode*/,
                                                                                                                                      2711  '-' /*letter*/,
                                                                                                                                      2712  },
                                                                                                                                      2713  // Rule Iran 2017 2019 - Sep 21 24:00 0 -
                                                                                                                                      2714  {
                                                                                                                                      2715  17 /*fromYearTiny*/,
                                                                                                                                      2716  19 /*toYearTiny*/,
                                                                                                                                      2717  9 /*inMonth*/,
                                                                                                                                      2718  0 /*onDayOfWeek*/,
                                                                                                                                      2719  21 /*onDayOfMonth*/,
                                                                                                                                      2720  96 /*atTimeCode*/,
                                                                                                                                      2721  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2722  0 /*deltaCode*/,
                                                                                                                                      2723  '-' /*letter*/,
                                                                                                                                      2724  },
                                                                                                                                      2725  // Rule Iran 2020 only - Mar 20 24:00 1:00 -
                                                                                                                                      2726  {
                                                                                                                                      2727  20 /*fromYearTiny*/,
                                                                                                                                      2728  20 /*toYearTiny*/,
                                                                                                                                      2729  3 /*inMonth*/,
                                                                                                                                      2730  0 /*onDayOfWeek*/,
                                                                                                                                      2731  20 /*onDayOfMonth*/,
                                                                                                                                      2732  96 /*atTimeCode*/,
                                                                                                                                      2733  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2734  4 /*deltaCode*/,
                                                                                                                                      2735  '-' /*letter*/,
                                                                                                                                      2736  },
                                                                                                                                      2737  // Rule Iran 2020 only - Sep 20 24:00 0 -
                                                                                                                                      2738  {
                                                                                                                                      2739  20 /*fromYearTiny*/,
                                                                                                                                      2740  20 /*toYearTiny*/,
                                                                                                                                      2741  9 /*inMonth*/,
                                                                                                                                      2742  0 /*onDayOfWeek*/,
                                                                                                                                      2743  20 /*onDayOfMonth*/,
                                                                                                                                      2744  96 /*atTimeCode*/,
                                                                                                                                      2745  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2746  0 /*deltaCode*/,
                                                                                                                                      2747  '-' /*letter*/,
                                                                                                                                      2748  },
                                                                                                                                      2749  // Rule Iran 2021 2023 - Mar 21 24:00 1:00 -
                                                                                                                                      2750  {
                                                                                                                                      2751  21 /*fromYearTiny*/,
                                                                                                                                      2752  23 /*toYearTiny*/,
                                                                                                                                      2753  3 /*inMonth*/,
                                                                                                                                      2754  0 /*onDayOfWeek*/,
                                                                                                                                      2755  21 /*onDayOfMonth*/,
                                                                                                                                      2756  96 /*atTimeCode*/,
                                                                                                                                      2757  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2758  4 /*deltaCode*/,
                                                                                                                                      2759  '-' /*letter*/,
                                                                                                                                      2760  },
                                                                                                                                      2761  // Rule Iran 2021 2023 - Sep 21 24:00 0 -
                                                                                                                                      2762  {
                                                                                                                                      2763  21 /*fromYearTiny*/,
                                                                                                                                      2764  23 /*toYearTiny*/,
                                                                                                                                      2765  9 /*inMonth*/,
                                                                                                                                      2766  0 /*onDayOfWeek*/,
                                                                                                                                      2767  21 /*onDayOfMonth*/,
                                                                                                                                      2768  96 /*atTimeCode*/,
                                                                                                                                      2769  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2770  0 /*deltaCode*/,
                                                                                                                                      2771  '-' /*letter*/,
                                                                                                                                      2772  },
                                                                                                                                      2773  // Rule Iran 2024 only - Mar 20 24:00 1:00 -
                                                                                                                                      2774  {
                                                                                                                                      2775  24 /*fromYearTiny*/,
                                                                                                                                      2776  24 /*toYearTiny*/,
                                                                                                                                      2777  3 /*inMonth*/,
                                                                                                                                      2778  0 /*onDayOfWeek*/,
                                                                                                                                      2779  20 /*onDayOfMonth*/,
                                                                                                                                      2780  96 /*atTimeCode*/,
                                                                                                                                      2781  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2782  4 /*deltaCode*/,
                                                                                                                                      2783  '-' /*letter*/,
                                                                                                                                      2784  },
                                                                                                                                      2785  // Rule Iran 2024 only - Sep 20 24:00 0 -
                                                                                                                                      2786  {
                                                                                                                                      2787  24 /*fromYearTiny*/,
                                                                                                                                      2788  24 /*toYearTiny*/,
                                                                                                                                      2789  9 /*inMonth*/,
                                                                                                                                      2790  0 /*onDayOfWeek*/,
                                                                                                                                      2791  20 /*onDayOfMonth*/,
                                                                                                                                      2792  96 /*atTimeCode*/,
                                                                                                                                      2793  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2794  0 /*deltaCode*/,
                                                                                                                                      2795  '-' /*letter*/,
                                                                                                                                      2796  },
                                                                                                                                      2797  // Rule Iran 2025 2027 - Mar 21 24:00 1:00 -
                                                                                                                                      2798  {
                                                                                                                                      2799  25 /*fromYearTiny*/,
                                                                                                                                      2800  27 /*toYearTiny*/,
                                                                                                                                      2801  3 /*inMonth*/,
                                                                                                                                      2802  0 /*onDayOfWeek*/,
                                                                                                                                      2803  21 /*onDayOfMonth*/,
                                                                                                                                      2804  96 /*atTimeCode*/,
                                                                                                                                      2805  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2806  4 /*deltaCode*/,
                                                                                                                                      2807  '-' /*letter*/,
                                                                                                                                      2808  },
                                                                                                                                      2809  // Rule Iran 2025 2027 - Sep 21 24:00 0 -
                                                                                                                                      2810  {
                                                                                                                                      2811  25 /*fromYearTiny*/,
                                                                                                                                      2812  27 /*toYearTiny*/,
                                                                                                                                      2813  9 /*inMonth*/,
                                                                                                                                      2814  0 /*onDayOfWeek*/,
                                                                                                                                      2815  21 /*onDayOfMonth*/,
                                                                                                                                      2816  96 /*atTimeCode*/,
                                                                                                                                      2817  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2818  0 /*deltaCode*/,
                                                                                                                                      2819  '-' /*letter*/,
                                                                                                                                      2820  },
                                                                                                                                      2821  // Rule Iran 2028 2029 - Mar 20 24:00 1:00 -
                                                                                                                                      2822  {
                                                                                                                                      2823  28 /*fromYearTiny*/,
                                                                                                                                      2824  29 /*toYearTiny*/,
                                                                                                                                      2825  3 /*inMonth*/,
                                                                                                                                      2826  0 /*onDayOfWeek*/,
                                                                                                                                      2827  20 /*onDayOfMonth*/,
                                                                                                                                      2828  96 /*atTimeCode*/,
                                                                                                                                      2829  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2830  4 /*deltaCode*/,
                                                                                                                                      2831  '-' /*letter*/,
                                                                                                                                      2832  },
                                                                                                                                      2833  // Rule Iran 2028 2029 - Sep 20 24:00 0 -
                                                                                                                                      2834  {
                                                                                                                                      2835  28 /*fromYearTiny*/,
                                                                                                                                      2836  29 /*toYearTiny*/,
                                                                                                                                      2837  9 /*inMonth*/,
                                                                                                                                      2838  0 /*onDayOfWeek*/,
                                                                                                                                      2839  20 /*onDayOfMonth*/,
                                                                                                                                      2840  96 /*atTimeCode*/,
                                                                                                                                      2841  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2842  0 /*deltaCode*/,
                                                                                                                                      2843  '-' /*letter*/,
                                                                                                                                      2844  },
                                                                                                                                      2845  // Rule Iran 2030 2031 - Mar 21 24:00 1:00 -
                                                                                                                                      2846  {
                                                                                                                                      2847  30 /*fromYearTiny*/,
                                                                                                                                      2848  31 /*toYearTiny*/,
                                                                                                                                      2849  3 /*inMonth*/,
                                                                                                                                      2850  0 /*onDayOfWeek*/,
                                                                                                                                      2851  21 /*onDayOfMonth*/,
                                                                                                                                      2852  96 /*atTimeCode*/,
                                                                                                                                      2853  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2854  4 /*deltaCode*/,
                                                                                                                                      2855  '-' /*letter*/,
                                                                                                                                      2856  },
                                                                                                                                      2857  // Rule Iran 2030 2031 - Sep 21 24:00 0 -
                                                                                                                                      2858  {
                                                                                                                                      2859  30 /*fromYearTiny*/,
                                                                                                                                      2860  31 /*toYearTiny*/,
                                                                                                                                      2861  9 /*inMonth*/,
                                                                                                                                      2862  0 /*onDayOfWeek*/,
                                                                                                                                      2863  21 /*onDayOfMonth*/,
                                                                                                                                      2864  96 /*atTimeCode*/,
                                                                                                                                      2865  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2866  0 /*deltaCode*/,
                                                                                                                                      2867  '-' /*letter*/,
                                                                                                                                      2868  },
                                                                                                                                      2869  // Rule Iran 2032 2033 - Mar 20 24:00 1:00 -
                                                                                                                                      2870  {
                                                                                                                                      2871  32 /*fromYearTiny*/,
                                                                                                                                      2872  33 /*toYearTiny*/,
                                                                                                                                      2873  3 /*inMonth*/,
                                                                                                                                      2874  0 /*onDayOfWeek*/,
                                                                                                                                      2875  20 /*onDayOfMonth*/,
                                                                                                                                      2876  96 /*atTimeCode*/,
                                                                                                                                      2877  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2878  4 /*deltaCode*/,
                                                                                                                                      2879  '-' /*letter*/,
                                                                                                                                      2880  },
                                                                                                                                      2881  // Rule Iran 2032 2033 - Sep 20 24:00 0 -
                                                                                                                                      2882  {
                                                                                                                                      2883  32 /*fromYearTiny*/,
                                                                                                                                      2884  33 /*toYearTiny*/,
                                                                                                                                      2885  9 /*inMonth*/,
                                                                                                                                      2886  0 /*onDayOfWeek*/,
                                                                                                                                      2887  20 /*onDayOfMonth*/,
                                                                                                                                      2888  96 /*atTimeCode*/,
                                                                                                                                      2889  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2890  0 /*deltaCode*/,
                                                                                                                                      2891  '-' /*letter*/,
                                                                                                                                      2892  },
                                                                                                                                      2893  // Rule Iran 2034 2035 - Mar 21 24:00 1:00 -
                                                                                                                                      2894  {
                                                                                                                                      2895  34 /*fromYearTiny*/,
                                                                                                                                      2896  35 /*toYearTiny*/,
                                                                                                                                      2897  3 /*inMonth*/,
                                                                                                                                      2898  0 /*onDayOfWeek*/,
                                                                                                                                      2899  21 /*onDayOfMonth*/,
                                                                                                                                      2900  96 /*atTimeCode*/,
                                                                                                                                      2901  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2902  4 /*deltaCode*/,
                                                                                                                                      2903  '-' /*letter*/,
                                                                                                                                      2904  },
                                                                                                                                      2905  // Rule Iran 2034 2035 - Sep 21 24:00 0 -
                                                                                                                                      2906  {
                                                                                                                                      2907  34 /*fromYearTiny*/,
                                                                                                                                      2908  35 /*toYearTiny*/,
                                                                                                                                      2909  9 /*inMonth*/,
                                                                                                                                      2910  0 /*onDayOfWeek*/,
                                                                                                                                      2911  21 /*onDayOfMonth*/,
                                                                                                                                      2912  96 /*atTimeCode*/,
                                                                                                                                      2913  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2914  0 /*deltaCode*/,
                                                                                                                                      2915  '-' /*letter*/,
                                                                                                                                      2916  },
                                                                                                                                      2917  // Rule Iran 2036 2037 - Mar 20 24:00 1:00 -
                                                                                                                                      2918  {
                                                                                                                                      2919  36 /*fromYearTiny*/,
                                                                                                                                      2920  37 /*toYearTiny*/,
                                                                                                                                      2921  3 /*inMonth*/,
                                                                                                                                      2922  0 /*onDayOfWeek*/,
                                                                                                                                      2923  20 /*onDayOfMonth*/,
                                                                                                                                      2924  96 /*atTimeCode*/,
                                                                                                                                      2925  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2926  4 /*deltaCode*/,
                                                                                                                                      2927  '-' /*letter*/,
                                                                                                                                      2928  },
                                                                                                                                      2929  // Rule Iran 2036 2037 - Sep 20 24:00 0 -
                                                                                                                                      2930  {
                                                                                                                                      2931  36 /*fromYearTiny*/,
                                                                                                                                      2932  37 /*toYearTiny*/,
                                                                                                                                      2933  9 /*inMonth*/,
                                                                                                                                      2934  0 /*onDayOfWeek*/,
                                                                                                                                      2935  20 /*onDayOfMonth*/,
                                                                                                                                      2936  96 /*atTimeCode*/,
                                                                                                                                      2937  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2938  0 /*deltaCode*/,
                                                                                                                                      2939  '-' /*letter*/,
                                                                                                                                      2940  },
                                                                                                                                      2941  // Rule Iran 2038 2039 - Mar 21 24:00 1:00 -
                                                                                                                                      2942  {
                                                                                                                                      2943  38 /*fromYearTiny*/,
                                                                                                                                      2944  39 /*toYearTiny*/,
                                                                                                                                      2945  3 /*inMonth*/,
                                                                                                                                      2946  0 /*onDayOfWeek*/,
                                                                                                                                      2947  21 /*onDayOfMonth*/,
                                                                                                                                      2948  96 /*atTimeCode*/,
                                                                                                                                      2949  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2950  4 /*deltaCode*/,
                                                                                                                                      2951  '-' /*letter*/,
                                                                                                                                      2952  },
                                                                                                                                      2953  // Rule Iran 2038 2039 - Sep 21 24:00 0 -
                                                                                                                                      2954  {
                                                                                                                                      2955  38 /*fromYearTiny*/,
                                                                                                                                      2956  39 /*toYearTiny*/,
                                                                                                                                      2957  9 /*inMonth*/,
                                                                                                                                      2958  0 /*onDayOfWeek*/,
                                                                                                                                      2959  21 /*onDayOfMonth*/,
                                                                                                                                      2960  96 /*atTimeCode*/,
                                                                                                                                      2961  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2962  0 /*deltaCode*/,
                                                                                                                                      2963  '-' /*letter*/,
                                                                                                                                      2964  },
                                                                                                                                      2965  // Rule Iran 2040 2041 - Mar 20 24:00 1:00 -
                                                                                                                                      2966  {
                                                                                                                                      2967  40 /*fromYearTiny*/,
                                                                                                                                      2968  41 /*toYearTiny*/,
                                                                                                                                      2969  3 /*inMonth*/,
                                                                                                                                      2970  0 /*onDayOfWeek*/,
                                                                                                                                      2971  20 /*onDayOfMonth*/,
                                                                                                                                      2972  96 /*atTimeCode*/,
                                                                                                                                      2973  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2974  4 /*deltaCode*/,
                                                                                                                                      2975  '-' /*letter*/,
                                                                                                                                      2976  },
                                                                                                                                      2977  // Rule Iran 2040 2041 - Sep 20 24:00 0 -
                                                                                                                                      2978  {
                                                                                                                                      2979  40 /*fromYearTiny*/,
                                                                                                                                      2980  41 /*toYearTiny*/,
                                                                                                                                      2981  9 /*inMonth*/,
                                                                                                                                      2982  0 /*onDayOfWeek*/,
                                                                                                                                      2983  20 /*onDayOfMonth*/,
                                                                                                                                      2984  96 /*atTimeCode*/,
                                                                                                                                      2985  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2986  0 /*deltaCode*/,
                                                                                                                                      2987  '-' /*letter*/,
                                                                                                                                      2988  },
                                                                                                                                      2989  // Rule Iran 2042 2043 - Mar 21 24:00 1:00 -
                                                                                                                                      2990  {
                                                                                                                                      2991  42 /*fromYearTiny*/,
                                                                                                                                      2992  43 /*toYearTiny*/,
                                                                                                                                      2993  3 /*inMonth*/,
                                                                                                                                      2994  0 /*onDayOfWeek*/,
                                                                                                                                      2995  21 /*onDayOfMonth*/,
                                                                                                                                      2996  96 /*atTimeCode*/,
                                                                                                                                      2997  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      2998  4 /*deltaCode*/,
                                                                                                                                      2999  '-' /*letter*/,
                                                                                                                                      3000  },
                                                                                                                                      3001  // Rule Iran 2042 2043 - Sep 21 24:00 0 -
                                                                                                                                      3002  {
                                                                                                                                      3003  42 /*fromYearTiny*/,
                                                                                                                                      3004  43 /*toYearTiny*/,
                                                                                                                                      3005  9 /*inMonth*/,
                                                                                                                                      3006  0 /*onDayOfWeek*/,
                                                                                                                                      3007  21 /*onDayOfMonth*/,
                                                                                                                                      3008  96 /*atTimeCode*/,
                                                                                                                                      3009  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3010  0 /*deltaCode*/,
                                                                                                                                      3011  '-' /*letter*/,
                                                                                                                                      3012  },
                                                                                                                                      3013  // Rule Iran 2044 2045 - Mar 20 24:00 1:00 -
                                                                                                                                      3014  {
                                                                                                                                      3015  44 /*fromYearTiny*/,
                                                                                                                                      3016  45 /*toYearTiny*/,
                                                                                                                                      3017  3 /*inMonth*/,
                                                                                                                                      3018  0 /*onDayOfWeek*/,
                                                                                                                                      3019  20 /*onDayOfMonth*/,
                                                                                                                                      3020  96 /*atTimeCode*/,
                                                                                                                                      3021  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3022  4 /*deltaCode*/,
                                                                                                                                      3023  '-' /*letter*/,
                                                                                                                                      3024  },
                                                                                                                                      3025  // Rule Iran 2044 2045 - Sep 20 24:00 0 -
                                                                                                                                      3026  {
                                                                                                                                      3027  44 /*fromYearTiny*/,
                                                                                                                                      3028  45 /*toYearTiny*/,
                                                                                                                                      3029  9 /*inMonth*/,
                                                                                                                                      3030  0 /*onDayOfWeek*/,
                                                                                                                                      3031  20 /*onDayOfMonth*/,
                                                                                                                                      3032  96 /*atTimeCode*/,
                                                                                                                                      3033  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3034  0 /*deltaCode*/,
                                                                                                                                      3035  '-' /*letter*/,
                                                                                                                                      3036  },
                                                                                                                                      3037  // Rule Iran 2046 2047 - Mar 21 24:00 1:00 -
                                                                                                                                      3038  {
                                                                                                                                      3039  46 /*fromYearTiny*/,
                                                                                                                                      3040  47 /*toYearTiny*/,
                                                                                                                                      3041  3 /*inMonth*/,
                                                                                                                                      3042  0 /*onDayOfWeek*/,
                                                                                                                                      3043  21 /*onDayOfMonth*/,
                                                                                                                                      3044  96 /*atTimeCode*/,
                                                                                                                                      3045  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3046  4 /*deltaCode*/,
                                                                                                                                      3047  '-' /*letter*/,
                                                                                                                                      3048  },
                                                                                                                                      3049  // Rule Iran 2046 2047 - Sep 21 24:00 0 -
                                                                                                                                      3050  {
                                                                                                                                      3051  46 /*fromYearTiny*/,
                                                                                                                                      3052  47 /*toYearTiny*/,
                                                                                                                                      3053  9 /*inMonth*/,
                                                                                                                                      3054  0 /*onDayOfWeek*/,
                                                                                                                                      3055  21 /*onDayOfMonth*/,
                                                                                                                                      3056  96 /*atTimeCode*/,
                                                                                                                                      3057  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3058  0 /*deltaCode*/,
                                                                                                                                      3059  '-' /*letter*/,
                                                                                                                                      3060  },
                                                                                                                                      3061  // Rule Iran 2048 2049 - Mar 20 24:00 1:00 -
                                                                                                                                      3062  {
                                                                                                                                      3063  48 /*fromYearTiny*/,
                                                                                                                                      3064  49 /*toYearTiny*/,
                                                                                                                                      3065  3 /*inMonth*/,
                                                                                                                                      3066  0 /*onDayOfWeek*/,
                                                                                                                                      3067  20 /*onDayOfMonth*/,
                                                                                                                                      3068  96 /*atTimeCode*/,
                                                                                                                                      3069  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3070  4 /*deltaCode*/,
                                                                                                                                      3071  '-' /*letter*/,
                                                                                                                                      3072  },
                                                                                                                                      3073  // Rule Iran 2048 2049 - Sep 20 24:00 0 -
                                                                                                                                      3074  {
                                                                                                                                      3075  48 /*fromYearTiny*/,
                                                                                                                                      3076  49 /*toYearTiny*/,
                                                                                                                                      3077  9 /*inMonth*/,
                                                                                                                                      3078  0 /*onDayOfWeek*/,
                                                                                                                                      3079  20 /*onDayOfMonth*/,
                                                                                                                                      3080  96 /*atTimeCode*/,
                                                                                                                                      3081  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3082  0 /*deltaCode*/,
                                                                                                                                      3083  '-' /*letter*/,
                                                                                                                                      3084  },
                                                                                                                                      3085  // Rule Iran 2050 2051 - Mar 21 24:00 1:00 -
                                                                                                                                      3086  {
                                                                                                                                      3087  50 /*fromYearTiny*/,
                                                                                                                                      3088  51 /*toYearTiny*/,
                                                                                                                                      3089  3 /*inMonth*/,
                                                                                                                                      3090  0 /*onDayOfWeek*/,
                                                                                                                                      3091  21 /*onDayOfMonth*/,
                                                                                                                                      3092  96 /*atTimeCode*/,
                                                                                                                                      3093  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3094  4 /*deltaCode*/,
                                                                                                                                      3095  '-' /*letter*/,
                                                                                                                                      3096  },
                                                                                                                                      3097  // Rule Iran 2050 2051 - Sep 21 24:00 0 -
                                                                                                                                      3098  {
                                                                                                                                      3099  50 /*fromYearTiny*/,
                                                                                                                                      3100  51 /*toYearTiny*/,
                                                                                                                                      3101  9 /*inMonth*/,
                                                                                                                                      3102  0 /*onDayOfWeek*/,
                                                                                                                                      3103  21 /*onDayOfMonth*/,
                                                                                                                                      3104  96 /*atTimeCode*/,
                                                                                                                                      3105  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3106  0 /*deltaCode*/,
                                                                                                                                      3107  '-' /*letter*/,
                                                                                                                                      3108  },
                                                                                                                                      3109 
                                                                                                                                      3110 };
                                                                                                                                      3111 
                                                                                                                                      3112 
                                                                                                                                      3113 
                                                                                                                                      3114 const basic::ZonePolicy kPolicyIran ACE_TIME_PROGMEM = {
                                                                                                                                      3115  kZoneRulesIran /*rules*/,
                                                                                                                                      3116  nullptr /* letters */,
                                                                                                                                      3117  55 /*numRules*/,
                                                                                                                                      3118  0 /* numLetters */,
                                                                                                                                      3119 };
                                                                                                                                      3120 
                                                                                                                                      3121 //---------------------------------------------------------------------------
                                                                                                                                      3122 // Policy name: Iraq
                                                                                                                                      3123 // Rules: 3
                                                                                                                                      3124 // Memory (8-bit): 33
                                                                                                                                      3125 // Memory (32-bit): 48
                                                                                                                                      3126 //---------------------------------------------------------------------------
                                                                                                                                      3127 
                                                                                                                                      3128 static const basic::ZoneRule kZoneRulesIraq[] ACE_TIME_PROGMEM = {
                                                                                                                                      3129  // Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 -
                                                                                                                                      3130  {
                                                                                                                                      3131  -15 /*fromYearTiny*/,
                                                                                                                                      3132  -10 /*toYearTiny*/,
                                                                                                                                      3133  9 /*inMonth*/,
                                                                                                                                      3134  7 /*onDayOfWeek*/,
                                                                                                                                      3135  0 /*onDayOfMonth*/,
                                                                                                                                      3136  4 /*atTimeCode*/,
                                                                                                                                      3137  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3138  0 /*deltaCode*/,
                                                                                                                                      3139  '-' /*letter*/,
                                                                                                                                      3140  },
                                                                                                                                      3141  // Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 -
                                                                                                                                      3142  {
                                                                                                                                      3143  -9 /*fromYearTiny*/,
                                                                                                                                      3144  7 /*toYearTiny*/,
                                                                                                                                      3145  4 /*inMonth*/,
                                                                                                                                      3146  0 /*onDayOfWeek*/,
                                                                                                                                      3147  1 /*onDayOfMonth*/,
                                                                                                                                      3148  12 /*atTimeCode*/,
                                                                                                                                      3149  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3150  4 /*deltaCode*/,
                                                                                                                                      3151  '-' /*letter*/,
                                                                                                                                      3152  },
                                                                                                                                      3153  // Rule Iraq 1991 2007 - Oct 1 3:00s 0 -
                                                                                                                                      3154  {
                                                                                                                                      3155  -9 /*fromYearTiny*/,
                                                                                                                                      3156  7 /*toYearTiny*/,
                                                                                                                                      3157  10 /*inMonth*/,
                                                                                                                                      3158  0 /*onDayOfWeek*/,
                                                                                                                                      3159  1 /*onDayOfMonth*/,
                                                                                                                                      3160  12 /*atTimeCode*/,
                                                                                                                                      3161  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3162  0 /*deltaCode*/,
                                                                                                                                      3163  '-' /*letter*/,
                                                                                                                                      3164  },
                                                                                                                                      3165 
                                                                                                                                      3166 };
                                                                                                                                      3167 
                                                                                                                                      3168 
                                                                                                                                      3169 
                                                                                                                                      3170 const basic::ZonePolicy kPolicyIraq ACE_TIME_PROGMEM = {
                                                                                                                                      3171  kZoneRulesIraq /*rules*/,
                                                                                                                                      3172  nullptr /* letters */,
                                                                                                                                      3173  3 /*numRules*/,
                                                                                                                                      3174  0 /* numLetters */,
                                                                                                                                      3175 };
                                                                                                                                      3176 
                                                                                                                                      3177 //---------------------------------------------------------------------------
                                                                                                                                      3178 // Policy name: Japan
                                                                                                                                      3179 // Rules: 1
                                                                                                                                      3180 // Memory (8-bit): 15
                                                                                                                                      3181 // Memory (32-bit): 24
                                                                                                                                      3182 //---------------------------------------------------------------------------
                                                                                                                                      3183 
                                                                                                                                      3184 static const basic::ZoneRule kZoneRulesJapan[] ACE_TIME_PROGMEM = {
                                                                                                                                      3185  // Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
                                                                                                                                      3186  {
                                                                                                                                      3187  -52 /*fromYearTiny*/,
                                                                                                                                      3188  -49 /*toYearTiny*/,
                                                                                                                                      3189  9 /*inMonth*/,
                                                                                                                                      3190  6 /*onDayOfWeek*/,
                                                                                                                                      3191  8 /*onDayOfMonth*/,
                                                                                                                                      3192  100 /*atTimeCode*/,
                                                                                                                                      3193  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3194  0 /*deltaCode*/,
                                                                                                                                      3195  'S' /*letter*/,
                                                                                                                                      3196  },
                                                                                                                                      3197 
                                                                                                                                      3198 };
                                                                                                                                      3199 
                                                                                                                                      3200 
                                                                                                                                      3201 
                                                                                                                                      3202 const basic::ZonePolicy kPolicyJapan ACE_TIME_PROGMEM = {
                                                                                                                                      3203  kZoneRulesJapan /*rules*/,
                                                                                                                                      3204  nullptr /* letters */,
                                                                                                                                      3205  1 /*numRules*/,
                                                                                                                                      3206  0 /* numLetters */,
                                                                                                                                      3207 };
                                                                                                                                      3208 
                                                                                                                                      3209 //---------------------------------------------------------------------------
                                                                                                                                      3210 // Policy name: Jordan
                                                                                                                                      3211 // Rules: 12
                                                                                                                                      3212 // Memory (8-bit): 114
                                                                                                                                      3213 // Memory (32-bit): 156
                                                                                                                                      3214 //---------------------------------------------------------------------------
                                                                                                                                      3215 
                                                                                                                                      3216 static const basic::ZoneRule kZoneRulesJordan[] ACE_TIME_PROGMEM = {
                                                                                                                                      3217  // Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 -
                                                                                                                                      3218  {
                                                                                                                                      3219  -5 /*fromYearTiny*/,
                                                                                                                                      3220  -2 /*toYearTiny*/,
                                                                                                                                      3221  9 /*inMonth*/,
                                                                                                                                      3222  5 /*onDayOfWeek*/,
                                                                                                                                      3223  15 /*onDayOfMonth*/,
                                                                                                                                      3224  0 /*atTimeCode*/,
                                                                                                                                      3225  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3226  0 /*deltaCode*/,
                                                                                                                                      3227  '-' /*letter*/,
                                                                                                                                      3228  },
                                                                                                                                      3229  // Rule Jordan 1999 only - Jul 1 0:00s 1:00 S
                                                                                                                                      3230  {
                                                                                                                                      3231  -1 /*fromYearTiny*/,
                                                                                                                                      3232  -1 /*toYearTiny*/,
                                                                                                                                      3233  7 /*inMonth*/,
                                                                                                                                      3234  0 /*onDayOfWeek*/,
                                                                                                                                      3235  1 /*onDayOfMonth*/,
                                                                                                                                      3236  0 /*atTimeCode*/,
                                                                                                                                      3237  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3238  4 /*deltaCode*/,
                                                                                                                                      3239  'S' /*letter*/,
                                                                                                                                      3240  },
                                                                                                                                      3241  // Rule Jordan 1999 2002 - Sep lastFri 0:00s 0 -
                                                                                                                                      3242  {
                                                                                                                                      3243  -1 /*fromYearTiny*/,
                                                                                                                                      3244  2 /*toYearTiny*/,
                                                                                                                                      3245  9 /*inMonth*/,
                                                                                                                                      3246  5 /*onDayOfWeek*/,
                                                                                                                                      3247  0 /*onDayOfMonth*/,
                                                                                                                                      3248  0 /*atTimeCode*/,
                                                                                                                                      3249  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3250  0 /*deltaCode*/,
                                                                                                                                      3251  '-' /*letter*/,
                                                                                                                                      3252  },
                                                                                                                                      3253  // Rule Jordan 2000 2001 - Mar lastThu 0:00s 1:00 S
                                                                                                                                      3254  {
                                                                                                                                      3255  0 /*fromYearTiny*/,
                                                                                                                                      3256  1 /*toYearTiny*/,
                                                                                                                                      3257  3 /*inMonth*/,
                                                                                                                                      3258  4 /*onDayOfWeek*/,
                                                                                                                                      3259  0 /*onDayOfMonth*/,
                                                                                                                                      3260  0 /*atTimeCode*/,
                                                                                                                                      3261  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3262  4 /*deltaCode*/,
                                                                                                                                      3263  'S' /*letter*/,
                                                                                                                                      3264  },
                                                                                                                                      3265  // Rule Jordan 2002 2012 - Mar lastThu 24:00 1:00 S
                                                                                                                                      3266  {
                                                                                                                                      3267  2 /*fromYearTiny*/,
                                                                                                                                      3268  12 /*toYearTiny*/,
                                                                                                                                      3269  3 /*inMonth*/,
                                                                                                                                      3270  4 /*onDayOfWeek*/,
                                                                                                                                      3271  0 /*onDayOfMonth*/,
                                                                                                                                      3272  96 /*atTimeCode*/,
                                                                                                                                      3273  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3274  4 /*deltaCode*/,
                                                                                                                                      3275  'S' /*letter*/,
                                                                                                                                      3276  },
                                                                                                                                      3277  // Rule Jordan 2003 only - Oct 24 0:00s 0 -
                                                                                                                                      3278  {
                                                                                                                                      3279  3 /*fromYearTiny*/,
                                                                                                                                      3280  3 /*toYearTiny*/,
                                                                                                                                      3281  10 /*inMonth*/,
                                                                                                                                      3282  0 /*onDayOfWeek*/,
                                                                                                                                      3283  24 /*onDayOfMonth*/,
                                                                                                                                      3284  0 /*atTimeCode*/,
                                                                                                                                      3285  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3286  0 /*deltaCode*/,
                                                                                                                                      3287  '-' /*letter*/,
                                                                                                                                      3288  },
                                                                                                                                      3289  // Rule Jordan 2004 only - Oct 15 0:00s 0 -
                                                                                                                                      3290  {
                                                                                                                                      3291  4 /*fromYearTiny*/,
                                                                                                                                      3292  4 /*toYearTiny*/,
                                                                                                                                      3293  10 /*inMonth*/,
                                                                                                                                      3294  0 /*onDayOfWeek*/,
                                                                                                                                      3295  15 /*onDayOfMonth*/,
                                                                                                                                      3296  0 /*atTimeCode*/,
                                                                                                                                      3297  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3298  0 /*deltaCode*/,
                                                                                                                                      3299  '-' /*letter*/,
                                                                                                                                      3300  },
                                                                                                                                      3301  // Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
                                                                                                                                      3302  {
                                                                                                                                      3303  5 /*fromYearTiny*/,
                                                                                                                                      3304  5 /*toYearTiny*/,
                                                                                                                                      3305  9 /*inMonth*/,
                                                                                                                                      3306  5 /*onDayOfWeek*/,
                                                                                                                                      3307  0 /*onDayOfMonth*/,
                                                                                                                                      3308  0 /*atTimeCode*/,
                                                                                                                                      3309  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3310  0 /*deltaCode*/,
                                                                                                                                      3311  '-' /*letter*/,
                                                                                                                                      3312  },
                                                                                                                                      3313  // Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
                                                                                                                                      3314  {
                                                                                                                                      3315  6 /*fromYearTiny*/,
                                                                                                                                      3316  11 /*toYearTiny*/,
                                                                                                                                      3317  10 /*inMonth*/,
                                                                                                                                      3318  5 /*onDayOfWeek*/,
                                                                                                                                      3319  0 /*onDayOfMonth*/,
                                                                                                                                      3320  0 /*atTimeCode*/,
                                                                                                                                      3321  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3322  0 /*deltaCode*/,
                                                                                                                                      3323  '-' /*letter*/,
                                                                                                                                      3324  },
                                                                                                                                      3325  // Rule Jordan 2013 only - Dec 20 0:00 0 -
                                                                                                                                      3326  {
                                                                                                                                      3327  13 /*fromYearTiny*/,
                                                                                                                                      3328  13 /*toYearTiny*/,
                                                                                                                                      3329  12 /*inMonth*/,
                                                                                                                                      3330  0 /*onDayOfWeek*/,
                                                                                                                                      3331  20 /*onDayOfMonth*/,
                                                                                                                                      3332  0 /*atTimeCode*/,
                                                                                                                                      3333  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3334  0 /*deltaCode*/,
                                                                                                                                      3335  '-' /*letter*/,
                                                                                                                                      3336  },
                                                                                                                                      3337  // Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
                                                                                                                                      3338  {
                                                                                                                                      3339  14 /*fromYearTiny*/,
                                                                                                                                      3340  126 /*toYearTiny*/,
                                                                                                                                      3341  3 /*inMonth*/,
                                                                                                                                      3342  4 /*onDayOfWeek*/,
                                                                                                                                      3343  0 /*onDayOfMonth*/,
                                                                                                                                      3344  96 /*atTimeCode*/,
                                                                                                                                      3345  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3346  4 /*deltaCode*/,
                                                                                                                                      3347  'S' /*letter*/,
                                                                                                                                      3348  },
                                                                                                                                      3349  // Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
                                                                                                                                      3350  {
                                                                                                                                      3351  14 /*fromYearTiny*/,
                                                                                                                                      3352  126 /*toYearTiny*/,
                                                                                                                                      3353  10 /*inMonth*/,
                                                                                                                                      3354  5 /*onDayOfWeek*/,
                                                                                                                                      3355  0 /*onDayOfMonth*/,
                                                                                                                                      3356  0 /*atTimeCode*/,
                                                                                                                                      3357  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3358  0 /*deltaCode*/,
                                                                                                                                      3359  '-' /*letter*/,
                                                                                                                                      3360  },
                                                                                                                                      3361 
                                                                                                                                      3362 };
                                                                                                                                      3363 
                                                                                                                                      3364 
                                                                                                                                      3365 
                                                                                                                                      3366 const basic::ZonePolicy kPolicyJordan ACE_TIME_PROGMEM = {
                                                                                                                                      3367  kZoneRulesJordan /*rules*/,
                                                                                                                                      3368  nullptr /* letters */,
                                                                                                                                      3369  12 /*numRules*/,
                                                                                                                                      3370  0 /* numLetters */,
                                                                                                                                      3371 };
                                                                                                                                      3372 
                                                                                                                                      3373 //---------------------------------------------------------------------------
                                                                                                                                      3374 // Policy name: LH
                                                                                                                                      3375 // Rules: 9
                                                                                                                                      3376 // Memory (8-bit): 87
                                                                                                                                      3377 // Memory (32-bit): 120
                                                                                                                                      3378 //---------------------------------------------------------------------------
                                                                                                                                      3379 
                                                                                                                                      3380 static const basic::ZoneRule kZoneRulesLH[] ACE_TIME_PROGMEM = {
                                                                                                                                      3381  // Rule LH 1987 1999 - Oct lastSun 2:00 0:30 -
                                                                                                                                      3382  {
                                                                                                                                      3383  -13 /*fromYearTiny*/,
                                                                                                                                      3384  -1 /*toYearTiny*/,
                                                                                                                                      3385  10 /*inMonth*/,
                                                                                                                                      3386  7 /*onDayOfWeek*/,
                                                                                                                                      3387  0 /*onDayOfMonth*/,
                                                                                                                                      3388  8 /*atTimeCode*/,
                                                                                                                                      3389  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3390  2 /*deltaCode*/,
                                                                                                                                      3391  '-' /*letter*/,
                                                                                                                                      3392  },
                                                                                                                                      3393  // Rule LH 1990 1995 - Mar Sun>=1 2:00 0 -
                                                                                                                                      3394  {
                                                                                                                                      3395  -10 /*fromYearTiny*/,
                                                                                                                                      3396  -5 /*toYearTiny*/,
                                                                                                                                      3397  3 /*inMonth*/,
                                                                                                                                      3398  7 /*onDayOfWeek*/,
                                                                                                                                      3399  1 /*onDayOfMonth*/,
                                                                                                                                      3400  8 /*atTimeCode*/,
                                                                                                                                      3401  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3402  0 /*deltaCode*/,
                                                                                                                                      3403  '-' /*letter*/,
                                                                                                                                      3404  },
                                                                                                                                      3405  // Rule LH 1996 2005 - Mar lastSun 2:00 0 -
                                                                                                                                      3406  {
                                                                                                                                      3407  -4 /*fromYearTiny*/,
                                                                                                                                      3408  5 /*toYearTiny*/,
                                                                                                                                      3409  3 /*inMonth*/,
                                                                                                                                      3410  7 /*onDayOfWeek*/,
                                                                                                                                      3411  0 /*onDayOfMonth*/,
                                                                                                                                      3412  8 /*atTimeCode*/,
                                                                                                                                      3413  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3414  0 /*deltaCode*/,
                                                                                                                                      3415  '-' /*letter*/,
                                                                                                                                      3416  },
                                                                                                                                      3417  // Rule LH 2000 only - Aug lastSun 2:00 0:30 -
                                                                                                                                      3418  {
                                                                                                                                      3419  0 /*fromYearTiny*/,
                                                                                                                                      3420  0 /*toYearTiny*/,
                                                                                                                                      3421  8 /*inMonth*/,
                                                                                                                                      3422  7 /*onDayOfWeek*/,
                                                                                                                                      3423  0 /*onDayOfMonth*/,
                                                                                                                                      3424  8 /*atTimeCode*/,
                                                                                                                                      3425  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3426  2 /*deltaCode*/,
                                                                                                                                      3427  '-' /*letter*/,
                                                                                                                                      3428  },
                                                                                                                                      3429  // Rule LH 2001 2007 - Oct lastSun 2:00 0:30 -
                                                                                                                                      3430  {
                                                                                                                                      3431  1 /*fromYearTiny*/,
                                                                                                                                      3432  7 /*toYearTiny*/,
                                                                                                                                      3433  10 /*inMonth*/,
                                                                                                                                      3434  7 /*onDayOfWeek*/,
                                                                                                                                      3435  0 /*onDayOfMonth*/,
                                                                                                                                      3436  8 /*atTimeCode*/,
                                                                                                                                      3437  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3438  2 /*deltaCode*/,
                                                                                                                                      3439  '-' /*letter*/,
                                                                                                                                      3440  },
                                                                                                                                      3441  // Rule LH 2006 only - Apr Sun>=1 2:00 0 -
                                                                                                                                      3442  {
                                                                                                                                      3443  6 /*fromYearTiny*/,
                                                                                                                                      3444  6 /*toYearTiny*/,
                                                                                                                                      3445  4 /*inMonth*/,
                                                                                                                                      3446  7 /*onDayOfWeek*/,
                                                                                                                                      3447  1 /*onDayOfMonth*/,
                                                                                                                                      3448  8 /*atTimeCode*/,
                                                                                                                                      3449  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3450  0 /*deltaCode*/,
                                                                                                                                      3451  '-' /*letter*/,
                                                                                                                                      3452  },
                                                                                                                                      3453  // Rule LH 2007 only - Mar lastSun 2:00 0 -
                                                                                                                                      3454  {
                                                                                                                                      3455  7 /*fromYearTiny*/,
                                                                                                                                      3456  7 /*toYearTiny*/,
                                                                                                                                      3457  3 /*inMonth*/,
                                                                                                                                      3458  7 /*onDayOfWeek*/,
                                                                                                                                      3459  0 /*onDayOfMonth*/,
                                                                                                                                      3460  8 /*atTimeCode*/,
                                                                                                                                      3461  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3462  0 /*deltaCode*/,
                                                                                                                                      3463  '-' /*letter*/,
                                                                                                                                      3464  },
                                                                                                                                      3465  // Rule LH 2008 max - Apr Sun>=1 2:00 0 -
                                                                                                                                      3466  {
                                                                                                                                      3467  8 /*fromYearTiny*/,
                                                                                                                                      3468  126 /*toYearTiny*/,
                                                                                                                                      3469  4 /*inMonth*/,
                                                                                                                                      3470  7 /*onDayOfWeek*/,
                                                                                                                                      3471  1 /*onDayOfMonth*/,
                                                                                                                                      3472  8 /*atTimeCode*/,
                                                                                                                                      3473  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3474  0 /*deltaCode*/,
                                                                                                                                      3475  '-' /*letter*/,
                                                                                                                                      3476  },
                                                                                                                                      3477  // Rule LH 2008 max - Oct Sun>=1 2:00 0:30 -
                                                                                                                                      3478  {
                                                                                                                                      3479  8 /*fromYearTiny*/,
                                                                                                                                      3480  126 /*toYearTiny*/,
                                                                                                                                      3481  10 /*inMonth*/,
                                                                                                                                      3482  7 /*onDayOfWeek*/,
                                                                                                                                      3483  1 /*onDayOfMonth*/,
                                                                                                                                      3484  8 /*atTimeCode*/,
                                                                                                                                      3485  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3486  2 /*deltaCode*/,
                                                                                                                                      3487  '-' /*letter*/,
                                                                                                                                      3488  },
                                                                                                                                      3489 
                                                                                                                                      3490 };
                                                                                                                                      3491 
                                                                                                                                      3492 
                                                                                                                                      3493 
                                                                                                                                      3494 const basic::ZonePolicy kPolicyLH ACE_TIME_PROGMEM = {
                                                                                                                                      3495  kZoneRulesLH /*rules*/,
                                                                                                                                      3496  nullptr /* letters */,
                                                                                                                                      3497  9 /*numRules*/,
                                                                                                                                      3498  0 /* numLetters */,
                                                                                                                                      3499 };
                                                                                                                                      3500 
                                                                                                                                      3501 //---------------------------------------------------------------------------
                                                                                                                                      3502 // Policy name: Lebanon
                                                                                                                                      3503 // Rules: 3
                                                                                                                                      3504 // Memory (8-bit): 33
                                                                                                                                      3505 // Memory (32-bit): 48
                                                                                                                                      3506 //---------------------------------------------------------------------------
                                                                                                                                      3507 
                                                                                                                                      3508 static const basic::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = {
                                                                                                                                      3509  // Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
                                                                                                                                      3510  {
                                                                                                                                      3511  -7 /*fromYearTiny*/,
                                                                                                                                      3512  126 /*toYearTiny*/,
                                                                                                                                      3513  3 /*inMonth*/,
                                                                                                                                      3514  7 /*onDayOfWeek*/,
                                                                                                                                      3515  0 /*onDayOfMonth*/,
                                                                                                                                      3516  0 /*atTimeCode*/,
                                                                                                                                      3517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3518  4 /*deltaCode*/,
                                                                                                                                      3519  'S' /*letter*/,
                                                                                                                                      3520  },
                                                                                                                                      3521  // Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
                                                                                                                                      3522  {
                                                                                                                                      3523  -7 /*fromYearTiny*/,
                                                                                                                                      3524  -2 /*toYearTiny*/,
                                                                                                                                      3525  9 /*inMonth*/,
                                                                                                                                      3526  7 /*onDayOfWeek*/,
                                                                                                                                      3527  0 /*onDayOfMonth*/,
                                                                                                                                      3528  0 /*atTimeCode*/,
                                                                                                                                      3529  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3530  0 /*deltaCode*/,
                                                                                                                                      3531  '-' /*letter*/,
                                                                                                                                      3532  },
                                                                                                                                      3533  // Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
                                                                                                                                      3534  {
                                                                                                                                      3535  -1 /*fromYearTiny*/,
                                                                                                                                      3536  126 /*toYearTiny*/,
                                                                                                                                      3537  10 /*inMonth*/,
                                                                                                                                      3538  7 /*onDayOfWeek*/,
                                                                                                                                      3539  0 /*onDayOfMonth*/,
                                                                                                                                      3540  0 /*atTimeCode*/,
                                                                                                                                      3541  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3542  0 /*deltaCode*/,
                                                                                                                                      3543  '-' /*letter*/,
                                                                                                                                      3544  },
                                                                                                                                      3545 
                                                                                                                                      3546 };
                                                                                                                                      3547 
                                                                                                                                      3548 
                                                                                                                                      3549 
                                                                                                                                      3550 const basic::ZonePolicy kPolicyLebanon ACE_TIME_PROGMEM = {
                                                                                                                                      3551  kZoneRulesLebanon /*rules*/,
                                                                                                                                      3552  nullptr /* letters */,
                                                                                                                                      3553  3 /*numRules*/,
                                                                                                                                      3554  0 /* numLetters */,
                                                                                                                                      3555 };
                                                                                                                                      3556 
                                                                                                                                      3557 //---------------------------------------------------------------------------
                                                                                                                                      3558 // Policy name: Macau
                                                                                                                                      3559 // Rules: 1
                                                                                                                                      3560 // Memory (8-bit): 15
                                                                                                                                      3561 // Memory (32-bit): 24
                                                                                                                                      3562 //---------------------------------------------------------------------------
                                                                                                                                      3563 
                                                                                                                                      3564 static const basic::ZoneRule kZoneRulesMacau[] ACE_TIME_PROGMEM = {
                                                                                                                                      3565  // Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
                                                                                                                                      3566  {
                                                                                                                                      3567  -21 /*fromYearTiny*/,
                                                                                                                                      3568  -21 /*toYearTiny*/,
                                                                                                                                      3569  10 /*inMonth*/,
                                                                                                                                      3570  7 /*onDayOfWeek*/,
                                                                                                                                      3571  16 /*onDayOfMonth*/,
                                                                                                                                      3572  14 /*atTimeCode*/,
                                                                                                                                      3573  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3574  0 /*deltaCode*/,
                                                                                                                                      3575  'S' /*letter*/,
                                                                                                                                      3576  },
                                                                                                                                      3577 
                                                                                                                                      3578 };
                                                                                                                                      3579 
                                                                                                                                      3580 
                                                                                                                                      3581 
                                                                                                                                      3582 const basic::ZonePolicy kPolicyMacau ACE_TIME_PROGMEM = {
                                                                                                                                      3583  kZoneRulesMacau /*rules*/,
                                                                                                                                      3584  nullptr /* letters */,
                                                                                                                                      3585  1 /*numRules*/,
                                                                                                                                      3586  0 /* numLetters */,
                                                                                                                                      3587 };
                                                                                                                                      3588 
                                                                                                                                      3589 //---------------------------------------------------------------------------
                                                                                                                                      3590 // Policy name: Mauritius
                                                                                                                                      3591 // Rules: 3
                                                                                                                                      3592 // Memory (8-bit): 33
                                                                                                                                      3593 // Memory (32-bit): 48
                                                                                                                                      3594 //---------------------------------------------------------------------------
                                                                                                                                      3595 
                                                                                                                                      3596 static const basic::ZoneRule kZoneRulesMauritius[] ACE_TIME_PROGMEM = {
                                                                                                                                      3597  // Rule Mauritius 1983 only - Mar 21 0:00 0 -
                                                                                                                                      3598  {
                                                                                                                                      3599  -17 /*fromYearTiny*/,
                                                                                                                                      3600  -17 /*toYearTiny*/,
                                                                                                                                      3601  3 /*inMonth*/,
                                                                                                                                      3602  0 /*onDayOfWeek*/,
                                                                                                                                      3603  21 /*onDayOfMonth*/,
                                                                                                                                      3604  0 /*atTimeCode*/,
                                                                                                                                      3605  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3606  0 /*deltaCode*/,
                                                                                                                                      3607  '-' /*letter*/,
                                                                                                                                      3608  },
                                                                                                                                      3609  // Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
                                                                                                                                      3610  {
                                                                                                                                      3611  8 /*fromYearTiny*/,
                                                                                                                                      3612  8 /*toYearTiny*/,
                                                                                                                                      3613  10 /*inMonth*/,
                                                                                                                                      3614  7 /*onDayOfWeek*/,
                                                                                                                                      3615  0 /*onDayOfMonth*/,
                                                                                                                                      3616  8 /*atTimeCode*/,
                                                                                                                                      3617  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3618  4 /*deltaCode*/,
                                                                                                                                      3619  '-' /*letter*/,
                                                                                                                                      3620  },
                                                                                                                                      3621  // Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
                                                                                                                                      3622  {
                                                                                                                                      3623  9 /*fromYearTiny*/,
                                                                                                                                      3624  9 /*toYearTiny*/,
                                                                                                                                      3625  3 /*inMonth*/,
                                                                                                                                      3626  7 /*onDayOfWeek*/,
                                                                                                                                      3627  0 /*onDayOfMonth*/,
                                                                                                                                      3628  8 /*atTimeCode*/,
                                                                                                                                      3629  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3630  0 /*deltaCode*/,
                                                                                                                                      3631  '-' /*letter*/,
                                                                                                                                      3632  },
                                                                                                                                      3633 
                                                                                                                                      3634 };
                                                                                                                                      3635 
                                                                                                                                      3636 
                                                                                                                                      3637 
                                                                                                                                      3638 const basic::ZonePolicy kPolicyMauritius ACE_TIME_PROGMEM = {
                                                                                                                                      3639  kZoneRulesMauritius /*rules*/,
                                                                                                                                      3640  nullptr /* letters */,
                                                                                                                                      3641  3 /*numRules*/,
                                                                                                                                      3642  0 /* numLetters */,
                                                                                                                                      3643 };
                                                                                                                                      3644 
                                                                                                                                      3645 //---------------------------------------------------------------------------
                                                                                                                                      3646 // Policy name: Mexico
                                                                                                                                      3647 // Rules: 7
                                                                                                                                      3648 // Memory (8-bit): 69
                                                                                                                                      3649 // Memory (32-bit): 96
                                                                                                                                      3650 //---------------------------------------------------------------------------
                                                                                                                                      3651 
                                                                                                                                      3652 static const basic::ZoneRule kZoneRulesMexico[] ACE_TIME_PROGMEM = {
                                                                                                                                      3653  // Rule Mexico 1950 only - Jul 30 0:00 0 S
                                                                                                                                      3654  {
                                                                                                                                      3655  -50 /*fromYearTiny*/,
                                                                                                                                      3656  -50 /*toYearTiny*/,
                                                                                                                                      3657  7 /*inMonth*/,
                                                                                                                                      3658  0 /*onDayOfWeek*/,
                                                                                                                                      3659  30 /*onDayOfMonth*/,
                                                                                                                                      3660  0 /*atTimeCode*/,
                                                                                                                                      3661  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3662  0 /*deltaCode*/,
                                                                                                                                      3663  'S' /*letter*/,
                                                                                                                                      3664  },
                                                                                                                                      3665  // Rule Mexico 1996 2000 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      3666  {
                                                                                                                                      3667  -4 /*fromYearTiny*/,
                                                                                                                                      3668  0 /*toYearTiny*/,
                                                                                                                                      3669  4 /*inMonth*/,
                                                                                                                                      3670  7 /*onDayOfWeek*/,
                                                                                                                                      3671  1 /*onDayOfMonth*/,
                                                                                                                                      3672  8 /*atTimeCode*/,
                                                                                                                                      3673  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3674  4 /*deltaCode*/,
                                                                                                                                      3675  'D' /*letter*/,
                                                                                                                                      3676  },
                                                                                                                                      3677  // Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S
                                                                                                                                      3678  {
                                                                                                                                      3679  -4 /*fromYearTiny*/,
                                                                                                                                      3680  0 /*toYearTiny*/,
                                                                                                                                      3681  10 /*inMonth*/,
                                                                                                                                      3682  7 /*onDayOfWeek*/,
                                                                                                                                      3683  0 /*onDayOfMonth*/,
                                                                                                                                      3684  8 /*atTimeCode*/,
                                                                                                                                      3685  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3686  0 /*deltaCode*/,
                                                                                                                                      3687  'S' /*letter*/,
                                                                                                                                      3688  },
                                                                                                                                      3689  // Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
                                                                                                                                      3690  {
                                                                                                                                      3691  1 /*fromYearTiny*/,
                                                                                                                                      3692  1 /*toYearTiny*/,
                                                                                                                                      3693  5 /*inMonth*/,
                                                                                                                                      3694  7 /*onDayOfWeek*/,
                                                                                                                                      3695  1 /*onDayOfMonth*/,
                                                                                                                                      3696  8 /*atTimeCode*/,
                                                                                                                                      3697  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3698  4 /*deltaCode*/,
                                                                                                                                      3699  'D' /*letter*/,
                                                                                                                                      3700  },
                                                                                                                                      3701  // Rule Mexico 2001 only - Sep lastSun 2:00 0 S
                                                                                                                                      3702  {
                                                                                                                                      3703  1 /*fromYearTiny*/,
                                                                                                                                      3704  1 /*toYearTiny*/,
                                                                                                                                      3705  9 /*inMonth*/,
                                                                                                                                      3706  7 /*onDayOfWeek*/,
                                                                                                                                      3707  0 /*onDayOfMonth*/,
                                                                                                                                      3708  8 /*atTimeCode*/,
                                                                                                                                      3709  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3710  0 /*deltaCode*/,
                                                                                                                                      3711  'S' /*letter*/,
                                                                                                                                      3712  },
                                                                                                                                      3713  // Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      3714  {
                                                                                                                                      3715  2 /*fromYearTiny*/,
                                                                                                                                      3716  126 /*toYearTiny*/,
                                                                                                                                      3717  4 /*inMonth*/,
                                                                                                                                      3718  7 /*onDayOfWeek*/,
                                                                                                                                      3719  1 /*onDayOfMonth*/,
                                                                                                                                      3720  8 /*atTimeCode*/,
                                                                                                                                      3721  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3722  4 /*deltaCode*/,
                                                                                                                                      3723  'D' /*letter*/,
                                                                                                                                      3724  },
                                                                                                                                      3725  // Rule Mexico 2002 max - Oct lastSun 2:00 0 S
                                                                                                                                      3726  {
                                                                                                                                      3727  2 /*fromYearTiny*/,
                                                                                                                                      3728  126 /*toYearTiny*/,
                                                                                                                                      3729  10 /*inMonth*/,
                                                                                                                                      3730  7 /*onDayOfWeek*/,
                                                                                                                                      3731  0 /*onDayOfMonth*/,
                                                                                                                                      3732  8 /*atTimeCode*/,
                                                                                                                                      3733  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3734  0 /*deltaCode*/,
                                                                                                                                      3735  'S' /*letter*/,
                                                                                                                                      3736  },
                                                                                                                                      3737 
                                                                                                                                      3738 };
                                                                                                                                      3739 
                                                                                                                                      3740 
                                                                                                                                      3741 
                                                                                                                                      3742 const basic::ZonePolicy kPolicyMexico ACE_TIME_PROGMEM = {
                                                                                                                                      3743  kZoneRulesMexico /*rules*/,
                                                                                                                                      3744  nullptr /* letters */,
                                                                                                                                      3745  7 /*numRules*/,
                                                                                                                                      3746  0 /* numLetters */,
                                                                                                                                      3747 };
                                                                                                                                      3748 
                                                                                                                                      3749 //---------------------------------------------------------------------------
                                                                                                                                      3750 // Policy name: Moldova
                                                                                                                                      3751 // Rules: 2
                                                                                                                                      3752 // Memory (8-bit): 24
                                                                                                                                      3753 // Memory (32-bit): 36
                                                                                                                                      3754 //---------------------------------------------------------------------------
                                                                                                                                      3755 
                                                                                                                                      3756 static const basic::ZoneRule kZoneRulesMoldova[] ACE_TIME_PROGMEM = {
                                                                                                                                      3757  // Rule Moldova 1997 max - Mar lastSun 2:00 1:00 S
                                                                                                                                      3758  {
                                                                                                                                      3759  -3 /*fromYearTiny*/,
                                                                                                                                      3760  126 /*toYearTiny*/,
                                                                                                                                      3761  3 /*inMonth*/,
                                                                                                                                      3762  7 /*onDayOfWeek*/,
                                                                                                                                      3763  0 /*onDayOfMonth*/,
                                                                                                                                      3764  8 /*atTimeCode*/,
                                                                                                                                      3765  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3766  4 /*deltaCode*/,
                                                                                                                                      3767  'S' /*letter*/,
                                                                                                                                      3768  },
                                                                                                                                      3769  // Rule Moldova 1997 max - Oct lastSun 3:00 0 -
                                                                                                                                      3770  {
                                                                                                                                      3771  -3 /*fromYearTiny*/,
                                                                                                                                      3772  126 /*toYearTiny*/,
                                                                                                                                      3773  10 /*inMonth*/,
                                                                                                                                      3774  7 /*onDayOfWeek*/,
                                                                                                                                      3775  0 /*onDayOfMonth*/,
                                                                                                                                      3776  12 /*atTimeCode*/,
                                                                                                                                      3777  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3778  0 /*deltaCode*/,
                                                                                                                                      3779  '-' /*letter*/,
                                                                                                                                      3780  },
                                                                                                                                      3781 
                                                                                                                                      3782 };
                                                                                                                                      3783 
                                                                                                                                      3784 
                                                                                                                                      3785 
                                                                                                                                      3786 const basic::ZonePolicy kPolicyMoldova ACE_TIME_PROGMEM = {
                                                                                                                                      3787  kZoneRulesMoldova /*rules*/,
                                                                                                                                      3788  nullptr /* letters */,
                                                                                                                                      3789  2 /*numRules*/,
                                                                                                                                      3790  0 /* numLetters */,
                                                                                                                                      3791 };
                                                                                                                                      3792 
                                                                                                                                      3793 //---------------------------------------------------------------------------
                                                                                                                                      3794 // Policy name: Moncton
                                                                                                                                      3795 // Rules: 3
                                                                                                                                      3796 // Memory (8-bit): 33
                                                                                                                                      3797 // Memory (32-bit): 48
                                                                                                                                      3798 //---------------------------------------------------------------------------
                                                                                                                                      3799 
                                                                                                                                      3800 static const basic::ZoneRule kZoneRulesMoncton[] ACE_TIME_PROGMEM = {
                                                                                                                                      3801  // Rule Moncton 1957 1972 - Oct lastSun 2:00 0 S
                                                                                                                                      3802  {
                                                                                                                                      3803  -43 /*fromYearTiny*/,
                                                                                                                                      3804  -28 /*toYearTiny*/,
                                                                                                                                      3805  10 /*inMonth*/,
                                                                                                                                      3806  7 /*onDayOfWeek*/,
                                                                                                                                      3807  0 /*onDayOfMonth*/,
                                                                                                                                      3808  8 /*atTimeCode*/,
                                                                                                                                      3809  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3810  0 /*deltaCode*/,
                                                                                                                                      3811  'S' /*letter*/,
                                                                                                                                      3812  },
                                                                                                                                      3813  // Rule Moncton 1993 2006 - Apr Sun>=1 0:01 1:00 D
                                                                                                                                      3814  {
                                                                                                                                      3815  -7 /*fromYearTiny*/,
                                                                                                                                      3816  6 /*toYearTiny*/,
                                                                                                                                      3817  4 /*inMonth*/,
                                                                                                                                      3818  7 /*onDayOfWeek*/,
                                                                                                                                      3819  1 /*onDayOfMonth*/,
                                                                                                                                      3820  0 /*atTimeCode*/,
                                                                                                                                      3821  basic::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
                                                                                                                                      3822  4 /*deltaCode*/,
                                                                                                                                      3823  'D' /*letter*/,
                                                                                                                                      3824  },
                                                                                                                                      3825  // Rule Moncton 1993 2006 - Oct lastSun 0:01 0 S
                                                                                                                                      3826  {
                                                                                                                                      3827  -7 /*fromYearTiny*/,
                                                                                                                                      3828  6 /*toYearTiny*/,
                                                                                                                                      3829  10 /*inMonth*/,
                                                                                                                                      3830  7 /*onDayOfWeek*/,
                                                                                                                                      3831  0 /*onDayOfMonth*/,
                                                                                                                                      3832  0 /*atTimeCode*/,
                                                                                                                                      3833  basic::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
                                                                                                                                      3834  0 /*deltaCode*/,
                                                                                                                                      3835  'S' /*letter*/,
                                                                                                                                      3836  },
                                                                                                                                      3837 
                                                                                                                                      3838 };
                                                                                                                                      3839 
                                                                                                                                      3840 
                                                                                                                                      3841 
                                                                                                                                      3842 const basic::ZonePolicy kPolicyMoncton ACE_TIME_PROGMEM = {
                                                                                                                                      3843  kZoneRulesMoncton /*rules*/,
                                                                                                                                      3844  nullptr /* letters */,
                                                                                                                                      3845  3 /*numRules*/,
                                                                                                                                      3846  0 /* numLetters */,
                                                                                                                                      3847 };
                                                                                                                                      3848 
                                                                                                                                      3849 //---------------------------------------------------------------------------
                                                                                                                                      3850 // Policy name: Mongol
                                                                                                                                      3851 // Rules: 6
                                                                                                                                      3852 // Memory (8-bit): 60
                                                                                                                                      3853 // Memory (32-bit): 84
                                                                                                                                      3854 //---------------------------------------------------------------------------
                                                                                                                                      3855 
                                                                                                                                      3856 static const basic::ZoneRule kZoneRulesMongol[] ACE_TIME_PROGMEM = {
                                                                                                                                      3857  // Rule Mongol 1984 1998 - Sep lastSun 0:00 0 -
                                                                                                                                      3858  {
                                                                                                                                      3859  -16 /*fromYearTiny*/,
                                                                                                                                      3860  -2 /*toYearTiny*/,
                                                                                                                                      3861  9 /*inMonth*/,
                                                                                                                                      3862  7 /*onDayOfWeek*/,
                                                                                                                                      3863  0 /*onDayOfMonth*/,
                                                                                                                                      3864  0 /*atTimeCode*/,
                                                                                                                                      3865  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3866  0 /*deltaCode*/,
                                                                                                                                      3867  '-' /*letter*/,
                                                                                                                                      3868  },
                                                                                                                                      3869  // Rule Mongol 2001 only - Apr lastSat 2:00 1:00 -
                                                                                                                                      3870  {
                                                                                                                                      3871  1 /*fromYearTiny*/,
                                                                                                                                      3872  1 /*toYearTiny*/,
                                                                                                                                      3873  4 /*inMonth*/,
                                                                                                                                      3874  6 /*onDayOfWeek*/,
                                                                                                                                      3875  0 /*onDayOfMonth*/,
                                                                                                                                      3876  8 /*atTimeCode*/,
                                                                                                                                      3877  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3878  4 /*deltaCode*/,
                                                                                                                                      3879  '-' /*letter*/,
                                                                                                                                      3880  },
                                                                                                                                      3881  // Rule Mongol 2001 2006 - Sep lastSat 2:00 0 -
                                                                                                                                      3882  {
                                                                                                                                      3883  1 /*fromYearTiny*/,
                                                                                                                                      3884  6 /*toYearTiny*/,
                                                                                                                                      3885  9 /*inMonth*/,
                                                                                                                                      3886  6 /*onDayOfWeek*/,
                                                                                                                                      3887  0 /*onDayOfMonth*/,
                                                                                                                                      3888  8 /*atTimeCode*/,
                                                                                                                                      3889  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3890  0 /*deltaCode*/,
                                                                                                                                      3891  '-' /*letter*/,
                                                                                                                                      3892  },
                                                                                                                                      3893  // Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 -
                                                                                                                                      3894  {
                                                                                                                                      3895  2 /*fromYearTiny*/,
                                                                                                                                      3896  6 /*toYearTiny*/,
                                                                                                                                      3897  3 /*inMonth*/,
                                                                                                                                      3898  6 /*onDayOfWeek*/,
                                                                                                                                      3899  0 /*onDayOfMonth*/,
                                                                                                                                      3900  8 /*atTimeCode*/,
                                                                                                                                      3901  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3902  4 /*deltaCode*/,
                                                                                                                                      3903  '-' /*letter*/,
                                                                                                                                      3904  },
                                                                                                                                      3905  // Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 -
                                                                                                                                      3906  {
                                                                                                                                      3907  15 /*fromYearTiny*/,
                                                                                                                                      3908  16 /*toYearTiny*/,
                                                                                                                                      3909  3 /*inMonth*/,
                                                                                                                                      3910  6 /*onDayOfWeek*/,
                                                                                                                                      3911  0 /*onDayOfMonth*/,
                                                                                                                                      3912  8 /*atTimeCode*/,
                                                                                                                                      3913  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3914  4 /*deltaCode*/,
                                                                                                                                      3915  '-' /*letter*/,
                                                                                                                                      3916  },
                                                                                                                                      3917  // Rule Mongol 2015 2016 - Sep lastSat 0:00 0 -
                                                                                                                                      3918  {
                                                                                                                                      3919  15 /*fromYearTiny*/,
                                                                                                                                      3920  16 /*toYearTiny*/,
                                                                                                                                      3921  9 /*inMonth*/,
                                                                                                                                      3922  6 /*onDayOfWeek*/,
                                                                                                                                      3923  0 /*onDayOfMonth*/,
                                                                                                                                      3924  0 /*atTimeCode*/,
                                                                                                                                      3925  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      3926  0 /*deltaCode*/,
                                                                                                                                      3927  '-' /*letter*/,
                                                                                                                                      3928  },
                                                                                                                                      3929 
                                                                                                                                      3930 };
                                                                                                                                      3931 
                                                                                                                                      3932 
                                                                                                                                      3933 
                                                                                                                                      3934 const basic::ZonePolicy kPolicyMongol ACE_TIME_PROGMEM = {
                                                                                                                                      3935  kZoneRulesMongol /*rules*/,
                                                                                                                                      3936  nullptr /* letters */,
                                                                                                                                      3937  6 /*numRules*/,
                                                                                                                                      3938  0 /* numLetters */,
                                                                                                                                      3939 };
                                                                                                                                      3940 
                                                                                                                                      3941 //---------------------------------------------------------------------------
                                                                                                                                      3942 // Policy name: NC
                                                                                                                                      3943 // Rules: 1
                                                                                                                                      3944 // Memory (8-bit): 15
                                                                                                                                      3945 // Memory (32-bit): 24
                                                                                                                                      3946 //---------------------------------------------------------------------------
                                                                                                                                      3947 
                                                                                                                                      3948 static const basic::ZoneRule kZoneRulesNC[] ACE_TIME_PROGMEM = {
                                                                                                                                      3949  // Rule NC 1997 only - Mar 2 2:00s 0 -
                                                                                                                                      3950  {
                                                                                                                                      3951  -3 /*fromYearTiny*/,
                                                                                                                                      3952  -3 /*toYearTiny*/,
                                                                                                                                      3953  3 /*inMonth*/,
                                                                                                                                      3954  0 /*onDayOfWeek*/,
                                                                                                                                      3955  2 /*onDayOfMonth*/,
                                                                                                                                      3956  8 /*atTimeCode*/,
                                                                                                                                      3957  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3958  0 /*deltaCode*/,
                                                                                                                                      3959  '-' /*letter*/,
                                                                                                                                      3960  },
                                                                                                                                      3961 
                                                                                                                                      3962 };
                                                                                                                                      3963 
                                                                                                                                      3964 
                                                                                                                                      3965 
                                                                                                                                      3966 const basic::ZonePolicy kPolicyNC ACE_TIME_PROGMEM = {
                                                                                                                                      3967  kZoneRulesNC /*rules*/,
                                                                                                                                      3968  nullptr /* letters */,
                                                                                                                                      3969  1 /*numRules*/,
                                                                                                                                      3970  0 /* numLetters */,
                                                                                                                                      3971 };
                                                                                                                                      3972 
                                                                                                                                      3973 //---------------------------------------------------------------------------
                                                                                                                                      3974 // Policy name: NZ
                                                                                                                                      3975 // Rules: 5
                                                                                                                                      3976 // Memory (8-bit): 51
                                                                                                                                      3977 // Memory (32-bit): 72
                                                                                                                                      3978 //---------------------------------------------------------------------------
                                                                                                                                      3979 
                                                                                                                                      3980 static const basic::ZoneRule kZoneRulesNZ[] ACE_TIME_PROGMEM = {
                                                                                                                                      3981  // Rule NZ 1989 only - Oct Sun>=8 2:00s 1:00 D
                                                                                                                                      3982  {
                                                                                                                                      3983  -11 /*fromYearTiny*/,
                                                                                                                                      3984  -11 /*toYearTiny*/,
                                                                                                                                      3985  10 /*inMonth*/,
                                                                                                                                      3986  7 /*onDayOfWeek*/,
                                                                                                                                      3987  8 /*onDayOfMonth*/,
                                                                                                                                      3988  8 /*atTimeCode*/,
                                                                                                                                      3989  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      3990  4 /*deltaCode*/,
                                                                                                                                      3991  'D' /*letter*/,
                                                                                                                                      3992  },
                                                                                                                                      3993  // Rule NZ 1990 2006 - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      3994  {
                                                                                                                                      3995  -10 /*fromYearTiny*/,
                                                                                                                                      3996  6 /*toYearTiny*/,
                                                                                                                                      3997  10 /*inMonth*/,
                                                                                                                                      3998  7 /*onDayOfWeek*/,
                                                                                                                                      3999  1 /*onDayOfMonth*/,
                                                                                                                                      4000  8 /*atTimeCode*/,
                                                                                                                                      4001  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4002  4 /*deltaCode*/,
                                                                                                                                      4003  'D' /*letter*/,
                                                                                                                                      4004  },
                                                                                                                                      4005  // Rule NZ 1990 2007 - Mar Sun>=15 2:00s 0 S
                                                                                                                                      4006  {
                                                                                                                                      4007  -10 /*fromYearTiny*/,
                                                                                                                                      4008  7 /*toYearTiny*/,
                                                                                                                                      4009  3 /*inMonth*/,
                                                                                                                                      4010  7 /*onDayOfWeek*/,
                                                                                                                                      4011  15 /*onDayOfMonth*/,
                                                                                                                                      4012  8 /*atTimeCode*/,
                                                                                                                                      4013  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4014  0 /*deltaCode*/,
                                                                                                                                      4015  'S' /*letter*/,
                                                                                                                                      4016  },
                                                                                                                                      4017  // Rule NZ 2007 max - Sep lastSun 2:00s 1:00 D
                                                                                                                                      4018  {
                                                                                                                                      4019  7 /*fromYearTiny*/,
                                                                                                                                      4020  126 /*toYearTiny*/,
                                                                                                                                      4021  9 /*inMonth*/,
                                                                                                                                      4022  7 /*onDayOfWeek*/,
                                                                                                                                      4023  0 /*onDayOfMonth*/,
                                                                                                                                      4024  8 /*atTimeCode*/,
                                                                                                                                      4025  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4026  4 /*deltaCode*/,
                                                                                                                                      4027  'D' /*letter*/,
                                                                                                                                      4028  },
                                                                                                                                      4029  // Rule NZ 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      4030  {
                                                                                                                                      4031  8 /*fromYearTiny*/,
                                                                                                                                      4032  126 /*toYearTiny*/,
                                                                                                                                      4033  4 /*inMonth*/,
                                                                                                                                      4034  7 /*onDayOfWeek*/,
                                                                                                                                      4035  1 /*onDayOfMonth*/,
                                                                                                                                      4036  8 /*atTimeCode*/,
                                                                                                                                      4037  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4038  0 /*deltaCode*/,
                                                                                                                                      4039  'S' /*letter*/,
                                                                                                                                      4040  },
                                                                                                                                      4041 
                                                                                                                                      4042 };
                                                                                                                                      4043 
                                                                                                                                      4044 
                                                                                                                                      4045 
                                                                                                                                      4046 const basic::ZonePolicy kPolicyNZ ACE_TIME_PROGMEM = {
                                                                                                                                      4047  kZoneRulesNZ /*rules*/,
                                                                                                                                      4048  nullptr /* letters */,
                                                                                                                                      4049  5 /*numRules*/,
                                                                                                                                      4050  0 /* numLetters */,
                                                                                                                                      4051 };
                                                                                                                                      4052 
                                                                                                                                      4053 //---------------------------------------------------------------------------
                                                                                                                                      4054 // Policy name: Nic
                                                                                                                                      4055 // Rules: 5
                                                                                                                                      4056 // Memory (8-bit): 51
                                                                                                                                      4057 // Memory (32-bit): 72
                                                                                                                                      4058 //---------------------------------------------------------------------------
                                                                                                                                      4059 
                                                                                                                                      4060 static const basic::ZoneRule kZoneRulesNic[] ACE_TIME_PROGMEM = {
                                                                                                                                      4061  // Rule Nic 1979 1980 - Jun Mon>=23 0:00 0 S
                                                                                                                                      4062  {
                                                                                                                                      4063  -21 /*fromYearTiny*/,
                                                                                                                                      4064  -20 /*toYearTiny*/,
                                                                                                                                      4065  6 /*inMonth*/,
                                                                                                                                      4066  1 /*onDayOfWeek*/,
                                                                                                                                      4067  23 /*onDayOfMonth*/,
                                                                                                                                      4068  0 /*atTimeCode*/,
                                                                                                                                      4069  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4070  0 /*deltaCode*/,
                                                                                                                                      4071  'S' /*letter*/,
                                                                                                                                      4072  },
                                                                                                                                      4073  // Rule Nic 2005 only - Apr 10 0:00 1:00 D
                                                                                                                                      4074  {
                                                                                                                                      4075  5 /*fromYearTiny*/,
                                                                                                                                      4076  5 /*toYearTiny*/,
                                                                                                                                      4077  4 /*inMonth*/,
                                                                                                                                      4078  0 /*onDayOfWeek*/,
                                                                                                                                      4079  10 /*onDayOfMonth*/,
                                                                                                                                      4080  0 /*atTimeCode*/,
                                                                                                                                      4081  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4082  4 /*deltaCode*/,
                                                                                                                                      4083  'D' /*letter*/,
                                                                                                                                      4084  },
                                                                                                                                      4085  // Rule Nic 2005 only - Oct Sun>=1 0:00 0 S
                                                                                                                                      4086  {
                                                                                                                                      4087  5 /*fromYearTiny*/,
                                                                                                                                      4088  5 /*toYearTiny*/,
                                                                                                                                      4089  10 /*inMonth*/,
                                                                                                                                      4090  7 /*onDayOfWeek*/,
                                                                                                                                      4091  1 /*onDayOfMonth*/,
                                                                                                                                      4092  0 /*atTimeCode*/,
                                                                                                                                      4093  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4094  0 /*deltaCode*/,
                                                                                                                                      4095  'S' /*letter*/,
                                                                                                                                      4096  },
                                                                                                                                      4097  // Rule Nic 2006 only - Apr 30 2:00 1:00 D
                                                                                                                                      4098  {
                                                                                                                                      4099  6 /*fromYearTiny*/,
                                                                                                                                      4100  6 /*toYearTiny*/,
                                                                                                                                      4101  4 /*inMonth*/,
                                                                                                                                      4102  0 /*onDayOfWeek*/,
                                                                                                                                      4103  30 /*onDayOfMonth*/,
                                                                                                                                      4104  8 /*atTimeCode*/,
                                                                                                                                      4105  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4106  4 /*deltaCode*/,
                                                                                                                                      4107  'D' /*letter*/,
                                                                                                                                      4108  },
                                                                                                                                      4109  // Rule Nic 2006 only - Oct Sun>=1 1:00 0 S
                                                                                                                                      4110  {
                                                                                                                                      4111  6 /*fromYearTiny*/,
                                                                                                                                      4112  6 /*toYearTiny*/,
                                                                                                                                      4113  10 /*inMonth*/,
                                                                                                                                      4114  7 /*onDayOfWeek*/,
                                                                                                                                      4115  1 /*onDayOfMonth*/,
                                                                                                                                      4116  4 /*atTimeCode*/,
                                                                                                                                      4117  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4118  0 /*deltaCode*/,
                                                                                                                                      4119  'S' /*letter*/,
                                                                                                                                      4120  },
                                                                                                                                      4121 
                                                                                                                                      4122 };
                                                                                                                                      4123 
                                                                                                                                      4124 
                                                                                                                                      4125 
                                                                                                                                      4126 const basic::ZonePolicy kPolicyNic ACE_TIME_PROGMEM = {
                                                                                                                                      4127  kZoneRulesNic /*rules*/,
                                                                                                                                      4128  nullptr /* letters */,
                                                                                                                                      4129  5 /*numRules*/,
                                                                                                                                      4130  0 /* numLetters */,
                                                                                                                                      4131 };
                                                                                                                                      4132 
                                                                                                                                      4133 //---------------------------------------------------------------------------
                                                                                                                                      4134 // Policy name: PRC
                                                                                                                                      4135 // Rules: 1
                                                                                                                                      4136 // Memory (8-bit): 15
                                                                                                                                      4137 // Memory (32-bit): 24
                                                                                                                                      4138 //---------------------------------------------------------------------------
                                                                                                                                      4139 
                                                                                                                                      4140 static const basic::ZoneRule kZoneRulesPRC[] ACE_TIME_PROGMEM = {
                                                                                                                                      4141  // Rule PRC 1986 1991 - Sep Sun>=11 2:00 0 S
                                                                                                                                      4142  {
                                                                                                                                      4143  -14 /*fromYearTiny*/,
                                                                                                                                      4144  -9 /*toYearTiny*/,
                                                                                                                                      4145  9 /*inMonth*/,
                                                                                                                                      4146  7 /*onDayOfWeek*/,
                                                                                                                                      4147  11 /*onDayOfMonth*/,
                                                                                                                                      4148  8 /*atTimeCode*/,
                                                                                                                                      4149  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4150  0 /*deltaCode*/,
                                                                                                                                      4151  'S' /*letter*/,
                                                                                                                                      4152  },
                                                                                                                                      4153 
                                                                                                                                      4154 };
                                                                                                                                      4155 
                                                                                                                                      4156 
                                                                                                                                      4157 
                                                                                                                                      4158 const basic::ZonePolicy kPolicyPRC ACE_TIME_PROGMEM = {
                                                                                                                                      4159  kZoneRulesPRC /*rules*/,
                                                                                                                                      4160  nullptr /* letters */,
                                                                                                                                      4161  1 /*numRules*/,
                                                                                                                                      4162  0 /* numLetters */,
                                                                                                                                      4163 };
                                                                                                                                      4164 
                                                                                                                                      4165 //---------------------------------------------------------------------------
                                                                                                                                      4166 // Policy name: Pakistan
                                                                                                                                      4167 // Rules: 6
                                                                                                                                      4168 // Memory (8-bit): 60
                                                                                                                                      4169 // Memory (32-bit): 84
                                                                                                                                      4170 //---------------------------------------------------------------------------
                                                                                                                                      4171 
                                                                                                                                      4172 static const basic::ZoneRule kZoneRulesPakistan[] ACE_TIME_PROGMEM = {
                                                                                                                                      4173  // Anchor: Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
                                                                                                                                      4174  {
                                                                                                                                      4175  -127 /*fromYearTiny*/,
                                                                                                                                      4176  -127 /*toYearTiny*/,
                                                                                                                                      4177  1 /*inMonth*/,
                                                                                                                                      4178  0 /*onDayOfWeek*/,
                                                                                                                                      4179  1 /*onDayOfMonth*/,
                                                                                                                                      4180  0 /*atTimeCode*/,
                                                                                                                                      4181  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4182  0 /*deltaCode*/,
                                                                                                                                      4183  '-' /*letter*/,
                                                                                                                                      4184  },
                                                                                                                                      4185  // Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
                                                                                                                                      4186  {
                                                                                                                                      4187  2 /*fromYearTiny*/,
                                                                                                                                      4188  2 /*toYearTiny*/,
                                                                                                                                      4189  4 /*inMonth*/,
                                                                                                                                      4190  7 /*onDayOfWeek*/,
                                                                                                                                      4191  2 /*onDayOfMonth*/,
                                                                                                                                      4192  0 /*atTimeCode*/,
                                                                                                                                      4193  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4194  4 /*deltaCode*/,
                                                                                                                                      4195  'S' /*letter*/,
                                                                                                                                      4196  },
                                                                                                                                      4197  // Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
                                                                                                                                      4198  {
                                                                                                                                      4199  2 /*fromYearTiny*/,
                                                                                                                                      4200  2 /*toYearTiny*/,
                                                                                                                                      4201  10 /*inMonth*/,
                                                                                                                                      4202  7 /*onDayOfWeek*/,
                                                                                                                                      4203  2 /*onDayOfMonth*/,
                                                                                                                                      4204  0 /*atTimeCode*/,
                                                                                                                                      4205  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4206  0 /*deltaCode*/,
                                                                                                                                      4207  '-' /*letter*/,
                                                                                                                                      4208  },
                                                                                                                                      4209  // Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
                                                                                                                                      4210  {
                                                                                                                                      4211  8 /*fromYearTiny*/,
                                                                                                                                      4212  8 /*toYearTiny*/,
                                                                                                                                      4213  6 /*inMonth*/,
                                                                                                                                      4214  0 /*onDayOfWeek*/,
                                                                                                                                      4215  1 /*onDayOfMonth*/,
                                                                                                                                      4216  0 /*atTimeCode*/,
                                                                                                                                      4217  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4218  4 /*deltaCode*/,
                                                                                                                                      4219  'S' /*letter*/,
                                                                                                                                      4220  },
                                                                                                                                      4221  // Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
                                                                                                                                      4222  {
                                                                                                                                      4223  8 /*fromYearTiny*/,
                                                                                                                                      4224  9 /*toYearTiny*/,
                                                                                                                                      4225  11 /*inMonth*/,
                                                                                                                                      4226  0 /*onDayOfWeek*/,
                                                                                                                                      4227  1 /*onDayOfMonth*/,
                                                                                                                                      4228  0 /*atTimeCode*/,
                                                                                                                                      4229  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4230  0 /*deltaCode*/,
                                                                                                                                      4231  '-' /*letter*/,
                                                                                                                                      4232  },
                                                                                                                                      4233  // Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
                                                                                                                                      4234  {
                                                                                                                                      4235  9 /*fromYearTiny*/,
                                                                                                                                      4236  9 /*toYearTiny*/,
                                                                                                                                      4237  4 /*inMonth*/,
                                                                                                                                      4238  0 /*onDayOfWeek*/,
                                                                                                                                      4239  15 /*onDayOfMonth*/,
                                                                                                                                      4240  0 /*atTimeCode*/,
                                                                                                                                      4241  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4242  4 /*deltaCode*/,
                                                                                                                                      4243  'S' /*letter*/,
                                                                                                                                      4244  },
                                                                                                                                      4245 
                                                                                                                                      4246 };
                                                                                                                                      4247 
                                                                                                                                      4248 
                                                                                                                                      4249 
                                                                                                                                      4250 const basic::ZonePolicy kPolicyPakistan ACE_TIME_PROGMEM = {
                                                                                                                                      4251  kZoneRulesPakistan /*rules*/,
                                                                                                                                      4252  nullptr /* letters */,
                                                                                                                                      4253  6 /*numRules*/,
                                                                                                                                      4254  0 /* numLetters */,
                                                                                                                                      4255 };
                                                                                                                                      4256 
                                                                                                                                      4257 //---------------------------------------------------------------------------
                                                                                                                                      4258 // Policy name: Para
                                                                                                                                      4259 // Rules: 10
                                                                                                                                      4260 // Memory (8-bit): 96
                                                                                                                                      4261 // Memory (32-bit): 132
                                                                                                                                      4262 //---------------------------------------------------------------------------
                                                                                                                                      4263 
                                                                                                                                      4264 static const basic::ZoneRule kZoneRulesPara[] ACE_TIME_PROGMEM = {
                                                                                                                                      4265  // Rule Para 1996 2001 - Oct Sun>=1 0:00 1:00 -
                                                                                                                                      4266  {
                                                                                                                                      4267  -4 /*fromYearTiny*/,
                                                                                                                                      4268  1 /*toYearTiny*/,
                                                                                                                                      4269  10 /*inMonth*/,
                                                                                                                                      4270  7 /*onDayOfWeek*/,
                                                                                                                                      4271  1 /*onDayOfMonth*/,
                                                                                                                                      4272  0 /*atTimeCode*/,
                                                                                                                                      4273  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4274  4 /*deltaCode*/,
                                                                                                                                      4275  '-' /*letter*/,
                                                                                                                                      4276  },
                                                                                                                                      4277  // Rule Para 1997 only - Feb lastSun 0:00 0 -
                                                                                                                                      4278  {
                                                                                                                                      4279  -3 /*fromYearTiny*/,
                                                                                                                                      4280  -3 /*toYearTiny*/,
                                                                                                                                      4281  2 /*inMonth*/,
                                                                                                                                      4282  7 /*onDayOfWeek*/,
                                                                                                                                      4283  0 /*onDayOfMonth*/,
                                                                                                                                      4284  0 /*atTimeCode*/,
                                                                                                                                      4285  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4286  0 /*deltaCode*/,
                                                                                                                                      4287  '-' /*letter*/,
                                                                                                                                      4288  },
                                                                                                                                      4289  // Rule Para 1998 2001 - Mar Sun>=1 0:00 0 -
                                                                                                                                      4290  {
                                                                                                                                      4291  -2 /*fromYearTiny*/,
                                                                                                                                      4292  1 /*toYearTiny*/,
                                                                                                                                      4293  3 /*inMonth*/,
                                                                                                                                      4294  7 /*onDayOfWeek*/,
                                                                                                                                      4295  1 /*onDayOfMonth*/,
                                                                                                                                      4296  0 /*atTimeCode*/,
                                                                                                                                      4297  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4298  0 /*deltaCode*/,
                                                                                                                                      4299  '-' /*letter*/,
                                                                                                                                      4300  },
                                                                                                                                      4301  // Rule Para 2002 2004 - Apr Sun>=1 0:00 0 -
                                                                                                                                      4302  {
                                                                                                                                      4303  2 /*fromYearTiny*/,
                                                                                                                                      4304  4 /*toYearTiny*/,
                                                                                                                                      4305  4 /*inMonth*/,
                                                                                                                                      4306  7 /*onDayOfWeek*/,
                                                                                                                                      4307  1 /*onDayOfMonth*/,
                                                                                                                                      4308  0 /*atTimeCode*/,
                                                                                                                                      4309  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4310  0 /*deltaCode*/,
                                                                                                                                      4311  '-' /*letter*/,
                                                                                                                                      4312  },
                                                                                                                                      4313  // Rule Para 2002 2003 - Sep Sun>=1 0:00 1:00 -
                                                                                                                                      4314  {
                                                                                                                                      4315  2 /*fromYearTiny*/,
                                                                                                                                      4316  3 /*toYearTiny*/,
                                                                                                                                      4317  9 /*inMonth*/,
                                                                                                                                      4318  7 /*onDayOfWeek*/,
                                                                                                                                      4319  1 /*onDayOfMonth*/,
                                                                                                                                      4320  0 /*atTimeCode*/,
                                                                                                                                      4321  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4322  4 /*deltaCode*/,
                                                                                                                                      4323  '-' /*letter*/,
                                                                                                                                      4324  },
                                                                                                                                      4325  // Rule Para 2004 2009 - Oct Sun>=15 0:00 1:00 -
                                                                                                                                      4326  {
                                                                                                                                      4327  4 /*fromYearTiny*/,
                                                                                                                                      4328  9 /*toYearTiny*/,
                                                                                                                                      4329  10 /*inMonth*/,
                                                                                                                                      4330  7 /*onDayOfWeek*/,
                                                                                                                                      4331  15 /*onDayOfMonth*/,
                                                                                                                                      4332  0 /*atTimeCode*/,
                                                                                                                                      4333  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4334  4 /*deltaCode*/,
                                                                                                                                      4335  '-' /*letter*/,
                                                                                                                                      4336  },
                                                                                                                                      4337  // Rule Para 2005 2009 - Mar Sun>=8 0:00 0 -
                                                                                                                                      4338  {
                                                                                                                                      4339  5 /*fromYearTiny*/,
                                                                                                                                      4340  9 /*toYearTiny*/,
                                                                                                                                      4341  3 /*inMonth*/,
                                                                                                                                      4342  7 /*onDayOfWeek*/,
                                                                                                                                      4343  8 /*onDayOfMonth*/,
                                                                                                                                      4344  0 /*atTimeCode*/,
                                                                                                                                      4345  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4346  0 /*deltaCode*/,
                                                                                                                                      4347  '-' /*letter*/,
                                                                                                                                      4348  },
                                                                                                                                      4349  // Rule Para 2010 max - Oct Sun>=1 0:00 1:00 -
                                                                                                                                      4350  {
                                                                                                                                      4351  10 /*fromYearTiny*/,
                                                                                                                                      4352  126 /*toYearTiny*/,
                                                                                                                                      4353  10 /*inMonth*/,
                                                                                                                                      4354  7 /*onDayOfWeek*/,
                                                                                                                                      4355  1 /*onDayOfMonth*/,
                                                                                                                                      4356  0 /*atTimeCode*/,
                                                                                                                                      4357  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4358  4 /*deltaCode*/,
                                                                                                                                      4359  '-' /*letter*/,
                                                                                                                                      4360  },
                                                                                                                                      4361  // Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
                                                                                                                                      4362  {
                                                                                                                                      4363  10 /*fromYearTiny*/,
                                                                                                                                      4364  12 /*toYearTiny*/,
                                                                                                                                      4365  4 /*inMonth*/,
                                                                                                                                      4366  7 /*onDayOfWeek*/,
                                                                                                                                      4367  8 /*onDayOfMonth*/,
                                                                                                                                      4368  0 /*atTimeCode*/,
                                                                                                                                      4369  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4370  0 /*deltaCode*/,
                                                                                                                                      4371  '-' /*letter*/,
                                                                                                                                      4372  },
                                                                                                                                      4373  // Rule Para 2013 max - Mar Sun>=22 0:00 0 -
                                                                                                                                      4374  {
                                                                                                                                      4375  13 /*fromYearTiny*/,
                                                                                                                                      4376  126 /*toYearTiny*/,
                                                                                                                                      4377  3 /*inMonth*/,
                                                                                                                                      4378  7 /*onDayOfWeek*/,
                                                                                                                                      4379  22 /*onDayOfMonth*/,
                                                                                                                                      4380  0 /*atTimeCode*/,
                                                                                                                                      4381  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4382  0 /*deltaCode*/,
                                                                                                                                      4383  '-' /*letter*/,
                                                                                                                                      4384  },
                                                                                                                                      4385 
                                                                                                                                      4386 };
                                                                                                                                      4387 
                                                                                                                                      4388 
                                                                                                                                      4389 
                                                                                                                                      4390 const basic::ZonePolicy kPolicyPara ACE_TIME_PROGMEM = {
                                                                                                                                      4391  kZoneRulesPara /*rules*/,
                                                                                                                                      4392  nullptr /* letters */,
                                                                                                                                      4393  10 /*numRules*/,
                                                                                                                                      4394  0 /* numLetters */,
                                                                                                                                      4395 };
                                                                                                                                      4396 
                                                                                                                                      4397 //---------------------------------------------------------------------------
                                                                                                                                      4398 // Policy name: Peru
                                                                                                                                      4399 // Rules: 1
                                                                                                                                      4400 // Memory (8-bit): 15
                                                                                                                                      4401 // Memory (32-bit): 24
                                                                                                                                      4402 //---------------------------------------------------------------------------
                                                                                                                                      4403 
                                                                                                                                      4404 static const basic::ZoneRule kZoneRulesPeru[] ACE_TIME_PROGMEM = {
                                                                                                                                      4405  // Rule Peru 1994 only - Apr 1 0:00 0 -
                                                                                                                                      4406  {
                                                                                                                                      4407  -6 /*fromYearTiny*/,
                                                                                                                                      4408  -6 /*toYearTiny*/,
                                                                                                                                      4409  4 /*inMonth*/,
                                                                                                                                      4410  0 /*onDayOfWeek*/,
                                                                                                                                      4411  1 /*onDayOfMonth*/,
                                                                                                                                      4412  0 /*atTimeCode*/,
                                                                                                                                      4413  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4414  0 /*deltaCode*/,
                                                                                                                                      4415  '-' /*letter*/,
                                                                                                                                      4416  },
                                                                                                                                      4417 
                                                                                                                                      4418 };
                                                                                                                                      4419 
                                                                                                                                      4420 
                                                                                                                                      4421 
                                                                                                                                      4422 const basic::ZonePolicy kPolicyPeru ACE_TIME_PROGMEM = {
                                                                                                                                      4423  kZoneRulesPeru /*rules*/,
                                                                                                                                      4424  nullptr /* letters */,
                                                                                                                                      4425  1 /*numRules*/,
                                                                                                                                      4426  0 /* numLetters */,
                                                                                                                                      4427 };
                                                                                                                                      4428 
                                                                                                                                      4429 //---------------------------------------------------------------------------
                                                                                                                                      4430 // Policy name: Phil
                                                                                                                                      4431 // Rules: 1
                                                                                                                                      4432 // Memory (8-bit): 15
                                                                                                                                      4433 // Memory (32-bit): 24
                                                                                                                                      4434 //---------------------------------------------------------------------------
                                                                                                                                      4435 
                                                                                                                                      4436 static const basic::ZoneRule kZoneRulesPhil[] ACE_TIME_PROGMEM = {
                                                                                                                                      4437  // Rule Phil 1978 only - Sep 21 0:00 0 S
                                                                                                                                      4438  {
                                                                                                                                      4439  -22 /*fromYearTiny*/,
                                                                                                                                      4440  -22 /*toYearTiny*/,
                                                                                                                                      4441  9 /*inMonth*/,
                                                                                                                                      4442  0 /*onDayOfWeek*/,
                                                                                                                                      4443  21 /*onDayOfMonth*/,
                                                                                                                                      4444  0 /*atTimeCode*/,
                                                                                                                                      4445  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4446  0 /*deltaCode*/,
                                                                                                                                      4447  'S' /*letter*/,
                                                                                                                                      4448  },
                                                                                                                                      4449 
                                                                                                                                      4450 };
                                                                                                                                      4451 
                                                                                                                                      4452 
                                                                                                                                      4453 
                                                                                                                                      4454 const basic::ZonePolicy kPolicyPhil ACE_TIME_PROGMEM = {
                                                                                                                                      4455  kZoneRulesPhil /*rules*/,
                                                                                                                                      4456  nullptr /* letters */,
                                                                                                                                      4457  1 /*numRules*/,
                                                                                                                                      4458  0 /* numLetters */,
                                                                                                                                      4459 };
                                                                                                                                      4460 
                                                                                                                                      4461 //---------------------------------------------------------------------------
                                                                                                                                      4462 // Policy name: ROK
                                                                                                                                      4463 // Rules: 1
                                                                                                                                      4464 // Memory (8-bit): 15
                                                                                                                                      4465 // Memory (32-bit): 24
                                                                                                                                      4466 //---------------------------------------------------------------------------
                                                                                                                                      4467 
                                                                                                                                      4468 static const basic::ZoneRule kZoneRulesROK[] ACE_TIME_PROGMEM = {
                                                                                                                                      4469  // Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
                                                                                                                                      4470  {
                                                                                                                                      4471  -13 /*fromYearTiny*/,
                                                                                                                                      4472  -12 /*toYearTiny*/,
                                                                                                                                      4473  10 /*inMonth*/,
                                                                                                                                      4474  7 /*onDayOfWeek*/,
                                                                                                                                      4475  8 /*onDayOfMonth*/,
                                                                                                                                      4476  12 /*atTimeCode*/,
                                                                                                                                      4477  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4478  0 /*deltaCode*/,
                                                                                                                                      4479  'S' /*letter*/,
                                                                                                                                      4480  },
                                                                                                                                      4481 
                                                                                                                                      4482 };
                                                                                                                                      4483 
                                                                                                                                      4484 
                                                                                                                                      4485 
                                                                                                                                      4486 const basic::ZonePolicy kPolicyROK ACE_TIME_PROGMEM = {
                                                                                                                                      4487  kZoneRulesROK /*rules*/,
                                                                                                                                      4488  nullptr /* letters */,
                                                                                                                                      4489  1 /*numRules*/,
                                                                                                                                      4490  0 /* numLetters */,
                                                                                                                                      4491 };
                                                                                                                                      4492 
                                                                                                                                      4493 //---------------------------------------------------------------------------
                                                                                                                                      4494 // Policy name: RussiaAsia
                                                                                                                                      4495 // Rules: 3
                                                                                                                                      4496 // Memory (8-bit): 33
                                                                                                                                      4497 // Memory (32-bit): 48
                                                                                                                                      4498 //---------------------------------------------------------------------------
                                                                                                                                      4499 
                                                                                                                                      4500 static const basic::ZoneRule kZoneRulesRussiaAsia[] ACE_TIME_PROGMEM = {
                                                                                                                                      4501  // Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 -
                                                                                                                                      4502  {
                                                                                                                                      4503  -16 /*fromYearTiny*/,
                                                                                                                                      4504  -5 /*toYearTiny*/,
                                                                                                                                      4505  9 /*inMonth*/,
                                                                                                                                      4506  7 /*onDayOfWeek*/,
                                                                                                                                      4507  0 /*onDayOfMonth*/,
                                                                                                                                      4508  8 /*atTimeCode*/,
                                                                                                                                      4509  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4510  0 /*deltaCode*/,
                                                                                                                                      4511  '-' /*letter*/,
                                                                                                                                      4512  },
                                                                                                                                      4513  // Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 -
                                                                                                                                      4514  {
                                                                                                                                      4515  -15 /*fromYearTiny*/,
                                                                                                                                      4516  10 /*toYearTiny*/,
                                                                                                                                      4517  3 /*inMonth*/,
                                                                                                                                      4518  7 /*onDayOfWeek*/,
                                                                                                                                      4519  0 /*onDayOfMonth*/,
                                                                                                                                      4520  8 /*atTimeCode*/,
                                                                                                                                      4521  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4522  4 /*deltaCode*/,
                                                                                                                                      4523  '-' /*letter*/,
                                                                                                                                      4524  },
                                                                                                                                      4525  // Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 -
                                                                                                                                      4526  {
                                                                                                                                      4527  -4 /*fromYearTiny*/,
                                                                                                                                      4528  10 /*toYearTiny*/,
                                                                                                                                      4529  10 /*inMonth*/,
                                                                                                                                      4530  7 /*onDayOfWeek*/,
                                                                                                                                      4531  0 /*onDayOfMonth*/,
                                                                                                                                      4532  8 /*atTimeCode*/,
                                                                                                                                      4533  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4534  0 /*deltaCode*/,
                                                                                                                                      4535  '-' /*letter*/,
                                                                                                                                      4536  },
                                                                                                                                      4537 
                                                                                                                                      4538 };
                                                                                                                                      4539 
                                                                                                                                      4540 
                                                                                                                                      4541 
                                                                                                                                      4542 const basic::ZonePolicy kPolicyRussiaAsia ACE_TIME_PROGMEM = {
                                                                                                                                      4543  kZoneRulesRussiaAsia /*rules*/,
                                                                                                                                      4544  nullptr /* letters */,
                                                                                                                                      4545  3 /*numRules*/,
                                                                                                                                      4546  0 /* numLetters */,
                                                                                                                                      4547 };
                                                                                                                                      4548 
                                                                                                                                      4549 //---------------------------------------------------------------------------
                                                                                                                                      4550 // Policy name: SA
                                                                                                                                      4551 // Rules: 1
                                                                                                                                      4552 // Memory (8-bit): 15
                                                                                                                                      4553 // Memory (32-bit): 24
                                                                                                                                      4554 //---------------------------------------------------------------------------
                                                                                                                                      4555 
                                                                                                                                      4556 static const basic::ZoneRule kZoneRulesSA[] ACE_TIME_PROGMEM = {
                                                                                                                                      4557  // Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
                                                                                                                                      4558  {
                                                                                                                                      4559  -57 /*fromYearTiny*/,
                                                                                                                                      4560  -56 /*toYearTiny*/,
                                                                                                                                      4561  3 /*inMonth*/,
                                                                                                                                      4562  7 /*onDayOfWeek*/,
                                                                                                                                      4563  15 /*onDayOfMonth*/,
                                                                                                                                      4564  8 /*atTimeCode*/,
                                                                                                                                      4565  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4566  0 /*deltaCode*/,
                                                                                                                                      4567  '-' /*letter*/,
                                                                                                                                      4568  },
                                                                                                                                      4569 
                                                                                                                                      4570 };
                                                                                                                                      4571 
                                                                                                                                      4572 
                                                                                                                                      4573 
                                                                                                                                      4574 const basic::ZonePolicy kPolicySA ACE_TIME_PROGMEM = {
                                                                                                                                      4575  kZoneRulesSA /*rules*/,
                                                                                                                                      4576  nullptr /* letters */,
                                                                                                                                      4577  1 /*numRules*/,
                                                                                                                                      4578  0 /* numLetters */,
                                                                                                                                      4579 };
                                                                                                                                      4580 
                                                                                                                                      4581 //---------------------------------------------------------------------------
                                                                                                                                      4582 // Policy name: Salv
                                                                                                                                      4583 // Rules: 1
                                                                                                                                      4584 // Memory (8-bit): 15
                                                                                                                                      4585 // Memory (32-bit): 24
                                                                                                                                      4586 //---------------------------------------------------------------------------
                                                                                                                                      4587 
                                                                                                                                      4588 static const basic::ZoneRule kZoneRulesSalv[] ACE_TIME_PROGMEM = {
                                                                                                                                      4589  // Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
                                                                                                                                      4590  {
                                                                                                                                      4591  -13 /*fromYearTiny*/,
                                                                                                                                      4592  -12 /*toYearTiny*/,
                                                                                                                                      4593  9 /*inMonth*/,
                                                                                                                                      4594  7 /*onDayOfWeek*/,
                                                                                                                                      4595  0 /*onDayOfMonth*/,
                                                                                                                                      4596  0 /*atTimeCode*/,
                                                                                                                                      4597  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4598  0 /*deltaCode*/,
                                                                                                                                      4599  'S' /*letter*/,
                                                                                                                                      4600  },
                                                                                                                                      4601 
                                                                                                                                      4602 };
                                                                                                                                      4603 
                                                                                                                                      4604 
                                                                                                                                      4605 
                                                                                                                                      4606 const basic::ZonePolicy kPolicySalv ACE_TIME_PROGMEM = {
                                                                                                                                      4607  kZoneRulesSalv /*rules*/,
                                                                                                                                      4608  nullptr /* letters */,
                                                                                                                                      4609  1 /*numRules*/,
                                                                                                                                      4610  0 /* numLetters */,
                                                                                                                                      4611 };
                                                                                                                                      4612 
                                                                                                                                      4613 //---------------------------------------------------------------------------
                                                                                                                                      4614 // Policy name: Syria
                                                                                                                                      4615 // Rules: 12
                                                                                                                                      4616 // Memory (8-bit): 114
                                                                                                                                      4617 // Memory (32-bit): 156
                                                                                                                                      4618 //---------------------------------------------------------------------------
                                                                                                                                      4619 
                                                                                                                                      4620 static const basic::ZoneRule kZoneRulesSyria[] ACE_TIME_PROGMEM = {
                                                                                                                                      4621  // Rule Syria 1994 2005 - Oct 1 0:00 0 -
                                                                                                                                      4622  {
                                                                                                                                      4623  -6 /*fromYearTiny*/,
                                                                                                                                      4624  5 /*toYearTiny*/,
                                                                                                                                      4625  10 /*inMonth*/,
                                                                                                                                      4626  0 /*onDayOfWeek*/,
                                                                                                                                      4627  1 /*onDayOfMonth*/,
                                                                                                                                      4628  0 /*atTimeCode*/,
                                                                                                                                      4629  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4630  0 /*deltaCode*/,
                                                                                                                                      4631  '-' /*letter*/,
                                                                                                                                      4632  },
                                                                                                                                      4633  // Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S
                                                                                                                                      4634  {
                                                                                                                                      4635  -3 /*fromYearTiny*/,
                                                                                                                                      4636  -2 /*toYearTiny*/,
                                                                                                                                      4637  3 /*inMonth*/,
                                                                                                                                      4638  1 /*onDayOfWeek*/,
                                                                                                                                      4639  0 /*onDayOfMonth*/,
                                                                                                                                      4640  0 /*atTimeCode*/,
                                                                                                                                      4641  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4642  4 /*deltaCode*/,
                                                                                                                                      4643  'S' /*letter*/,
                                                                                                                                      4644  },
                                                                                                                                      4645  // Rule Syria 1999 2006 - Apr 1 0:00 1:00 S
                                                                                                                                      4646  {
                                                                                                                                      4647  -1 /*fromYearTiny*/,
                                                                                                                                      4648  6 /*toYearTiny*/,
                                                                                                                                      4649  4 /*inMonth*/,
                                                                                                                                      4650  0 /*onDayOfWeek*/,
                                                                                                                                      4651  1 /*onDayOfMonth*/,
                                                                                                                                      4652  0 /*atTimeCode*/,
                                                                                                                                      4653  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4654  4 /*deltaCode*/,
                                                                                                                                      4655  'S' /*letter*/,
                                                                                                                                      4656  },
                                                                                                                                      4657  // Rule Syria 2006 only - Sep 22 0:00 0 -
                                                                                                                                      4658  {
                                                                                                                                      4659  6 /*fromYearTiny*/,
                                                                                                                                      4660  6 /*toYearTiny*/,
                                                                                                                                      4661  9 /*inMonth*/,
                                                                                                                                      4662  0 /*onDayOfWeek*/,
                                                                                                                                      4663  22 /*onDayOfMonth*/,
                                                                                                                                      4664  0 /*atTimeCode*/,
                                                                                                                                      4665  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4666  0 /*deltaCode*/,
                                                                                                                                      4667  '-' /*letter*/,
                                                                                                                                      4668  },
                                                                                                                                      4669  // Rule Syria 2007 only - Mar lastFri 0:00 1:00 S
                                                                                                                                      4670  {
                                                                                                                                      4671  7 /*fromYearTiny*/,
                                                                                                                                      4672  7 /*toYearTiny*/,
                                                                                                                                      4673  3 /*inMonth*/,
                                                                                                                                      4674  5 /*onDayOfWeek*/,
                                                                                                                                      4675  0 /*onDayOfMonth*/,
                                                                                                                                      4676  0 /*atTimeCode*/,
                                                                                                                                      4677  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4678  4 /*deltaCode*/,
                                                                                                                                      4679  'S' /*letter*/,
                                                                                                                                      4680  },
                                                                                                                                      4681  // Rule Syria 2007 only - Nov Fri>=1 0:00 0 -
                                                                                                                                      4682  {
                                                                                                                                      4683  7 /*fromYearTiny*/,
                                                                                                                                      4684  7 /*toYearTiny*/,
                                                                                                                                      4685  11 /*inMonth*/,
                                                                                                                                      4686  5 /*onDayOfWeek*/,
                                                                                                                                      4687  1 /*onDayOfMonth*/,
                                                                                                                                      4688  0 /*atTimeCode*/,
                                                                                                                                      4689  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4690  0 /*deltaCode*/,
                                                                                                                                      4691  '-' /*letter*/,
                                                                                                                                      4692  },
                                                                                                                                      4693  // Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
                                                                                                                                      4694  {
                                                                                                                                      4695  8 /*fromYearTiny*/,
                                                                                                                                      4696  8 /*toYearTiny*/,
                                                                                                                                      4697  4 /*inMonth*/,
                                                                                                                                      4698  5 /*onDayOfWeek*/,
                                                                                                                                      4699  1 /*onDayOfMonth*/,
                                                                                                                                      4700  0 /*atTimeCode*/,
                                                                                                                                      4701  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4702  4 /*deltaCode*/,
                                                                                                                                      4703  'S' /*letter*/,
                                                                                                                                      4704  },
                                                                                                                                      4705  // Rule Syria 2008 only - Nov 1 0:00 0 -
                                                                                                                                      4706  {
                                                                                                                                      4707  8 /*fromYearTiny*/,
                                                                                                                                      4708  8 /*toYearTiny*/,
                                                                                                                                      4709  11 /*inMonth*/,
                                                                                                                                      4710  0 /*onDayOfWeek*/,
                                                                                                                                      4711  1 /*onDayOfMonth*/,
                                                                                                                                      4712  0 /*atTimeCode*/,
                                                                                                                                      4713  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4714  0 /*deltaCode*/,
                                                                                                                                      4715  '-' /*letter*/,
                                                                                                                                      4716  },
                                                                                                                                      4717  // Rule Syria 2009 only - Mar lastFri 0:00 1:00 S
                                                                                                                                      4718  {
                                                                                                                                      4719  9 /*fromYearTiny*/,
                                                                                                                                      4720  9 /*toYearTiny*/,
                                                                                                                                      4721  3 /*inMonth*/,
                                                                                                                                      4722  5 /*onDayOfWeek*/,
                                                                                                                                      4723  0 /*onDayOfMonth*/,
                                                                                                                                      4724  0 /*atTimeCode*/,
                                                                                                                                      4725  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4726  4 /*deltaCode*/,
                                                                                                                                      4727  'S' /*letter*/,
                                                                                                                                      4728  },
                                                                                                                                      4729  // Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
                                                                                                                                      4730  {
                                                                                                                                      4731  10 /*fromYearTiny*/,
                                                                                                                                      4732  11 /*toYearTiny*/,
                                                                                                                                      4733  4 /*inMonth*/,
                                                                                                                                      4734  5 /*onDayOfWeek*/,
                                                                                                                                      4735  1 /*onDayOfMonth*/,
                                                                                                                                      4736  0 /*atTimeCode*/,
                                                                                                                                      4737  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4738  4 /*deltaCode*/,
                                                                                                                                      4739  'S' /*letter*/,
                                                                                                                                      4740  },
                                                                                                                                      4741  // Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
                                                                                                                                      4742  {
                                                                                                                                      4743  12 /*fromYearTiny*/,
                                                                                                                                      4744  126 /*toYearTiny*/,
                                                                                                                                      4745  3 /*inMonth*/,
                                                                                                                                      4746  5 /*onDayOfWeek*/,
                                                                                                                                      4747  0 /*onDayOfMonth*/,
                                                                                                                                      4748  0 /*atTimeCode*/,
                                                                                                                                      4749  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4750  4 /*deltaCode*/,
                                                                                                                                      4751  'S' /*letter*/,
                                                                                                                                      4752  },
                                                                                                                                      4753  // Rule Syria 2009 max - Oct lastFri 0:00 0 -
                                                                                                                                      4754  {
                                                                                                                                      4755  9 /*fromYearTiny*/,
                                                                                                                                      4756  126 /*toYearTiny*/,
                                                                                                                                      4757  10 /*inMonth*/,
                                                                                                                                      4758  5 /*onDayOfWeek*/,
                                                                                                                                      4759  0 /*onDayOfMonth*/,
                                                                                                                                      4760  0 /*atTimeCode*/,
                                                                                                                                      4761  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4762  0 /*deltaCode*/,
                                                                                                                                      4763  '-' /*letter*/,
                                                                                                                                      4764  },
                                                                                                                                      4765 
                                                                                                                                      4766 };
                                                                                                                                      4767 
                                                                                                                                      4768 
                                                                                                                                      4769 
                                                                                                                                      4770 const basic::ZonePolicy kPolicySyria ACE_TIME_PROGMEM = {
                                                                                                                                      4771  kZoneRulesSyria /*rules*/,
                                                                                                                                      4772  nullptr /* letters */,
                                                                                                                                      4773  12 /*numRules*/,
                                                                                                                                      4774  0 /* numLetters */,
                                                                                                                                      4775 };
                                                                                                                                      4776 
                                                                                                                                      4777 //---------------------------------------------------------------------------
                                                                                                                                      4778 // Policy name: Taiwan
                                                                                                                                      4779 // Rules: 1
                                                                                                                                      4780 // Memory (8-bit): 15
                                                                                                                                      4781 // Memory (32-bit): 24
                                                                                                                                      4782 //---------------------------------------------------------------------------
                                                                                                                                      4783 
                                                                                                                                      4784 static const basic::ZoneRule kZoneRulesTaiwan[] ACE_TIME_PROGMEM = {
                                                                                                                                      4785  // Rule Taiwan 1979 only - Oct 1 0:00 0 S
                                                                                                                                      4786  {
                                                                                                                                      4787  -21 /*fromYearTiny*/,
                                                                                                                                      4788  -21 /*toYearTiny*/,
                                                                                                                                      4789  10 /*inMonth*/,
                                                                                                                                      4790  0 /*onDayOfWeek*/,
                                                                                                                                      4791  1 /*onDayOfMonth*/,
                                                                                                                                      4792  0 /*atTimeCode*/,
                                                                                                                                      4793  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4794  0 /*deltaCode*/,
                                                                                                                                      4795  'S' /*letter*/,
                                                                                                                                      4796  },
                                                                                                                                      4797 
                                                                                                                                      4798 };
                                                                                                                                      4799 
                                                                                                                                      4800 
                                                                                                                                      4801 
                                                                                                                                      4802 const basic::ZonePolicy kPolicyTaiwan ACE_TIME_PROGMEM = {
                                                                                                                                      4803  kZoneRulesTaiwan /*rules*/,
                                                                                                                                      4804  nullptr /* letters */,
                                                                                                                                      4805  1 /*numRules*/,
                                                                                                                                      4806  0 /* numLetters */,
                                                                                                                                      4807 };
                                                                                                                                      4808 
                                                                                                                                      4809 //---------------------------------------------------------------------------
                                                                                                                                      4810 // Policy name: Thule
                                                                                                                                      4811 // Rules: 5
                                                                                                                                      4812 // Memory (8-bit): 51
                                                                                                                                      4813 // Memory (32-bit): 72
                                                                                                                                      4814 //---------------------------------------------------------------------------
                                                                                                                                      4815 
                                                                                                                                      4816 static const basic::ZoneRule kZoneRulesThule[] ACE_TIME_PROGMEM = {
                                                                                                                                      4817  // Rule Thule 1991 1992 - Sep lastSun 2:00 0 S
                                                                                                                                      4818  {
                                                                                                                                      4819  -9 /*fromYearTiny*/,
                                                                                                                                      4820  -8 /*toYearTiny*/,
                                                                                                                                      4821  9 /*inMonth*/,
                                                                                                                                      4822  7 /*onDayOfWeek*/,
                                                                                                                                      4823  0 /*onDayOfMonth*/,
                                                                                                                                      4824  8 /*atTimeCode*/,
                                                                                                                                      4825  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4826  0 /*deltaCode*/,
                                                                                                                                      4827  'S' /*letter*/,
                                                                                                                                      4828  },
                                                                                                                                      4829  // Rule Thule 1993 2006 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      4830  {
                                                                                                                                      4831  -7 /*fromYearTiny*/,
                                                                                                                                      4832  6 /*toYearTiny*/,
                                                                                                                                      4833  4 /*inMonth*/,
                                                                                                                                      4834  7 /*onDayOfWeek*/,
                                                                                                                                      4835  1 /*onDayOfMonth*/,
                                                                                                                                      4836  8 /*atTimeCode*/,
                                                                                                                                      4837  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4838  4 /*deltaCode*/,
                                                                                                                                      4839  'D' /*letter*/,
                                                                                                                                      4840  },
                                                                                                                                      4841  // Rule Thule 1993 2006 - Oct lastSun 2:00 0 S
                                                                                                                                      4842  {
                                                                                                                                      4843  -7 /*fromYearTiny*/,
                                                                                                                                      4844  6 /*toYearTiny*/,
                                                                                                                                      4845  10 /*inMonth*/,
                                                                                                                                      4846  7 /*onDayOfWeek*/,
                                                                                                                                      4847  0 /*onDayOfMonth*/,
                                                                                                                                      4848  8 /*atTimeCode*/,
                                                                                                                                      4849  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4850  0 /*deltaCode*/,
                                                                                                                                      4851  'S' /*letter*/,
                                                                                                                                      4852  },
                                                                                                                                      4853  // Rule Thule 2007 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      4854  {
                                                                                                                                      4855  7 /*fromYearTiny*/,
                                                                                                                                      4856  126 /*toYearTiny*/,
                                                                                                                                      4857  3 /*inMonth*/,
                                                                                                                                      4858  7 /*onDayOfWeek*/,
                                                                                                                                      4859  8 /*onDayOfMonth*/,
                                                                                                                                      4860  8 /*atTimeCode*/,
                                                                                                                                      4861  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4862  4 /*deltaCode*/,
                                                                                                                                      4863  'D' /*letter*/,
                                                                                                                                      4864  },
                                                                                                                                      4865  // Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      4866  {
                                                                                                                                      4867  7 /*fromYearTiny*/,
                                                                                                                                      4868  126 /*toYearTiny*/,
                                                                                                                                      4869  11 /*inMonth*/,
                                                                                                                                      4870  7 /*onDayOfWeek*/,
                                                                                                                                      4871  1 /*onDayOfMonth*/,
                                                                                                                                      4872  8 /*atTimeCode*/,
                                                                                                                                      4873  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4874  0 /*deltaCode*/,
                                                                                                                                      4875  'S' /*letter*/,
                                                                                                                                      4876  },
                                                                                                                                      4877 
                                                                                                                                      4878 };
                                                                                                                                      4879 
                                                                                                                                      4880 
                                                                                                                                      4881 
                                                                                                                                      4882 const basic::ZonePolicy kPolicyThule ACE_TIME_PROGMEM = {
                                                                                                                                      4883  kZoneRulesThule /*rules*/,
                                                                                                                                      4884  nullptr /* letters */,
                                                                                                                                      4885  5 /*numRules*/,
                                                                                                                                      4886  0 /* numLetters */,
                                                                                                                                      4887 };
                                                                                                                                      4888 
                                                                                                                                      4889 //---------------------------------------------------------------------------
                                                                                                                                      4890 // Policy name: Tonga
                                                                                                                                      4891 // Rules: 7
                                                                                                                                      4892 // Memory (8-bit): 69
                                                                                                                                      4893 // Memory (32-bit): 96
                                                                                                                                      4894 //---------------------------------------------------------------------------
                                                                                                                                      4895 
                                                                                                                                      4896 static const basic::ZoneRule kZoneRulesTonga[] ACE_TIME_PROGMEM = {
                                                                                                                                      4897  // Anchor: Rule Tonga 2000 only - Mar 19 2:00s 0 -
                                                                                                                                      4898  {
                                                                                                                                      4899  -127 /*fromYearTiny*/,
                                                                                                                                      4900  -127 /*toYearTiny*/,
                                                                                                                                      4901  1 /*inMonth*/,
                                                                                                                                      4902  0 /*onDayOfWeek*/,
                                                                                                                                      4903  1 /*onDayOfMonth*/,
                                                                                                                                      4904  0 /*atTimeCode*/,
                                                                                                                                      4905  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4906  0 /*deltaCode*/,
                                                                                                                                      4907  '-' /*letter*/,
                                                                                                                                      4908  },
                                                                                                                                      4909  // Rule Tonga 1999 only - Oct 7 2:00s 1:00 -
                                                                                                                                      4910  {
                                                                                                                                      4911  -1 /*fromYearTiny*/,
                                                                                                                                      4912  -1 /*toYearTiny*/,
                                                                                                                                      4913  10 /*inMonth*/,
                                                                                                                                      4914  0 /*onDayOfWeek*/,
                                                                                                                                      4915  7 /*onDayOfMonth*/,
                                                                                                                                      4916  8 /*atTimeCode*/,
                                                                                                                                      4917  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4918  4 /*deltaCode*/,
                                                                                                                                      4919  '-' /*letter*/,
                                                                                                                                      4920  },
                                                                                                                                      4921  // Rule Tonga 2000 only - Mar 19 2:00s 0 -
                                                                                                                                      4922  {
                                                                                                                                      4923  0 /*fromYearTiny*/,
                                                                                                                                      4924  0 /*toYearTiny*/,
                                                                                                                                      4925  3 /*inMonth*/,
                                                                                                                                      4926  0 /*onDayOfWeek*/,
                                                                                                                                      4927  19 /*onDayOfMonth*/,
                                                                                                                                      4928  8 /*atTimeCode*/,
                                                                                                                                      4929  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      4930  0 /*deltaCode*/,
                                                                                                                                      4931  '-' /*letter*/,
                                                                                                                                      4932  },
                                                                                                                                      4933  // Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      4934  {
                                                                                                                                      4935  0 /*fromYearTiny*/,
                                                                                                                                      4936  1 /*toYearTiny*/,
                                                                                                                                      4937  11 /*inMonth*/,
                                                                                                                                      4938  7 /*onDayOfWeek*/,
                                                                                                                                      4939  1 /*onDayOfMonth*/,
                                                                                                                                      4940  8 /*atTimeCode*/,
                                                                                                                                      4941  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4942  4 /*deltaCode*/,
                                                                                                                                      4943  '-' /*letter*/,
                                                                                                                                      4944  },
                                                                                                                                      4945  // Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
                                                                                                                                      4946  {
                                                                                                                                      4947  1 /*fromYearTiny*/,
                                                                                                                                      4948  2 /*toYearTiny*/,
                                                                                                                                      4949  1 /*inMonth*/,
                                                                                                                                      4950  7 /*onDayOfWeek*/,
                                                                                                                                      4951  0 /*onDayOfMonth*/,
                                                                                                                                      4952  8 /*atTimeCode*/,
                                                                                                                                      4953  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4954  0 /*deltaCode*/,
                                                                                                                                      4955  '-' /*letter*/,
                                                                                                                                      4956  },
                                                                                                                                      4957  // Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      4958  {
                                                                                                                                      4959  16 /*fromYearTiny*/,
                                                                                                                                      4960  16 /*toYearTiny*/,
                                                                                                                                      4961  11 /*inMonth*/,
                                                                                                                                      4962  7 /*onDayOfWeek*/,
                                                                                                                                      4963  1 /*onDayOfMonth*/,
                                                                                                                                      4964  8 /*atTimeCode*/,
                                                                                                                                      4965  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4966  4 /*deltaCode*/,
                                                                                                                                      4967  '-' /*letter*/,
                                                                                                                                      4968  },
                                                                                                                                      4969  // Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
                                                                                                                                      4970  {
                                                                                                                                      4971  17 /*fromYearTiny*/,
                                                                                                                                      4972  17 /*toYearTiny*/,
                                                                                                                                      4973  1 /*inMonth*/,
                                                                                                                                      4974  7 /*onDayOfWeek*/,
                                                                                                                                      4975  15 /*onDayOfMonth*/,
                                                                                                                                      4976  12 /*atTimeCode*/,
                                                                                                                                      4977  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      4978  0 /*deltaCode*/,
                                                                                                                                      4979  '-' /*letter*/,
                                                                                                                                      4980  },
                                                                                                                                      4981 
                                                                                                                                      4982 };
                                                                                                                                      4983 
                                                                                                                                      4984 
                                                                                                                                      4985 
                                                                                                                                      4986 const basic::ZonePolicy kPolicyTonga ACE_TIME_PROGMEM = {
                                                                                                                                      4987  kZoneRulesTonga /*rules*/,
                                                                                                                                      4988  nullptr /* letters */,
                                                                                                                                      4989  7 /*numRules*/,
                                                                                                                                      4990  0 /* numLetters */,
                                                                                                                                      4991 };
                                                                                                                                      4992 
                                                                                                                                      4993 //---------------------------------------------------------------------------
                                                                                                                                      4994 // Policy name: Tunisia
                                                                                                                                      4995 // Rules: 5
                                                                                                                                      4996 // Memory (8-bit): 51
                                                                                                                                      4997 // Memory (32-bit): 72
                                                                                                                                      4998 //---------------------------------------------------------------------------
                                                                                                                                      4999 
                                                                                                                                      5000 static const basic::ZoneRule kZoneRulesTunisia[] ACE_TIME_PROGMEM = {
                                                                                                                                      5001  // Rule Tunisia 1988 1990 - Sep lastSun 0:00s 0 -
                                                                                                                                      5002  {
                                                                                                                                      5003  -12 /*fromYearTiny*/,
                                                                                                                                      5004  -10 /*toYearTiny*/,
                                                                                                                                      5005  9 /*inMonth*/,
                                                                                                                                      5006  7 /*onDayOfWeek*/,
                                                                                                                                      5007  0 /*onDayOfMonth*/,
                                                                                                                                      5008  0 /*atTimeCode*/,
                                                                                                                                      5009  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5010  0 /*deltaCode*/,
                                                                                                                                      5011  '-' /*letter*/,
                                                                                                                                      5012  },
                                                                                                                                      5013  // Rule Tunisia 2005 only - May 1 0:00s 1:00 S
                                                                                                                                      5014  {
                                                                                                                                      5015  5 /*fromYearTiny*/,
                                                                                                                                      5016  5 /*toYearTiny*/,
                                                                                                                                      5017  5 /*inMonth*/,
                                                                                                                                      5018  0 /*onDayOfWeek*/,
                                                                                                                                      5019  1 /*onDayOfMonth*/,
                                                                                                                                      5020  0 /*atTimeCode*/,
                                                                                                                                      5021  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5022  4 /*deltaCode*/,
                                                                                                                                      5023  'S' /*letter*/,
                                                                                                                                      5024  },
                                                                                                                                      5025  // Rule Tunisia 2005 only - Sep 30 1:00s 0 -
                                                                                                                                      5026  {
                                                                                                                                      5027  5 /*fromYearTiny*/,
                                                                                                                                      5028  5 /*toYearTiny*/,
                                                                                                                                      5029  9 /*inMonth*/,
                                                                                                                                      5030  0 /*onDayOfWeek*/,
                                                                                                                                      5031  30 /*onDayOfMonth*/,
                                                                                                                                      5032  4 /*atTimeCode*/,
                                                                                                                                      5033  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5034  0 /*deltaCode*/,
                                                                                                                                      5035  '-' /*letter*/,
                                                                                                                                      5036  },
                                                                                                                                      5037  // Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
                                                                                                                                      5038  {
                                                                                                                                      5039  6 /*fromYearTiny*/,
                                                                                                                                      5040  8 /*toYearTiny*/,
                                                                                                                                      5041  3 /*inMonth*/,
                                                                                                                                      5042  7 /*onDayOfWeek*/,
                                                                                                                                      5043  0 /*onDayOfMonth*/,
                                                                                                                                      5044  8 /*atTimeCode*/,
                                                                                                                                      5045  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5046  4 /*deltaCode*/,
                                                                                                                                      5047  'S' /*letter*/,
                                                                                                                                      5048  },
                                                                                                                                      5049  // Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
                                                                                                                                      5050  {
                                                                                                                                      5051  6 /*fromYearTiny*/,
                                                                                                                                      5052  8 /*toYearTiny*/,
                                                                                                                                      5053  10 /*inMonth*/,
                                                                                                                                      5054  7 /*onDayOfWeek*/,
                                                                                                                                      5055  0 /*onDayOfMonth*/,
                                                                                                                                      5056  8 /*atTimeCode*/,
                                                                                                                                      5057  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5058  0 /*deltaCode*/,
                                                                                                                                      5059  '-' /*letter*/,
                                                                                                                                      5060  },
                                                                                                                                      5061 
                                                                                                                                      5062 };
                                                                                                                                      5063 
                                                                                                                                      5064 
                                                                                                                                      5065 
                                                                                                                                      5066 const basic::ZonePolicy kPolicyTunisia ACE_TIME_PROGMEM = {
                                                                                                                                      5067  kZoneRulesTunisia /*rules*/,
                                                                                                                                      5068  nullptr /* letters */,
                                                                                                                                      5069  5 /*numRules*/,
                                                                                                                                      5070  0 /* numLetters */,
                                                                                                                                      5071 };
                                                                                                                                      5072 
                                                                                                                                      5073 //---------------------------------------------------------------------------
                                                                                                                                      5074 // Policy name: US
                                                                                                                                      5075 // Rules: 5
                                                                                                                                      5076 // Memory (8-bit): 51
                                                                                                                                      5077 // Memory (32-bit): 72
                                                                                                                                      5078 //---------------------------------------------------------------------------
                                                                                                                                      5079 
                                                                                                                                      5080 static const basic::ZoneRule kZoneRulesUS[] ACE_TIME_PROGMEM = {
                                                                                                                                      5081  // Rule US 1967 2006 - Oct lastSun 2:00 0 S
                                                                                                                                      5082  {
                                                                                                                                      5083  -33 /*fromYearTiny*/,
                                                                                                                                      5084  6 /*toYearTiny*/,
                                                                                                                                      5085  10 /*inMonth*/,
                                                                                                                                      5086  7 /*onDayOfWeek*/,
                                                                                                                                      5087  0 /*onDayOfMonth*/,
                                                                                                                                      5088  8 /*atTimeCode*/,
                                                                                                                                      5089  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5090  0 /*deltaCode*/,
                                                                                                                                      5091  'S' /*letter*/,
                                                                                                                                      5092  },
                                                                                                                                      5093  // Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
                                                                                                                                      5094  {
                                                                                                                                      5095  -24 /*fromYearTiny*/,
                                                                                                                                      5096  -14 /*toYearTiny*/,
                                                                                                                                      5097  4 /*inMonth*/,
                                                                                                                                      5098  7 /*onDayOfWeek*/,
                                                                                                                                      5099  0 /*onDayOfMonth*/,
                                                                                                                                      5100  8 /*atTimeCode*/,
                                                                                                                                      5101  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5102  4 /*deltaCode*/,
                                                                                                                                      5103  'D' /*letter*/,
                                                                                                                                      5104  },
                                                                                                                                      5105  // Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      5106  {
                                                                                                                                      5107  -13 /*fromYearTiny*/,
                                                                                                                                      5108  6 /*toYearTiny*/,
                                                                                                                                      5109  4 /*inMonth*/,
                                                                                                                                      5110  7 /*onDayOfWeek*/,
                                                                                                                                      5111  1 /*onDayOfMonth*/,
                                                                                                                                      5112  8 /*atTimeCode*/,
                                                                                                                                      5113  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5114  4 /*deltaCode*/,
                                                                                                                                      5115  'D' /*letter*/,
                                                                                                                                      5116  },
                                                                                                                                      5117  // Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      5118  {
                                                                                                                                      5119  7 /*fromYearTiny*/,
                                                                                                                                      5120  126 /*toYearTiny*/,
                                                                                                                                      5121  3 /*inMonth*/,
                                                                                                                                      5122  7 /*onDayOfWeek*/,
                                                                                                                                      5123  8 /*onDayOfMonth*/,
                                                                                                                                      5124  8 /*atTimeCode*/,
                                                                                                                                      5125  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5126  4 /*deltaCode*/,
                                                                                                                                      5127  'D' /*letter*/,
                                                                                                                                      5128  },
                                                                                                                                      5129  // Rule US 2007 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      5130  {
                                                                                                                                      5131  7 /*fromYearTiny*/,
                                                                                                                                      5132  126 /*toYearTiny*/,
                                                                                                                                      5133  11 /*inMonth*/,
                                                                                                                                      5134  7 /*onDayOfWeek*/,
                                                                                                                                      5135  1 /*onDayOfMonth*/,
                                                                                                                                      5136  8 /*atTimeCode*/,
                                                                                                                                      5137  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5138  0 /*deltaCode*/,
                                                                                                                                      5139  'S' /*letter*/,
                                                                                                                                      5140  },
                                                                                                                                      5141 
                                                                                                                                      5142 };
                                                                                                                                      5143 
                                                                                                                                      5144 
                                                                                                                                      5145 
                                                                                                                                      5146 const basic::ZonePolicy kPolicyUS ACE_TIME_PROGMEM = {
                                                                                                                                      5147  kZoneRulesUS /*rules*/,
                                                                                                                                      5148  nullptr /* letters */,
                                                                                                                                      5149  5 /*numRules*/,
                                                                                                                                      5150  0 /* numLetters */,
                                                                                                                                      5151 };
                                                                                                                                      5152 
                                                                                                                                      5153 //---------------------------------------------------------------------------
                                                                                                                                      5154 // Policy name: Uruguay
                                                                                                                                      5155 // Rules: 6
                                                                                                                                      5156 // Memory (8-bit): 60
                                                                                                                                      5157 // Memory (32-bit): 84
                                                                                                                                      5158 //---------------------------------------------------------------------------
                                                                                                                                      5159 
                                                                                                                                      5160 static const basic::ZoneRule kZoneRulesUruguay[] ACE_TIME_PROGMEM = {
                                                                                                                                      5161  // Rule Uruguay 1993 only - Feb 28 0:00 0 -
                                                                                                                                      5162  {
                                                                                                                                      5163  -7 /*fromYearTiny*/,
                                                                                                                                      5164  -7 /*toYearTiny*/,
                                                                                                                                      5165  2 /*inMonth*/,
                                                                                                                                      5166  0 /*onDayOfWeek*/,
                                                                                                                                      5167  28 /*onDayOfMonth*/,
                                                                                                                                      5168  0 /*atTimeCode*/,
                                                                                                                                      5169  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5170  0 /*deltaCode*/,
                                                                                                                                      5171  '-' /*letter*/,
                                                                                                                                      5172  },
                                                                                                                                      5173  // Rule Uruguay 2004 only - Sep 19 0:00 1:00 -
                                                                                                                                      5174  {
                                                                                                                                      5175  4 /*fromYearTiny*/,
                                                                                                                                      5176  4 /*toYearTiny*/,
                                                                                                                                      5177  9 /*inMonth*/,
                                                                                                                                      5178  0 /*onDayOfWeek*/,
                                                                                                                                      5179  19 /*onDayOfMonth*/,
                                                                                                                                      5180  0 /*atTimeCode*/,
                                                                                                                                      5181  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5182  4 /*deltaCode*/,
                                                                                                                                      5183  '-' /*letter*/,
                                                                                                                                      5184  },
                                                                                                                                      5185  // Rule Uruguay 2005 only - Mar 27 2:00 0 -
                                                                                                                                      5186  {
                                                                                                                                      5187  5 /*fromYearTiny*/,
                                                                                                                                      5188  5 /*toYearTiny*/,
                                                                                                                                      5189  3 /*inMonth*/,
                                                                                                                                      5190  0 /*onDayOfWeek*/,
                                                                                                                                      5191  27 /*onDayOfMonth*/,
                                                                                                                                      5192  8 /*atTimeCode*/,
                                                                                                                                      5193  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5194  0 /*deltaCode*/,
                                                                                                                                      5195  '-' /*letter*/,
                                                                                                                                      5196  },
                                                                                                                                      5197  // Rule Uruguay 2005 only - Oct 9 2:00 1:00 -
                                                                                                                                      5198  {
                                                                                                                                      5199  5 /*fromYearTiny*/,
                                                                                                                                      5200  5 /*toYearTiny*/,
                                                                                                                                      5201  10 /*inMonth*/,
                                                                                                                                      5202  0 /*onDayOfWeek*/,
                                                                                                                                      5203  9 /*onDayOfMonth*/,
                                                                                                                                      5204  8 /*atTimeCode*/,
                                                                                                                                      5205  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5206  4 /*deltaCode*/,
                                                                                                                                      5207  '-' /*letter*/,
                                                                                                                                      5208  },
                                                                                                                                      5209  // Rule Uruguay 2006 2015 - Mar Sun>=8 2:00 0 -
                                                                                                                                      5210  {
                                                                                                                                      5211  6 /*fromYearTiny*/,
                                                                                                                                      5212  15 /*toYearTiny*/,
                                                                                                                                      5213  3 /*inMonth*/,
                                                                                                                                      5214  7 /*onDayOfWeek*/,
                                                                                                                                      5215  8 /*onDayOfMonth*/,
                                                                                                                                      5216  8 /*atTimeCode*/,
                                                                                                                                      5217  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5218  0 /*deltaCode*/,
                                                                                                                                      5219  '-' /*letter*/,
                                                                                                                                      5220  },
                                                                                                                                      5221  // Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 -
                                                                                                                                      5222  {
                                                                                                                                      5223  6 /*fromYearTiny*/,
                                                                                                                                      5224  14 /*toYearTiny*/,
                                                                                                                                      5225  10 /*inMonth*/,
                                                                                                                                      5226  7 /*onDayOfWeek*/,
                                                                                                                                      5227  1 /*onDayOfMonth*/,
                                                                                                                                      5228  8 /*atTimeCode*/,
                                                                                                                                      5229  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5230  4 /*deltaCode*/,
                                                                                                                                      5231  '-' /*letter*/,
                                                                                                                                      5232  },
                                                                                                                                      5233 
                                                                                                                                      5234 };
                                                                                                                                      5235 
                                                                                                                                      5236 
                                                                                                                                      5237 
                                                                                                                                      5238 const basic::ZonePolicy kPolicyUruguay ACE_TIME_PROGMEM = {
                                                                                                                                      5239  kZoneRulesUruguay /*rules*/,
                                                                                                                                      5240  nullptr /* letters */,
                                                                                                                                      5241  6 /*numRules*/,
                                                                                                                                      5242  0 /* numLetters */,
                                                                                                                                      5243 };
                                                                                                                                      5244 
                                                                                                                                      5245 //---------------------------------------------------------------------------
                                                                                                                                      5246 // Policy name: Vanuatu
                                                                                                                                      5247 // Rules: 1
                                                                                                                                      5248 // Memory (8-bit): 15
                                                                                                                                      5249 // Memory (32-bit): 24
                                                                                                                                      5250 //---------------------------------------------------------------------------
                                                                                                                                      5251 
                                                                                                                                      5252 static const basic::ZoneRule kZoneRulesVanuatu[] ACE_TIME_PROGMEM = {
                                                                                                                                      5253  // Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
                                                                                                                                      5254  {
                                                                                                                                      5255  -8 /*fromYearTiny*/,
                                                                                                                                      5256  -7 /*toYearTiny*/,
                                                                                                                                      5257  1 /*inMonth*/,
                                                                                                                                      5258  7 /*onDayOfWeek*/,
                                                                                                                                      5259  23 /*onDayOfMonth*/,
                                                                                                                                      5260  0 /*atTimeCode*/,
                                                                                                                                      5261  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5262  0 /*deltaCode*/,
                                                                                                                                      5263  '-' /*letter*/,
                                                                                                                                      5264  },
                                                                                                                                      5265 
                                                                                                                                      5266 };
                                                                                                                                      5267 
                                                                                                                                      5268 
                                                                                                                                      5269 
                                                                                                                                      5270 const basic::ZonePolicy kPolicyVanuatu ACE_TIME_PROGMEM = {
                                                                                                                                      5271  kZoneRulesVanuatu /*rules*/,
                                                                                                                                      5272  nullptr /* letters */,
                                                                                                                                      5273  1 /*numRules*/,
                                                                                                                                      5274  0 /* numLetters */,
                                                                                                                                      5275 };
                                                                                                                                      5276 
                                                                                                                                      5277 //---------------------------------------------------------------------------
                                                                                                                                      5278 // Policy name: Winn
                                                                                                                                      5279 // Rules: 3
                                                                                                                                      5280 // Memory (8-bit): 33
                                                                                                                                      5281 // Memory (32-bit): 48
                                                                                                                                      5282 //---------------------------------------------------------------------------
                                                                                                                                      5283 
                                                                                                                                      5284 static const basic::ZoneRule kZoneRulesWinn[] ACE_TIME_PROGMEM = {
                                                                                                                                      5285  // Rule Winn 1966 1986 - Apr lastSun 2:00s 1:00 D
                                                                                                                                      5286  {
                                                                                                                                      5287  -34 /*fromYearTiny*/,
                                                                                                                                      5288  -14 /*toYearTiny*/,
                                                                                                                                      5289  4 /*inMonth*/,
                                                                                                                                      5290  7 /*onDayOfWeek*/,
                                                                                                                                      5291  0 /*onDayOfMonth*/,
                                                                                                                                      5292  8 /*atTimeCode*/,
                                                                                                                                      5293  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5294  4 /*deltaCode*/,
                                                                                                                                      5295  'D' /*letter*/,
                                                                                                                                      5296  },
                                                                                                                                      5297  // Rule Winn 1966 2005 - Oct lastSun 2:00s 0 S
                                                                                                                                      5298  {
                                                                                                                                      5299  -34 /*fromYearTiny*/,
                                                                                                                                      5300  5 /*toYearTiny*/,
                                                                                                                                      5301  10 /*inMonth*/,
                                                                                                                                      5302  7 /*onDayOfWeek*/,
                                                                                                                                      5303  0 /*onDayOfMonth*/,
                                                                                                                                      5304  8 /*atTimeCode*/,
                                                                                                                                      5305  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5306  0 /*deltaCode*/,
                                                                                                                                      5307  'S' /*letter*/,
                                                                                                                                      5308  },
                                                                                                                                      5309  // Rule Winn 1987 2005 - Apr Sun>=1 2:00s 1:00 D
                                                                                                                                      5310  {
                                                                                                                                      5311  -13 /*fromYearTiny*/,
                                                                                                                                      5312  5 /*toYearTiny*/,
                                                                                                                                      5313  4 /*inMonth*/,
                                                                                                                                      5314  7 /*onDayOfWeek*/,
                                                                                                                                      5315  1 /*onDayOfMonth*/,
                                                                                                                                      5316  8 /*atTimeCode*/,
                                                                                                                                      5317  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      5318  4 /*deltaCode*/,
                                                                                                                                      5319  'D' /*letter*/,
                                                                                                                                      5320  },
                                                                                                                                      5321 
                                                                                                                                      5322 };
                                                                                                                                      5323 
                                                                                                                                      5324 
                                                                                                                                      5325 
                                                                                                                                      5326 const basic::ZonePolicy kPolicyWinn ACE_TIME_PROGMEM = {
                                                                                                                                      5327  kZoneRulesWinn /*rules*/,
                                                                                                                                      5328  nullptr /* letters */,
                                                                                                                                      5329  3 /*numRules*/,
                                                                                                                                      5330  0 /* numLetters */,
                                                                                                                                      5331 };
                                                                                                                                      5332 
                                                                                                                                      5333 //---------------------------------------------------------------------------
                                                                                                                                      5334 // Policy name: Zion
                                                                                                                                      5335 // Rules: 24
                                                                                                                                      5336 // Memory (8-bit): 222
                                                                                                                                      5337 // Memory (32-bit): 300
                                                                                                                                      5338 //---------------------------------------------------------------------------
                                                                                                                                      5339 
                                                                                                                                      5340 static const basic::ZoneRule kZoneRulesZion[] ACE_TIME_PROGMEM = {
                                                                                                                                      5341  // Rule Zion 1998 only - Sep 6 0:00 0 S
                                                                                                                                      5342  {
                                                                                                                                      5343  -2 /*fromYearTiny*/,
                                                                                                                                      5344  -2 /*toYearTiny*/,
                                                                                                                                      5345  9 /*inMonth*/,
                                                                                                                                      5346  0 /*onDayOfWeek*/,
                                                                                                                                      5347  6 /*onDayOfMonth*/,
                                                                                                                                      5348  0 /*atTimeCode*/,
                                                                                                                                      5349  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5350  0 /*deltaCode*/,
                                                                                                                                      5351  'S' /*letter*/,
                                                                                                                                      5352  },
                                                                                                                                      5353  // Rule Zion 1999 only - Apr 2 2:00 1:00 D
                                                                                                                                      5354  {
                                                                                                                                      5355  -1 /*fromYearTiny*/,
                                                                                                                                      5356  -1 /*toYearTiny*/,
                                                                                                                                      5357  4 /*inMonth*/,
                                                                                                                                      5358  0 /*onDayOfWeek*/,
                                                                                                                                      5359  2 /*onDayOfMonth*/,
                                                                                                                                      5360  8 /*atTimeCode*/,
                                                                                                                                      5361  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5362  4 /*deltaCode*/,
                                                                                                                                      5363  'D' /*letter*/,
                                                                                                                                      5364  },
                                                                                                                                      5365  // Rule Zion 1999 only - Sep 3 2:00 0 S
                                                                                                                                      5366  {
                                                                                                                                      5367  -1 /*fromYearTiny*/,
                                                                                                                                      5368  -1 /*toYearTiny*/,
                                                                                                                                      5369  9 /*inMonth*/,
                                                                                                                                      5370  0 /*onDayOfWeek*/,
                                                                                                                                      5371  3 /*onDayOfMonth*/,
                                                                                                                                      5372  8 /*atTimeCode*/,
                                                                                                                                      5373  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5374  0 /*deltaCode*/,
                                                                                                                                      5375  'S' /*letter*/,
                                                                                                                                      5376  },
                                                                                                                                      5377  // Rule Zion 2000 only - Apr 14 2:00 1:00 D
                                                                                                                                      5378  {
                                                                                                                                      5379  0 /*fromYearTiny*/,
                                                                                                                                      5380  0 /*toYearTiny*/,
                                                                                                                                      5381  4 /*inMonth*/,
                                                                                                                                      5382  0 /*onDayOfWeek*/,
                                                                                                                                      5383  14 /*onDayOfMonth*/,
                                                                                                                                      5384  8 /*atTimeCode*/,
                                                                                                                                      5385  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5386  4 /*deltaCode*/,
                                                                                                                                      5387  'D' /*letter*/,
                                                                                                                                      5388  },
                                                                                                                                      5389  // Rule Zion 2000 only - Oct 6 1:00 0 S
                                                                                                                                      5390  {
                                                                                                                                      5391  0 /*fromYearTiny*/,
                                                                                                                                      5392  0 /*toYearTiny*/,
                                                                                                                                      5393  10 /*inMonth*/,
                                                                                                                                      5394  0 /*onDayOfWeek*/,
                                                                                                                                      5395  6 /*onDayOfMonth*/,
                                                                                                                                      5396  4 /*atTimeCode*/,
                                                                                                                                      5397  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5398  0 /*deltaCode*/,
                                                                                                                                      5399  'S' /*letter*/,
                                                                                                                                      5400  },
                                                                                                                                      5401  // Rule Zion 2001 only - Apr 9 1:00 1:00 D
                                                                                                                                      5402  {
                                                                                                                                      5403  1 /*fromYearTiny*/,
                                                                                                                                      5404  1 /*toYearTiny*/,
                                                                                                                                      5405  4 /*inMonth*/,
                                                                                                                                      5406  0 /*onDayOfWeek*/,
                                                                                                                                      5407  9 /*onDayOfMonth*/,
                                                                                                                                      5408  4 /*atTimeCode*/,
                                                                                                                                      5409  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5410  4 /*deltaCode*/,
                                                                                                                                      5411  'D' /*letter*/,
                                                                                                                                      5412  },
                                                                                                                                      5413  // Rule Zion 2001 only - Sep 24 1:00 0 S
                                                                                                                                      5414  {
                                                                                                                                      5415  1 /*fromYearTiny*/,
                                                                                                                                      5416  1 /*toYearTiny*/,
                                                                                                                                      5417  9 /*inMonth*/,
                                                                                                                                      5418  0 /*onDayOfWeek*/,
                                                                                                                                      5419  24 /*onDayOfMonth*/,
                                                                                                                                      5420  4 /*atTimeCode*/,
                                                                                                                                      5421  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5422  0 /*deltaCode*/,
                                                                                                                                      5423  'S' /*letter*/,
                                                                                                                                      5424  },
                                                                                                                                      5425  // Rule Zion 2002 only - Mar 29 1:00 1:00 D
                                                                                                                                      5426  {
                                                                                                                                      5427  2 /*fromYearTiny*/,
                                                                                                                                      5428  2 /*toYearTiny*/,
                                                                                                                                      5429  3 /*inMonth*/,
                                                                                                                                      5430  0 /*onDayOfWeek*/,
                                                                                                                                      5431  29 /*onDayOfMonth*/,
                                                                                                                                      5432  4 /*atTimeCode*/,
                                                                                                                                      5433  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5434  4 /*deltaCode*/,
                                                                                                                                      5435  'D' /*letter*/,
                                                                                                                                      5436  },
                                                                                                                                      5437  // Rule Zion 2002 only - Oct 7 1:00 0 S
                                                                                                                                      5438  {
                                                                                                                                      5439  2 /*fromYearTiny*/,
                                                                                                                                      5440  2 /*toYearTiny*/,
                                                                                                                                      5441  10 /*inMonth*/,
                                                                                                                                      5442  0 /*onDayOfWeek*/,
                                                                                                                                      5443  7 /*onDayOfMonth*/,
                                                                                                                                      5444  4 /*atTimeCode*/,
                                                                                                                                      5445  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5446  0 /*deltaCode*/,
                                                                                                                                      5447  'S' /*letter*/,
                                                                                                                                      5448  },
                                                                                                                                      5449  // Rule Zion 2003 only - Mar 28 1:00 1:00 D
                                                                                                                                      5450  {
                                                                                                                                      5451  3 /*fromYearTiny*/,
                                                                                                                                      5452  3 /*toYearTiny*/,
                                                                                                                                      5453  3 /*inMonth*/,
                                                                                                                                      5454  0 /*onDayOfWeek*/,
                                                                                                                                      5455  28 /*onDayOfMonth*/,
                                                                                                                                      5456  4 /*atTimeCode*/,
                                                                                                                                      5457  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5458  4 /*deltaCode*/,
                                                                                                                                      5459  'D' /*letter*/,
                                                                                                                                      5460  },
                                                                                                                                      5461  // Rule Zion 2003 only - Oct 3 1:00 0 S
                                                                                                                                      5462  {
                                                                                                                                      5463  3 /*fromYearTiny*/,
                                                                                                                                      5464  3 /*toYearTiny*/,
                                                                                                                                      5465  10 /*inMonth*/,
                                                                                                                                      5466  0 /*onDayOfWeek*/,
                                                                                                                                      5467  3 /*onDayOfMonth*/,
                                                                                                                                      5468  4 /*atTimeCode*/,
                                                                                                                                      5469  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5470  0 /*deltaCode*/,
                                                                                                                                      5471  'S' /*letter*/,
                                                                                                                                      5472  },
                                                                                                                                      5473  // Rule Zion 2004 only - Apr 7 1:00 1:00 D
                                                                                                                                      5474  {
                                                                                                                                      5475  4 /*fromYearTiny*/,
                                                                                                                                      5476  4 /*toYearTiny*/,
                                                                                                                                      5477  4 /*inMonth*/,
                                                                                                                                      5478  0 /*onDayOfWeek*/,
                                                                                                                                      5479  7 /*onDayOfMonth*/,
                                                                                                                                      5480  4 /*atTimeCode*/,
                                                                                                                                      5481  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5482  4 /*deltaCode*/,
                                                                                                                                      5483  'D' /*letter*/,
                                                                                                                                      5484  },
                                                                                                                                      5485  // Rule Zion 2004 only - Sep 22 1:00 0 S
                                                                                                                                      5486  {
                                                                                                                                      5487  4 /*fromYearTiny*/,
                                                                                                                                      5488  4 /*toYearTiny*/,
                                                                                                                                      5489  9 /*inMonth*/,
                                                                                                                                      5490  0 /*onDayOfWeek*/,
                                                                                                                                      5491  22 /*onDayOfMonth*/,
                                                                                                                                      5492  4 /*atTimeCode*/,
                                                                                                                                      5493  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5494  0 /*deltaCode*/,
                                                                                                                                      5495  'S' /*letter*/,
                                                                                                                                      5496  },
                                                                                                                                      5497  // Rule Zion 2005 2012 - Apr Fri<=1 2:00 1:00 D
                                                                                                                                      5498  {
                                                                                                                                      5499  5 /*fromYearTiny*/,
                                                                                                                                      5500  12 /*toYearTiny*/,
                                                                                                                                      5501  4 /*inMonth*/,
                                                                                                                                      5502  5 /*onDayOfWeek*/,
                                                                                                                                      5503  -1 /*onDayOfMonth*/,
                                                                                                                                      5504  8 /*atTimeCode*/,
                                                                                                                                      5505  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5506  4 /*deltaCode*/,
                                                                                                                                      5507  'D' /*letter*/,
                                                                                                                                      5508  },
                                                                                                                                      5509  // Rule Zion 2005 only - Oct 9 2:00 0 S
                                                                                                                                      5510  {
                                                                                                                                      5511  5 /*fromYearTiny*/,
                                                                                                                                      5512  5 /*toYearTiny*/,
                                                                                                                                      5513  10 /*inMonth*/,
                                                                                                                                      5514  0 /*onDayOfWeek*/,
                                                                                                                                      5515  9 /*onDayOfMonth*/,
                                                                                                                                      5516  8 /*atTimeCode*/,
                                                                                                                                      5517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5518  0 /*deltaCode*/,
                                                                                                                                      5519  'S' /*letter*/,
                                                                                                                                      5520  },
                                                                                                                                      5521  // Rule Zion 2006 only - Oct 1 2:00 0 S
                                                                                                                                      5522  {
                                                                                                                                      5523  6 /*fromYearTiny*/,
                                                                                                                                      5524  6 /*toYearTiny*/,
                                                                                                                                      5525  10 /*inMonth*/,
                                                                                                                                      5526  0 /*onDayOfWeek*/,
                                                                                                                                      5527  1 /*onDayOfMonth*/,
                                                                                                                                      5528  8 /*atTimeCode*/,
                                                                                                                                      5529  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5530  0 /*deltaCode*/,
                                                                                                                                      5531  'S' /*letter*/,
                                                                                                                                      5532  },
                                                                                                                                      5533  // Rule Zion 2007 only - Sep 16 2:00 0 S
                                                                                                                                      5534  {
                                                                                                                                      5535  7 /*fromYearTiny*/,
                                                                                                                                      5536  7 /*toYearTiny*/,
                                                                                                                                      5537  9 /*inMonth*/,
                                                                                                                                      5538  0 /*onDayOfWeek*/,
                                                                                                                                      5539  16 /*onDayOfMonth*/,
                                                                                                                                      5540  8 /*atTimeCode*/,
                                                                                                                                      5541  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5542  0 /*deltaCode*/,
                                                                                                                                      5543  'S' /*letter*/,
                                                                                                                                      5544  },
                                                                                                                                      5545  // Rule Zion 2008 only - Oct 5 2:00 0 S
                                                                                                                                      5546  {
                                                                                                                                      5547  8 /*fromYearTiny*/,
                                                                                                                                      5548  8 /*toYearTiny*/,
                                                                                                                                      5549  10 /*inMonth*/,
                                                                                                                                      5550  0 /*onDayOfWeek*/,
                                                                                                                                      5551  5 /*onDayOfMonth*/,
                                                                                                                                      5552  8 /*atTimeCode*/,
                                                                                                                                      5553  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5554  0 /*deltaCode*/,
                                                                                                                                      5555  'S' /*letter*/,
                                                                                                                                      5556  },
                                                                                                                                      5557  // Rule Zion 2009 only - Sep 27 2:00 0 S
                                                                                                                                      5558  {
                                                                                                                                      5559  9 /*fromYearTiny*/,
                                                                                                                                      5560  9 /*toYearTiny*/,
                                                                                                                                      5561  9 /*inMonth*/,
                                                                                                                                      5562  0 /*onDayOfWeek*/,
                                                                                                                                      5563  27 /*onDayOfMonth*/,
                                                                                                                                      5564  8 /*atTimeCode*/,
                                                                                                                                      5565  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5566  0 /*deltaCode*/,
                                                                                                                                      5567  'S' /*letter*/,
                                                                                                                                      5568  },
                                                                                                                                      5569  // Rule Zion 2010 only - Sep 12 2:00 0 S
                                                                                                                                      5570  {
                                                                                                                                      5571  10 /*fromYearTiny*/,
                                                                                                                                      5572  10 /*toYearTiny*/,
                                                                                                                                      5573  9 /*inMonth*/,
                                                                                                                                      5574  0 /*onDayOfWeek*/,
                                                                                                                                      5575  12 /*onDayOfMonth*/,
                                                                                                                                      5576  8 /*atTimeCode*/,
                                                                                                                                      5577  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5578  0 /*deltaCode*/,
                                                                                                                                      5579  'S' /*letter*/,
                                                                                                                                      5580  },
                                                                                                                                      5581  // Rule Zion 2011 only - Oct 2 2:00 0 S
                                                                                                                                      5582  {
                                                                                                                                      5583  11 /*fromYearTiny*/,
                                                                                                                                      5584  11 /*toYearTiny*/,
                                                                                                                                      5585  10 /*inMonth*/,
                                                                                                                                      5586  0 /*onDayOfWeek*/,
                                                                                                                                      5587  2 /*onDayOfMonth*/,
                                                                                                                                      5588  8 /*atTimeCode*/,
                                                                                                                                      5589  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5590  0 /*deltaCode*/,
                                                                                                                                      5591  'S' /*letter*/,
                                                                                                                                      5592  },
                                                                                                                                      5593  // Rule Zion 2012 only - Sep 23 2:00 0 S
                                                                                                                                      5594  {
                                                                                                                                      5595  12 /*fromYearTiny*/,
                                                                                                                                      5596  12 /*toYearTiny*/,
                                                                                                                                      5597  9 /*inMonth*/,
                                                                                                                                      5598  0 /*onDayOfWeek*/,
                                                                                                                                      5599  23 /*onDayOfMonth*/,
                                                                                                                                      5600  8 /*atTimeCode*/,
                                                                                                                                      5601  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5602  0 /*deltaCode*/,
                                                                                                                                      5603  'S' /*letter*/,
                                                                                                                                      5604  },
                                                                                                                                      5605  // Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D
                                                                                                                                      5606  {
                                                                                                                                      5607  13 /*fromYearTiny*/,
                                                                                                                                      5608  126 /*toYearTiny*/,
                                                                                                                                      5609  3 /*inMonth*/,
                                                                                                                                      5610  5 /*onDayOfWeek*/,
                                                                                                                                      5611  23 /*onDayOfMonth*/,
                                                                                                                                      5612  8 /*atTimeCode*/,
                                                                                                                                      5613  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5614  4 /*deltaCode*/,
                                                                                                                                      5615  'D' /*letter*/,
                                                                                                                                      5616  },
                                                                                                                                      5617  // Rule Zion 2013 max - Oct lastSun 2:00 0 S
                                                                                                                                      5618  {
                                                                                                                                      5619  13 /*fromYearTiny*/,
                                                                                                                                      5620  126 /*toYearTiny*/,
                                                                                                                                      5621  10 /*inMonth*/,
                                                                                                                                      5622  7 /*onDayOfWeek*/,
                                                                                                                                      5623  0 /*onDayOfMonth*/,
                                                                                                                                      5624  8 /*atTimeCode*/,
                                                                                                                                      5625  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      5626  0 /*deltaCode*/,
                                                                                                                                      5627  'S' /*letter*/,
                                                                                                                                      5628  },
                                                                                                                                      5629 
                                                                                                                                      5630 };
                                                                                                                                      5631 
                                                                                                                                      5632 
                                                                                                                                      5633 
                                                                                                                                      5634 const basic::ZonePolicy kPolicyZion ACE_TIME_PROGMEM = {
                                                                                                                                      5635  kZoneRulesZion /*rules*/,
                                                                                                                                      5636  nullptr /* letters */,
                                                                                                                                      5637  24 /*numRules*/,
                                                                                                                                      5638  0 /* numLetters */,
                                                                                                                                      5639 };
                                                                                                                                      5640 
                                                                                                                                      5641 
                                                                                                                                      5642 
                                                                                                                                      5643 }
                                                                                                                                      5644 }
                                                                                                                                      -
                                                                                                                                      static const uint8_t kSuffixW
                                                                                                                                      Represents &#39;w&#39; or wall time.
                                                                                                                                      Definition: ZoneContext.h:13
                                                                                                                                      -
                                                                                                                                      static const uint8_t kSuffixU
                                                                                                                                      Represents &#39;u&#39; or UTC time.
                                                                                                                                      Definition: ZoneContext.h:19
                                                                                                                                      -
                                                                                                                                      Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
                                                                                                                                      -
                                                                                                                                      static const uint8_t kSuffixS
                                                                                                                                      Represents &#39;s&#39; or standard time.
                                                                                                                                      Definition: ZoneContext.h:16
                                                                                                                                      +
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      +
                                                                                                                                      2 //
                                                                                                                                      +
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      +
                                                                                                                                      4 //
                                                                                                                                      +
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      +
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020c
                                                                                                                                      +
                                                                                                                                      7 //
                                                                                                                                      +
                                                                                                                                      8 // Policies: 65
                                                                                                                                      +
                                                                                                                                      9 // Rules: 362
                                                                                                                                      +
                                                                                                                                      10 // Memory (8-bit): 3648
                                                                                                                                      +
                                                                                                                                      11 // Memory (32-bit): 5156
                                                                                                                                      +
                                                                                                                                      12 //
                                                                                                                                      +
                                                                                                                                      13 // DO NOT EDIT
                                                                                                                                      +
                                                                                                                                      14 
                                                                                                                                      +
                                                                                                                                      15 #include <ace_time/common/compat.h>
                                                                                                                                      +
                                                                                                                                      16 #include "zone_policies.h"
                                                                                                                                      +
                                                                                                                                      17 
                                                                                                                                      +
                                                                                                                                      18 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      19 namespace zonedb {
                                                                                                                                      +
                                                                                                                                      20 
                                                                                                                                      +
                                                                                                                                      21 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      22 // Policy name: AN
                                                                                                                                      +
                                                                                                                                      23 // Rules: 9
                                                                                                                                      +
                                                                                                                                      24 // Memory (8-bit): 87
                                                                                                                                      +
                                                                                                                                      25 // Memory (32-bit): 120
                                                                                                                                      +
                                                                                                                                      26 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      27 
                                                                                                                                      +
                                                                                                                                      28 static const basic::ZoneRule kZoneRulesAN[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      29  // Rule AN 1987 1999 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      30  {
                                                                                                                                      +
                                                                                                                                      31  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      32  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      33  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      34  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      35  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      36  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      37  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      38  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      39  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      40  },
                                                                                                                                      +
                                                                                                                                      41  // Rule AN 1990 1995 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      42  {
                                                                                                                                      +
                                                                                                                                      43  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      44  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      45  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      46  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      47  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      48  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      49  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      50  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      51  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      52  },
                                                                                                                                      +
                                                                                                                                      53  // Rule AN 1996 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      54  {
                                                                                                                                      +
                                                                                                                                      55  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      56  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      57  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      58  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      59  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      60  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      61  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      62  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      63  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      64  },
                                                                                                                                      +
                                                                                                                                      65  // Rule AN 2000 only - Aug lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      66  {
                                                                                                                                      +
                                                                                                                                      67  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      68  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      69  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      70  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      71  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      72  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      73  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      74  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      75  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      76  },
                                                                                                                                      +
                                                                                                                                      77  // Rule AN 2001 2007 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      78  {
                                                                                                                                      +
                                                                                                                                      79  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      80  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      81  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      82  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      83  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      84  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      85  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      86  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      87  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      88  },
                                                                                                                                      +
                                                                                                                                      89  // Rule AN 2006 only - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      90  {
                                                                                                                                      +
                                                                                                                                      91  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      92  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      93  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      94  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      95  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      96  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      97  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      98  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      99  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      100  },
                                                                                                                                      +
                                                                                                                                      101  // Rule AN 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      102  {
                                                                                                                                      +
                                                                                                                                      103  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      104  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      105  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      106  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      107  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      108  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      109  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      110  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      111  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      112  },
                                                                                                                                      +
                                                                                                                                      113  // Rule AN 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      114  {
                                                                                                                                      +
                                                                                                                                      115  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      116  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      117  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      118  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      119  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      120  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      121  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      122  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      123  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      124  },
                                                                                                                                      +
                                                                                                                                      125  // Rule AN 2008 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      126  {
                                                                                                                                      +
                                                                                                                                      127  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      128  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      129  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      130  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      131  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      132  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      133  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      134  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      135  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      136  },
                                                                                                                                      +
                                                                                                                                      137 
                                                                                                                                      +
                                                                                                                                      138 };
                                                                                                                                      +
                                                                                                                                      139 
                                                                                                                                      +
                                                                                                                                      140 
                                                                                                                                      +
                                                                                                                                      141 
                                                                                                                                      +
                                                                                                                                      142 const basic::ZonePolicy kPolicyAN ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      143  kZoneRulesAN /*rules*/,
                                                                                                                                      +
                                                                                                                                      144  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      145  9 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      146  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      147 };
                                                                                                                                      +
                                                                                                                                      148 
                                                                                                                                      +
                                                                                                                                      149 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      150 // Policy name: AQ
                                                                                                                                      +
                                                                                                                                      151 // Rules: 1
                                                                                                                                      +
                                                                                                                                      152 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      153 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      154 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      155 
                                                                                                                                      +
                                                                                                                                      156 static const basic::ZoneRule kZoneRulesAQ[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      157  // Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      158  {
                                                                                                                                      +
                                                                                                                                      159  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      160  -8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      161  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      162  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      163  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      164  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      165  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      166  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      167  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      168  },
                                                                                                                                      +
                                                                                                                                      169 
                                                                                                                                      +
                                                                                                                                      170 };
                                                                                                                                      +
                                                                                                                                      171 
                                                                                                                                      +
                                                                                                                                      172 
                                                                                                                                      +
                                                                                                                                      173 
                                                                                                                                      +
                                                                                                                                      174 const basic::ZonePolicy kPolicyAQ ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      175  kZoneRulesAQ /*rules*/,
                                                                                                                                      +
                                                                                                                                      176  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      177  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      178  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      179 };
                                                                                                                                      +
                                                                                                                                      180 
                                                                                                                                      +
                                                                                                                                      181 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      182 // Policy name: AS
                                                                                                                                      +
                                                                                                                                      183 // Rules: 7
                                                                                                                                      +
                                                                                                                                      184 // Memory (8-bit): 69
                                                                                                                                      +
                                                                                                                                      185 // Memory (32-bit): 96
                                                                                                                                      +
                                                                                                                                      186 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      187 
                                                                                                                                      +
                                                                                                                                      188 static const basic::ZoneRule kZoneRulesAS[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      189  // Rule AS 1987 2007 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      190  {
                                                                                                                                      +
                                                                                                                                      191  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      192  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      193  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      194  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      195  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      196  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      197  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      198  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      199  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      200  },
                                                                                                                                      +
                                                                                                                                      201  // Rule AS 1994 only - Mar 20 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      202  {
                                                                                                                                      +
                                                                                                                                      203  -6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      204  -6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      205  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      206  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      207  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      208  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      209  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      210  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      211  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      212  },
                                                                                                                                      +
                                                                                                                                      213  // Rule AS 1995 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      214  {
                                                                                                                                      +
                                                                                                                                      215  -5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      216  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      217  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      218  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      219  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      220  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      221  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      222  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      223  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      224  },
                                                                                                                                      +
                                                                                                                                      225  // Rule AS 2006 only - Apr 2 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      226  {
                                                                                                                                      +
                                                                                                                                      227  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      228  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      229  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      230  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      231  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      232  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      233  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      234  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      235  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      236  },
                                                                                                                                      +
                                                                                                                                      237  // Rule AS 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      238  {
                                                                                                                                      +
                                                                                                                                      239  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      240  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      241  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      242  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      243  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      244  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      245  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      246  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      247  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      248  },
                                                                                                                                      +
                                                                                                                                      249  // Rule AS 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      250  {
                                                                                                                                      +
                                                                                                                                      251  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      252  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      253  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      254  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      255  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      256  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      257  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      258  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      259  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      260  },
                                                                                                                                      +
                                                                                                                                      261  // Rule AS 2008 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      262  {
                                                                                                                                      +
                                                                                                                                      263  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      264  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      265  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      266  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      267  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      268  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      269  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      270  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      271  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      272  },
                                                                                                                                      +
                                                                                                                                      273 
                                                                                                                                      +
                                                                                                                                      274 };
                                                                                                                                      +
                                                                                                                                      275 
                                                                                                                                      +
                                                                                                                                      276 
                                                                                                                                      +
                                                                                                                                      277 
                                                                                                                                      +
                                                                                                                                      278 const basic::ZonePolicy kPolicyAS ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      279  kZoneRulesAS /*rules*/,
                                                                                                                                      +
                                                                                                                                      280  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      281  7 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      282  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      283 };
                                                                                                                                      +
                                                                                                                                      284 
                                                                                                                                      +
                                                                                                                                      285 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      286 // Policy name: AT
                                                                                                                                      +
                                                                                                                                      287 // Rules: 8
                                                                                                                                      +
                                                                                                                                      288 // Memory (8-bit): 78
                                                                                                                                      +
                                                                                                                                      289 // Memory (32-bit): 108
                                                                                                                                      +
                                                                                                                                      290 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      291 
                                                                                                                                      +
                                                                                                                                      292 static const basic::ZoneRule kZoneRulesAT[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      293  // Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      294  {
                                                                                                                                      +
                                                                                                                                      295  -12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      296  -10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      297  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      298  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      299  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      300  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      301  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      302  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      303  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      304  },
                                                                                                                                      +
                                                                                                                                      305  // Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      306  {
                                                                                                                                      +
                                                                                                                                      307  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      308  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      309  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      310  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      311  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      312  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      313  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      314  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      315  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      316  },
                                                                                                                                      +
                                                                                                                                      317  // Rule AT 1991 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      318  {
                                                                                                                                      +
                                                                                                                                      319  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      320  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      321  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      322  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      323  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      324  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      325  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      326  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      327  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      328  },
                                                                                                                                      +
                                                                                                                                      329  // Rule AT 2000 only - Aug lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      330  {
                                                                                                                                      +
                                                                                                                                      331  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      332  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      333  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      334  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      335  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      336  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      337  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      338  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      339  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      340  },
                                                                                                                                      +
                                                                                                                                      341  // Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      342  {
                                                                                                                                      +
                                                                                                                                      343  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      344  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      345  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      346  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      347  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      348  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      349  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      350  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      351  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      352  },
                                                                                                                                      +
                                                                                                                                      353  // Rule AT 2006 only - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      354  {
                                                                                                                                      +
                                                                                                                                      355  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      356  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      357  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      358  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      359  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      360  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      361  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      362  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      363  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      364  },
                                                                                                                                      +
                                                                                                                                      365  // Rule AT 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      366  {
                                                                                                                                      +
                                                                                                                                      367  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      368  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      369  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      370  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      371  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      372  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      373  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      374  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      375  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      376  },
                                                                                                                                      +
                                                                                                                                      377  // Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      378  {
                                                                                                                                      +
                                                                                                                                      379  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      380  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      381  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      382  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      383  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      384  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      385  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      386  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      387  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      388  },
                                                                                                                                      +
                                                                                                                                      389 
                                                                                                                                      +
                                                                                                                                      390 };
                                                                                                                                      +
                                                                                                                                      391 
                                                                                                                                      +
                                                                                                                                      392 
                                                                                                                                      +
                                                                                                                                      393 
                                                                                                                                      +
                                                                                                                                      394 const basic::ZonePolicy kPolicyAT ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      395  kZoneRulesAT /*rules*/,
                                                                                                                                      +
                                                                                                                                      396  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      397  8 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      398  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      399 };
                                                                                                                                      +
                                                                                                                                      400 
                                                                                                                                      +
                                                                                                                                      401 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      402 // Policy name: AV
                                                                                                                                      +
                                                                                                                                      403 // Rules: 9
                                                                                                                                      +
                                                                                                                                      404 // Memory (8-bit): 87
                                                                                                                                      +
                                                                                                                                      405 // Memory (32-bit): 120
                                                                                                                                      +
                                                                                                                                      406 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      407 
                                                                                                                                      +
                                                                                                                                      408 static const basic::ZoneRule kZoneRulesAV[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      409  // Rule AV 1988 1999 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      410  {
                                                                                                                                      +
                                                                                                                                      411  -12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      412  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      413  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      414  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      415  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      416  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      417  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      418  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      419  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      420  },
                                                                                                                                      +
                                                                                                                                      421  // Rule AV 1991 1994 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      422  {
                                                                                                                                      +
                                                                                                                                      423  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      424  -6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      425  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      426  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      427  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      428  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      429  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      430  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      431  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      432  },
                                                                                                                                      +
                                                                                                                                      433  // Rule AV 1995 2005 - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      434  {
                                                                                                                                      +
                                                                                                                                      435  -5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      436  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      437  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      438  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      439  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      440  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      441  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      442  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      443  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      444  },
                                                                                                                                      +
                                                                                                                                      445  // Rule AV 2000 only - Aug lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      446  {
                                                                                                                                      +
                                                                                                                                      447  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      448  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      449  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      450  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      451  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      452  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      453  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      454  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      455  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      456  },
                                                                                                                                      +
                                                                                                                                      457  // Rule AV 2001 2007 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      458  {
                                                                                                                                      +
                                                                                                                                      459  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      460  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      461  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      462  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      463  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      464  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      465  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      466  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      467  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      468  },
                                                                                                                                      +
                                                                                                                                      469  // Rule AV 2006 only - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      470  {
                                                                                                                                      +
                                                                                                                                      471  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      472  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      473  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      474  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      475  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      476  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      477  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      478  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      479  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      480  },
                                                                                                                                      +
                                                                                                                                      481  // Rule AV 2007 only - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      482  {
                                                                                                                                      +
                                                                                                                                      483  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      484  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      485  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      486  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      487  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      488  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      489  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      490  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      491  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      492  },
                                                                                                                                      +
                                                                                                                                      493  // Rule AV 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      494  {
                                                                                                                                      +
                                                                                                                                      495  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      496  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      497  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      498  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      499  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      500  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      501  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      502  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      503  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      504  },
                                                                                                                                      +
                                                                                                                                      505  // Rule AV 2008 max - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      506  {
                                                                                                                                      +
                                                                                                                                      507  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      508  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      509  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      510  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      511  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      512  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      513  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      514  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      515  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      516  },
                                                                                                                                      +
                                                                                                                                      517 
                                                                                                                                      +
                                                                                                                                      518 };
                                                                                                                                      +
                                                                                                                                      519 
                                                                                                                                      +
                                                                                                                                      520 
                                                                                                                                      +
                                                                                                                                      521 
                                                                                                                                      +
                                                                                                                                      522 const basic::ZonePolicy kPolicyAV ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      523  kZoneRulesAV /*rules*/,
                                                                                                                                      +
                                                                                                                                      524  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      525  9 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      526  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      527 };
                                                                                                                                      +
                                                                                                                                      528 
                                                                                                                                      +
                                                                                                                                      529 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      530 // Policy name: AW
                                                                                                                                      +
                                                                                                                                      531 // Rules: 4
                                                                                                                                      +
                                                                                                                                      532 // Memory (8-bit): 42
                                                                                                                                      +
                                                                                                                                      533 // Memory (32-bit): 60
                                                                                                                                      +
                                                                                                                                      534 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      535 
                                                                                                                                      +
                                                                                                                                      536 static const basic::ZoneRule kZoneRulesAW[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      537  // Rule AW 1992 only - Mar Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      538  {
                                                                                                                                      +
                                                                                                                                      539  -8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      540  -8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      541  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      542  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      543  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      544  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      545  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      546  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      547  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      548  },
                                                                                                                                      +
                                                                                                                                      549  // Rule AW 2006 only - Dec 3 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      550  {
                                                                                                                                      +
                                                                                                                                      551  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      552  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      553  12 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      554  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      555  3 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      556  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      557  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      558  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      559  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      560  },
                                                                                                                                      +
                                                                                                                                      561  // Rule AW 2007 2009 - Mar lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      562  {
                                                                                                                                      +
                                                                                                                                      563  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      564  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      565  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      566  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      567  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      568  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      569  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      570  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      571  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      572  },
                                                                                                                                      +
                                                                                                                                      573  // Rule AW 2007 2008 - Oct lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      574  {
                                                                                                                                      +
                                                                                                                                      575  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      576  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      577  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      578  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      579  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      580  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      581  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      582  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      583  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      584  },
                                                                                                                                      +
                                                                                                                                      585 
                                                                                                                                      +
                                                                                                                                      586 };
                                                                                                                                      +
                                                                                                                                      587 
                                                                                                                                      +
                                                                                                                                      588 
                                                                                                                                      +
                                                                                                                                      589 
                                                                                                                                      +
                                                                                                                                      590 const basic::ZonePolicy kPolicyAW ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      591  kZoneRulesAW /*rules*/,
                                                                                                                                      +
                                                                                                                                      592  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      593  4 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      594  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      595 };
                                                                                                                                      +
                                                                                                                                      596 
                                                                                                                                      +
                                                                                                                                      597 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      598 // Policy name: Armenia
                                                                                                                                      +
                                                                                                                                      599 // Rules: 3
                                                                                                                                      +
                                                                                                                                      600 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      601 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      602 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      603 
                                                                                                                                      +
                                                                                                                                      604 static const basic::ZoneRule kZoneRulesArmenia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      605  // Anchor: Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      606  {
                                                                                                                                      +
                                                                                                                                      607  -127 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      608  -127 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      609  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      610  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      611  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      612  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      613  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      614  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      615  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      616  },
                                                                                                                                      +
                                                                                                                                      617  // Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 -
                                                                                                                                      +
                                                                                                                                      618  {
                                                                                                                                      +
                                                                                                                                      619  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      620  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      621  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      622  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      623  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      624  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      625  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      626  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      627  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      628  },
                                                                                                                                      +
                                                                                                                                      629  // Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      630  {
                                                                                                                                      +
                                                                                                                                      631  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      632  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      633  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      634  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      635  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      636  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      637  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      638  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      639  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      640  },
                                                                                                                                      +
                                                                                                                                      641 
                                                                                                                                      +
                                                                                                                                      642 };
                                                                                                                                      +
                                                                                                                                      643 
                                                                                                                                      +
                                                                                                                                      644 
                                                                                                                                      +
                                                                                                                                      645 
                                                                                                                                      +
                                                                                                                                      646 const basic::ZonePolicy kPolicyArmenia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      647  kZoneRulesArmenia /*rules*/,
                                                                                                                                      +
                                                                                                                                      648  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      649  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      650  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      651 };
                                                                                                                                      +
                                                                                                                                      652 
                                                                                                                                      +
                                                                                                                                      653 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      654 // Policy name: Aus
                                                                                                                                      +
                                                                                                                                      655 // Rules: 1
                                                                                                                                      +
                                                                                                                                      656 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      657 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      658 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      659 
                                                                                                                                      +
                                                                                                                                      660 static const basic::ZoneRule kZoneRulesAus[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      661  // Rule Aus 1943 1944 - Mar lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      662  {
                                                                                                                                      +
                                                                                                                                      663  -57 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      664  -56 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      665  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      666  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      667  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      668  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      669  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      670  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      671  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      672  },
                                                                                                                                      +
                                                                                                                                      673 
                                                                                                                                      +
                                                                                                                                      674 };
                                                                                                                                      +
                                                                                                                                      675 
                                                                                                                                      +
                                                                                                                                      676 
                                                                                                                                      +
                                                                                                                                      677 
                                                                                                                                      +
                                                                                                                                      678 const basic::ZonePolicy kPolicyAus ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      679  kZoneRulesAus /*rules*/,
                                                                                                                                      +
                                                                                                                                      680  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      681  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      682  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      683 };
                                                                                                                                      +
                                                                                                                                      684 
                                                                                                                                      +
                                                                                                                                      685 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      686 // Policy name: Azer
                                                                                                                                      +
                                                                                                                                      687 // Rules: 2
                                                                                                                                      +
                                                                                                                                      688 // Memory (8-bit): 24
                                                                                                                                      +
                                                                                                                                      689 // Memory (32-bit): 36
                                                                                                                                      +
                                                                                                                                      690 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      691 
                                                                                                                                      +
                                                                                                                                      692 static const basic::ZoneRule kZoneRulesAzer[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      693  // Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 -
                                                                                                                                      +
                                                                                                                                      694  {
                                                                                                                                      +
                                                                                                                                      695  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      696  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      697  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      698  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      699  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      700  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      701  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      702  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      703  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      704  },
                                                                                                                                      +
                                                                                                                                      705  // Rule Azer 1997 2015 - Oct lastSun 5:00 0 -
                                                                                                                                      +
                                                                                                                                      706  {
                                                                                                                                      +
                                                                                                                                      707  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      708  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      709  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      710  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      711  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      712  20 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      713  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      714  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      715  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      716  },
                                                                                                                                      +
                                                                                                                                      717 
                                                                                                                                      +
                                                                                                                                      718 };
                                                                                                                                      +
                                                                                                                                      719 
                                                                                                                                      +
                                                                                                                                      720 
                                                                                                                                      +
                                                                                                                                      721 
                                                                                                                                      +
                                                                                                                                      722 const basic::ZonePolicy kPolicyAzer ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      723  kZoneRulesAzer /*rules*/,
                                                                                                                                      +
                                                                                                                                      724  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      725  2 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      726  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      727 };
                                                                                                                                      +
                                                                                                                                      728 
                                                                                                                                      +
                                                                                                                                      729 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      730 // Policy name: Barb
                                                                                                                                      +
                                                                                                                                      731 // Rules: 1
                                                                                                                                      +
                                                                                                                                      732 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      733 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      734 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      735 
                                                                                                                                      +
                                                                                                                                      736 static const basic::ZoneRule kZoneRulesBarb[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      737  // Rule Barb 1980 only - Sep 25 2:00 0 S
                                                                                                                                      +
                                                                                                                                      738  {
                                                                                                                                      +
                                                                                                                                      739  -20 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      740  -20 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      741  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      742  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      743  25 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      744  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      745  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      746  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      747  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      748  },
                                                                                                                                      +
                                                                                                                                      749 
                                                                                                                                      +
                                                                                                                                      750 };
                                                                                                                                      +
                                                                                                                                      751 
                                                                                                                                      +
                                                                                                                                      752 
                                                                                                                                      +
                                                                                                                                      753 
                                                                                                                                      +
                                                                                                                                      754 const basic::ZonePolicy kPolicyBarb ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      755  kZoneRulesBarb /*rules*/,
                                                                                                                                      +
                                                                                                                                      756  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      757  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      758  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      759 };
                                                                                                                                      +
                                                                                                                                      760 
                                                                                                                                      +
                                                                                                                                      761 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      762 // Policy name: Brazil
                                                                                                                                      +
                                                                                                                                      763 // Rules: 20
                                                                                                                                      +
                                                                                                                                      764 // Memory (8-bit): 186
                                                                                                                                      +
                                                                                                                                      765 // Memory (32-bit): 252
                                                                                                                                      +
                                                                                                                                      766 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      767 
                                                                                                                                      +
                                                                                                                                      768 static const basic::ZoneRule kZoneRulesBrazil[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      769  // Rule Brazil 1998 only - Oct 11 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      770  {
                                                                                                                                      +
                                                                                                                                      771  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      772  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      773  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      774  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      775  11 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      776  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      777  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      778  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      779  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      780  },
                                                                                                                                      +
                                                                                                                                      781  // Rule Brazil 1999 only - Feb 21 0:00 0 -
                                                                                                                                      +
                                                                                                                                      782  {
                                                                                                                                      +
                                                                                                                                      783  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      784  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      785  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      786  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      787  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      788  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      789  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      790  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      791  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      792  },
                                                                                                                                      +
                                                                                                                                      793  // Rule Brazil 1999 only - Oct 3 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      794  {
                                                                                                                                      +
                                                                                                                                      795  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      796  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      797  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      798  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      799  3 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      800  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      801  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      802  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      803  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      804  },
                                                                                                                                      +
                                                                                                                                      805  // Rule Brazil 2000 only - Feb 27 0:00 0 -
                                                                                                                                      +
                                                                                                                                      806  {
                                                                                                                                      +
                                                                                                                                      807  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      808  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      809  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      810  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      811  27 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      812  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      813  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      814  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      815  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      816  },
                                                                                                                                      +
                                                                                                                                      817  // Rule Brazil 2000 2001 - Oct Sun>=8 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      818  {
                                                                                                                                      +
                                                                                                                                      819  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      820  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      821  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      822  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      823  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      824  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      825  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      826  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      827  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      828  },
                                                                                                                                      +
                                                                                                                                      829  // Rule Brazil 2001 2006 - Feb Sun>=15 0:00 0 -
                                                                                                                                      +
                                                                                                                                      830  {
                                                                                                                                      +
                                                                                                                                      831  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      832  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      833  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      834  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      835  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      836  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      837  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      838  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      839  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      840  },
                                                                                                                                      +
                                                                                                                                      841  // Rule Brazil 2002 only - Nov 3 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      842  {
                                                                                                                                      +
                                                                                                                                      843  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      844  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      845  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      846  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      847  3 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      848  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      849  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      850  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      851  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      852  },
                                                                                                                                      +
                                                                                                                                      853  // Rule Brazil 2003 only - Oct 19 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      854  {
                                                                                                                                      +
                                                                                                                                      855  3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      856  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      857  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      858  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      859  19 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      860  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      861  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      862  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      863  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      864  },
                                                                                                                                      +
                                                                                                                                      865  // Rule Brazil 2004 only - Nov 2 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      866  {
                                                                                                                                      +
                                                                                                                                      867  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      868  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      869  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      870  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      871  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      872  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      873  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      874  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      875  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      876  },
                                                                                                                                      +
                                                                                                                                      877  // Rule Brazil 2005 only - Oct 16 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      878  {
                                                                                                                                      +
                                                                                                                                      879  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      880  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      881  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      882  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      883  16 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      884  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      885  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      886  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      887  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      888  },
                                                                                                                                      +
                                                                                                                                      889  // Rule Brazil 2006 only - Nov 5 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      890  {
                                                                                                                                      +
                                                                                                                                      891  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      892  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      893  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      894  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      895  5 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      896  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      897  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      898  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      899  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      900  },
                                                                                                                                      +
                                                                                                                                      901  // Rule Brazil 2007 only - Feb 25 0:00 0 -
                                                                                                                                      +
                                                                                                                                      902  {
                                                                                                                                      +
                                                                                                                                      903  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      904  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      905  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      906  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      907  25 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      908  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      909  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      910  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      911  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      912  },
                                                                                                                                      +
                                                                                                                                      913  // Rule Brazil 2007 only - Oct Sun>=8 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      914  {
                                                                                                                                      +
                                                                                                                                      915  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      916  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      917  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      918  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      919  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      920  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      921  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      922  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      923  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      924  },
                                                                                                                                      +
                                                                                                                                      925  // Rule Brazil 2008 2017 - Oct Sun>=15 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      926  {
                                                                                                                                      +
                                                                                                                                      927  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      928  17 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      929  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      930  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      931  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      932  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      933  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      934  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      935  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      936  },
                                                                                                                                      +
                                                                                                                                      937  // Rule Brazil 2008 2011 - Feb Sun>=15 0:00 0 -
                                                                                                                                      +
                                                                                                                                      938  {
                                                                                                                                      +
                                                                                                                                      939  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      940  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      941  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      942  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      943  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      944  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      945  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      946  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      947  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      948  },
                                                                                                                                      +
                                                                                                                                      949  // Rule Brazil 2012 only - Feb Sun>=22 0:00 0 -
                                                                                                                                      +
                                                                                                                                      950  {
                                                                                                                                      +
                                                                                                                                      951  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      952  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      953  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      954  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      955  22 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      956  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      957  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      958  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      959  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      960  },
                                                                                                                                      +
                                                                                                                                      961  // Rule Brazil 2013 2014 - Feb Sun>=15 0:00 0 -
                                                                                                                                      +
                                                                                                                                      962  {
                                                                                                                                      +
                                                                                                                                      963  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      964  14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      965  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      966  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      967  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      968  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      969  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      970  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      971  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      972  },
                                                                                                                                      +
                                                                                                                                      973  // Rule Brazil 2015 only - Feb Sun>=22 0:00 0 -
                                                                                                                                      +
                                                                                                                                      974  {
                                                                                                                                      +
                                                                                                                                      975  15 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      976  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      977  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      978  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      979  22 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      980  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      981  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      982  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      983  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      984  },
                                                                                                                                      +
                                                                                                                                      985  // Rule Brazil 2016 2019 - Feb Sun>=15 0:00 0 -
                                                                                                                                      +
                                                                                                                                      986  {
                                                                                                                                      +
                                                                                                                                      987  16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      988  19 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      989  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      990  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      991  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      992  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      993  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      994  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      995  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      996  },
                                                                                                                                      +
                                                                                                                                      997  // Rule Brazil 2018 only - Nov Sun>=1 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      998  {
                                                                                                                                      +
                                                                                                                                      999  18 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1000  18 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1001  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1002  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1003  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1004  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1005  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1006  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1007  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1008  },
                                                                                                                                      +
                                                                                                                                      1009 
                                                                                                                                      +
                                                                                                                                      1010 };
                                                                                                                                      +
                                                                                                                                      1011 
                                                                                                                                      +
                                                                                                                                      1012 
                                                                                                                                      +
                                                                                                                                      1013 
                                                                                                                                      +
                                                                                                                                      1014 const basic::ZonePolicy kPolicyBrazil ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1015  kZoneRulesBrazil /*rules*/,
                                                                                                                                      +
                                                                                                                                      1016  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1017  20 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1018  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1019 };
                                                                                                                                      +
                                                                                                                                      1020 
                                                                                                                                      +
                                                                                                                                      1021 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1022 // Policy name: C_Eur
                                                                                                                                      +
                                                                                                                                      1023 // Rules: 3
                                                                                                                                      +
                                                                                                                                      1024 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      1025 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      1026 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1027 
                                                                                                                                      +
                                                                                                                                      1028 static const basic::ZoneRule kZoneRulesC_Eur[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1029  // Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      1030  {
                                                                                                                                      +
                                                                                                                                      1031  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1032  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1033  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1034  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1035  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1036  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1037  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1038  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1039  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1040  },
                                                                                                                                      +
                                                                                                                                      1041  // Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S
                                                                                                                                      +
                                                                                                                                      1042  {
                                                                                                                                      +
                                                                                                                                      1043  -19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1044  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1045  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1046  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1047  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1048  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1049  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1050  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1051  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1052  },
                                                                                                                                      +
                                                                                                                                      1053  // Rule C-Eur 1996 max - Oct lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      1054  {
                                                                                                                                      +
                                                                                                                                      1055  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1056  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1057  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1058  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1059  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1060  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1061  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1062  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1063  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1064  },
                                                                                                                                      +
                                                                                                                                      1065 
                                                                                                                                      +
                                                                                                                                      1066 };
                                                                                                                                      +
                                                                                                                                      1067 
                                                                                                                                      +
                                                                                                                                      1068 
                                                                                                                                      +
                                                                                                                                      1069 
                                                                                                                                      +
                                                                                                                                      1070 const basic::ZonePolicy kPolicyC_Eur ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1071  kZoneRulesC_Eur /*rules*/,
                                                                                                                                      +
                                                                                                                                      1072  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1073  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1074  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1075 };
                                                                                                                                      +
                                                                                                                                      1076 
                                                                                                                                      +
                                                                                                                                      1077 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1078 // Policy name: CO
                                                                                                                                      +
                                                                                                                                      1079 // Rules: 1
                                                                                                                                      +
                                                                                                                                      1080 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      1081 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      1082 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1083 
                                                                                                                                      +
                                                                                                                                      1084 static const basic::ZoneRule kZoneRulesCO[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1085  // Rule CO 1993 only - Apr 4 0:00 0 -
                                                                                                                                      +
                                                                                                                                      1086  {
                                                                                                                                      +
                                                                                                                                      1087  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1088  -7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1089  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1090  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1091  4 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1092  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1093  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1094  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1095  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1096  },
                                                                                                                                      +
                                                                                                                                      1097 
                                                                                                                                      +
                                                                                                                                      1098 };
                                                                                                                                      +
                                                                                                                                      1099 
                                                                                                                                      +
                                                                                                                                      1100 
                                                                                                                                      +
                                                                                                                                      1101 
                                                                                                                                      +
                                                                                                                                      1102 const basic::ZonePolicy kPolicyCO ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1103  kZoneRulesCO /*rules*/,
                                                                                                                                      +
                                                                                                                                      1104  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1105  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1106  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1107 };
                                                                                                                                      +
                                                                                                                                      1108 
                                                                                                                                      +
                                                                                                                                      1109 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1110 // Policy name: CR
                                                                                                                                      +
                                                                                                                                      1111 // Rules: 1
                                                                                                                                      +
                                                                                                                                      1112 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      1113 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      1114 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1115 
                                                                                                                                      +
                                                                                                                                      1116 static const basic::ZoneRule kZoneRulesCR[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1117  // Rule CR 1992 only - Mar 15 0:00 0 S
                                                                                                                                      +
                                                                                                                                      1118  {
                                                                                                                                      +
                                                                                                                                      1119  -8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1120  -8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1121  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1122  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1123  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1124  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1125  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1126  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1127  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1128  },
                                                                                                                                      +
                                                                                                                                      1129 
                                                                                                                                      +
                                                                                                                                      1130 };
                                                                                                                                      +
                                                                                                                                      1131 
                                                                                                                                      +
                                                                                                                                      1132 
                                                                                                                                      +
                                                                                                                                      1133 
                                                                                                                                      +
                                                                                                                                      1134 const basic::ZonePolicy kPolicyCR ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1135  kZoneRulesCR /*rules*/,
                                                                                                                                      +
                                                                                                                                      1136  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1137  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1138  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1139 };
                                                                                                                                      +
                                                                                                                                      1140 
                                                                                                                                      +
                                                                                                                                      1141 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1142 // Policy name: Canada
                                                                                                                                      +
                                                                                                                                      1143 // Rules: 5
                                                                                                                                      +
                                                                                                                                      1144 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      1145 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      1146 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1147 
                                                                                                                                      +
                                                                                                                                      1148 static const basic::ZoneRule kZoneRulesCanada[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1149  // Rule Canada 1974 1986 - Apr lastSun 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      1150  {
                                                                                                                                      +
                                                                                                                                      1151  -26 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1152  -14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1153  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1154  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1155  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1156  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1157  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1158  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1159  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1160  },
                                                                                                                                      +
                                                                                                                                      1161  // Rule Canada 1974 2006 - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      1162  {
                                                                                                                                      +
                                                                                                                                      1163  -26 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1164  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1165  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1166  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1167  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1168  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1169  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1170  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1171  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1172  },
                                                                                                                                      +
                                                                                                                                      1173  // Rule Canada 1987 2006 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      1174  {
                                                                                                                                      +
                                                                                                                                      1175  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1176  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1177  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1178  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1179  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1180  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1181  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1182  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1183  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1184  },
                                                                                                                                      +
                                                                                                                                      1185  // Rule Canada 2007 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      1186  {
                                                                                                                                      +
                                                                                                                                      1187  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1188  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1189  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1190  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1191  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1192  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1193  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1194  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1195  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1196  },
                                                                                                                                      +
                                                                                                                                      1197  // Rule Canada 2007 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      +
                                                                                                                                      1198  {
                                                                                                                                      +
                                                                                                                                      1199  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1200  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1201  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1202  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1203  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1204  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1205  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1206  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1207  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1208  },
                                                                                                                                      +
                                                                                                                                      1209 
                                                                                                                                      +
                                                                                                                                      1210 };
                                                                                                                                      +
                                                                                                                                      1211 
                                                                                                                                      +
                                                                                                                                      1212 
                                                                                                                                      +
                                                                                                                                      1213 
                                                                                                                                      +
                                                                                                                                      1214 const basic::ZonePolicy kPolicyCanada ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1215  kZoneRulesCanada /*rules*/,
                                                                                                                                      +
                                                                                                                                      1216  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1217  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1218  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1219 };
                                                                                                                                      +
                                                                                                                                      1220 
                                                                                                                                      +
                                                                                                                                      1221 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1222 // Policy name: Chatham
                                                                                                                                      +
                                                                                                                                      1223 // Rules: 5
                                                                                                                                      +
                                                                                                                                      1224 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      1225 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      1226 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1227 
                                                                                                                                      +
                                                                                                                                      1228 static const basic::ZoneRule kZoneRulesChatham[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1229  // Rule Chatham 1989 only - Oct Sun>=8 2:45s 1:00 -
                                                                                                                                      +
                                                                                                                                      1230  {
                                                                                                                                      +
                                                                                                                                      1231  -11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1232  -11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1233  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1234  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1235  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1236  11 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1237  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1238  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1239  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1240  },
                                                                                                                                      +
                                                                                                                                      1241  // Rule Chatham 1990 2006 - Oct Sun>=1 2:45s 1:00 -
                                                                                                                                      +
                                                                                                                                      1242  {
                                                                                                                                      +
                                                                                                                                      1243  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1244  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1245  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1246  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1247  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1248  11 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1249  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1250  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1251  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1252  },
                                                                                                                                      +
                                                                                                                                      1253  // Rule Chatham 1990 2007 - Mar Sun>=15 2:45s 0 -
                                                                                                                                      +
                                                                                                                                      1254  {
                                                                                                                                      +
                                                                                                                                      1255  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1256  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1257  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1258  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1259  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1260  11 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1261  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1262  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1263  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1264  },
                                                                                                                                      +
                                                                                                                                      1265  // Rule Chatham 2007 max - Sep lastSun 2:45s 1:00 -
                                                                                                                                      +
                                                                                                                                      1266  {
                                                                                                                                      +
                                                                                                                                      1267  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1268  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1269  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1270  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1271  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1272  11 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1273  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1274  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1275  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1276  },
                                                                                                                                      +
                                                                                                                                      1277  // Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
                                                                                                                                      +
                                                                                                                                      1278  {
                                                                                                                                      +
                                                                                                                                      1279  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1280  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1281  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1282  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1283  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1284  11 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1285  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1286  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1287  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1288  },
                                                                                                                                      +
                                                                                                                                      1289 
                                                                                                                                      +
                                                                                                                                      1290 };
                                                                                                                                      +
                                                                                                                                      1291 
                                                                                                                                      +
                                                                                                                                      1292 
                                                                                                                                      +
                                                                                                                                      1293 
                                                                                                                                      +
                                                                                                                                      1294 const basic::ZonePolicy kPolicyChatham ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1295  kZoneRulesChatham /*rules*/,
                                                                                                                                      +
                                                                                                                                      1296  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1297  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1298  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1299 };
                                                                                                                                      +
                                                                                                                                      1300 
                                                                                                                                      +
                                                                                                                                      1301 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1302 // Policy name: Chile
                                                                                                                                      +
                                                                                                                                      1303 // Rules: 15
                                                                                                                                      +
                                                                                                                                      1304 // Memory (8-bit): 141
                                                                                                                                      +
                                                                                                                                      1305 // Memory (32-bit): 192
                                                                                                                                      +
                                                                                                                                      1306 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1307 
                                                                                                                                      +
                                                                                                                                      1308 static const basic::ZoneRule kZoneRulesChile[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1309  // Rule Chile 1998 only - Sep 27 4:00u 1:00 -
                                                                                                                                      +
                                                                                                                                      1310  {
                                                                                                                                      +
                                                                                                                                      1311  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1312  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1313  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1314  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1315  27 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1316  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1317  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1318  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1319  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1320  },
                                                                                                                                      +
                                                                                                                                      1321  // Rule Chile 1999 only - Apr 4 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1322  {
                                                                                                                                      +
                                                                                                                                      1323  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1324  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1325  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1326  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1327  4 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1328  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1329  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1330  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1331  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1332  },
                                                                                                                                      +
                                                                                                                                      1333  // Rule Chile 1999 2010 - Oct Sun>=9 4:00u 1:00 -
                                                                                                                                      +
                                                                                                                                      1334  {
                                                                                                                                      +
                                                                                                                                      1335  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1336  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1337  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1338  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1339  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1340  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1341  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1342  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1343  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1344  },
                                                                                                                                      +
                                                                                                                                      1345  // Rule Chile 2000 2007 - Mar Sun>=9 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1346  {
                                                                                                                                      +
                                                                                                                                      1347  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1348  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1349  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1350  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1351  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1352  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1353  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1354  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1355  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1356  },
                                                                                                                                      +
                                                                                                                                      1357  // Rule Chile 2008 only - Mar 30 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1358  {
                                                                                                                                      +
                                                                                                                                      1359  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1360  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1361  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1362  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1363  30 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1364  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1365  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1366  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1367  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1368  },
                                                                                                                                      +
                                                                                                                                      1369  // Rule Chile 2009 only - Mar Sun>=9 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1370  {
                                                                                                                                      +
                                                                                                                                      1371  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1372  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1373  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1374  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1375  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1376  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1377  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1378  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1379  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1380  },
                                                                                                                                      +
                                                                                                                                      1381  // Rule Chile 2010 only - Apr Sun>=1 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1382  {
                                                                                                                                      +
                                                                                                                                      1383  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1384  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1385  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1386  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1387  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1388  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1389  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1390  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1391  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1392  },
                                                                                                                                      +
                                                                                                                                      1393  // Rule Chile 2011 only - May Sun>=2 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1394  {
                                                                                                                                      +
                                                                                                                                      1395  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1396  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1397  5 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1398  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1399  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1400  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1401  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1402  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1403  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1404  },
                                                                                                                                      +
                                                                                                                                      1405  // Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 -
                                                                                                                                      +
                                                                                                                                      1406  {
                                                                                                                                      +
                                                                                                                                      1407  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1408  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1409  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1410  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1411  16 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1412  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1413  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1414  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1415  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1416  },
                                                                                                                                      +
                                                                                                                                      1417  // Rule Chile 2012 2014 - Apr Sun>=23 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1418  {
                                                                                                                                      +
                                                                                                                                      1419  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1420  14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1421  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1422  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1423  23 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1424  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1425  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1426  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1427  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1428  },
                                                                                                                                      +
                                                                                                                                      1429  // Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 -
                                                                                                                                      +
                                                                                                                                      1430  {
                                                                                                                                      +
                                                                                                                                      1431  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1432  14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1433  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1434  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1435  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1436  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1437  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1438  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1439  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1440  },
                                                                                                                                      +
                                                                                                                                      1441  // Rule Chile 2016 2018 - May Sun>=9 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1442  {
                                                                                                                                      +
                                                                                                                                      1443  16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1444  18 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1445  5 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1446  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1447  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1448  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1449  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1450  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1451  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1452  },
                                                                                                                                      +
                                                                                                                                      1453  // Rule Chile 2016 2018 - Aug Sun>=9 4:00u 1:00 -
                                                                                                                                      +
                                                                                                                                      1454  {
                                                                                                                                      +
                                                                                                                                      1455  16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1456  18 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1457  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1458  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1459  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1460  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1461  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1462  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1463  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1464  },
                                                                                                                                      +
                                                                                                                                      1465  // Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
                                                                                                                                      +
                                                                                                                                      1466  {
                                                                                                                                      +
                                                                                                                                      1467  19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1468  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1469  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1470  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1471  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1472  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1473  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1474  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1475  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1476  },
                                                                                                                                      +
                                                                                                                                      1477  // Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
                                                                                                                                      +
                                                                                                                                      1478  {
                                                                                                                                      +
                                                                                                                                      1479  19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1480  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1481  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1482  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1483  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1484  16 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1485  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1486  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1487  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1488  },
                                                                                                                                      +
                                                                                                                                      1489 
                                                                                                                                      +
                                                                                                                                      1490 };
                                                                                                                                      +
                                                                                                                                      1491 
                                                                                                                                      +
                                                                                                                                      1492 
                                                                                                                                      +
                                                                                                                                      1493 
                                                                                                                                      +
                                                                                                                                      1494 const basic::ZonePolicy kPolicyChile ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1495  kZoneRulesChile /*rules*/,
                                                                                                                                      +
                                                                                                                                      1496  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1497  15 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1498  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1499 };
                                                                                                                                      +
                                                                                                                                      1500 
                                                                                                                                      +
                                                                                                                                      1501 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1502 // Policy name: Cook
                                                                                                                                      +
                                                                                                                                      1503 // Rules: 1
                                                                                                                                      +
                                                                                                                                      1504 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      1505 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      1506 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1507 
                                                                                                                                      +
                                                                                                                                      1508 static const basic::ZoneRule kZoneRulesCook[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1509  // Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      1510  {
                                                                                                                                      +
                                                                                                                                      1511  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1512  -9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1513  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1514  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1515  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1516  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1518  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1519  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1520  },
                                                                                                                                      +
                                                                                                                                      1521 
                                                                                                                                      +
                                                                                                                                      1522 };
                                                                                                                                      +
                                                                                                                                      1523 
                                                                                                                                      +
                                                                                                                                      1524 
                                                                                                                                      +
                                                                                                                                      1525 
                                                                                                                                      +
                                                                                                                                      1526 const basic::ZonePolicy kPolicyCook ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1527  kZoneRulesCook /*rules*/,
                                                                                                                                      +
                                                                                                                                      1528  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1529  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1530  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1531 };
                                                                                                                                      +
                                                                                                                                      1532 
                                                                                                                                      +
                                                                                                                                      1533 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1534 // Policy name: Cuba
                                                                                                                                      +
                                                                                                                                      1535 // Rules: 14
                                                                                                                                      +
                                                                                                                                      1536 // Memory (8-bit): 132
                                                                                                                                      +
                                                                                                                                      1537 // Memory (32-bit): 180
                                                                                                                                      +
                                                                                                                                      1538 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1539 
                                                                                                                                      +
                                                                                                                                      1540 static const basic::ZoneRule kZoneRulesCuba[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1541  // Rule Cuba 1997 only - Oct 12 0:00s 0 S
                                                                                                                                      +
                                                                                                                                      1542  {
                                                                                                                                      +
                                                                                                                                      1543  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1544  -3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1545  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1546  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1547  12 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1548  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1549  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1550  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1551  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1552  },
                                                                                                                                      +
                                                                                                                                      1553  // Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1554  {
                                                                                                                                      +
                                                                                                                                      1555  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1556  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1557  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1558  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1559  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1560  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1561  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1562  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1563  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1564  },
                                                                                                                                      +
                                                                                                                                      1565  // Rule Cuba 1998 2003 - Oct lastSun 0:00s 0 S
                                                                                                                                      +
                                                                                                                                      1566  {
                                                                                                                                      +
                                                                                                                                      1567  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1568  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1569  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1570  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1571  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1572  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1573  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1574  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1575  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1576  },
                                                                                                                                      +
                                                                                                                                      1577  // Rule Cuba 2000 2003 - Apr Sun>=1 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1578  {
                                                                                                                                      +
                                                                                                                                      1579  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1580  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1581  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1582  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1583  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1584  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1585  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1586  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1587  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1588  },
                                                                                                                                      +
                                                                                                                                      1589  // Rule Cuba 2004 only - Mar lastSun 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1590  {
                                                                                                                                      +
                                                                                                                                      1591  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1592  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1593  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1594  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1595  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1596  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1597  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1598  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1599  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1600  },
                                                                                                                                      +
                                                                                                                                      1601  // Rule Cuba 2006 2010 - Oct lastSun 0:00s 0 S
                                                                                                                                      +
                                                                                                                                      1602  {
                                                                                                                                      +
                                                                                                                                      1603  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1604  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1605  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1606  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1607  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1608  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1609  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1610  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1611  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1612  },
                                                                                                                                      +
                                                                                                                                      1613  // Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1614  {
                                                                                                                                      +
                                                                                                                                      1615  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1616  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1617  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1618  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1619  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1620  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1621  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1622  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1623  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1624  },
                                                                                                                                      +
                                                                                                                                      1625  // Rule Cuba 2008 only - Mar Sun>=15 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1626  {
                                                                                                                                      +
                                                                                                                                      1627  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1628  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1629  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1630  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1631  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1632  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1633  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1634  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1635  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1636  },
                                                                                                                                      +
                                                                                                                                      1637  // Rule Cuba 2009 2010 - Mar Sun>=8 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1638  {
                                                                                                                                      +
                                                                                                                                      1639  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1640  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1641  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1642  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1643  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1644  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1645  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1646  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1647  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1648  },
                                                                                                                                      +
                                                                                                                                      1649  // Rule Cuba 2011 only - Mar Sun>=15 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1650  {
                                                                                                                                      +
                                                                                                                                      1651  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1652  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1653  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1654  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1655  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1656  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1657  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1658  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1659  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1660  },
                                                                                                                                      +
                                                                                                                                      1661  // Rule Cuba 2011 only - Nov 13 0:00s 0 S
                                                                                                                                      +
                                                                                                                                      1662  {
                                                                                                                                      +
                                                                                                                                      1663  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1664  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1665  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1666  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1667  13 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1668  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1669  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1670  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1671  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1672  },
                                                                                                                                      +
                                                                                                                                      1673  // Rule Cuba 2012 only - Apr 1 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1674  {
                                                                                                                                      +
                                                                                                                                      1675  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1676  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1677  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1678  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1679  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1680  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1681  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1682  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1683  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1684  },
                                                                                                                                      +
                                                                                                                                      1685  // Rule Cuba 2012 max - Nov Sun>=1 0:00s 0 S
                                                                                                                                      +
                                                                                                                                      1686  {
                                                                                                                                      +
                                                                                                                                      1687  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1688  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1689  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1690  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1691  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1692  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1693  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1694  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1695  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1696  },
                                                                                                                                      +
                                                                                                                                      1697  // Rule Cuba 2013 max - Mar Sun>=8 0:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      1698  {
                                                                                                                                      +
                                                                                                                                      1699  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1700  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1701  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1702  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1703  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1704  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1705  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1706  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1707  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1708  },
                                                                                                                                      +
                                                                                                                                      1709 
                                                                                                                                      +
                                                                                                                                      1710 };
                                                                                                                                      +
                                                                                                                                      1711 
                                                                                                                                      +
                                                                                                                                      1712 
                                                                                                                                      +
                                                                                                                                      1713 
                                                                                                                                      +
                                                                                                                                      1714 const basic::ZonePolicy kPolicyCuba ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1715  kZoneRulesCuba /*rules*/,
                                                                                                                                      +
                                                                                                                                      1716  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1717  14 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1718  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1719 };
                                                                                                                                      +
                                                                                                                                      1720 
                                                                                                                                      +
                                                                                                                                      1721 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1722 // Policy name: Dhaka
                                                                                                                                      +
                                                                                                                                      1723 // Rules: 3
                                                                                                                                      +
                                                                                                                                      1724 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      1725 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      1726 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1727 
                                                                                                                                      +
                                                                                                                                      1728 static const basic::ZoneRule kZoneRulesDhaka[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1729  // Anchor: Rule Dhaka 2009 only - Dec 31 24:00 0 -
                                                                                                                                      +
                                                                                                                                      1730  {
                                                                                                                                      +
                                                                                                                                      1731  -127 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1732  -127 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1733  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1734  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1735  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1736  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1737  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1738  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1739  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1740  },
                                                                                                                                      +
                                                                                                                                      1741  // Rule Dhaka 2009 only - Jun 19 23:00 1:00 -
                                                                                                                                      +
                                                                                                                                      1742  {
                                                                                                                                      +
                                                                                                                                      1743  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1744  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1745  6 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1746  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1747  19 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1748  92 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1749  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1750  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1751  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1752  },
                                                                                                                                      +
                                                                                                                                      1753  // Rule Dhaka 2009 only - Dec 31 24:00 0 -
                                                                                                                                      +
                                                                                                                                      1754  {
                                                                                                                                      +
                                                                                                                                      1755  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1756  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1757  12 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1758  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1759  31 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1760  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1761  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1762  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1763  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1764  },
                                                                                                                                      +
                                                                                                                                      1765 
                                                                                                                                      +
                                                                                                                                      1766 };
                                                                                                                                      +
                                                                                                                                      1767 
                                                                                                                                      +
                                                                                                                                      1768 
                                                                                                                                      +
                                                                                                                                      1769 
                                                                                                                                      +
                                                                                                                                      1770 const basic::ZonePolicy kPolicyDhaka ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1771  kZoneRulesDhaka /*rules*/,
                                                                                                                                      +
                                                                                                                                      1772  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1773  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1774  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1775 };
                                                                                                                                      +
                                                                                                                                      1776 
                                                                                                                                      +
                                                                                                                                      1777 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1778 // Policy name: EU
                                                                                                                                      +
                                                                                                                                      1779 // Rules: 3
                                                                                                                                      +
                                                                                                                                      1780 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      1781 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      1782 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1783 
                                                                                                                                      +
                                                                                                                                      1784 static const basic::ZoneRule kZoneRulesEU[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1785  // Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
                                                                                                                                      +
                                                                                                                                      1786  {
                                                                                                                                      +
                                                                                                                                      1787  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1788  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1789  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1790  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1791  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1792  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1793  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1794  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1795  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1796  },
                                                                                                                                      +
                                                                                                                                      1797  // Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
                                                                                                                                      +
                                                                                                                                      1798  {
                                                                                                                                      +
                                                                                                                                      1799  -19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1800  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1801  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1802  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1803  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1804  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1805  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1806  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1807  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1808  },
                                                                                                                                      +
                                                                                                                                      1809  // Rule EU 1996 max - Oct lastSun 1:00u 0 -
                                                                                                                                      +
                                                                                                                                      1810  {
                                                                                                                                      +
                                                                                                                                      1811  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1812  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1813  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1814  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1815  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1816  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1817  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1818  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1819  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1820  },
                                                                                                                                      +
                                                                                                                                      1821 
                                                                                                                                      +
                                                                                                                                      1822 };
                                                                                                                                      +
                                                                                                                                      1823 
                                                                                                                                      +
                                                                                                                                      1824 
                                                                                                                                      +
                                                                                                                                      1825 
                                                                                                                                      +
                                                                                                                                      1826 const basic::ZonePolicy kPolicyEU ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1827  kZoneRulesEU /*rules*/,
                                                                                                                                      +
                                                                                                                                      1828  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1829  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1830  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1831 };
                                                                                                                                      +
                                                                                                                                      1832 
                                                                                                                                      +
                                                                                                                                      1833 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1834 // Policy name: EUAsia
                                                                                                                                      +
                                                                                                                                      1835 // Rules: 3
                                                                                                                                      +
                                                                                                                                      1836 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      1837 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      1838 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1839 
                                                                                                                                      +
                                                                                                                                      1840 static const basic::ZoneRule kZoneRulesEUAsia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1841  // Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S
                                                                                                                                      +
                                                                                                                                      1842  {
                                                                                                                                      +
                                                                                                                                      1843  -19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1844  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1845  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1846  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1847  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1848  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1849  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1850  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1851  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1852  },
                                                                                                                                      +
                                                                                                                                      1853  // Rule EUAsia 1979 1995 - Sep lastSun 1:00u 0 -
                                                                                                                                      +
                                                                                                                                      1854  {
                                                                                                                                      +
                                                                                                                                      1855  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1856  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1857  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1858  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1859  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1860  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1861  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1862  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1863  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1864  },
                                                                                                                                      +
                                                                                                                                      1865  // Rule EUAsia 1996 max - Oct lastSun 1:00u 0 -
                                                                                                                                      +
                                                                                                                                      1866  {
                                                                                                                                      +
                                                                                                                                      1867  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1868  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1869  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1870  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1871  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1872  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1873  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1874  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1875  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1876  },
                                                                                                                                      +
                                                                                                                                      1877 
                                                                                                                                      +
                                                                                                                                      1878 };
                                                                                                                                      +
                                                                                                                                      1879 
                                                                                                                                      +
                                                                                                                                      1880 
                                                                                                                                      +
                                                                                                                                      1881 
                                                                                                                                      +
                                                                                                                                      1882 const basic::ZonePolicy kPolicyEUAsia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1883  kZoneRulesEUAsia /*rules*/,
                                                                                                                                      +
                                                                                                                                      1884  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1885  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1886  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1887 };
                                                                                                                                      +
                                                                                                                                      1888 
                                                                                                                                      +
                                                                                                                                      1889 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1890 // Policy name: Ecuador
                                                                                                                                      +
                                                                                                                                      1891 // Rules: 1
                                                                                                                                      +
                                                                                                                                      1892 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      1893 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      1894 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1895 
                                                                                                                                      +
                                                                                                                                      1896 static const basic::ZoneRule kZoneRulesEcuador[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1897  // Rule Ecuador 1993 only - Feb 5 0:00 0 -
                                                                                                                                      +
                                                                                                                                      1898  {
                                                                                                                                      +
                                                                                                                                      1899  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1900  -7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1901  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1902  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1903  5 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1904  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1905  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1906  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1907  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1908  },
                                                                                                                                      +
                                                                                                                                      1909 
                                                                                                                                      +
                                                                                                                                      1910 };
                                                                                                                                      +
                                                                                                                                      1911 
                                                                                                                                      +
                                                                                                                                      1912 
                                                                                                                                      +
                                                                                                                                      1913 
                                                                                                                                      +
                                                                                                                                      1914 const basic::ZonePolicy kPolicyEcuador ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1915  kZoneRulesEcuador /*rules*/,
                                                                                                                                      +
                                                                                                                                      1916  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1917  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1918  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1919 };
                                                                                                                                      +
                                                                                                                                      1920 
                                                                                                                                      +
                                                                                                                                      1921 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1922 // Policy name: Eire
                                                                                                                                      +
                                                                                                                                      1923 // Rules: 3
                                                                                                                                      +
                                                                                                                                      1924 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      1925 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      1926 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1927 
                                                                                                                                      +
                                                                                                                                      1928 static const basic::ZoneRule kZoneRulesEire[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1929  // Rule Eire 1981 max - Mar lastSun 1:00u 0 -
                                                                                                                                      +
                                                                                                                                      1930  {
                                                                                                                                      +
                                                                                                                                      1931  -19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1932  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1933  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1934  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1935  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1936  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1937  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1938  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1939  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1940  },
                                                                                                                                      +
                                                                                                                                      1941  // Rule Eire 1990 1995 - Oct Sun>=22 1:00u -1:00 -
                                                                                                                                      +
                                                                                                                                      1942  {
                                                                                                                                      +
                                                                                                                                      1943  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1944  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1945  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1946  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1947  22 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1948  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1949  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1950  -4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1951  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1952  },
                                                                                                                                      +
                                                                                                                                      1953  // Rule Eire 1996 max - Oct lastSun 1:00u -1:00 -
                                                                                                                                      +
                                                                                                                                      1954  {
                                                                                                                                      +
                                                                                                                                      1955  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1956  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1957  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1958  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1959  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1960  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1961  basic::ZoneContext::kSuffixU /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1962  -4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1963  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1964  },
                                                                                                                                      +
                                                                                                                                      1965 
                                                                                                                                      +
                                                                                                                                      1966 };
                                                                                                                                      +
                                                                                                                                      1967 
                                                                                                                                      +
                                                                                                                                      1968 
                                                                                                                                      +
                                                                                                                                      1969 
                                                                                                                                      +
                                                                                                                                      1970 const basic::ZonePolicy kPolicyEire ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1971  kZoneRulesEire /*rules*/,
                                                                                                                                      +
                                                                                                                                      1972  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      1973  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      1974  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      1975 };
                                                                                                                                      +
                                                                                                                                      1976 
                                                                                                                                      +
                                                                                                                                      1977 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1978 // Policy name: Fiji
                                                                                                                                      +
                                                                                                                                      1979 // Rules: 13
                                                                                                                                      +
                                                                                                                                      1980 // Memory (8-bit): 123
                                                                                                                                      +
                                                                                                                                      1981 // Memory (32-bit): 168
                                                                                                                                      +
                                                                                                                                      1982 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      1983 
                                                                                                                                      +
                                                                                                                                      1984 static const basic::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      1985  // Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      1986  {
                                                                                                                                      +
                                                                                                                                      1987  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1988  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      1989  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      1990  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      1991  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      1992  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      1993  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      1994  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      1995  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      1996  },
                                                                                                                                      +
                                                                                                                                      1997  // Rule Fiji 1999 2000 - Feb lastSun 3:00 0 -
                                                                                                                                      +
                                                                                                                                      1998  {
                                                                                                                                      +
                                                                                                                                      1999  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2000  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2001  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2002  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2003  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2004  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2005  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2006  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2007  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2008  },
                                                                                                                                      +
                                                                                                                                      2009  // Rule Fiji 2009 only - Nov 29 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2010  {
                                                                                                                                      +
                                                                                                                                      2011  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2012  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2013  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2014  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2015  29 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2016  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2017  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2018  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2019  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2020  },
                                                                                                                                      +
                                                                                                                                      2021  // Rule Fiji 2010 only - Mar lastSun 3:00 0 -
                                                                                                                                      +
                                                                                                                                      2022  {
                                                                                                                                      +
                                                                                                                                      2023  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2024  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2025  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2026  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2027  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2028  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2029  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2030  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2031  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2032  },
                                                                                                                                      +
                                                                                                                                      2033  // Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2034  {
                                                                                                                                      +
                                                                                                                                      2035  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2036  13 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2037  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2038  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2039  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2040  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2041  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2042  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2043  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2044  },
                                                                                                                                      +
                                                                                                                                      2045  // Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
                                                                                                                                      +
                                                                                                                                      2046  {
                                                                                                                                      +
                                                                                                                                      2047  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2048  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2049  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2050  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2051  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2052  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2053  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2054  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2055  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2056  },
                                                                                                                                      +
                                                                                                                                      2057  // Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
                                                                                                                                      +
                                                                                                                                      2058  {
                                                                                                                                      +
                                                                                                                                      2059  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2060  13 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2061  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2062  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2063  18 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2064  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2065  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2066  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2067  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2068  },
                                                                                                                                      +
                                                                                                                                      2069  // Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
                                                                                                                                      +
                                                                                                                                      2070  {
                                                                                                                                      +
                                                                                                                                      2071  14 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2072  14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2073  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2074  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2075  18 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2076  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2077  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2078  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2079  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2080  },
                                                                                                                                      +
                                                                                                                                      2081  // Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2082  {
                                                                                                                                      +
                                                                                                                                      2083  14 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2084  18 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2085  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2086  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2087  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2088  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2089  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2090  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2091  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2092  },
                                                                                                                                      +
                                                                                                                                      2093  // Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
                                                                                                                                      +
                                                                                                                                      2094  {
                                                                                                                                      +
                                                                                                                                      2095  15 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2096  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2097  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2098  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2099  12 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2100  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2101  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2102  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2103  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2104  },
                                                                                                                                      +
                                                                                                                                      2105  // Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2106  {
                                                                                                                                      +
                                                                                                                                      2107  19 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2108  19 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2109  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2110  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2111  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2112  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2113  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2114  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2115  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2116  },
                                                                                                                                      +
                                                                                                                                      2117  // Rule Fiji 2020 only - Dec 20 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2118  {
                                                                                                                                      +
                                                                                                                                      2119  20 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2120  20 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2121  12 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2122  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2123  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2124  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2125  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2126  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2127  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2128  },
                                                                                                                                      +
                                                                                                                                      2129  // Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2130  {
                                                                                                                                      +
                                                                                                                                      2131  21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2132  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2133  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2134  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2135  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2136  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2137  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2138  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2139  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2140  },
                                                                                                                                      +
                                                                                                                                      2141 
                                                                                                                                      +
                                                                                                                                      2142 };
                                                                                                                                      +
                                                                                                                                      2143 
                                                                                                                                      +
                                                                                                                                      2144 
                                                                                                                                      +
                                                                                                                                      2145 
                                                                                                                                      +
                                                                                                                                      2146 const basic::ZonePolicy kPolicyFiji ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2147  kZoneRulesFiji /*rules*/,
                                                                                                                                      +
                                                                                                                                      2148  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2149  13 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2150  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2151 };
                                                                                                                                      +
                                                                                                                                      2152 
                                                                                                                                      +
                                                                                                                                      2153 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2154 // Policy name: Ghana
                                                                                                                                      +
                                                                                                                                      2155 // Rules: 1
                                                                                                                                      +
                                                                                                                                      2156 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      2157 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      2158 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2159 
                                                                                                                                      +
                                                                                                                                      2160 static const basic::ZoneRule kZoneRulesGhana[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2161  // Rule Ghana 1920 1942 - Dec 31 0:00 0 -
                                                                                                                                      +
                                                                                                                                      2162  {
                                                                                                                                      +
                                                                                                                                      2163  -80 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2164  -58 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2165  12 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2166  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2167  31 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2168  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2169  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2170  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2171  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2172  },
                                                                                                                                      +
                                                                                                                                      2173 
                                                                                                                                      +
                                                                                                                                      2174 };
                                                                                                                                      +
                                                                                                                                      2175 
                                                                                                                                      +
                                                                                                                                      2176 
                                                                                                                                      +
                                                                                                                                      2177 
                                                                                                                                      +
                                                                                                                                      2178 const basic::ZonePolicy kPolicyGhana ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2179  kZoneRulesGhana /*rules*/,
                                                                                                                                      +
                                                                                                                                      2180  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2181  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2182  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2183 };
                                                                                                                                      +
                                                                                                                                      2184 
                                                                                                                                      +
                                                                                                                                      2185 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2186 // Policy name: Guat
                                                                                                                                      +
                                                                                                                                      2187 // Rules: 3
                                                                                                                                      +
                                                                                                                                      2188 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      2189 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      2190 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2191 
                                                                                                                                      +
                                                                                                                                      2192 static const basic::ZoneRule kZoneRulesGuat[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2193  // Rule Guat 1991 only - Sep 7 0:00 0 S
                                                                                                                                      +
                                                                                                                                      2194  {
                                                                                                                                      +
                                                                                                                                      2195  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2196  -9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2197  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2198  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2199  7 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2200  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2201  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2202  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2203  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2204  },
                                                                                                                                      +
                                                                                                                                      2205  // Rule Guat 2006 only - Apr 30 0:00 1:00 D
                                                                                                                                      +
                                                                                                                                      2206  {
                                                                                                                                      +
                                                                                                                                      2207  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2208  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2209  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2210  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2211  30 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2212  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2213  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2214  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2215  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2216  },
                                                                                                                                      +
                                                                                                                                      2217  // Rule Guat 2006 only - Oct 1 0:00 0 S
                                                                                                                                      +
                                                                                                                                      2218  {
                                                                                                                                      +
                                                                                                                                      2219  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2220  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2221  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2222  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2223  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2224  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2225  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2226  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2227  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2228  },
                                                                                                                                      +
                                                                                                                                      2229 
                                                                                                                                      +
                                                                                                                                      2230 };
                                                                                                                                      +
                                                                                                                                      2231 
                                                                                                                                      +
                                                                                                                                      2232 
                                                                                                                                      +
                                                                                                                                      2233 
                                                                                                                                      +
                                                                                                                                      2234 const basic::ZonePolicy kPolicyGuat ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2235  kZoneRulesGuat /*rules*/,
                                                                                                                                      +
                                                                                                                                      2236  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2237  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2238  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2239 };
                                                                                                                                      +
                                                                                                                                      2240 
                                                                                                                                      +
                                                                                                                                      2241 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2242 // Policy name: HK
                                                                                                                                      +
                                                                                                                                      2243 // Rules: 1
                                                                                                                                      +
                                                                                                                                      2244 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      2245 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      2246 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2247 
                                                                                                                                      +
                                                                                                                                      2248 static const basic::ZoneRule kZoneRulesHK[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2249  // Rule HK 1979 only - Oct 21 3:30 0 -
                                                                                                                                      +
                                                                                                                                      2250  {
                                                                                                                                      +
                                                                                                                                      2251  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2252  -21 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2253  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2254  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2255  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2256  14 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2257  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2258  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2259  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2260  },
                                                                                                                                      +
                                                                                                                                      2261 
                                                                                                                                      +
                                                                                                                                      2262 };
                                                                                                                                      +
                                                                                                                                      2263 
                                                                                                                                      +
                                                                                                                                      2264 
                                                                                                                                      +
                                                                                                                                      2265 
                                                                                                                                      +
                                                                                                                                      2266 const basic::ZonePolicy kPolicyHK ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2267  kZoneRulesHK /*rules*/,
                                                                                                                                      +
                                                                                                                                      2268  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2269  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2270  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2271 };
                                                                                                                                      +
                                                                                                                                      2272 
                                                                                                                                      +
                                                                                                                                      2273 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2274 // Policy name: Haiti
                                                                                                                                      +
                                                                                                                                      2275 // Rules: 7
                                                                                                                                      +
                                                                                                                                      2276 // Memory (8-bit): 69
                                                                                                                                      +
                                                                                                                                      2277 // Memory (32-bit): 96
                                                                                                                                      +
                                                                                                                                      2278 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2279 
                                                                                                                                      +
                                                                                                                                      2280 static const basic::ZoneRule kZoneRulesHaiti[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2281  // Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S
                                                                                                                                      +
                                                                                                                                      2282  {
                                                                                                                                      +
                                                                                                                                      2283  -12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2284  -3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2285  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2286  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2287  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2288  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2289  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2290  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2291  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2292  },
                                                                                                                                      +
                                                                                                                                      2293  // Rule Haiti 2005 2006 - Apr Sun>=1 0:00 1:00 D
                                                                                                                                      +
                                                                                                                                      2294  {
                                                                                                                                      +
                                                                                                                                      2295  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2296  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2297  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2298  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2299  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2300  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2301  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2302  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2303  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2304  },
                                                                                                                                      +
                                                                                                                                      2305  // Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S
                                                                                                                                      +
                                                                                                                                      2306  {
                                                                                                                                      +
                                                                                                                                      2307  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2308  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2309  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2310  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2311  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2312  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2313  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2314  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2315  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2316  },
                                                                                                                                      +
                                                                                                                                      2317  // Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      2318  {
                                                                                                                                      +
                                                                                                                                      2319  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2320  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2321  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2322  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2323  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2324  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2325  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2326  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2327  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2328  },
                                                                                                                                      +
                                                                                                                                      2329  // Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S
                                                                                                                                      +
                                                                                                                                      2330  {
                                                                                                                                      +
                                                                                                                                      2331  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2332  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2333  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2334  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2335  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2336  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2337  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2338  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2339  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2340  },
                                                                                                                                      +
                                                                                                                                      2341  // Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      2342  {
                                                                                                                                      +
                                                                                                                                      2343  17 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2344  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2345  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2346  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2347  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2348  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2349  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2350  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2351  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2352  },
                                                                                                                                      +
                                                                                                                                      2353  // Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      +
                                                                                                                                      2354  {
                                                                                                                                      +
                                                                                                                                      2355  17 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2356  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2357  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2358  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2359  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2360  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2361  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2362  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2363  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2364  },
                                                                                                                                      +
                                                                                                                                      2365 
                                                                                                                                      +
                                                                                                                                      2366 };
                                                                                                                                      +
                                                                                                                                      2367 
                                                                                                                                      +
                                                                                                                                      2368 
                                                                                                                                      +
                                                                                                                                      2369 
                                                                                                                                      +
                                                                                                                                      2370 const basic::ZonePolicy kPolicyHaiti ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2371  kZoneRulesHaiti /*rules*/,
                                                                                                                                      +
                                                                                                                                      2372  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2373  7 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2374  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2375 };
                                                                                                                                      +
                                                                                                                                      2376 
                                                                                                                                      +
                                                                                                                                      2377 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2378 // Policy name: Holiday
                                                                                                                                      +
                                                                                                                                      2379 // Rules: 1
                                                                                                                                      +
                                                                                                                                      2380 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      2381 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      2382 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2383 
                                                                                                                                      +
                                                                                                                                      2384 static const basic::ZoneRule kZoneRulesHoliday[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2385  // Rule Holiday 1993 1994 - Mar Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      2386  {
                                                                                                                                      +
                                                                                                                                      2387  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2388  -6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2389  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2390  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2391  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2392  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2393  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2394  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2395  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2396  },
                                                                                                                                      +
                                                                                                                                      2397 
                                                                                                                                      +
                                                                                                                                      2398 };
                                                                                                                                      +
                                                                                                                                      2399 
                                                                                                                                      +
                                                                                                                                      2400 
                                                                                                                                      +
                                                                                                                                      2401 
                                                                                                                                      +
                                                                                                                                      2402 const basic::ZonePolicy kPolicyHoliday ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2403  kZoneRulesHoliday /*rules*/,
                                                                                                                                      +
                                                                                                                                      2404  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2405  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2406  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2407 };
                                                                                                                                      +
                                                                                                                                      2408 
                                                                                                                                      +
                                                                                                                                      2409 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2410 // Policy name: Hond
                                                                                                                                      +
                                                                                                                                      2411 // Rules: 3
                                                                                                                                      +
                                                                                                                                      2412 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      2413 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      2414 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2415 
                                                                                                                                      +
                                                                                                                                      2416 static const basic::ZoneRule kZoneRulesHond[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2417  // Rule Hond 1987 1988 - Sep lastSun 0:00 0 S
                                                                                                                                      +
                                                                                                                                      2418  {
                                                                                                                                      +
                                                                                                                                      2419  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2420  -12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2421  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2422  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2423  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2424  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2425  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2426  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2427  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2428  },
                                                                                                                                      +
                                                                                                                                      2429  // Rule Hond 2006 only - May Sun>=1 0:00 1:00 D
                                                                                                                                      +
                                                                                                                                      2430  {
                                                                                                                                      +
                                                                                                                                      2431  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2432  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2433  5 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2434  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2435  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2436  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2437  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2438  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2439  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2440  },
                                                                                                                                      +
                                                                                                                                      2441  // Rule Hond 2006 only - Aug Mon>=1 0:00 0 S
                                                                                                                                      +
                                                                                                                                      2442  {
                                                                                                                                      +
                                                                                                                                      2443  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2444  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2445  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2446  1 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2447  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2448  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2449  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2450  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2451  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2452  },
                                                                                                                                      +
                                                                                                                                      2453 
                                                                                                                                      +
                                                                                                                                      2454 };
                                                                                                                                      +
                                                                                                                                      2455 
                                                                                                                                      +
                                                                                                                                      2456 
                                                                                                                                      +
                                                                                                                                      2457 
                                                                                                                                      +
                                                                                                                                      2458 const basic::ZonePolicy kPolicyHond ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2459  kZoneRulesHond /*rules*/,
                                                                                                                                      +
                                                                                                                                      2460  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      2461  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      2462  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      2463 };
                                                                                                                                      +
                                                                                                                                      2464 
                                                                                                                                      +
                                                                                                                                      2465 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2466 // Policy name: Iran
                                                                                                                                      +
                                                                                                                                      2467 // Rules: 55
                                                                                                                                      +
                                                                                                                                      2468 // Memory (8-bit): 501
                                                                                                                                      +
                                                                                                                                      2469 // Memory (32-bit): 672
                                                                                                                                      +
                                                                                                                                      2470 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      2471 
                                                                                                                                      +
                                                                                                                                      2472 static const basic::ZoneRule kZoneRulesIran[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      2473  // Rule Iran 1996 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2474  {
                                                                                                                                      +
                                                                                                                                      2475  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2476  -4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2477  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2478  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2479  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2480  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2481  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2482  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2483  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2484  },
                                                                                                                                      +
                                                                                                                                      2485  // Rule Iran 1997 1999 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2486  {
                                                                                                                                      +
                                                                                                                                      2487  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2488  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2489  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2490  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2491  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2492  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2493  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2494  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2495  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2496  },
                                                                                                                                      +
                                                                                                                                      2497  // Rule Iran 1997 1999 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2498  {
                                                                                                                                      +
                                                                                                                                      2499  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2500  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2501  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2502  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2503  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2504  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2505  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2506  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2507  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2508  },
                                                                                                                                      +
                                                                                                                                      2509  // Rule Iran 2000 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2510  {
                                                                                                                                      +
                                                                                                                                      2511  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2512  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2513  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2514  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2515  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2516  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2518  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2519  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2520  },
                                                                                                                                      +
                                                                                                                                      2521  // Rule Iran 2000 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2522  {
                                                                                                                                      +
                                                                                                                                      2523  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2524  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2525  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2526  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2527  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2528  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2529  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2530  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2531  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2532  },
                                                                                                                                      +
                                                                                                                                      2533  // Rule Iran 2001 2003 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2534  {
                                                                                                                                      +
                                                                                                                                      2535  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2536  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2537  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2538  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2539  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2540  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2541  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2542  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2543  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2544  },
                                                                                                                                      +
                                                                                                                                      2545  // Rule Iran 2001 2003 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2546  {
                                                                                                                                      +
                                                                                                                                      2547  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2548  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2549  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2550  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2551  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2552  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2553  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2554  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2555  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2556  },
                                                                                                                                      +
                                                                                                                                      2557  // Rule Iran 2004 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2558  {
                                                                                                                                      +
                                                                                                                                      2559  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2560  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2561  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2562  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2563  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2564  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2565  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2566  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2567  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2568  },
                                                                                                                                      +
                                                                                                                                      2569  // Rule Iran 2004 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2570  {
                                                                                                                                      +
                                                                                                                                      2571  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2572  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2573  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2574  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2575  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2576  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2577  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2578  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2579  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2580  },
                                                                                                                                      +
                                                                                                                                      2581  // Rule Iran 2005 only - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2582  {
                                                                                                                                      +
                                                                                                                                      2583  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2584  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2585  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2586  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2587  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2588  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2589  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2590  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2591  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2592  },
                                                                                                                                      +
                                                                                                                                      2593  // Rule Iran 2005 only - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2594  {
                                                                                                                                      +
                                                                                                                                      2595  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2596  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2597  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2598  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2599  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2600  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2601  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2602  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2603  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2604  },
                                                                                                                                      +
                                                                                                                                      2605  // Rule Iran 2008 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2606  {
                                                                                                                                      +
                                                                                                                                      2607  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2608  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2609  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2610  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2611  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2612  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2613  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2614  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2615  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2616  },
                                                                                                                                      +
                                                                                                                                      2617  // Rule Iran 2008 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2618  {
                                                                                                                                      +
                                                                                                                                      2619  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2620  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2621  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2622  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2623  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2624  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2625  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2626  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2627  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2628  },
                                                                                                                                      +
                                                                                                                                      2629  // Rule Iran 2009 2011 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2630  {
                                                                                                                                      +
                                                                                                                                      2631  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2632  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2633  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2634  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2635  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2636  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2637  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2638  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2639  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2640  },
                                                                                                                                      +
                                                                                                                                      2641  // Rule Iran 2009 2011 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2642  {
                                                                                                                                      +
                                                                                                                                      2643  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2644  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2645  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2646  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2647  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2648  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2649  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2650  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2651  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2652  },
                                                                                                                                      +
                                                                                                                                      2653  // Rule Iran 2012 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2654  {
                                                                                                                                      +
                                                                                                                                      2655  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2656  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2657  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2658  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2659  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2660  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2661  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2662  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2663  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2664  },
                                                                                                                                      +
                                                                                                                                      2665  // Rule Iran 2012 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2666  {
                                                                                                                                      +
                                                                                                                                      2667  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2668  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2669  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2670  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2671  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2672  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2673  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2674  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2675  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2676  },
                                                                                                                                      +
                                                                                                                                      2677  // Rule Iran 2013 2015 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2678  {
                                                                                                                                      +
                                                                                                                                      2679  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2680  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2681  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2682  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2683  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2684  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2685  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2686  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2687  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2688  },
                                                                                                                                      +
                                                                                                                                      2689  // Rule Iran 2013 2015 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2690  {
                                                                                                                                      +
                                                                                                                                      2691  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2692  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2693  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2694  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2695  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2696  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2697  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2698  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2699  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2700  },
                                                                                                                                      +
                                                                                                                                      2701  // Rule Iran 2016 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2702  {
                                                                                                                                      +
                                                                                                                                      2703  16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2704  16 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2705  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2706  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2707  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2708  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2709  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2710  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2711  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2712  },
                                                                                                                                      +
                                                                                                                                      2713  // Rule Iran 2016 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2714  {
                                                                                                                                      +
                                                                                                                                      2715  16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2716  16 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2717  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2718  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2719  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2720  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2721  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2722  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2723  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2724  },
                                                                                                                                      +
                                                                                                                                      2725  // Rule Iran 2017 2019 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2726  {
                                                                                                                                      +
                                                                                                                                      2727  17 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2728  19 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2729  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2730  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2731  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2732  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2733  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2734  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2735  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2736  },
                                                                                                                                      +
                                                                                                                                      2737  // Rule Iran 2017 2019 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2738  {
                                                                                                                                      +
                                                                                                                                      2739  17 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2740  19 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2741  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2742  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2743  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2744  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2745  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2746  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2747  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2748  },
                                                                                                                                      +
                                                                                                                                      2749  // Rule Iran 2020 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2750  {
                                                                                                                                      +
                                                                                                                                      2751  20 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2752  20 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2753  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2754  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2755  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2756  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2757  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2758  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2759  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2760  },
                                                                                                                                      +
                                                                                                                                      2761  // Rule Iran 2020 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2762  {
                                                                                                                                      +
                                                                                                                                      2763  20 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2764  20 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2765  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2766  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2767  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2768  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2769  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2770  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2771  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2772  },
                                                                                                                                      +
                                                                                                                                      2773  // Rule Iran 2021 2023 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2774  {
                                                                                                                                      +
                                                                                                                                      2775  21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2776  23 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2777  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2778  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2779  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2780  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2781  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2782  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2783  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2784  },
                                                                                                                                      +
                                                                                                                                      2785  // Rule Iran 2021 2023 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2786  {
                                                                                                                                      +
                                                                                                                                      2787  21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2788  23 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2789  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2790  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2791  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2792  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2793  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2794  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2795  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2796  },
                                                                                                                                      +
                                                                                                                                      2797  // Rule Iran 2024 only - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2798  {
                                                                                                                                      +
                                                                                                                                      2799  24 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2800  24 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2801  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2802  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2803  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2804  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2805  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2806  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2807  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2808  },
                                                                                                                                      +
                                                                                                                                      2809  // Rule Iran 2024 only - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2810  {
                                                                                                                                      +
                                                                                                                                      2811  24 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2812  24 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2813  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2814  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2815  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2816  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2817  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2818  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2819  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2820  },
                                                                                                                                      +
                                                                                                                                      2821  // Rule Iran 2025 2027 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2822  {
                                                                                                                                      +
                                                                                                                                      2823  25 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2824  27 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2825  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2826  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2827  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2828  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2829  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2830  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2831  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2832  },
                                                                                                                                      +
                                                                                                                                      2833  // Rule Iran 2025 2027 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2834  {
                                                                                                                                      +
                                                                                                                                      2835  25 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2836  27 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2837  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2838  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2839  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2840  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2841  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2842  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2843  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2844  },
                                                                                                                                      +
                                                                                                                                      2845  // Rule Iran 2028 2029 - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2846  {
                                                                                                                                      +
                                                                                                                                      2847  28 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2848  29 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2849  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2850  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2851  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2852  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2853  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2854  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2855  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2856  },
                                                                                                                                      +
                                                                                                                                      2857  // Rule Iran 2028 2029 - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2858  {
                                                                                                                                      +
                                                                                                                                      2859  28 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2860  29 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2861  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2862  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2863  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2864  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2865  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2866  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2867  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2868  },
                                                                                                                                      +
                                                                                                                                      2869  // Rule Iran 2030 2031 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2870  {
                                                                                                                                      +
                                                                                                                                      2871  30 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2872  31 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2873  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2874  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2875  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2876  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2877  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2878  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2879  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2880  },
                                                                                                                                      +
                                                                                                                                      2881  // Rule Iran 2030 2031 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2882  {
                                                                                                                                      +
                                                                                                                                      2883  30 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2884  31 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2885  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2886  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2887  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2888  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2889  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2890  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2891  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2892  },
                                                                                                                                      +
                                                                                                                                      2893  // Rule Iran 2032 2033 - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2894  {
                                                                                                                                      +
                                                                                                                                      2895  32 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2896  33 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2897  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2898  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2899  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2900  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2901  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2902  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2903  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2904  },
                                                                                                                                      +
                                                                                                                                      2905  // Rule Iran 2032 2033 - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2906  {
                                                                                                                                      +
                                                                                                                                      2907  32 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2908  33 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2909  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2910  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2911  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2912  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2913  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2914  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2915  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2916  },
                                                                                                                                      +
                                                                                                                                      2917  // Rule Iran 2034 2035 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2918  {
                                                                                                                                      +
                                                                                                                                      2919  34 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2920  35 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2921  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2922  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2923  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2924  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2925  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2926  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2927  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2928  },
                                                                                                                                      +
                                                                                                                                      2929  // Rule Iran 2034 2035 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2930  {
                                                                                                                                      +
                                                                                                                                      2931  34 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2932  35 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2933  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2934  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2935  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2936  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2937  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2938  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2939  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2940  },
                                                                                                                                      +
                                                                                                                                      2941  // Rule Iran 2036 2037 - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2942  {
                                                                                                                                      +
                                                                                                                                      2943  36 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2944  37 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2945  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2946  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2947  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2948  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2949  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2950  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2951  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2952  },
                                                                                                                                      +
                                                                                                                                      2953  // Rule Iran 2036 2037 - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2954  {
                                                                                                                                      +
                                                                                                                                      2955  36 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2956  37 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2957  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2958  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2959  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2960  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2961  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2962  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2963  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2964  },
                                                                                                                                      +
                                                                                                                                      2965  // Rule Iran 2038 2039 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2966  {
                                                                                                                                      +
                                                                                                                                      2967  38 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2968  39 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2969  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2970  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2971  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2972  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2973  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2974  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2975  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2976  },
                                                                                                                                      +
                                                                                                                                      2977  // Rule Iran 2038 2039 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      2978  {
                                                                                                                                      +
                                                                                                                                      2979  38 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2980  39 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2981  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2982  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2983  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2984  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2985  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2986  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2987  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      2988  },
                                                                                                                                      +
                                                                                                                                      2989  // Rule Iran 2040 2041 - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      2990  {
                                                                                                                                      +
                                                                                                                                      2991  40 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2992  41 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      2993  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      2994  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      2995  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      2996  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      2997  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      2998  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      2999  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3000  },
                                                                                                                                      +
                                                                                                                                      3001  // Rule Iran 2040 2041 - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      3002  {
                                                                                                                                      +
                                                                                                                                      3003  40 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3004  41 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3005  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3006  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3007  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3008  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3009  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3010  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3011  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3012  },
                                                                                                                                      +
                                                                                                                                      3013  // Rule Iran 2042 2043 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3014  {
                                                                                                                                      +
                                                                                                                                      3015  42 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3016  43 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3017  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3018  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3019  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3020  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3021  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3022  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3023  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3024  },
                                                                                                                                      +
                                                                                                                                      3025  // Rule Iran 2042 2043 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      3026  {
                                                                                                                                      +
                                                                                                                                      3027  42 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3028  43 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3029  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3030  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3031  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3032  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3033  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3034  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3035  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3036  },
                                                                                                                                      +
                                                                                                                                      3037  // Rule Iran 2044 2045 - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3038  {
                                                                                                                                      +
                                                                                                                                      3039  44 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3040  45 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3041  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3042  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3043  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3044  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3045  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3046  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3047  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3048  },
                                                                                                                                      +
                                                                                                                                      3049  // Rule Iran 2044 2045 - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      3050  {
                                                                                                                                      +
                                                                                                                                      3051  44 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3052  45 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3053  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3054  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3055  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3056  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3057  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3058  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3059  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3060  },
                                                                                                                                      +
                                                                                                                                      3061  // Rule Iran 2046 2047 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3062  {
                                                                                                                                      +
                                                                                                                                      3063  46 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3064  47 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3065  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3066  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3067  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3068  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3069  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3070  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3071  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3072  },
                                                                                                                                      +
                                                                                                                                      3073  // Rule Iran 2046 2047 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      3074  {
                                                                                                                                      +
                                                                                                                                      3075  46 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3076  47 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3077  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3078  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3079  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3080  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3081  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3082  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3083  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3084  },
                                                                                                                                      +
                                                                                                                                      3085  // Rule Iran 2048 2049 - Mar 20 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3086  {
                                                                                                                                      +
                                                                                                                                      3087  48 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3088  49 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3089  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3090  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3091  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3092  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3093  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3094  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3095  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3096  },
                                                                                                                                      +
                                                                                                                                      3097  // Rule Iran 2048 2049 - Sep 20 24:00 0 -
                                                                                                                                      +
                                                                                                                                      3098  {
                                                                                                                                      +
                                                                                                                                      3099  48 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3100  49 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3101  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3102  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3103  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3104  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3105  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3106  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3107  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3108  },
                                                                                                                                      +
                                                                                                                                      3109  // Rule Iran 2050 2051 - Mar 21 24:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3110  {
                                                                                                                                      +
                                                                                                                                      3111  50 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3112  51 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3113  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3114  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3115  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3116  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3117  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3118  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3119  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3120  },
                                                                                                                                      +
                                                                                                                                      3121  // Rule Iran 2050 2051 - Sep 21 24:00 0 -
                                                                                                                                      +
                                                                                                                                      3122  {
                                                                                                                                      +
                                                                                                                                      3123  50 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3124  51 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3125  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3126  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3127  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3128  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3129  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3130  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3131  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3132  },
                                                                                                                                      +
                                                                                                                                      3133 
                                                                                                                                      +
                                                                                                                                      3134 };
                                                                                                                                      +
                                                                                                                                      3135 
                                                                                                                                      +
                                                                                                                                      3136 
                                                                                                                                      +
                                                                                                                                      3137 
                                                                                                                                      +
                                                                                                                                      3138 const basic::ZonePolicy kPolicyIran ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3139  kZoneRulesIran /*rules*/,
                                                                                                                                      +
                                                                                                                                      3140  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3141  55 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3142  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3143 };
                                                                                                                                      +
                                                                                                                                      3144 
                                                                                                                                      +
                                                                                                                                      3145 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3146 // Policy name: Iraq
                                                                                                                                      +
                                                                                                                                      3147 // Rules: 3
                                                                                                                                      +
                                                                                                                                      3148 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      3149 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      3150 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3151 
                                                                                                                                      +
                                                                                                                                      3152 static const basic::ZoneRule kZoneRulesIraq[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3153  // Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 -
                                                                                                                                      +
                                                                                                                                      3154  {
                                                                                                                                      +
                                                                                                                                      3155  -15 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3156  -10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3157  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3158  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3159  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3160  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3161  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3162  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3163  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3164  },
                                                                                                                                      +
                                                                                                                                      3165  // Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 -
                                                                                                                                      +
                                                                                                                                      3166  {
                                                                                                                                      +
                                                                                                                                      3167  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3168  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3169  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3170  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3171  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3172  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3173  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3174  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3175  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3176  },
                                                                                                                                      +
                                                                                                                                      3177  // Rule Iraq 1991 2007 - Oct 1 3:00s 0 -
                                                                                                                                      +
                                                                                                                                      3178  {
                                                                                                                                      +
                                                                                                                                      3179  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3180  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3181  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3182  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3183  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3184  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3185  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3186  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3187  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3188  },
                                                                                                                                      +
                                                                                                                                      3189 
                                                                                                                                      +
                                                                                                                                      3190 };
                                                                                                                                      +
                                                                                                                                      3191 
                                                                                                                                      +
                                                                                                                                      3192 
                                                                                                                                      +
                                                                                                                                      3193 
                                                                                                                                      +
                                                                                                                                      3194 const basic::ZonePolicy kPolicyIraq ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3195  kZoneRulesIraq /*rules*/,
                                                                                                                                      +
                                                                                                                                      3196  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3197  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3198  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3199 };
                                                                                                                                      +
                                                                                                                                      3200 
                                                                                                                                      +
                                                                                                                                      3201 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3202 // Policy name: Japan
                                                                                                                                      +
                                                                                                                                      3203 // Rules: 1
                                                                                                                                      +
                                                                                                                                      3204 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      3205 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      3206 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3207 
                                                                                                                                      +
                                                                                                                                      3208 static const basic::ZoneRule kZoneRulesJapan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3209  // Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
                                                                                                                                      +
                                                                                                                                      3210  {
                                                                                                                                      +
                                                                                                                                      3211  -52 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3212  -49 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3213  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3214  6 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3215  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3216  100 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3217  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3218  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3219  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3220  },
                                                                                                                                      +
                                                                                                                                      3221 
                                                                                                                                      +
                                                                                                                                      3222 };
                                                                                                                                      +
                                                                                                                                      3223 
                                                                                                                                      +
                                                                                                                                      3224 
                                                                                                                                      +
                                                                                                                                      3225 
                                                                                                                                      +
                                                                                                                                      3226 const basic::ZonePolicy kPolicyJapan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3227  kZoneRulesJapan /*rules*/,
                                                                                                                                      +
                                                                                                                                      3228  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3229  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3230  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3231 };
                                                                                                                                      +
                                                                                                                                      3232 
                                                                                                                                      +
                                                                                                                                      3233 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3234 // Policy name: Jordan
                                                                                                                                      +
                                                                                                                                      3235 // Rules: 12
                                                                                                                                      +
                                                                                                                                      3236 // Memory (8-bit): 114
                                                                                                                                      +
                                                                                                                                      3237 // Memory (32-bit): 156
                                                                                                                                      +
                                                                                                                                      3238 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3239 
                                                                                                                                      +
                                                                                                                                      3240 static const basic::ZoneRule kZoneRulesJordan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3241  // Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3242  {
                                                                                                                                      +
                                                                                                                                      3243  -5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3244  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3245  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3246  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3247  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3248  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3249  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3250  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3251  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3252  },
                                                                                                                                      +
                                                                                                                                      3253  // Rule Jordan 1999 only - Jul 1 0:00s 1:00 S
                                                                                                                                      +
                                                                                                                                      3254  {
                                                                                                                                      +
                                                                                                                                      3255  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3256  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3257  7 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3258  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3259  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3260  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3261  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3262  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3263  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3264  },
                                                                                                                                      +
                                                                                                                                      3265  // Rule Jordan 1999 2002 - Sep lastFri 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3266  {
                                                                                                                                      +
                                                                                                                                      3267  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3268  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3269  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3270  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3271  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3272  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3273  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3274  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3275  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3276  },
                                                                                                                                      +
                                                                                                                                      3277  // Rule Jordan 2000 2001 - Mar lastThu 0:00s 1:00 S
                                                                                                                                      +
                                                                                                                                      3278  {
                                                                                                                                      +
                                                                                                                                      3279  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3280  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3281  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3282  4 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3283  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3284  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3285  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3286  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3287  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3288  },
                                                                                                                                      +
                                                                                                                                      3289  // Rule Jordan 2002 2012 - Mar lastThu 24:00 1:00 S
                                                                                                                                      +
                                                                                                                                      3290  {
                                                                                                                                      +
                                                                                                                                      3291  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3292  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3293  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3294  4 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3295  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3296  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3297  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3298  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3299  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3300  },
                                                                                                                                      +
                                                                                                                                      3301  // Rule Jordan 2003 only - Oct 24 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3302  {
                                                                                                                                      +
                                                                                                                                      3303  3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3304  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3305  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3306  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3307  24 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3308  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3309  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3310  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3311  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3312  },
                                                                                                                                      +
                                                                                                                                      3313  // Rule Jordan 2004 only - Oct 15 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3314  {
                                                                                                                                      +
                                                                                                                                      3315  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3316  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3317  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3318  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3319  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3320  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3321  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3322  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3323  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3324  },
                                                                                                                                      +
                                                                                                                                      3325  // Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3326  {
                                                                                                                                      +
                                                                                                                                      3327  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3328  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3329  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3330  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3331  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3332  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3333  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3334  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3335  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3336  },
                                                                                                                                      +
                                                                                                                                      3337  // Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3338  {
                                                                                                                                      +
                                                                                                                                      3339  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3340  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3341  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3342  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3343  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3344  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3345  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3346  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3347  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3348  },
                                                                                                                                      +
                                                                                                                                      3349  // Rule Jordan 2013 only - Dec 20 0:00 0 -
                                                                                                                                      +
                                                                                                                                      3350  {
                                                                                                                                      +
                                                                                                                                      3351  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3352  13 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3353  12 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3354  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3355  20 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3356  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3357  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3358  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3359  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3360  },
                                                                                                                                      +
                                                                                                                                      3361  // Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
                                                                                                                                      +
                                                                                                                                      3362  {
                                                                                                                                      +
                                                                                                                                      3363  14 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3364  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3365  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3366  4 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3367  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3368  96 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3369  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3370  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3371  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3372  },
                                                                                                                                      +
                                                                                                                                      3373  // Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      3374  {
                                                                                                                                      +
                                                                                                                                      3375  14 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3376  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3377  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3378  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3379  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3380  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3381  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3382  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3383  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3384  },
                                                                                                                                      +
                                                                                                                                      3385 
                                                                                                                                      +
                                                                                                                                      3386 };
                                                                                                                                      +
                                                                                                                                      3387 
                                                                                                                                      +
                                                                                                                                      3388 
                                                                                                                                      +
                                                                                                                                      3389 
                                                                                                                                      +
                                                                                                                                      3390 const basic::ZonePolicy kPolicyJordan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3391  kZoneRulesJordan /*rules*/,
                                                                                                                                      +
                                                                                                                                      3392  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3393  12 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3394  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3395 };
                                                                                                                                      +
                                                                                                                                      3396 
                                                                                                                                      +
                                                                                                                                      3397 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3398 // Policy name: LH
                                                                                                                                      +
                                                                                                                                      3399 // Rules: 9
                                                                                                                                      +
                                                                                                                                      3400 // Memory (8-bit): 87
                                                                                                                                      +
                                                                                                                                      3401 // Memory (32-bit): 120
                                                                                                                                      +
                                                                                                                                      3402 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3403 
                                                                                                                                      +
                                                                                                                                      3404 static const basic::ZoneRule kZoneRulesLH[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3405  // Rule LH 1987 1999 - Oct lastSun 2:00 0:30 -
                                                                                                                                      +
                                                                                                                                      3406  {
                                                                                                                                      +
                                                                                                                                      3407  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3408  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3409  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3410  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3411  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3412  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3413  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3414  2 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3415  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3416  },
                                                                                                                                      +
                                                                                                                                      3417  // Rule LH 1990 1995 - Mar Sun>=1 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3418  {
                                                                                                                                      +
                                                                                                                                      3419  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3420  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3421  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3422  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3423  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3424  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3425  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3426  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3427  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3428  },
                                                                                                                                      +
                                                                                                                                      3429  // Rule LH 1996 2005 - Mar lastSun 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3430  {
                                                                                                                                      +
                                                                                                                                      3431  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3432  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3433  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3434  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3435  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3436  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3437  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3438  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3439  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3440  },
                                                                                                                                      +
                                                                                                                                      3441  // Rule LH 2000 only - Aug lastSun 2:00 0:30 -
                                                                                                                                      +
                                                                                                                                      3442  {
                                                                                                                                      +
                                                                                                                                      3443  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3444  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3445  8 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3446  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3447  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3448  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3449  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3450  2 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3451  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3452  },
                                                                                                                                      +
                                                                                                                                      3453  // Rule LH 2001 2007 - Oct lastSun 2:00 0:30 -
                                                                                                                                      +
                                                                                                                                      3454  {
                                                                                                                                      +
                                                                                                                                      3455  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3456  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3457  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3458  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3459  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3460  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3461  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3462  2 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3463  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3464  },
                                                                                                                                      +
                                                                                                                                      3465  // Rule LH 2006 only - Apr Sun>=1 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3466  {
                                                                                                                                      +
                                                                                                                                      3467  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3468  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3469  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3470  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3471  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3472  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3473  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3474  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3475  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3476  },
                                                                                                                                      +
                                                                                                                                      3477  // Rule LH 2007 only - Mar lastSun 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3478  {
                                                                                                                                      +
                                                                                                                                      3479  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3480  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3481  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3482  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3483  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3484  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3485  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3486  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3487  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3488  },
                                                                                                                                      +
                                                                                                                                      3489  // Rule LH 2008 max - Apr Sun>=1 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3490  {
                                                                                                                                      +
                                                                                                                                      3491  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3492  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3493  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3494  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3495  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3496  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3497  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3498  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3499  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3500  },
                                                                                                                                      +
                                                                                                                                      3501  // Rule LH 2008 max - Oct Sun>=1 2:00 0:30 -
                                                                                                                                      +
                                                                                                                                      3502  {
                                                                                                                                      +
                                                                                                                                      3503  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3504  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3505  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3506  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3507  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3508  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3509  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3510  2 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3511  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3512  },
                                                                                                                                      +
                                                                                                                                      3513 
                                                                                                                                      +
                                                                                                                                      3514 };
                                                                                                                                      +
                                                                                                                                      3515 
                                                                                                                                      +
                                                                                                                                      3516 
                                                                                                                                      +
                                                                                                                                      3517 
                                                                                                                                      +
                                                                                                                                      3518 const basic::ZonePolicy kPolicyLH ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3519  kZoneRulesLH /*rules*/,
                                                                                                                                      +
                                                                                                                                      3520  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3521  9 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3522  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3523 };
                                                                                                                                      +
                                                                                                                                      3524 
                                                                                                                                      +
                                                                                                                                      3525 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3526 // Policy name: Lebanon
                                                                                                                                      +
                                                                                                                                      3527 // Rules: 3
                                                                                                                                      +
                                                                                                                                      3528 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      3529 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      3530 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3531 
                                                                                                                                      +
                                                                                                                                      3532 static const basic::ZoneRule kZoneRulesLebanon[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3533  // Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      3534  {
                                                                                                                                      +
                                                                                                                                      3535  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3536  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3537  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3538  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3539  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3540  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3541  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3542  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3543  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3544  },
                                                                                                                                      +
                                                                                                                                      3545  // Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
                                                                                                                                      +
                                                                                                                                      3546  {
                                                                                                                                      +
                                                                                                                                      3547  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3548  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3549  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3550  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3551  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3552  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3553  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3554  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3555  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3556  },
                                                                                                                                      +
                                                                                                                                      3557  // Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
                                                                                                                                      +
                                                                                                                                      3558  {
                                                                                                                                      +
                                                                                                                                      3559  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3560  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3561  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3562  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3563  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3564  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3565  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3566  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3567  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3568  },
                                                                                                                                      +
                                                                                                                                      3569 
                                                                                                                                      +
                                                                                                                                      3570 };
                                                                                                                                      +
                                                                                                                                      3571 
                                                                                                                                      +
                                                                                                                                      3572 
                                                                                                                                      +
                                                                                                                                      3573 
                                                                                                                                      +
                                                                                                                                      3574 const basic::ZonePolicy kPolicyLebanon ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3575  kZoneRulesLebanon /*rules*/,
                                                                                                                                      +
                                                                                                                                      3576  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3577  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3578  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3579 };
                                                                                                                                      +
                                                                                                                                      3580 
                                                                                                                                      +
                                                                                                                                      3581 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3582 // Policy name: Macau
                                                                                                                                      +
                                                                                                                                      3583 // Rules: 1
                                                                                                                                      +
                                                                                                                                      3584 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      3585 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      3586 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3587 
                                                                                                                                      +
                                                                                                                                      3588 static const basic::ZoneRule kZoneRulesMacau[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3589  // Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
                                                                                                                                      +
                                                                                                                                      3590  {
                                                                                                                                      +
                                                                                                                                      3591  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3592  -21 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3593  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3594  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3595  16 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3596  14 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3597  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3598  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3599  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3600  },
                                                                                                                                      +
                                                                                                                                      3601 
                                                                                                                                      +
                                                                                                                                      3602 };
                                                                                                                                      +
                                                                                                                                      3603 
                                                                                                                                      +
                                                                                                                                      3604 
                                                                                                                                      +
                                                                                                                                      3605 
                                                                                                                                      +
                                                                                                                                      3606 const basic::ZonePolicy kPolicyMacau ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3607  kZoneRulesMacau /*rules*/,
                                                                                                                                      +
                                                                                                                                      3608  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3609  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3610  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3611 };
                                                                                                                                      +
                                                                                                                                      3612 
                                                                                                                                      +
                                                                                                                                      3613 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3614 // Policy name: Mauritius
                                                                                                                                      +
                                                                                                                                      3615 // Rules: 3
                                                                                                                                      +
                                                                                                                                      3616 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      3617 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      3618 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3619 
                                                                                                                                      +
                                                                                                                                      3620 static const basic::ZoneRule kZoneRulesMauritius[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3621  // Rule Mauritius 1983 only - Mar 21 0:00 0 -
                                                                                                                                      +
                                                                                                                                      3622  {
                                                                                                                                      +
                                                                                                                                      3623  -17 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3624  -17 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3625  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3626  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3627  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3628  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3629  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3630  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3631  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3632  },
                                                                                                                                      +
                                                                                                                                      3633  // Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3634  {
                                                                                                                                      +
                                                                                                                                      3635  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3636  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3637  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3638  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3639  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3640  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3641  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3642  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3643  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3644  },
                                                                                                                                      +
                                                                                                                                      3645  // Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3646  {
                                                                                                                                      +
                                                                                                                                      3647  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3648  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3649  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3650  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3651  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3652  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3653  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3654  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3655  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3656  },
                                                                                                                                      +
                                                                                                                                      3657 
                                                                                                                                      +
                                                                                                                                      3658 };
                                                                                                                                      +
                                                                                                                                      3659 
                                                                                                                                      +
                                                                                                                                      3660 
                                                                                                                                      +
                                                                                                                                      3661 
                                                                                                                                      +
                                                                                                                                      3662 const basic::ZonePolicy kPolicyMauritius ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3663  kZoneRulesMauritius /*rules*/,
                                                                                                                                      +
                                                                                                                                      3664  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3665  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3666  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3667 };
                                                                                                                                      +
                                                                                                                                      3668 
                                                                                                                                      +
                                                                                                                                      3669 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3670 // Policy name: Mexico
                                                                                                                                      +
                                                                                                                                      3671 // Rules: 7
                                                                                                                                      +
                                                                                                                                      3672 // Memory (8-bit): 69
                                                                                                                                      +
                                                                                                                                      3673 // Memory (32-bit): 96
                                                                                                                                      +
                                                                                                                                      3674 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3675 
                                                                                                                                      +
                                                                                                                                      3676 static const basic::ZoneRule kZoneRulesMexico[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3677  // Rule Mexico 1950 only - Jul 30 0:00 0 S
                                                                                                                                      +
                                                                                                                                      3678  {
                                                                                                                                      +
                                                                                                                                      3679  -50 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3680  -50 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3681  7 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3682  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3683  30 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3684  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3685  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3686  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3687  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3688  },
                                                                                                                                      +
                                                                                                                                      3689  // Rule Mexico 1996 2000 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      3690  {
                                                                                                                                      +
                                                                                                                                      3691  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3692  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3693  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3694  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3695  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3696  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3697  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3698  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3699  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3700  },
                                                                                                                                      +
                                                                                                                                      3701  // Rule Mexico 1996 2000 - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      3702  {
                                                                                                                                      +
                                                                                                                                      3703  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3704  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3705  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3706  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3707  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3708  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3709  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3710  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3711  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3712  },
                                                                                                                                      +
                                                                                                                                      3713  // Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      3714  {
                                                                                                                                      +
                                                                                                                                      3715  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3716  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3717  5 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3718  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3719  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3720  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3721  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3722  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3723  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3724  },
                                                                                                                                      +
                                                                                                                                      3725  // Rule Mexico 2001 only - Sep lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      3726  {
                                                                                                                                      +
                                                                                                                                      3727  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3728  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3729  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3730  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3731  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3732  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3733  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3734  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3735  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3736  },
                                                                                                                                      +
                                                                                                                                      3737  // Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      3738  {
                                                                                                                                      +
                                                                                                                                      3739  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3740  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3741  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3742  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3743  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3744  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3745  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3746  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3747  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3748  },
                                                                                                                                      +
                                                                                                                                      3749  // Rule Mexico 2002 max - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      3750  {
                                                                                                                                      +
                                                                                                                                      3751  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3752  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3753  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3754  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3755  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3756  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3757  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3758  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3759  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3760  },
                                                                                                                                      +
                                                                                                                                      3761 
                                                                                                                                      +
                                                                                                                                      3762 };
                                                                                                                                      +
                                                                                                                                      3763 
                                                                                                                                      +
                                                                                                                                      3764 
                                                                                                                                      +
                                                                                                                                      3765 
                                                                                                                                      +
                                                                                                                                      3766 const basic::ZonePolicy kPolicyMexico ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3767  kZoneRulesMexico /*rules*/,
                                                                                                                                      +
                                                                                                                                      3768  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3769  7 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3770  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3771 };
                                                                                                                                      +
                                                                                                                                      3772 
                                                                                                                                      +
                                                                                                                                      3773 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3774 // Policy name: Moldova
                                                                                                                                      +
                                                                                                                                      3775 // Rules: 2
                                                                                                                                      +
                                                                                                                                      3776 // Memory (8-bit): 24
                                                                                                                                      +
                                                                                                                                      3777 // Memory (32-bit): 36
                                                                                                                                      +
                                                                                                                                      3778 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3779 
                                                                                                                                      +
                                                                                                                                      3780 static const basic::ZoneRule kZoneRulesMoldova[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3781  // Rule Moldova 1997 max - Mar lastSun 2:00 1:00 S
                                                                                                                                      +
                                                                                                                                      3782  {
                                                                                                                                      +
                                                                                                                                      3783  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3784  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3785  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3786  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3787  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3788  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3789  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3790  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3791  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3792  },
                                                                                                                                      +
                                                                                                                                      3793  // Rule Moldova 1997 max - Oct lastSun 3:00 0 -
                                                                                                                                      +
                                                                                                                                      3794  {
                                                                                                                                      +
                                                                                                                                      3795  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3796  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3797  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3798  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3799  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3800  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3801  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3802  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3803  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3804  },
                                                                                                                                      +
                                                                                                                                      3805 
                                                                                                                                      +
                                                                                                                                      3806 };
                                                                                                                                      +
                                                                                                                                      3807 
                                                                                                                                      +
                                                                                                                                      3808 
                                                                                                                                      +
                                                                                                                                      3809 
                                                                                                                                      +
                                                                                                                                      3810 const basic::ZonePolicy kPolicyMoldova ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3811  kZoneRulesMoldova /*rules*/,
                                                                                                                                      +
                                                                                                                                      3812  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3813  2 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3814  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3815 };
                                                                                                                                      +
                                                                                                                                      3816 
                                                                                                                                      +
                                                                                                                                      3817 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3818 // Policy name: Moncton
                                                                                                                                      +
                                                                                                                                      3819 // Rules: 3
                                                                                                                                      +
                                                                                                                                      3820 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      3821 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      3822 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3823 
                                                                                                                                      +
                                                                                                                                      3824 static const basic::ZoneRule kZoneRulesMoncton[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3825  // Rule Moncton 1957 1972 - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      3826  {
                                                                                                                                      +
                                                                                                                                      3827  -43 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3828  -28 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3829  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3830  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3831  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3832  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3833  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3834  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3835  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3836  },
                                                                                                                                      +
                                                                                                                                      3837  // Rule Moncton 1993 2006 - Apr Sun>=1 0:01 1:00 D
                                                                                                                                      +
                                                                                                                                      3838  {
                                                                                                                                      +
                                                                                                                                      3839  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3840  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3841  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3842  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3843  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3844  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3845  basic::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3846  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3847  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3848  },
                                                                                                                                      +
                                                                                                                                      3849  // Rule Moncton 1993 2006 - Oct lastSun 0:01 0 S
                                                                                                                                      +
                                                                                                                                      3850  {
                                                                                                                                      +
                                                                                                                                      3851  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3852  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3853  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3854  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3855  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3856  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3857  basic::ZoneContext::kSuffixW + 1 /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3858  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3859  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3860  },
                                                                                                                                      +
                                                                                                                                      3861 
                                                                                                                                      +
                                                                                                                                      3862 };
                                                                                                                                      +
                                                                                                                                      3863 
                                                                                                                                      +
                                                                                                                                      3864 
                                                                                                                                      +
                                                                                                                                      3865 
                                                                                                                                      +
                                                                                                                                      3866 const basic::ZonePolicy kPolicyMoncton ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3867  kZoneRulesMoncton /*rules*/,
                                                                                                                                      +
                                                                                                                                      3868  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3869  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3870  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3871 };
                                                                                                                                      +
                                                                                                                                      3872 
                                                                                                                                      +
                                                                                                                                      3873 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3874 // Policy name: Mongol
                                                                                                                                      +
                                                                                                                                      3875 // Rules: 6
                                                                                                                                      +
                                                                                                                                      3876 // Memory (8-bit): 60
                                                                                                                                      +
                                                                                                                                      3877 // Memory (32-bit): 84
                                                                                                                                      +
                                                                                                                                      3878 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3879 
                                                                                                                                      +
                                                                                                                                      3880 static const basic::ZoneRule kZoneRulesMongol[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3881  // Rule Mongol 1984 1998 - Sep lastSun 0:00 0 -
                                                                                                                                      +
                                                                                                                                      3882  {
                                                                                                                                      +
                                                                                                                                      3883  -16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3884  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3885  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3886  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3887  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3888  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3889  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3890  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3891  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3892  },
                                                                                                                                      +
                                                                                                                                      3893  // Rule Mongol 2001 only - Apr lastSat 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3894  {
                                                                                                                                      +
                                                                                                                                      3895  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3896  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3897  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3898  6 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3899  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3900  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3901  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3902  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3903  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3904  },
                                                                                                                                      +
                                                                                                                                      3905  // Rule Mongol 2001 2006 - Sep lastSat 2:00 0 -
                                                                                                                                      +
                                                                                                                                      3906  {
                                                                                                                                      +
                                                                                                                                      3907  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3908  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3909  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3910  6 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3911  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3912  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3913  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3914  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3915  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3916  },
                                                                                                                                      +
                                                                                                                                      3917  // Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3918  {
                                                                                                                                      +
                                                                                                                                      3919  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3920  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3921  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3922  6 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3923  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3924  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3925  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3926  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3927  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3928  },
                                                                                                                                      +
                                                                                                                                      3929  // Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      3930  {
                                                                                                                                      +
                                                                                                                                      3931  15 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3932  16 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3933  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3934  6 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3935  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3936  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3937  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3938  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3939  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3940  },
                                                                                                                                      +
                                                                                                                                      3941  // Rule Mongol 2015 2016 - Sep lastSat 0:00 0 -
                                                                                                                                      +
                                                                                                                                      3942  {
                                                                                                                                      +
                                                                                                                                      3943  15 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3944  16 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3945  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3946  6 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3947  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3948  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3949  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3950  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3951  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3952  },
                                                                                                                                      +
                                                                                                                                      3953 
                                                                                                                                      +
                                                                                                                                      3954 };
                                                                                                                                      +
                                                                                                                                      3955 
                                                                                                                                      +
                                                                                                                                      3956 
                                                                                                                                      +
                                                                                                                                      3957 
                                                                                                                                      +
                                                                                                                                      3958 const basic::ZonePolicy kPolicyMongol ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3959  kZoneRulesMongol /*rules*/,
                                                                                                                                      +
                                                                                                                                      3960  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3961  6 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3962  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3963 };
                                                                                                                                      +
                                                                                                                                      3964 
                                                                                                                                      +
                                                                                                                                      3965 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3966 // Policy name: NC
                                                                                                                                      +
                                                                                                                                      3967 // Rules: 1
                                                                                                                                      +
                                                                                                                                      3968 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      3969 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      3970 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3971 
                                                                                                                                      +
                                                                                                                                      3972 static const basic::ZoneRule kZoneRulesNC[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3973  // Rule NC 1997 only - Mar 2 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      3974  {
                                                                                                                                      +
                                                                                                                                      3975  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3976  -3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      3977  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      3978  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      3979  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      3980  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      3981  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      3982  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      3983  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      3984  },
                                                                                                                                      +
                                                                                                                                      3985 
                                                                                                                                      +
                                                                                                                                      3986 };
                                                                                                                                      +
                                                                                                                                      3987 
                                                                                                                                      +
                                                                                                                                      3988 
                                                                                                                                      +
                                                                                                                                      3989 
                                                                                                                                      +
                                                                                                                                      3990 const basic::ZonePolicy kPolicyNC ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      3991  kZoneRulesNC /*rules*/,
                                                                                                                                      +
                                                                                                                                      3992  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      3993  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      3994  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      3995 };
                                                                                                                                      +
                                                                                                                                      3996 
                                                                                                                                      +
                                                                                                                                      3997 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      3998 // Policy name: NZ
                                                                                                                                      +
                                                                                                                                      3999 // Rules: 5
                                                                                                                                      +
                                                                                                                                      4000 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      4001 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      4002 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4003 
                                                                                                                                      +
                                                                                                                                      4004 static const basic::ZoneRule kZoneRulesNZ[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4005  // Rule NZ 1989 only - Oct Sun>=8 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      4006  {
                                                                                                                                      +
                                                                                                                                      4007  -11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4008  -11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4009  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4010  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4011  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4012  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4013  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4014  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4015  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4016  },
                                                                                                                                      +
                                                                                                                                      4017  // Rule NZ 1990 2006 - Oct Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      4018  {
                                                                                                                                      +
                                                                                                                                      4019  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4020  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4021  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4022  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4023  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4024  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4025  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4026  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4027  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4028  },
                                                                                                                                      +
                                                                                                                                      4029  // Rule NZ 1990 2007 - Mar Sun>=15 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      4030  {
                                                                                                                                      +
                                                                                                                                      4031  -10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4032  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4033  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4034  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4035  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4036  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4037  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4038  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4039  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4040  },
                                                                                                                                      +
                                                                                                                                      4041  // Rule NZ 2007 max - Sep lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      4042  {
                                                                                                                                      +
                                                                                                                                      4043  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4044  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4045  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4046  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4047  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4048  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4049  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4050  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4051  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4052  },
                                                                                                                                      +
                                                                                                                                      4053  // Rule NZ 2008 max - Apr Sun>=1 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      4054  {
                                                                                                                                      +
                                                                                                                                      4055  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4056  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4057  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4058  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4059  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4060  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4061  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4062  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4063  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4064  },
                                                                                                                                      +
                                                                                                                                      4065 
                                                                                                                                      +
                                                                                                                                      4066 };
                                                                                                                                      +
                                                                                                                                      4067 
                                                                                                                                      +
                                                                                                                                      4068 
                                                                                                                                      +
                                                                                                                                      4069 
                                                                                                                                      +
                                                                                                                                      4070 const basic::ZonePolicy kPolicyNZ ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4071  kZoneRulesNZ /*rules*/,
                                                                                                                                      +
                                                                                                                                      4072  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4073  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4074  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4075 };
                                                                                                                                      +
                                                                                                                                      4076 
                                                                                                                                      +
                                                                                                                                      4077 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4078 // Policy name: Nic
                                                                                                                                      +
                                                                                                                                      4079 // Rules: 5
                                                                                                                                      +
                                                                                                                                      4080 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      4081 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      4082 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4083 
                                                                                                                                      +
                                                                                                                                      4084 static const basic::ZoneRule kZoneRulesNic[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4085  // Rule Nic 1979 1980 - Jun Mon>=23 0:00 0 S
                                                                                                                                      +
                                                                                                                                      4086  {
                                                                                                                                      +
                                                                                                                                      4087  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4088  -20 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4089  6 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4090  1 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4091  23 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4092  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4093  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4094  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4095  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4096  },
                                                                                                                                      +
                                                                                                                                      4097  // Rule Nic 2005 only - Apr 10 0:00 1:00 D
                                                                                                                                      +
                                                                                                                                      4098  {
                                                                                                                                      +
                                                                                                                                      4099  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4100  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4101  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4102  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4103  10 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4104  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4105  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4106  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4107  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4108  },
                                                                                                                                      +
                                                                                                                                      4109  // Rule Nic 2005 only - Oct Sun>=1 0:00 0 S
                                                                                                                                      +
                                                                                                                                      4110  {
                                                                                                                                      +
                                                                                                                                      4111  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4112  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4113  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4114  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4115  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4116  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4117  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4118  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4119  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4120  },
                                                                                                                                      +
                                                                                                                                      4121  // Rule Nic 2006 only - Apr 30 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      4122  {
                                                                                                                                      +
                                                                                                                                      4123  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4124  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4125  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4126  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4127  30 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4128  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4129  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4130  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4131  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4132  },
                                                                                                                                      +
                                                                                                                                      4133  // Rule Nic 2006 only - Oct Sun>=1 1:00 0 S
                                                                                                                                      +
                                                                                                                                      4134  {
                                                                                                                                      +
                                                                                                                                      4135  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4136  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4137  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4138  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4139  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4140  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4141  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4142  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4143  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4144  },
                                                                                                                                      +
                                                                                                                                      4145 
                                                                                                                                      +
                                                                                                                                      4146 };
                                                                                                                                      +
                                                                                                                                      4147 
                                                                                                                                      +
                                                                                                                                      4148 
                                                                                                                                      +
                                                                                                                                      4149 
                                                                                                                                      +
                                                                                                                                      4150 const basic::ZonePolicy kPolicyNic ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4151  kZoneRulesNic /*rules*/,
                                                                                                                                      +
                                                                                                                                      4152  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4153  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4154  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4155 };
                                                                                                                                      +
                                                                                                                                      4156 
                                                                                                                                      +
                                                                                                                                      4157 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4158 // Policy name: PRC
                                                                                                                                      +
                                                                                                                                      4159 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4160 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4161 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4162 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4163 
                                                                                                                                      +
                                                                                                                                      4164 static const basic::ZoneRule kZoneRulesPRC[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4165  // Rule PRC 1986 1991 - Sep Sun>=11 2:00 0 S
                                                                                                                                      +
                                                                                                                                      4166  {
                                                                                                                                      +
                                                                                                                                      4167  -14 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4168  -9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4169  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4170  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4171  11 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4172  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4173  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4174  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4175  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4176  },
                                                                                                                                      +
                                                                                                                                      4177 
                                                                                                                                      +
                                                                                                                                      4178 };
                                                                                                                                      +
                                                                                                                                      4179 
                                                                                                                                      +
                                                                                                                                      4180 
                                                                                                                                      +
                                                                                                                                      4181 
                                                                                                                                      +
                                                                                                                                      4182 const basic::ZonePolicy kPolicyPRC ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4183  kZoneRulesPRC /*rules*/,
                                                                                                                                      +
                                                                                                                                      4184  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4185  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4186  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4187 };
                                                                                                                                      +
                                                                                                                                      4188 
                                                                                                                                      +
                                                                                                                                      4189 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4190 // Policy name: Pakistan
                                                                                                                                      +
                                                                                                                                      4191 // Rules: 6
                                                                                                                                      +
                                                                                                                                      4192 // Memory (8-bit): 60
                                                                                                                                      +
                                                                                                                                      4193 // Memory (32-bit): 84
                                                                                                                                      +
                                                                                                                                      4194 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4195 
                                                                                                                                      +
                                                                                                                                      4196 static const basic::ZoneRule kZoneRulesPakistan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4197  // Anchor: Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4198  {
                                                                                                                                      +
                                                                                                                                      4199  -127 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4200  -127 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4201  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4202  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4203  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4204  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4205  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4206  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4207  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4208  },
                                                                                                                                      +
                                                                                                                                      4209  // Rule Pakistan 2002 only - Apr Sun>=2 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4210  {
                                                                                                                                      +
                                                                                                                                      4211  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4212  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4213  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4214  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4215  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4216  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4217  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4218  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4219  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4220  },
                                                                                                                                      +
                                                                                                                                      4221  // Rule Pakistan 2002 only - Oct Sun>=2 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4222  {
                                                                                                                                      +
                                                                                                                                      4223  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4224  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4225  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4226  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4227  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4228  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4229  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4230  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4231  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4232  },
                                                                                                                                      +
                                                                                                                                      4233  // Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4234  {
                                                                                                                                      +
                                                                                                                                      4235  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4236  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4237  6 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4238  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4239  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4240  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4241  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4242  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4243  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4244  },
                                                                                                                                      +
                                                                                                                                      4245  // Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4246  {
                                                                                                                                      +
                                                                                                                                      4247  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4248  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4249  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4250  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4251  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4252  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4253  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4254  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4255  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4256  },
                                                                                                                                      +
                                                                                                                                      4257  // Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4258  {
                                                                                                                                      +
                                                                                                                                      4259  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4260  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4261  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4262  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4263  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4264  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4265  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4266  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4267  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4268  },
                                                                                                                                      +
                                                                                                                                      4269 
                                                                                                                                      +
                                                                                                                                      4270 };
                                                                                                                                      +
                                                                                                                                      4271 
                                                                                                                                      +
                                                                                                                                      4272 
                                                                                                                                      +
                                                                                                                                      4273 
                                                                                                                                      +
                                                                                                                                      4274 const basic::ZonePolicy kPolicyPakistan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4275  kZoneRulesPakistan /*rules*/,
                                                                                                                                      +
                                                                                                                                      4276  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4277  6 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4278  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4279 };
                                                                                                                                      +
                                                                                                                                      4280 
                                                                                                                                      +
                                                                                                                                      4281 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4282 // Policy name: Para
                                                                                                                                      +
                                                                                                                                      4283 // Rules: 10
                                                                                                                                      +
                                                                                                                                      4284 // Memory (8-bit): 96
                                                                                                                                      +
                                                                                                                                      4285 // Memory (32-bit): 132
                                                                                                                                      +
                                                                                                                                      4286 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4287 
                                                                                                                                      +
                                                                                                                                      4288 static const basic::ZoneRule kZoneRulesPara[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4289  // Rule Para 1996 2001 - Oct Sun>=1 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      4290  {
                                                                                                                                      +
                                                                                                                                      4291  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4292  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4293  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4294  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4295  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4296  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4297  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4298  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4299  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4300  },
                                                                                                                                      +
                                                                                                                                      4301  // Rule Para 1997 only - Feb lastSun 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4302  {
                                                                                                                                      +
                                                                                                                                      4303  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4304  -3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4305  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4306  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4307  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4308  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4309  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4310  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4311  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4312  },
                                                                                                                                      +
                                                                                                                                      4313  // Rule Para 1998 2001 - Mar Sun>=1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4314  {
                                                                                                                                      +
                                                                                                                                      4315  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4316  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4317  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4318  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4319  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4320  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4321  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4322  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4323  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4324  },
                                                                                                                                      +
                                                                                                                                      4325  // Rule Para 2002 2004 - Apr Sun>=1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4326  {
                                                                                                                                      +
                                                                                                                                      4327  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4328  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4329  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4330  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4331  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4332  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4333  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4334  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4335  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4336  },
                                                                                                                                      +
                                                                                                                                      4337  // Rule Para 2002 2003 - Sep Sun>=1 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      4338  {
                                                                                                                                      +
                                                                                                                                      4339  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4340  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4341  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4342  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4343  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4344  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4345  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4346  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4347  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4348  },
                                                                                                                                      +
                                                                                                                                      4349  // Rule Para 2004 2009 - Oct Sun>=15 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      4350  {
                                                                                                                                      +
                                                                                                                                      4351  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4352  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4353  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4354  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4355  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4356  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4357  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4358  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4359  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4360  },
                                                                                                                                      +
                                                                                                                                      4361  // Rule Para 2005 2009 - Mar Sun>=8 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4362  {
                                                                                                                                      +
                                                                                                                                      4363  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4364  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4365  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4366  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4367  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4368  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4369  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4370  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4371  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4372  },
                                                                                                                                      +
                                                                                                                                      4373  // Rule Para 2010 max - Oct Sun>=1 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      4374  {
                                                                                                                                      +
                                                                                                                                      4375  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4376  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4377  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4378  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4379  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4380  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4381  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4382  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4383  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4384  },
                                                                                                                                      +
                                                                                                                                      4385  // Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4386  {
                                                                                                                                      +
                                                                                                                                      4387  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4388  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4389  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4390  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4391  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4392  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4393  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4394  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4395  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4396  },
                                                                                                                                      +
                                                                                                                                      4397  // Rule Para 2013 max - Mar Sun>=22 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4398  {
                                                                                                                                      +
                                                                                                                                      4399  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4400  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4401  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4402  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4403  22 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4404  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4405  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4406  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4407  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4408  },
                                                                                                                                      +
                                                                                                                                      4409 
                                                                                                                                      +
                                                                                                                                      4410 };
                                                                                                                                      +
                                                                                                                                      4411 
                                                                                                                                      +
                                                                                                                                      4412 
                                                                                                                                      +
                                                                                                                                      4413 
                                                                                                                                      +
                                                                                                                                      4414 const basic::ZonePolicy kPolicyPara ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4415  kZoneRulesPara /*rules*/,
                                                                                                                                      +
                                                                                                                                      4416  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4417  10 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4418  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4419 };
                                                                                                                                      +
                                                                                                                                      4420 
                                                                                                                                      +
                                                                                                                                      4421 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4422 // Policy name: Peru
                                                                                                                                      +
                                                                                                                                      4423 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4424 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4425 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4426 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4427 
                                                                                                                                      +
                                                                                                                                      4428 static const basic::ZoneRule kZoneRulesPeru[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4429  // Rule Peru 1994 only - Apr 1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4430  {
                                                                                                                                      +
                                                                                                                                      4431  -6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4432  -6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4433  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4434  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4435  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4436  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4437  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4438  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4439  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4440  },
                                                                                                                                      +
                                                                                                                                      4441 
                                                                                                                                      +
                                                                                                                                      4442 };
                                                                                                                                      +
                                                                                                                                      4443 
                                                                                                                                      +
                                                                                                                                      4444 
                                                                                                                                      +
                                                                                                                                      4445 
                                                                                                                                      +
                                                                                                                                      4446 const basic::ZonePolicy kPolicyPeru ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4447  kZoneRulesPeru /*rules*/,
                                                                                                                                      +
                                                                                                                                      4448  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4449  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4450  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4451 };
                                                                                                                                      +
                                                                                                                                      4452 
                                                                                                                                      +
                                                                                                                                      4453 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4454 // Policy name: Phil
                                                                                                                                      +
                                                                                                                                      4455 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4456 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4457 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4458 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4459 
                                                                                                                                      +
                                                                                                                                      4460 static const basic::ZoneRule kZoneRulesPhil[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4461  // Rule Phil 1978 only - Sep 21 0:00 0 S
                                                                                                                                      +
                                                                                                                                      4462  {
                                                                                                                                      +
                                                                                                                                      4463  -22 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4464  -22 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4465  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4466  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4467  21 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4468  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4469  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4470  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4471  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4472  },
                                                                                                                                      +
                                                                                                                                      4473 
                                                                                                                                      +
                                                                                                                                      4474 };
                                                                                                                                      +
                                                                                                                                      4475 
                                                                                                                                      +
                                                                                                                                      4476 
                                                                                                                                      +
                                                                                                                                      4477 
                                                                                                                                      +
                                                                                                                                      4478 const basic::ZonePolicy kPolicyPhil ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4479  kZoneRulesPhil /*rules*/,
                                                                                                                                      +
                                                                                                                                      4480  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4481  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4482  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4483 };
                                                                                                                                      +
                                                                                                                                      4484 
                                                                                                                                      +
                                                                                                                                      4485 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4486 // Policy name: ROK
                                                                                                                                      +
                                                                                                                                      4487 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4488 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4489 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4490 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4491 
                                                                                                                                      +
                                                                                                                                      4492 static const basic::ZoneRule kZoneRulesROK[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4493  // Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
                                                                                                                                      +
                                                                                                                                      4494  {
                                                                                                                                      +
                                                                                                                                      4495  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4496  -12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4497  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4498  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4499  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4500  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4501  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4502  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4503  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4504  },
                                                                                                                                      +
                                                                                                                                      4505 
                                                                                                                                      +
                                                                                                                                      4506 };
                                                                                                                                      +
                                                                                                                                      4507 
                                                                                                                                      +
                                                                                                                                      4508 
                                                                                                                                      +
                                                                                                                                      4509 
                                                                                                                                      +
                                                                                                                                      4510 const basic::ZonePolicy kPolicyROK ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4511  kZoneRulesROK /*rules*/,
                                                                                                                                      +
                                                                                                                                      4512  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4513  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4514  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4515 };
                                                                                                                                      +
                                                                                                                                      4516 
                                                                                                                                      +
                                                                                                                                      4517 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4518 // Policy name: RussiaAsia
                                                                                                                                      +
                                                                                                                                      4519 // Rules: 3
                                                                                                                                      +
                                                                                                                                      4520 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      4521 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      4522 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4523 
                                                                                                                                      +
                                                                                                                                      4524 static const basic::ZoneRule kZoneRulesRussiaAsia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4525  // Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      4526  {
                                                                                                                                      +
                                                                                                                                      4527  -16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4528  -5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4529  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4530  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4531  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4532  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4533  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4534  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4535  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4536  },
                                                                                                                                      +
                                                                                                                                      4537  // Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 -
                                                                                                                                      +
                                                                                                                                      4538  {
                                                                                                                                      +
                                                                                                                                      4539  -15 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4540  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4541  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4542  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4543  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4544  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4545  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4546  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4547  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4548  },
                                                                                                                                      +
                                                                                                                                      4549  // Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      4550  {
                                                                                                                                      +
                                                                                                                                      4551  -4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4552  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4553  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4554  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4555  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4556  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4557  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4558  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4559  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4560  },
                                                                                                                                      +
                                                                                                                                      4561 
                                                                                                                                      +
                                                                                                                                      4562 };
                                                                                                                                      +
                                                                                                                                      4563 
                                                                                                                                      +
                                                                                                                                      4564 
                                                                                                                                      +
                                                                                                                                      4565 
                                                                                                                                      +
                                                                                                                                      4566 const basic::ZonePolicy kPolicyRussiaAsia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4567  kZoneRulesRussiaAsia /*rules*/,
                                                                                                                                      +
                                                                                                                                      4568  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4569  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4570  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4571 };
                                                                                                                                      +
                                                                                                                                      4572 
                                                                                                                                      +
                                                                                                                                      4573 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4574 // Policy name: SA
                                                                                                                                      +
                                                                                                                                      4575 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4576 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4577 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4578 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4579 
                                                                                                                                      +
                                                                                                                                      4580 static const basic::ZoneRule kZoneRulesSA[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4581  // Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
                                                                                                                                      +
                                                                                                                                      4582  {
                                                                                                                                      +
                                                                                                                                      4583  -57 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4584  -56 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4585  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4586  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4587  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4588  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4589  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4590  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4591  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4592  },
                                                                                                                                      +
                                                                                                                                      4593 
                                                                                                                                      +
                                                                                                                                      4594 };
                                                                                                                                      +
                                                                                                                                      4595 
                                                                                                                                      +
                                                                                                                                      4596 
                                                                                                                                      +
                                                                                                                                      4597 
                                                                                                                                      +
                                                                                                                                      4598 const basic::ZonePolicy kPolicySA ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4599  kZoneRulesSA /*rules*/,
                                                                                                                                      +
                                                                                                                                      4600  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4601  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4602  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4603 };
                                                                                                                                      +
                                                                                                                                      4604 
                                                                                                                                      +
                                                                                                                                      4605 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4606 // Policy name: Salv
                                                                                                                                      +
                                                                                                                                      4607 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4608 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4609 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4610 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4611 
                                                                                                                                      +
                                                                                                                                      4612 static const basic::ZoneRule kZoneRulesSalv[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4613  // Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
                                                                                                                                      +
                                                                                                                                      4614  {
                                                                                                                                      +
                                                                                                                                      4615  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4616  -12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4617  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4618  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4619  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4620  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4621  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4622  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4623  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4624  },
                                                                                                                                      +
                                                                                                                                      4625 
                                                                                                                                      +
                                                                                                                                      4626 };
                                                                                                                                      +
                                                                                                                                      4627 
                                                                                                                                      +
                                                                                                                                      4628 
                                                                                                                                      +
                                                                                                                                      4629 
                                                                                                                                      +
                                                                                                                                      4630 const basic::ZonePolicy kPolicySalv ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4631  kZoneRulesSalv /*rules*/,
                                                                                                                                      +
                                                                                                                                      4632  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4633  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4634  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4635 };
                                                                                                                                      +
                                                                                                                                      4636 
                                                                                                                                      +
                                                                                                                                      4637 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4638 // Policy name: Syria
                                                                                                                                      +
                                                                                                                                      4639 // Rules: 12
                                                                                                                                      +
                                                                                                                                      4640 // Memory (8-bit): 114
                                                                                                                                      +
                                                                                                                                      4641 // Memory (32-bit): 156
                                                                                                                                      +
                                                                                                                                      4642 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4643 
                                                                                                                                      +
                                                                                                                                      4644 static const basic::ZoneRule kZoneRulesSyria[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4645  // Rule Syria 1994 2005 - Oct 1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4646  {
                                                                                                                                      +
                                                                                                                                      4647  -6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4648  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4649  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4650  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4651  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4652  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4653  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4654  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4655  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4656  },
                                                                                                                                      +
                                                                                                                                      4657  // Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4658  {
                                                                                                                                      +
                                                                                                                                      4659  -3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4660  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4661  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4662  1 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4663  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4664  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4665  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4666  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4667  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4668  },
                                                                                                                                      +
                                                                                                                                      4669  // Rule Syria 1999 2006 - Apr 1 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4670  {
                                                                                                                                      +
                                                                                                                                      4671  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4672  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4673  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4674  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4675  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4676  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4677  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4678  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4679  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4680  },
                                                                                                                                      +
                                                                                                                                      4681  // Rule Syria 2006 only - Sep 22 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4682  {
                                                                                                                                      +
                                                                                                                                      4683  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4684  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4685  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4686  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4687  22 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4688  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4689  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4690  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4691  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4692  },
                                                                                                                                      +
                                                                                                                                      4693  // Rule Syria 2007 only - Mar lastFri 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4694  {
                                                                                                                                      +
                                                                                                                                      4695  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4696  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4697  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4698  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4699  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4700  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4701  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4702  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4703  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4704  },
                                                                                                                                      +
                                                                                                                                      4705  // Rule Syria 2007 only - Nov Fri>=1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4706  {
                                                                                                                                      +
                                                                                                                                      4707  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4708  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4709  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4710  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4711  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4712  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4713  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4714  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4715  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4716  },
                                                                                                                                      +
                                                                                                                                      4717  // Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4718  {
                                                                                                                                      +
                                                                                                                                      4719  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4720  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4721  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4722  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4723  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4724  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4725  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4726  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4727  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4728  },
                                                                                                                                      +
                                                                                                                                      4729  // Rule Syria 2008 only - Nov 1 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4730  {
                                                                                                                                      +
                                                                                                                                      4731  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4732  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4733  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4734  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4735  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4736  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4737  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4738  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4739  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4740  },
                                                                                                                                      +
                                                                                                                                      4741  // Rule Syria 2009 only - Mar lastFri 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4742  {
                                                                                                                                      +
                                                                                                                                      4743  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4744  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4745  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4746  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4747  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4748  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4749  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4750  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4751  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4752  },
                                                                                                                                      +
                                                                                                                                      4753  // Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4754  {
                                                                                                                                      +
                                                                                                                                      4755  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4756  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4757  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4758  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4759  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4760  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4761  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4762  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4763  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4764  },
                                                                                                                                      +
                                                                                                                                      4765  // Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
                                                                                                                                      +
                                                                                                                                      4766  {
                                                                                                                                      +
                                                                                                                                      4767  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4768  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4769  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4770  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4771  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4772  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4773  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4774  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4775  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4776  },
                                                                                                                                      +
                                                                                                                                      4777  // Rule Syria 2009 max - Oct lastFri 0:00 0 -
                                                                                                                                      +
                                                                                                                                      4778  {
                                                                                                                                      +
                                                                                                                                      4779  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4780  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4781  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4782  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4783  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4784  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4785  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4786  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4787  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4788  },
                                                                                                                                      +
                                                                                                                                      4789 
                                                                                                                                      +
                                                                                                                                      4790 };
                                                                                                                                      +
                                                                                                                                      4791 
                                                                                                                                      +
                                                                                                                                      4792 
                                                                                                                                      +
                                                                                                                                      4793 
                                                                                                                                      +
                                                                                                                                      4794 const basic::ZonePolicy kPolicySyria ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4795  kZoneRulesSyria /*rules*/,
                                                                                                                                      +
                                                                                                                                      4796  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4797  12 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4798  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4799 };
                                                                                                                                      +
                                                                                                                                      4800 
                                                                                                                                      +
                                                                                                                                      4801 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4802 // Policy name: Taiwan
                                                                                                                                      +
                                                                                                                                      4803 // Rules: 1
                                                                                                                                      +
                                                                                                                                      4804 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      4805 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      4806 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4807 
                                                                                                                                      +
                                                                                                                                      4808 static const basic::ZoneRule kZoneRulesTaiwan[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4809  // Rule Taiwan 1979 only - Oct 1 0:00 0 S
                                                                                                                                      +
                                                                                                                                      4810  {
                                                                                                                                      +
                                                                                                                                      4811  -21 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4812  -21 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4813  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4814  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4815  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4816  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4817  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4818  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4819  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4820  },
                                                                                                                                      +
                                                                                                                                      4821 
                                                                                                                                      +
                                                                                                                                      4822 };
                                                                                                                                      +
                                                                                                                                      4823 
                                                                                                                                      +
                                                                                                                                      4824 
                                                                                                                                      +
                                                                                                                                      4825 
                                                                                                                                      +
                                                                                                                                      4826 const basic::ZonePolicy kPolicyTaiwan ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4827  kZoneRulesTaiwan /*rules*/,
                                                                                                                                      +
                                                                                                                                      4828  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4829  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4830  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4831 };
                                                                                                                                      +
                                                                                                                                      4832 
                                                                                                                                      +
                                                                                                                                      4833 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4834 // Policy name: Thule
                                                                                                                                      +
                                                                                                                                      4835 // Rules: 5
                                                                                                                                      +
                                                                                                                                      4836 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      4837 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      4838 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4839 
                                                                                                                                      +
                                                                                                                                      4840 static const basic::ZoneRule kZoneRulesThule[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4841  // Rule Thule 1991 1992 - Sep lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      4842  {
                                                                                                                                      +
                                                                                                                                      4843  -9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4844  -8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4845  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4846  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4847  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4848  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4849  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4850  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4851  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4852  },
                                                                                                                                      +
                                                                                                                                      4853  // Rule Thule 1993 2006 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      4854  {
                                                                                                                                      +
                                                                                                                                      4855  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4856  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4857  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4858  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4859  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4860  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4861  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4862  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4863  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4864  },
                                                                                                                                      +
                                                                                                                                      4865  // Rule Thule 1993 2006 - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      4866  {
                                                                                                                                      +
                                                                                                                                      4867  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4868  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4869  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4870  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4871  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4872  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4873  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4874  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4875  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4876  },
                                                                                                                                      +
                                                                                                                                      4877  // Rule Thule 2007 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      4878  {
                                                                                                                                      +
                                                                                                                                      4879  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4880  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4881  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4882  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4883  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4884  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4885  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4886  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4887  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4888  },
                                                                                                                                      +
                                                                                                                                      4889  // Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      +
                                                                                                                                      4890  {
                                                                                                                                      +
                                                                                                                                      4891  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4892  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4893  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4894  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4895  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4896  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4897  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4898  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4899  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4900  },
                                                                                                                                      +
                                                                                                                                      4901 
                                                                                                                                      +
                                                                                                                                      4902 };
                                                                                                                                      +
                                                                                                                                      4903 
                                                                                                                                      +
                                                                                                                                      4904 
                                                                                                                                      +
                                                                                                                                      4905 
                                                                                                                                      +
                                                                                                                                      4906 const basic::ZonePolicy kPolicyThule ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4907  kZoneRulesThule /*rules*/,
                                                                                                                                      +
                                                                                                                                      4908  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      4909  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      4910  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      4911 };
                                                                                                                                      +
                                                                                                                                      4912 
                                                                                                                                      +
                                                                                                                                      4913 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4914 // Policy name: Tonga
                                                                                                                                      +
                                                                                                                                      4915 // Rules: 7
                                                                                                                                      +
                                                                                                                                      4916 // Memory (8-bit): 69
                                                                                                                                      +
                                                                                                                                      4917 // Memory (32-bit): 96
                                                                                                                                      +
                                                                                                                                      4918 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      4919 
                                                                                                                                      +
                                                                                                                                      4920 static const basic::ZoneRule kZoneRulesTonga[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      4921  // Anchor: Rule Tonga 2000 only - Mar 19 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      4922  {
                                                                                                                                      +
                                                                                                                                      4923  -127 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4924  -127 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4925  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4926  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4927  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4928  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4929  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4930  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4931  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4932  },
                                                                                                                                      +
                                                                                                                                      4933  // Rule Tonga 1999 only - Oct 7 2:00s 1:00 -
                                                                                                                                      +
                                                                                                                                      4934  {
                                                                                                                                      +
                                                                                                                                      4935  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4936  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4937  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4938  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4939  7 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4940  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4941  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4942  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4943  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4944  },
                                                                                                                                      +
                                                                                                                                      4945  // Rule Tonga 2000 only - Mar 19 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      4946  {
                                                                                                                                      +
                                                                                                                                      4947  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4948  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4949  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4950  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4951  19 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4952  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4953  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4954  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4955  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4956  },
                                                                                                                                      +
                                                                                                                                      4957  // Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      4958  {
                                                                                                                                      +
                                                                                                                                      4959  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4960  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4961  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4962  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4963  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4964  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4965  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4966  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4967  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4968  },
                                                                                                                                      +
                                                                                                                                      4969  // Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
                                                                                                                                      +
                                                                                                                                      4970  {
                                                                                                                                      +
                                                                                                                                      4971  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4972  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4973  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4974  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4975  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4976  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4977  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4978  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4979  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4980  },
                                                                                                                                      +
                                                                                                                                      4981  // Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      4982  {
                                                                                                                                      +
                                                                                                                                      4983  16 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4984  16 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4985  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4986  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4987  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      4988  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      4989  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      4990  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      4991  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      4992  },
                                                                                                                                      +
                                                                                                                                      4993  // Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
                                                                                                                                      +
                                                                                                                                      4994  {
                                                                                                                                      +
                                                                                                                                      4995  17 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4996  17 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      4997  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      4998  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      4999  15 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5000  12 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5001  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5002  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5003  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5004  },
                                                                                                                                      +
                                                                                                                                      5005 
                                                                                                                                      +
                                                                                                                                      5006 };
                                                                                                                                      +
                                                                                                                                      5007 
                                                                                                                                      +
                                                                                                                                      5008 
                                                                                                                                      +
                                                                                                                                      5009 
                                                                                                                                      +
                                                                                                                                      5010 const basic::ZonePolicy kPolicyTonga ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5011  kZoneRulesTonga /*rules*/,
                                                                                                                                      +
                                                                                                                                      5012  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5013  7 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5014  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5015 };
                                                                                                                                      +
                                                                                                                                      5016 
                                                                                                                                      +
                                                                                                                                      5017 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5018 // Policy name: Tunisia
                                                                                                                                      +
                                                                                                                                      5019 // Rules: 5
                                                                                                                                      +
                                                                                                                                      5020 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      5021 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      5022 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5023 
                                                                                                                                      +
                                                                                                                                      5024 static const basic::ZoneRule kZoneRulesTunisia[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5025  // Rule Tunisia 1988 1990 - Sep lastSun 0:00s 0 -
                                                                                                                                      +
                                                                                                                                      5026  {
                                                                                                                                      +
                                                                                                                                      5027  -12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5028  -10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5029  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5030  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5031  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5032  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5033  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5034  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5035  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5036  },
                                                                                                                                      +
                                                                                                                                      5037  // Rule Tunisia 2005 only - May 1 0:00s 1:00 S
                                                                                                                                      +
                                                                                                                                      5038  {
                                                                                                                                      +
                                                                                                                                      5039  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5040  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5041  5 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5042  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5043  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5044  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5045  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5046  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5047  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5048  },
                                                                                                                                      +
                                                                                                                                      5049  // Rule Tunisia 2005 only - Sep 30 1:00s 0 -
                                                                                                                                      +
                                                                                                                                      5050  {
                                                                                                                                      +
                                                                                                                                      5051  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5052  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5053  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5054  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5055  30 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5056  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5057  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5058  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5059  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5060  },
                                                                                                                                      +
                                                                                                                                      5061  // Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
                                                                                                                                      +
                                                                                                                                      5062  {
                                                                                                                                      +
                                                                                                                                      5063  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5064  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5065  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5066  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5067  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5068  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5069  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5070  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5071  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5072  },
                                                                                                                                      +
                                                                                                                                      5073  // Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
                                                                                                                                      +
                                                                                                                                      5074  {
                                                                                                                                      +
                                                                                                                                      5075  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5076  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5077  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5078  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5079  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5080  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5081  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5082  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5083  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5084  },
                                                                                                                                      +
                                                                                                                                      5085 
                                                                                                                                      +
                                                                                                                                      5086 };
                                                                                                                                      +
                                                                                                                                      5087 
                                                                                                                                      +
                                                                                                                                      5088 
                                                                                                                                      +
                                                                                                                                      5089 
                                                                                                                                      +
                                                                                                                                      5090 const basic::ZonePolicy kPolicyTunisia ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5091  kZoneRulesTunisia /*rules*/,
                                                                                                                                      +
                                                                                                                                      5092  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5093  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5094  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5095 };
                                                                                                                                      +
                                                                                                                                      5096 
                                                                                                                                      +
                                                                                                                                      5097 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5098 // Policy name: US
                                                                                                                                      +
                                                                                                                                      5099 // Rules: 5
                                                                                                                                      +
                                                                                                                                      5100 // Memory (8-bit): 51
                                                                                                                                      +
                                                                                                                                      5101 // Memory (32-bit): 72
                                                                                                                                      +
                                                                                                                                      5102 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5103 
                                                                                                                                      +
                                                                                                                                      5104 static const basic::ZoneRule kZoneRulesUS[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5105  // Rule US 1967 2006 - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5106  {
                                                                                                                                      +
                                                                                                                                      5107  -33 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5108  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5109  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5110  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5111  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5112  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5113  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5114  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5115  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5116  },
                                                                                                                                      +
                                                                                                                                      5117  // Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5118  {
                                                                                                                                      +
                                                                                                                                      5119  -24 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5120  -14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5121  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5122  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5123  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5124  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5125  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5126  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5127  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5128  },
                                                                                                                                      +
                                                                                                                                      5129  // Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5130  {
                                                                                                                                      +
                                                                                                                                      5131  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5132  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5133  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5134  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5135  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5136  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5137  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5138  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5139  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5140  },
                                                                                                                                      +
                                                                                                                                      5141  // Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5142  {
                                                                                                                                      +
                                                                                                                                      5143  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5144  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5145  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5146  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5147  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5148  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5149  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5150  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5151  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5152  },
                                                                                                                                      +
                                                                                                                                      5153  // Rule US 2007 max - Nov Sun>=1 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5154  {
                                                                                                                                      +
                                                                                                                                      5155  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5156  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5157  11 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5158  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5159  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5160  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5161  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5162  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5163  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5164  },
                                                                                                                                      +
                                                                                                                                      5165 
                                                                                                                                      +
                                                                                                                                      5166 };
                                                                                                                                      +
                                                                                                                                      5167 
                                                                                                                                      +
                                                                                                                                      5168 
                                                                                                                                      +
                                                                                                                                      5169 
                                                                                                                                      +
                                                                                                                                      5170 const basic::ZonePolicy kPolicyUS ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5171  kZoneRulesUS /*rules*/,
                                                                                                                                      +
                                                                                                                                      5172  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5173  5 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5174  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5175 };
                                                                                                                                      +
                                                                                                                                      5176 
                                                                                                                                      +
                                                                                                                                      5177 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5178 // Policy name: Uruguay
                                                                                                                                      +
                                                                                                                                      5179 // Rules: 6
                                                                                                                                      +
                                                                                                                                      5180 // Memory (8-bit): 60
                                                                                                                                      +
                                                                                                                                      5181 // Memory (32-bit): 84
                                                                                                                                      +
                                                                                                                                      5182 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5183 
                                                                                                                                      +
                                                                                                                                      5184 static const basic::ZoneRule kZoneRulesUruguay[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5185  // Rule Uruguay 1993 only - Feb 28 0:00 0 -
                                                                                                                                      +
                                                                                                                                      5186  {
                                                                                                                                      +
                                                                                                                                      5187  -7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5188  -7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5189  2 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5190  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5191  28 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5192  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5193  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5194  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5195  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5196  },
                                                                                                                                      +
                                                                                                                                      5197  // Rule Uruguay 2004 only - Sep 19 0:00 1:00 -
                                                                                                                                      +
                                                                                                                                      5198  {
                                                                                                                                      +
                                                                                                                                      5199  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5200  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5201  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5202  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5203  19 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5204  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5205  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5206  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5207  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5208  },
                                                                                                                                      +
                                                                                                                                      5209  // Rule Uruguay 2005 only - Mar 27 2:00 0 -
                                                                                                                                      +
                                                                                                                                      5210  {
                                                                                                                                      +
                                                                                                                                      5211  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5212  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5213  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5214  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5215  27 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5216  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5217  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5218  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5219  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5220  },
                                                                                                                                      +
                                                                                                                                      5221  // Rule Uruguay 2005 only - Oct 9 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      5222  {
                                                                                                                                      +
                                                                                                                                      5223  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5224  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5225  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5226  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5227  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5228  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5229  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5230  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5231  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5232  },
                                                                                                                                      +
                                                                                                                                      5233  // Rule Uruguay 2006 2015 - Mar Sun>=8 2:00 0 -
                                                                                                                                      +
                                                                                                                                      5234  {
                                                                                                                                      +
                                                                                                                                      5235  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5236  15 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5237  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5238  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5239  8 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5240  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5241  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5242  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5243  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5244  },
                                                                                                                                      +
                                                                                                                                      5245  // Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 -
                                                                                                                                      +
                                                                                                                                      5246  {
                                                                                                                                      +
                                                                                                                                      5247  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5248  14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5249  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5250  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5251  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5252  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5253  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5254  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5255  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5256  },
                                                                                                                                      +
                                                                                                                                      5257 
                                                                                                                                      +
                                                                                                                                      5258 };
                                                                                                                                      +
                                                                                                                                      5259 
                                                                                                                                      +
                                                                                                                                      5260 
                                                                                                                                      +
                                                                                                                                      5261 
                                                                                                                                      +
                                                                                                                                      5262 const basic::ZonePolicy kPolicyUruguay ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5263  kZoneRulesUruguay /*rules*/,
                                                                                                                                      +
                                                                                                                                      5264  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5265  6 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5266  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5267 };
                                                                                                                                      +
                                                                                                                                      5268 
                                                                                                                                      +
                                                                                                                                      5269 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5270 // Policy name: Vanuatu
                                                                                                                                      +
                                                                                                                                      5271 // Rules: 1
                                                                                                                                      +
                                                                                                                                      5272 // Memory (8-bit): 15
                                                                                                                                      +
                                                                                                                                      5273 // Memory (32-bit): 24
                                                                                                                                      +
                                                                                                                                      5274 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5275 
                                                                                                                                      +
                                                                                                                                      5276 static const basic::ZoneRule kZoneRulesVanuatu[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5277  // Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
                                                                                                                                      +
                                                                                                                                      5278  {
                                                                                                                                      +
                                                                                                                                      5279  -8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5280  -7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5281  1 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5282  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5283  23 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5284  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5285  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5286  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5287  '-' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5288  },
                                                                                                                                      +
                                                                                                                                      5289 
                                                                                                                                      +
                                                                                                                                      5290 };
                                                                                                                                      +
                                                                                                                                      5291 
                                                                                                                                      +
                                                                                                                                      5292 
                                                                                                                                      +
                                                                                                                                      5293 
                                                                                                                                      +
                                                                                                                                      5294 const basic::ZonePolicy kPolicyVanuatu ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5295  kZoneRulesVanuatu /*rules*/,
                                                                                                                                      +
                                                                                                                                      5296  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5297  1 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5298  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5299 };
                                                                                                                                      +
                                                                                                                                      5300 
                                                                                                                                      +
                                                                                                                                      5301 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5302 // Policy name: Winn
                                                                                                                                      +
                                                                                                                                      5303 // Rules: 3
                                                                                                                                      +
                                                                                                                                      5304 // Memory (8-bit): 33
                                                                                                                                      +
                                                                                                                                      5305 // Memory (32-bit): 48
                                                                                                                                      +
                                                                                                                                      5306 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5307 
                                                                                                                                      +
                                                                                                                                      5308 static const basic::ZoneRule kZoneRulesWinn[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5309  // Rule Winn 1966 1986 - Apr lastSun 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      5310  {
                                                                                                                                      +
                                                                                                                                      5311  -34 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5312  -14 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5313  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5314  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5315  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5316  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5317  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5318  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5319  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5320  },
                                                                                                                                      +
                                                                                                                                      5321  // Rule Winn 1966 2005 - Oct lastSun 2:00s 0 S
                                                                                                                                      +
                                                                                                                                      5322  {
                                                                                                                                      +
                                                                                                                                      5323  -34 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5324  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5325  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5326  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5327  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5328  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5329  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5330  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5331  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5332  },
                                                                                                                                      +
                                                                                                                                      5333  // Rule Winn 1987 2005 - Apr Sun>=1 2:00s 1:00 D
                                                                                                                                      +
                                                                                                                                      5334  {
                                                                                                                                      +
                                                                                                                                      5335  -13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5336  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5337  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5338  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5339  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5340  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5341  basic::ZoneContext::kSuffixS /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5342  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5343  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5344  },
                                                                                                                                      +
                                                                                                                                      5345 
                                                                                                                                      +
                                                                                                                                      5346 };
                                                                                                                                      +
                                                                                                                                      5347 
                                                                                                                                      +
                                                                                                                                      5348 
                                                                                                                                      +
                                                                                                                                      5349 
                                                                                                                                      +
                                                                                                                                      5350 const basic::ZonePolicy kPolicyWinn ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5351  kZoneRulesWinn /*rules*/,
                                                                                                                                      +
                                                                                                                                      5352  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5353  3 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5354  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5355 };
                                                                                                                                      +
                                                                                                                                      5356 
                                                                                                                                      +
                                                                                                                                      5357 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5358 // Policy name: Zion
                                                                                                                                      +
                                                                                                                                      5359 // Rules: 24
                                                                                                                                      +
                                                                                                                                      5360 // Memory (8-bit): 222
                                                                                                                                      +
                                                                                                                                      5361 // Memory (32-bit): 300
                                                                                                                                      +
                                                                                                                                      5362 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      5363 
                                                                                                                                      +
                                                                                                                                      5364 static const basic::ZoneRule kZoneRulesZion[] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5365  // Rule Zion 1998 only - Sep 6 0:00 0 S
                                                                                                                                      +
                                                                                                                                      5366  {
                                                                                                                                      +
                                                                                                                                      5367  -2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5368  -2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5369  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5370  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5371  6 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5372  0 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5373  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5374  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5375  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5376  },
                                                                                                                                      +
                                                                                                                                      5377  // Rule Zion 1999 only - Apr 2 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5378  {
                                                                                                                                      +
                                                                                                                                      5379  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5380  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5381  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5382  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5383  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5384  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5385  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5386  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5387  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5388  },
                                                                                                                                      +
                                                                                                                                      5389  // Rule Zion 1999 only - Sep 3 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5390  {
                                                                                                                                      +
                                                                                                                                      5391  -1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5392  -1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5393  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5394  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5395  3 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5396  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5397  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5398  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5399  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5400  },
                                                                                                                                      +
                                                                                                                                      5401  // Rule Zion 2000 only - Apr 14 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5402  {
                                                                                                                                      +
                                                                                                                                      5403  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5404  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5405  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5406  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5407  14 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5408  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5409  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5410  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5411  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5412  },
                                                                                                                                      +
                                                                                                                                      5413  // Rule Zion 2000 only - Oct 6 1:00 0 S
                                                                                                                                      +
                                                                                                                                      5414  {
                                                                                                                                      +
                                                                                                                                      5415  0 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5416  0 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5417  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5418  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5419  6 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5420  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5421  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5422  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5423  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5424  },
                                                                                                                                      +
                                                                                                                                      5425  // Rule Zion 2001 only - Apr 9 1:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5426  {
                                                                                                                                      +
                                                                                                                                      5427  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5428  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5429  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5430  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5431  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5432  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5433  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5434  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5435  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5436  },
                                                                                                                                      +
                                                                                                                                      5437  // Rule Zion 2001 only - Sep 24 1:00 0 S
                                                                                                                                      +
                                                                                                                                      5438  {
                                                                                                                                      +
                                                                                                                                      5439  1 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5440  1 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5441  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5442  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5443  24 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5444  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5445  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5446  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5447  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5448  },
                                                                                                                                      +
                                                                                                                                      5449  // Rule Zion 2002 only - Mar 29 1:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5450  {
                                                                                                                                      +
                                                                                                                                      5451  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5452  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5453  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5454  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5455  29 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5456  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5457  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5458  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5459  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5460  },
                                                                                                                                      +
                                                                                                                                      5461  // Rule Zion 2002 only - Oct 7 1:00 0 S
                                                                                                                                      +
                                                                                                                                      5462  {
                                                                                                                                      +
                                                                                                                                      5463  2 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5464  2 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5465  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5466  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5467  7 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5468  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5469  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5470  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5471  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5472  },
                                                                                                                                      +
                                                                                                                                      5473  // Rule Zion 2003 only - Mar 28 1:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5474  {
                                                                                                                                      +
                                                                                                                                      5475  3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5476  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5477  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5478  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5479  28 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5480  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5481  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5482  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5483  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5484  },
                                                                                                                                      +
                                                                                                                                      5485  // Rule Zion 2003 only - Oct 3 1:00 0 S
                                                                                                                                      +
                                                                                                                                      5486  {
                                                                                                                                      +
                                                                                                                                      5487  3 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5488  3 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5489  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5490  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5491  3 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5492  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5493  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5494  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5495  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5496  },
                                                                                                                                      +
                                                                                                                                      5497  // Rule Zion 2004 only - Apr 7 1:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5498  {
                                                                                                                                      +
                                                                                                                                      5499  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5500  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5501  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5502  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5503  7 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5504  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5505  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5506  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5507  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5508  },
                                                                                                                                      +
                                                                                                                                      5509  // Rule Zion 2004 only - Sep 22 1:00 0 S
                                                                                                                                      +
                                                                                                                                      5510  {
                                                                                                                                      +
                                                                                                                                      5511  4 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5512  4 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5513  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5514  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5515  22 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5516  4 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5517  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5518  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5519  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5520  },
                                                                                                                                      +
                                                                                                                                      5521  // Rule Zion 2005 2012 - Apr Fri<=1 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5522  {
                                                                                                                                      +
                                                                                                                                      5523  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5524  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5525  4 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5526  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5527  -1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5528  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5529  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5530  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5531  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5532  },
                                                                                                                                      +
                                                                                                                                      5533  // Rule Zion 2005 only - Oct 9 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5534  {
                                                                                                                                      +
                                                                                                                                      5535  5 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5536  5 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5537  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5538  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5539  9 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5540  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5541  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5542  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5543  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5544  },
                                                                                                                                      +
                                                                                                                                      5545  // Rule Zion 2006 only - Oct 1 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5546  {
                                                                                                                                      +
                                                                                                                                      5547  6 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5548  6 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5549  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5550  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5551  1 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5552  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5553  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5554  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5555  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5556  },
                                                                                                                                      +
                                                                                                                                      5557  // Rule Zion 2007 only - Sep 16 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5558  {
                                                                                                                                      +
                                                                                                                                      5559  7 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5560  7 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5561  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5562  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5563  16 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5564  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5565  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5566  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5567  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5568  },
                                                                                                                                      +
                                                                                                                                      5569  // Rule Zion 2008 only - Oct 5 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5570  {
                                                                                                                                      +
                                                                                                                                      5571  8 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5572  8 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5573  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5574  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5575  5 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5576  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5577  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5578  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5579  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5580  },
                                                                                                                                      +
                                                                                                                                      5581  // Rule Zion 2009 only - Sep 27 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5582  {
                                                                                                                                      +
                                                                                                                                      5583  9 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5584  9 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5585  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5586  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5587  27 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5588  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5589  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5590  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5591  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5592  },
                                                                                                                                      +
                                                                                                                                      5593  // Rule Zion 2010 only - Sep 12 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5594  {
                                                                                                                                      +
                                                                                                                                      5595  10 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5596  10 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5597  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5598  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5599  12 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5600  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5601  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5602  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5603  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5604  },
                                                                                                                                      +
                                                                                                                                      5605  // Rule Zion 2011 only - Oct 2 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5606  {
                                                                                                                                      +
                                                                                                                                      5607  11 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5608  11 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5609  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5610  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5611  2 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5612  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5613  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5614  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5615  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5616  },
                                                                                                                                      +
                                                                                                                                      5617  // Rule Zion 2012 only - Sep 23 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5618  {
                                                                                                                                      +
                                                                                                                                      5619  12 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5620  12 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5621  9 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5622  0 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5623  23 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5624  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5625  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5626  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5627  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5628  },
                                                                                                                                      +
                                                                                                                                      5629  // Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D
                                                                                                                                      +
                                                                                                                                      5630  {
                                                                                                                                      +
                                                                                                                                      5631  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5632  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5633  3 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5634  5 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5635  23 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5636  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5637  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5638  4 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5639  'D' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5640  },
                                                                                                                                      +
                                                                                                                                      5641  // Rule Zion 2013 max - Oct lastSun 2:00 0 S
                                                                                                                                      +
                                                                                                                                      5642  {
                                                                                                                                      +
                                                                                                                                      5643  13 /*fromYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5644  126 /*toYearTiny*/,
                                                                                                                                      +
                                                                                                                                      5645  10 /*inMonth*/,
                                                                                                                                      +
                                                                                                                                      5646  7 /*onDayOfWeek*/,
                                                                                                                                      +
                                                                                                                                      5647  0 /*onDayOfMonth*/,
                                                                                                                                      +
                                                                                                                                      5648  8 /*atTimeCode*/,
                                                                                                                                      +
                                                                                                                                      5649  basic::ZoneContext::kSuffixW /*atTimeModifier*/,
                                                                                                                                      +
                                                                                                                                      5650  0 /*deltaCode*/,
                                                                                                                                      +
                                                                                                                                      5651  'S' /*letter*/,
                                                                                                                                      +
                                                                                                                                      5652  },
                                                                                                                                      +
                                                                                                                                      5653 
                                                                                                                                      +
                                                                                                                                      5654 };
                                                                                                                                      +
                                                                                                                                      5655 
                                                                                                                                      +
                                                                                                                                      5656 
                                                                                                                                      +
                                                                                                                                      5657 
                                                                                                                                      +
                                                                                                                                      5658 const basic::ZonePolicy kPolicyZion ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      5659  kZoneRulesZion /*rules*/,
                                                                                                                                      +
                                                                                                                                      5660  nullptr /* letters */,
                                                                                                                                      +
                                                                                                                                      5661  24 /*numRules*/,
                                                                                                                                      +
                                                                                                                                      5662  0 /* numLetters */,
                                                                                                                                      +
                                                                                                                                      5663 };
                                                                                                                                      +
                                                                                                                                      5664 
                                                                                                                                      +
                                                                                                                                      5665 
                                                                                                                                      +
                                                                                                                                      5666 
                                                                                                                                      +
                                                                                                                                      5667 }
                                                                                                                                      +
                                                                                                                                      5668 }
                                                                                                                                      + diff --git a/docs/html/zone__policies_8h_source.html b/docs/html/zone__policies_8h_source.html index 993fb6267..60e1f880f 100644 --- a/docs/html/zone__policies_8h_source.html +++ b/docs/html/zone__policies_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb/zone_policies.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb/zone_policies.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zone_policies.h
                                                                                                                                      -
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      2 //
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      4 //
                                                                                                                                      5 // using the TZ Database files
                                                                                                                                      6 //
                                                                                                                                      7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
                                                                                                                                      8 //
                                                                                                                                      9 // from https://github.com/eggert/tz/releases/tag/2020a
                                                                                                                                      10 //
                                                                                                                                      11 // DO NOT EDIT
                                                                                                                                      12 
                                                                                                                                      13 #ifndef ACE_TIME_ZONEDB_ZONE_POLICIES_H
                                                                                                                                      14 #define ACE_TIME_ZONEDB_ZONE_POLICIES_H
                                                                                                                                      15 
                                                                                                                                      16 #include <ace_time/internal/ZonePolicy.h>
                                                                                                                                      17 
                                                                                                                                      18 namespace ace_time {
                                                                                                                                      19 namespace zonedb {
                                                                                                                                      20 
                                                                                                                                      21 //---------------------------------------------------------------------------
                                                                                                                                      22 // Supported zone policies: 65
                                                                                                                                      23 //
                                                                                                                                      24 extern const basic::ZonePolicy kPolicyAN;
                                                                                                                                      25 extern const basic::ZonePolicy kPolicyAQ;
                                                                                                                                      26 extern const basic::ZonePolicy kPolicyAS;
                                                                                                                                      27 extern const basic::ZonePolicy kPolicyAT;
                                                                                                                                      28 extern const basic::ZonePolicy kPolicyAV;
                                                                                                                                      29 extern const basic::ZonePolicy kPolicyAW;
                                                                                                                                      30 extern const basic::ZonePolicy kPolicyArmenia;
                                                                                                                                      31 extern const basic::ZonePolicy kPolicyAus;
                                                                                                                                      32 extern const basic::ZonePolicy kPolicyAzer;
                                                                                                                                      33 extern const basic::ZonePolicy kPolicyBarb;
                                                                                                                                      34 extern const basic::ZonePolicy kPolicyBrazil;
                                                                                                                                      35 extern const basic::ZonePolicy kPolicyC_Eur;
                                                                                                                                      36 extern const basic::ZonePolicy kPolicyCO;
                                                                                                                                      37 extern const basic::ZonePolicy kPolicyCR;
                                                                                                                                      38 extern const basic::ZonePolicy kPolicyCanada;
                                                                                                                                      39 extern const basic::ZonePolicy kPolicyChatham;
                                                                                                                                      40 extern const basic::ZonePolicy kPolicyChile;
                                                                                                                                      41 extern const basic::ZonePolicy kPolicyCook;
                                                                                                                                      42 extern const basic::ZonePolicy kPolicyCuba;
                                                                                                                                      43 extern const basic::ZonePolicy kPolicyDhaka;
                                                                                                                                      44 extern const basic::ZonePolicy kPolicyEU;
                                                                                                                                      45 extern const basic::ZonePolicy kPolicyEUAsia;
                                                                                                                                      46 extern const basic::ZonePolicy kPolicyEcuador;
                                                                                                                                      47 extern const basic::ZonePolicy kPolicyEire;
                                                                                                                                      48 extern const basic::ZonePolicy kPolicyFiji;
                                                                                                                                      49 extern const basic::ZonePolicy kPolicyGhana;
                                                                                                                                      50 extern const basic::ZonePolicy kPolicyGuat;
                                                                                                                                      51 extern const basic::ZonePolicy kPolicyHK;
                                                                                                                                      52 extern const basic::ZonePolicy kPolicyHaiti;
                                                                                                                                      53 extern const basic::ZonePolicy kPolicyHoliday;
                                                                                                                                      54 extern const basic::ZonePolicy kPolicyHond;
                                                                                                                                      55 extern const basic::ZonePolicy kPolicyIran;
                                                                                                                                      56 extern const basic::ZonePolicy kPolicyIraq;
                                                                                                                                      57 extern const basic::ZonePolicy kPolicyJapan;
                                                                                                                                      58 extern const basic::ZonePolicy kPolicyJordan;
                                                                                                                                      59 extern const basic::ZonePolicy kPolicyLH;
                                                                                                                                      60 extern const basic::ZonePolicy kPolicyLebanon;
                                                                                                                                      61 extern const basic::ZonePolicy kPolicyMacau;
                                                                                                                                      62 extern const basic::ZonePolicy kPolicyMauritius;
                                                                                                                                      63 extern const basic::ZonePolicy kPolicyMexico;
                                                                                                                                      64 extern const basic::ZonePolicy kPolicyMoldova;
                                                                                                                                      65 extern const basic::ZonePolicy kPolicyMoncton;
                                                                                                                                      66 extern const basic::ZonePolicy kPolicyMongol;
                                                                                                                                      67 extern const basic::ZonePolicy kPolicyNC;
                                                                                                                                      68 extern const basic::ZonePolicy kPolicyNZ;
                                                                                                                                      69 extern const basic::ZonePolicy kPolicyNic;
                                                                                                                                      70 extern const basic::ZonePolicy kPolicyPRC;
                                                                                                                                      71 extern const basic::ZonePolicy kPolicyPakistan;
                                                                                                                                      72 extern const basic::ZonePolicy kPolicyPara;
                                                                                                                                      73 extern const basic::ZonePolicy kPolicyPeru;
                                                                                                                                      74 extern const basic::ZonePolicy kPolicyPhil;
                                                                                                                                      75 extern const basic::ZonePolicy kPolicyROK;
                                                                                                                                      76 extern const basic::ZonePolicy kPolicyRussiaAsia;
                                                                                                                                      77 extern const basic::ZonePolicy kPolicySA;
                                                                                                                                      78 extern const basic::ZonePolicy kPolicySalv;
                                                                                                                                      79 extern const basic::ZonePolicy kPolicySyria;
                                                                                                                                      80 extern const basic::ZonePolicy kPolicyTaiwan;
                                                                                                                                      81 extern const basic::ZonePolicy kPolicyThule;
                                                                                                                                      82 extern const basic::ZonePolicy kPolicyTonga;
                                                                                                                                      83 extern const basic::ZonePolicy kPolicyTunisia;
                                                                                                                                      84 extern const basic::ZonePolicy kPolicyUS;
                                                                                                                                      85 extern const basic::ZonePolicy kPolicyUruguay;
                                                                                                                                      86 extern const basic::ZonePolicy kPolicyVanuatu;
                                                                                                                                      87 extern const basic::ZonePolicy kPolicyWinn;
                                                                                                                                      88 extern const basic::ZonePolicy kPolicyZion;
                                                                                                                                      89 
                                                                                                                                      90 
                                                                                                                                      91 //---------------------------------------------------------------------------
                                                                                                                                      92 // Unsupported zone policies: 74
                                                                                                                                      93 //
                                                                                                                                      94 // kPolicyAlbania (unused)
                                                                                                                                      95 // kPolicyAlgeria (unused)
                                                                                                                                      96 // kPolicyArg (unused)
                                                                                                                                      97 // kPolicyAustria (unused)
                                                                                                                                      98 // kPolicyBahamas (unused)
                                                                                                                                      99 // kPolicyBelgium (unused)
                                                                                                                                      100 // kPolicyBelize (LETTER 'CST' too long)
                                                                                                                                      101 // kPolicyBulg (unused)
                                                                                                                                      102 // kPolicyCA (unused)
                                                                                                                                      103 // kPolicyChicago (unused)
                                                                                                                                      104 // kPolicyCyprus (unused)
                                                                                                                                      105 // kPolicyCzech (unused)
                                                                                                                                      106 // kPolicyDR (unused)
                                                                                                                                      107 // kPolicyDenmark (unused)
                                                                                                                                      108 // kPolicyDenver (unused)
                                                                                                                                      109 // kPolicyDetroit (unused)
                                                                                                                                      110 // kPolicyE-Eur (unused)
                                                                                                                                      111 // kPolicyE-EurAsia (unused)
                                                                                                                                      112 // kPolicyEdm (unused)
                                                                                                                                      113 // kPolicyEgypt (Found 2 transitions in year/month '2010-09')
                                                                                                                                      114 // kPolicyEgyptAsia (unused)
                                                                                                                                      115 // kPolicyFalk (unused)
                                                                                                                                      116 // kPolicyFinland (unused)
                                                                                                                                      117 // kPolicyFrance (unused)
                                                                                                                                      118 // kPolicyGB-Eire (unused)
                                                                                                                                      119 // kPolicyGermany (unused)
                                                                                                                                      120 // kPolicyGreece (unused)
                                                                                                                                      121 // kPolicyGuam (unused)
                                                                                                                                      122 // kPolicyHalifax (unused)
                                                                                                                                      123 // kPolicyHungary (unused)
                                                                                                                                      124 // kPolicyIceland (unused)
                                                                                                                                      125 // kPolicyIndianapolis (unused)
                                                                                                                                      126 // kPolicyItaly (unused)
                                                                                                                                      127 // kPolicyKyrgyz (unused)
                                                                                                                                      128 // kPolicyLatvia (unused)
                                                                                                                                      129 // kPolicyLibya (unused)
                                                                                                                                      130 // kPolicyLouisville (unused)
                                                                                                                                      131 // kPolicyLux (unused)
                                                                                                                                      132 // kPolicyMalta (unused)
                                                                                                                                      133 // kPolicyMarengo (unused)
                                                                                                                                      134 // kPolicyMenominee (unused)
                                                                                                                                      135 // kPolicyMorocco (unused)
                                                                                                                                      136 // kPolicyNBorneo (unused)
                                                                                                                                      137 // kPolicyNT_YK (unused)
                                                                                                                                      138 // kPolicyNYC (unused)
                                                                                                                                      139 // kPolicyNamibia (LETTER 'WAT' too long)
                                                                                                                                      140 // kPolicyNeth (unused)
                                                                                                                                      141 // kPolicyNorway (unused)
                                                                                                                                      142 // kPolicyPalestine (Found 2 transitions in year/month '2011-08')
                                                                                                                                      143 // kPolicyPerry (unused)
                                                                                                                                      144 // kPolicyPike (unused)
                                                                                                                                      145 // kPolicyPoland (unused)
                                                                                                                                      146 // kPolicyPort (unused)
                                                                                                                                      147 // kPolicyPulaski (unused)
                                                                                                                                      148 // kPolicyRegina (unused)
                                                                                                                                      149 // kPolicyRomania (unused)
                                                                                                                                      150 // kPolicyRussia (unused)
                                                                                                                                      151 // kPolicySanLuis (unused)
                                                                                                                                      152 // kPolicyShang (unused)
                                                                                                                                      153 // kPolicySovietZone (unused)
                                                                                                                                      154 // kPolicySpain (unused)
                                                                                                                                      155 // kPolicySpainAfrica (unused)
                                                                                                                                      156 // kPolicyStJohns (unused)
                                                                                                                                      157 // kPolicyStarke (unused)
                                                                                                                                      158 // kPolicySudan (unused)
                                                                                                                                      159 // kPolicySwift (unused)
                                                                                                                                      160 // kPolicySwiss (unused)
                                                                                                                                      161 // kPolicyToronto (unused)
                                                                                                                                      162 // kPolicyTroll (unused)
                                                                                                                                      163 // kPolicyTurkey (unused)
                                                                                                                                      164 // kPolicyVanc (unused)
                                                                                                                                      165 // kPolicyVincennes (unused)
                                                                                                                                      166 // kPolicyW-Eur (unused)
                                                                                                                                      167 // kPolicyWS (unused)
                                                                                                                                      168 
                                                                                                                                      169 
                                                                                                                                      170 // Notable zone policies: 0
                                                                                                                                      171 //
                                                                                                                                      172 
                                                                                                                                      173 
                                                                                                                                      174 }
                                                                                                                                      175 }
                                                                                                                                      176 
                                                                                                                                      177 #endif
                                                                                                                                      +
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      +
                                                                                                                                      2 //
                                                                                                                                      +
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      +
                                                                                                                                      4 //
                                                                                                                                      +
                                                                                                                                      5 // using the TZ Database files
                                                                                                                                      +
                                                                                                                                      6 //
                                                                                                                                      +
                                                                                                                                      7 // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica
                                                                                                                                      +
                                                                                                                                      8 //
                                                                                                                                      +
                                                                                                                                      9 // from https://github.com/eggert/tz/releases/tag/2020c
                                                                                                                                      +
                                                                                                                                      10 //
                                                                                                                                      +
                                                                                                                                      11 // DO NOT EDIT
                                                                                                                                      +
                                                                                                                                      12 
                                                                                                                                      +
                                                                                                                                      13 #ifndef ACE_TIME_ZONEDB_ZONE_POLICIES_H
                                                                                                                                      +
                                                                                                                                      14 #define ACE_TIME_ZONEDB_ZONE_POLICIES_H
                                                                                                                                      +
                                                                                                                                      15 
                                                                                                                                      +
                                                                                                                                      16 #include <ace_time/internal/ZonePolicy.h>
                                                                                                                                      +
                                                                                                                                      17 
                                                                                                                                      +
                                                                                                                                      18 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      19 namespace zonedb {
                                                                                                                                      +
                                                                                                                                      20 
                                                                                                                                      +
                                                                                                                                      21 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      22 // Supported zone policies: 65
                                                                                                                                      +
                                                                                                                                      23 //
                                                                                                                                      +
                                                                                                                                      24 extern const basic::ZonePolicy kPolicyAN;
                                                                                                                                      +
                                                                                                                                      25 extern const basic::ZonePolicy kPolicyAQ;
                                                                                                                                      +
                                                                                                                                      26 extern const basic::ZonePolicy kPolicyAS;
                                                                                                                                      +
                                                                                                                                      27 extern const basic::ZonePolicy kPolicyAT;
                                                                                                                                      +
                                                                                                                                      28 extern const basic::ZonePolicy kPolicyAV;
                                                                                                                                      +
                                                                                                                                      29 extern const basic::ZonePolicy kPolicyAW;
                                                                                                                                      +
                                                                                                                                      30 extern const basic::ZonePolicy kPolicyArmenia;
                                                                                                                                      +
                                                                                                                                      31 extern const basic::ZonePolicy kPolicyAus;
                                                                                                                                      +
                                                                                                                                      32 extern const basic::ZonePolicy kPolicyAzer;
                                                                                                                                      +
                                                                                                                                      33 extern const basic::ZonePolicy kPolicyBarb;
                                                                                                                                      +
                                                                                                                                      34 extern const basic::ZonePolicy kPolicyBrazil;
                                                                                                                                      +
                                                                                                                                      35 extern const basic::ZonePolicy kPolicyC_Eur;
                                                                                                                                      +
                                                                                                                                      36 extern const basic::ZonePolicy kPolicyCO;
                                                                                                                                      +
                                                                                                                                      37 extern const basic::ZonePolicy kPolicyCR;
                                                                                                                                      +
                                                                                                                                      38 extern const basic::ZonePolicy kPolicyCanada;
                                                                                                                                      +
                                                                                                                                      39 extern const basic::ZonePolicy kPolicyChatham;
                                                                                                                                      +
                                                                                                                                      40 extern const basic::ZonePolicy kPolicyChile;
                                                                                                                                      +
                                                                                                                                      41 extern const basic::ZonePolicy kPolicyCook;
                                                                                                                                      +
                                                                                                                                      42 extern const basic::ZonePolicy kPolicyCuba;
                                                                                                                                      +
                                                                                                                                      43 extern const basic::ZonePolicy kPolicyDhaka;
                                                                                                                                      +
                                                                                                                                      44 extern const basic::ZonePolicy kPolicyEU;
                                                                                                                                      +
                                                                                                                                      45 extern const basic::ZonePolicy kPolicyEUAsia;
                                                                                                                                      +
                                                                                                                                      46 extern const basic::ZonePolicy kPolicyEcuador;
                                                                                                                                      +
                                                                                                                                      47 extern const basic::ZonePolicy kPolicyEire;
                                                                                                                                      +
                                                                                                                                      48 extern const basic::ZonePolicy kPolicyFiji;
                                                                                                                                      +
                                                                                                                                      49 extern const basic::ZonePolicy kPolicyGhana;
                                                                                                                                      +
                                                                                                                                      50 extern const basic::ZonePolicy kPolicyGuat;
                                                                                                                                      +
                                                                                                                                      51 extern const basic::ZonePolicy kPolicyHK;
                                                                                                                                      +
                                                                                                                                      52 extern const basic::ZonePolicy kPolicyHaiti;
                                                                                                                                      +
                                                                                                                                      53 extern const basic::ZonePolicy kPolicyHoliday;
                                                                                                                                      +
                                                                                                                                      54 extern const basic::ZonePolicy kPolicyHond;
                                                                                                                                      +
                                                                                                                                      55 extern const basic::ZonePolicy kPolicyIran;
                                                                                                                                      +
                                                                                                                                      56 extern const basic::ZonePolicy kPolicyIraq;
                                                                                                                                      +
                                                                                                                                      57 extern const basic::ZonePolicy kPolicyJapan;
                                                                                                                                      +
                                                                                                                                      58 extern const basic::ZonePolicy kPolicyJordan;
                                                                                                                                      +
                                                                                                                                      59 extern const basic::ZonePolicy kPolicyLH;
                                                                                                                                      +
                                                                                                                                      60 extern const basic::ZonePolicy kPolicyLebanon;
                                                                                                                                      +
                                                                                                                                      61 extern const basic::ZonePolicy kPolicyMacau;
                                                                                                                                      +
                                                                                                                                      62 extern const basic::ZonePolicy kPolicyMauritius;
                                                                                                                                      +
                                                                                                                                      63 extern const basic::ZonePolicy kPolicyMexico;
                                                                                                                                      +
                                                                                                                                      64 extern const basic::ZonePolicy kPolicyMoldova;
                                                                                                                                      +
                                                                                                                                      65 extern const basic::ZonePolicy kPolicyMoncton;
                                                                                                                                      +
                                                                                                                                      66 extern const basic::ZonePolicy kPolicyMongol;
                                                                                                                                      +
                                                                                                                                      67 extern const basic::ZonePolicy kPolicyNC;
                                                                                                                                      +
                                                                                                                                      68 extern const basic::ZonePolicy kPolicyNZ;
                                                                                                                                      +
                                                                                                                                      69 extern const basic::ZonePolicy kPolicyNic;
                                                                                                                                      +
                                                                                                                                      70 extern const basic::ZonePolicy kPolicyPRC;
                                                                                                                                      +
                                                                                                                                      71 extern const basic::ZonePolicy kPolicyPakistan;
                                                                                                                                      +
                                                                                                                                      72 extern const basic::ZonePolicy kPolicyPara;
                                                                                                                                      +
                                                                                                                                      73 extern const basic::ZonePolicy kPolicyPeru;
                                                                                                                                      +
                                                                                                                                      74 extern const basic::ZonePolicy kPolicyPhil;
                                                                                                                                      +
                                                                                                                                      75 extern const basic::ZonePolicy kPolicyROK;
                                                                                                                                      +
                                                                                                                                      76 extern const basic::ZonePolicy kPolicyRussiaAsia;
                                                                                                                                      +
                                                                                                                                      77 extern const basic::ZonePolicy kPolicySA;
                                                                                                                                      +
                                                                                                                                      78 extern const basic::ZonePolicy kPolicySalv;
                                                                                                                                      +
                                                                                                                                      79 extern const basic::ZonePolicy kPolicySyria;
                                                                                                                                      +
                                                                                                                                      80 extern const basic::ZonePolicy kPolicyTaiwan;
                                                                                                                                      +
                                                                                                                                      81 extern const basic::ZonePolicy kPolicyThule;
                                                                                                                                      +
                                                                                                                                      82 extern const basic::ZonePolicy kPolicyTonga;
                                                                                                                                      +
                                                                                                                                      83 extern const basic::ZonePolicy kPolicyTunisia;
                                                                                                                                      +
                                                                                                                                      84 extern const basic::ZonePolicy kPolicyUS;
                                                                                                                                      +
                                                                                                                                      85 extern const basic::ZonePolicy kPolicyUruguay;
                                                                                                                                      +
                                                                                                                                      86 extern const basic::ZonePolicy kPolicyVanuatu;
                                                                                                                                      +
                                                                                                                                      87 extern const basic::ZonePolicy kPolicyWinn;
                                                                                                                                      +
                                                                                                                                      88 extern const basic::ZonePolicy kPolicyZion;
                                                                                                                                      +
                                                                                                                                      89 
                                                                                                                                      +
                                                                                                                                      90 
                                                                                                                                      +
                                                                                                                                      91 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      92 // Unsupported zone policies: 74
                                                                                                                                      +
                                                                                                                                      93 //
                                                                                                                                      +
                                                                                                                                      94 // kPolicyAlbania (unused)
                                                                                                                                      +
                                                                                                                                      95 // kPolicyAlgeria (unused)
                                                                                                                                      +
                                                                                                                                      96 // kPolicyArg (unused)
                                                                                                                                      +
                                                                                                                                      97 // kPolicyAustria (unused)
                                                                                                                                      +
                                                                                                                                      98 // kPolicyBahamas (unused)
                                                                                                                                      +
                                                                                                                                      99 // kPolicyBelgium (unused)
                                                                                                                                      +
                                                                                                                                      100 // kPolicyBelize (LETTER 'CST' too long)
                                                                                                                                      +
                                                                                                                                      101 // kPolicyBulg (unused)
                                                                                                                                      +
                                                                                                                                      102 // kPolicyCA (unused)
                                                                                                                                      +
                                                                                                                                      103 // kPolicyChicago (unused)
                                                                                                                                      +
                                                                                                                                      104 // kPolicyCyprus (unused)
                                                                                                                                      +
                                                                                                                                      105 // kPolicyCzech (unused)
                                                                                                                                      +
                                                                                                                                      106 // kPolicyDR (unused)
                                                                                                                                      +
                                                                                                                                      107 // kPolicyDenmark (unused)
                                                                                                                                      +
                                                                                                                                      108 // kPolicyDenver (unused)
                                                                                                                                      +
                                                                                                                                      109 // kPolicyDetroit (unused)
                                                                                                                                      +
                                                                                                                                      110 // kPolicyE-Eur (unused)
                                                                                                                                      +
                                                                                                                                      111 // kPolicyE-EurAsia (unused)
                                                                                                                                      +
                                                                                                                                      112 // kPolicyEdm (unused)
                                                                                                                                      +
                                                                                                                                      113 // kPolicyEgypt (Found 2 transitions in year/month '2010-09')
                                                                                                                                      +
                                                                                                                                      114 // kPolicyEgyptAsia (unused)
                                                                                                                                      +
                                                                                                                                      115 // kPolicyFalk (unused)
                                                                                                                                      +
                                                                                                                                      116 // kPolicyFinland (unused)
                                                                                                                                      +
                                                                                                                                      117 // kPolicyFrance (unused)
                                                                                                                                      +
                                                                                                                                      118 // kPolicyGB-Eire (unused)
                                                                                                                                      +
                                                                                                                                      119 // kPolicyGermany (unused)
                                                                                                                                      +
                                                                                                                                      120 // kPolicyGreece (unused)
                                                                                                                                      +
                                                                                                                                      121 // kPolicyGuam (unused)
                                                                                                                                      +
                                                                                                                                      122 // kPolicyHalifax (unused)
                                                                                                                                      +
                                                                                                                                      123 // kPolicyHungary (unused)
                                                                                                                                      +
                                                                                                                                      124 // kPolicyIceland (unused)
                                                                                                                                      +
                                                                                                                                      125 // kPolicyIndianapolis (unused)
                                                                                                                                      +
                                                                                                                                      126 // kPolicyItaly (unused)
                                                                                                                                      +
                                                                                                                                      127 // kPolicyKyrgyz (unused)
                                                                                                                                      +
                                                                                                                                      128 // kPolicyLatvia (unused)
                                                                                                                                      +
                                                                                                                                      129 // kPolicyLibya (unused)
                                                                                                                                      +
                                                                                                                                      130 // kPolicyLouisville (unused)
                                                                                                                                      +
                                                                                                                                      131 // kPolicyLux (unused)
                                                                                                                                      +
                                                                                                                                      132 // kPolicyMalta (unused)
                                                                                                                                      +
                                                                                                                                      133 // kPolicyMarengo (unused)
                                                                                                                                      +
                                                                                                                                      134 // kPolicyMenominee (unused)
                                                                                                                                      +
                                                                                                                                      135 // kPolicyMorocco (unused)
                                                                                                                                      +
                                                                                                                                      136 // kPolicyNBorneo (unused)
                                                                                                                                      +
                                                                                                                                      137 // kPolicyNT_YK (unused)
                                                                                                                                      +
                                                                                                                                      138 // kPolicyNYC (unused)
                                                                                                                                      +
                                                                                                                                      139 // kPolicyNamibia (LETTER 'WAT' too long)
                                                                                                                                      +
                                                                                                                                      140 // kPolicyNeth (unused)
                                                                                                                                      +
                                                                                                                                      141 // kPolicyNorway (unused)
                                                                                                                                      +
                                                                                                                                      142 // kPolicyPalestine (Found 2 transitions in year/month '2011-08')
                                                                                                                                      +
                                                                                                                                      143 // kPolicyPerry (unused)
                                                                                                                                      +
                                                                                                                                      144 // kPolicyPike (unused)
                                                                                                                                      +
                                                                                                                                      145 // kPolicyPoland (unused)
                                                                                                                                      +
                                                                                                                                      146 // kPolicyPort (unused)
                                                                                                                                      +
                                                                                                                                      147 // kPolicyPulaski (unused)
                                                                                                                                      +
                                                                                                                                      148 // kPolicyRegina (unused)
                                                                                                                                      +
                                                                                                                                      149 // kPolicyRomania (unused)
                                                                                                                                      +
                                                                                                                                      150 // kPolicyRussia (unused)
                                                                                                                                      +
                                                                                                                                      151 // kPolicySanLuis (unused)
                                                                                                                                      +
                                                                                                                                      152 // kPolicyShang (unused)
                                                                                                                                      +
                                                                                                                                      153 // kPolicySovietZone (unused)
                                                                                                                                      +
                                                                                                                                      154 // kPolicySpain (unused)
                                                                                                                                      +
                                                                                                                                      155 // kPolicySpainAfrica (unused)
                                                                                                                                      +
                                                                                                                                      156 // kPolicyStJohns (unused)
                                                                                                                                      +
                                                                                                                                      157 // kPolicyStarke (unused)
                                                                                                                                      +
                                                                                                                                      158 // kPolicySudan (unused)
                                                                                                                                      +
                                                                                                                                      159 // kPolicySwift (unused)
                                                                                                                                      +
                                                                                                                                      160 // kPolicySwiss (unused)
                                                                                                                                      +
                                                                                                                                      161 // kPolicyToronto (unused)
                                                                                                                                      +
                                                                                                                                      162 // kPolicyTroll (unused)
                                                                                                                                      +
                                                                                                                                      163 // kPolicyTurkey (unused)
                                                                                                                                      +
                                                                                                                                      164 // kPolicyVanc (unused)
                                                                                                                                      +
                                                                                                                                      165 // kPolicyVincennes (unused)
                                                                                                                                      +
                                                                                                                                      166 // kPolicyW-Eur (unused)
                                                                                                                                      +
                                                                                                                                      167 // kPolicyWS (unused)
                                                                                                                                      +
                                                                                                                                      168 
                                                                                                                                      +
                                                                                                                                      169 
                                                                                                                                      +
                                                                                                                                      170 // Notable zone policies: 0
                                                                                                                                      +
                                                                                                                                      171 //
                                                                                                                                      +
                                                                                                                                      172 
                                                                                                                                      +
                                                                                                                                      173 
                                                                                                                                      +
                                                                                                                                      174 }
                                                                                                                                      +
                                                                                                                                      175 }
                                                                                                                                      +
                                                                                                                                      176 
                                                                                                                                      +
                                                                                                                                      177 #endif
                                                                                                                                      diff --git a/docs/html/zone__registry_8cpp_source.html b/docs/html/zone__registry_8cpp_source.html index b872e558c..80d727c74 100644 --- a/docs/html/zone__registry_8cpp_source.html +++ b/docs/html/zone__registry_8cpp_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb/zone_registry.cpp Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb/zone_registry.cpp Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zone_registry.cpp
                                                                                                                                      -
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      2 //
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      4 //
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020a
                                                                                                                                      7 //
                                                                                                                                      8 // DO NOT EDIT
                                                                                                                                      9 
                                                                                                                                      10 #include <ace_time/common/compat.h>
                                                                                                                                      11 #include "zone_infos.h"
                                                                                                                                      12 #include "zone_registry.h"
                                                                                                                                      13 
                                                                                                                                      14 namespace ace_time {
                                                                                                                                      15 namespace zonedb {
                                                                                                                                      16 
                                                                                                                                      17 //---------------------------------------------------------------------------
                                                                                                                                      18 // Zone registry. Sorted by zone name.
                                                                                                                                      19 //---------------------------------------------------------------------------
                                                                                                                                      20 const basic::ZoneInfo* const kZoneRegistry[268] ACE_TIME_PROGMEM = {
                                                                                                                                      21  &kZoneAfrica_Abidjan, // Africa/Abidjan
                                                                                                                                      22  &kZoneAfrica_Accra, // Africa/Accra
                                                                                                                                      23  &kZoneAfrica_Algiers, // Africa/Algiers
                                                                                                                                      24  &kZoneAfrica_Bissau, // Africa/Bissau
                                                                                                                                      25  &kZoneAfrica_Ceuta, // Africa/Ceuta
                                                                                                                                      26  &kZoneAfrica_Johannesburg, // Africa/Johannesburg
                                                                                                                                      27  &kZoneAfrica_Lagos, // Africa/Lagos
                                                                                                                                      28  &kZoneAfrica_Maputo, // Africa/Maputo
                                                                                                                                      29  &kZoneAfrica_Monrovia, // Africa/Monrovia
                                                                                                                                      30  &kZoneAfrica_Nairobi, // Africa/Nairobi
                                                                                                                                      31  &kZoneAfrica_Ndjamena, // Africa/Ndjamena
                                                                                                                                      32  &kZoneAfrica_Tunis, // Africa/Tunis
                                                                                                                                      33  &kZoneAmerica_Adak, // America/Adak
                                                                                                                                      34  &kZoneAmerica_Anchorage, // America/Anchorage
                                                                                                                                      35  &kZoneAmerica_Asuncion, // America/Asuncion
                                                                                                                                      36  &kZoneAmerica_Atikokan, // America/Atikokan
                                                                                                                                      37  &kZoneAmerica_Barbados, // America/Barbados
                                                                                                                                      38  &kZoneAmerica_Belem, // America/Belem
                                                                                                                                      39  &kZoneAmerica_Blanc_Sablon, // America/Blanc-Sablon
                                                                                                                                      40  &kZoneAmerica_Bogota, // America/Bogota
                                                                                                                                      41  &kZoneAmerica_Boise, // America/Boise
                                                                                                                                      42  &kZoneAmerica_Campo_Grande, // America/Campo_Grande
                                                                                                                                      43  &kZoneAmerica_Cayenne, // America/Cayenne
                                                                                                                                      44  &kZoneAmerica_Chicago, // America/Chicago
                                                                                                                                      45  &kZoneAmerica_Chihuahua, // America/Chihuahua
                                                                                                                                      46  &kZoneAmerica_Costa_Rica, // America/Costa_Rica
                                                                                                                                      47  &kZoneAmerica_Creston, // America/Creston
                                                                                                                                      48  &kZoneAmerica_Curacao, // America/Curacao
                                                                                                                                      49  &kZoneAmerica_Danmarkshavn, // America/Danmarkshavn
                                                                                                                                      50  &kZoneAmerica_Dawson_Creek, // America/Dawson_Creek
                                                                                                                                      51  &kZoneAmerica_Denver, // America/Denver
                                                                                                                                      52  &kZoneAmerica_Detroit, // America/Detroit
                                                                                                                                      53  &kZoneAmerica_Edmonton, // America/Edmonton
                                                                                                                                      54  &kZoneAmerica_El_Salvador, // America/El_Salvador
                                                                                                                                      55  &kZoneAmerica_Glace_Bay, // America/Glace_Bay
                                                                                                                                      56  &kZoneAmerica_Guatemala, // America/Guatemala
                                                                                                                                      57  &kZoneAmerica_Guayaquil, // America/Guayaquil
                                                                                                                                      58  &kZoneAmerica_Guyana, // America/Guyana
                                                                                                                                      59  &kZoneAmerica_Halifax, // America/Halifax
                                                                                                                                      60  &kZoneAmerica_Havana, // America/Havana
                                                                                                                                      61  &kZoneAmerica_Hermosillo, // America/Hermosillo
                                                                                                                                      62  &kZoneAmerica_Indiana_Indianapolis, // America/Indiana/Indianapolis
                                                                                                                                      63  &kZoneAmerica_Indiana_Marengo, // America/Indiana/Marengo
                                                                                                                                      64  &kZoneAmerica_Indiana_Vevay, // America/Indiana/Vevay
                                                                                                                                      65  &kZoneAmerica_Inuvik, // America/Inuvik
                                                                                                                                      66  &kZoneAmerica_Jamaica, // America/Jamaica
                                                                                                                                      67  &kZoneAmerica_Juneau, // America/Juneau
                                                                                                                                      68  &kZoneAmerica_Kentucky_Louisville, // America/Kentucky/Louisville
                                                                                                                                      69  &kZoneAmerica_La_Paz, // America/La_Paz
                                                                                                                                      70  &kZoneAmerica_Lima, // America/Lima
                                                                                                                                      71  &kZoneAmerica_Los_Angeles, // America/Los_Angeles
                                                                                                                                      72  &kZoneAmerica_Managua, // America/Managua
                                                                                                                                      73  &kZoneAmerica_Manaus, // America/Manaus
                                                                                                                                      74  &kZoneAmerica_Martinique, // America/Martinique
                                                                                                                                      75  &kZoneAmerica_Matamoros, // America/Matamoros
                                                                                                                                      76  &kZoneAmerica_Mazatlan, // America/Mazatlan
                                                                                                                                      77  &kZoneAmerica_Menominee, // America/Menominee
                                                                                                                                      78  &kZoneAmerica_Merida, // America/Merida
                                                                                                                                      79  &kZoneAmerica_Miquelon, // America/Miquelon
                                                                                                                                      80  &kZoneAmerica_Moncton, // America/Moncton
                                                                                                                                      81  &kZoneAmerica_Monterrey, // America/Monterrey
                                                                                                                                      82  &kZoneAmerica_Montevideo, // America/Montevideo
                                                                                                                                      83  &kZoneAmerica_Nassau, // America/Nassau
                                                                                                                                      84  &kZoneAmerica_New_York, // America/New_York
                                                                                                                                      85  &kZoneAmerica_Nipigon, // America/Nipigon
                                                                                                                                      86  &kZoneAmerica_Nome, // America/Nome
                                                                                                                                      87  &kZoneAmerica_North_Dakota_Center, // America/North_Dakota/Center
                                                                                                                                      88  &kZoneAmerica_Nuuk, // America/Nuuk
                                                                                                                                      89  &kZoneAmerica_Ojinaga, // America/Ojinaga
                                                                                                                                      90  &kZoneAmerica_Panama, // America/Panama
                                                                                                                                      91  &kZoneAmerica_Paramaribo, // America/Paramaribo
                                                                                                                                      92  &kZoneAmerica_Phoenix, // America/Phoenix
                                                                                                                                      93  &kZoneAmerica_Port_au_Prince, // America/Port-au-Prince
                                                                                                                                      94  &kZoneAmerica_Port_of_Spain, // America/Port_of_Spain
                                                                                                                                      95  &kZoneAmerica_Porto_Velho, // America/Porto_Velho
                                                                                                                                      96  &kZoneAmerica_Puerto_Rico, // America/Puerto_Rico
                                                                                                                                      97  &kZoneAmerica_Rainy_River, // America/Rainy_River
                                                                                                                                      98  &kZoneAmerica_Regina, // America/Regina
                                                                                                                                      99  &kZoneAmerica_Santiago, // America/Santiago
                                                                                                                                      100  &kZoneAmerica_Sao_Paulo, // America/Sao_Paulo
                                                                                                                                      101  &kZoneAmerica_Scoresbysund, // America/Scoresbysund
                                                                                                                                      102  &kZoneAmerica_Sitka, // America/Sitka
                                                                                                                                      103  &kZoneAmerica_Swift_Current, // America/Swift_Current
                                                                                                                                      104  &kZoneAmerica_Tegucigalpa, // America/Tegucigalpa
                                                                                                                                      105  &kZoneAmerica_Thule, // America/Thule
                                                                                                                                      106  &kZoneAmerica_Thunder_Bay, // America/Thunder_Bay
                                                                                                                                      107  &kZoneAmerica_Toronto, // America/Toronto
                                                                                                                                      108  &kZoneAmerica_Vancouver, // America/Vancouver
                                                                                                                                      109  &kZoneAmerica_Winnipeg, // America/Winnipeg
                                                                                                                                      110  &kZoneAmerica_Yakutat, // America/Yakutat
                                                                                                                                      111  &kZoneAmerica_Yellowknife, // America/Yellowknife
                                                                                                                                      112  &kZoneAntarctica_DumontDUrville, // Antarctica/DumontDUrville
                                                                                                                                      113  &kZoneAntarctica_Rothera, // Antarctica/Rothera
                                                                                                                                      114  &kZoneAntarctica_Syowa, // Antarctica/Syowa
                                                                                                                                      115  &kZoneAntarctica_Vostok, // Antarctica/Vostok
                                                                                                                                      116  &kZoneAsia_Amman, // Asia/Amman
                                                                                                                                      117  &kZoneAsia_Ashgabat, // Asia/Ashgabat
                                                                                                                                      118  &kZoneAsia_Baghdad, // Asia/Baghdad
                                                                                                                                      119  &kZoneAsia_Baku, // Asia/Baku
                                                                                                                                      120  &kZoneAsia_Bangkok, // Asia/Bangkok
                                                                                                                                      121  &kZoneAsia_Beirut, // Asia/Beirut
                                                                                                                                      122  &kZoneAsia_Brunei, // Asia/Brunei
                                                                                                                                      123  &kZoneAsia_Damascus, // Asia/Damascus
                                                                                                                                      124  &kZoneAsia_Dhaka, // Asia/Dhaka
                                                                                                                                      125  &kZoneAsia_Dubai, // Asia/Dubai
                                                                                                                                      126  &kZoneAsia_Dushanbe, // Asia/Dushanbe
                                                                                                                                      127  &kZoneAsia_Ho_Chi_Minh, // Asia/Ho_Chi_Minh
                                                                                                                                      128  &kZoneAsia_Hong_Kong, // Asia/Hong_Kong
                                                                                                                                      129  &kZoneAsia_Hovd, // Asia/Hovd
                                                                                                                                      130  &kZoneAsia_Jakarta, // Asia/Jakarta
                                                                                                                                      131  &kZoneAsia_Jayapura, // Asia/Jayapura
                                                                                                                                      132  &kZoneAsia_Jerusalem, // Asia/Jerusalem
                                                                                                                                      133  &kZoneAsia_Kabul, // Asia/Kabul
                                                                                                                                      134  &kZoneAsia_Karachi, // Asia/Karachi
                                                                                                                                      135  &kZoneAsia_Kathmandu, // Asia/Kathmandu
                                                                                                                                      136  &kZoneAsia_Kolkata, // Asia/Kolkata
                                                                                                                                      137  &kZoneAsia_Kuala_Lumpur, // Asia/Kuala_Lumpur
                                                                                                                                      138  &kZoneAsia_Kuching, // Asia/Kuching
                                                                                                                                      139  &kZoneAsia_Macau, // Asia/Macau
                                                                                                                                      140  &kZoneAsia_Makassar, // Asia/Makassar
                                                                                                                                      141  &kZoneAsia_Manila, // Asia/Manila
                                                                                                                                      142  &kZoneAsia_Nicosia, // Asia/Nicosia
                                                                                                                                      143  &kZoneAsia_Pontianak, // Asia/Pontianak
                                                                                                                                      144  &kZoneAsia_Qatar, // Asia/Qatar
                                                                                                                                      145  &kZoneAsia_Riyadh, // Asia/Riyadh
                                                                                                                                      146  &kZoneAsia_Samarkand, // Asia/Samarkand
                                                                                                                                      147  &kZoneAsia_Seoul, // Asia/Seoul
                                                                                                                                      148  &kZoneAsia_Shanghai, // Asia/Shanghai
                                                                                                                                      149  &kZoneAsia_Singapore, // Asia/Singapore
                                                                                                                                      150  &kZoneAsia_Taipei, // Asia/Taipei
                                                                                                                                      151  &kZoneAsia_Tashkent, // Asia/Tashkent
                                                                                                                                      152  &kZoneAsia_Tehran, // Asia/Tehran
                                                                                                                                      153  &kZoneAsia_Thimphu, // Asia/Thimphu
                                                                                                                                      154  &kZoneAsia_Tokyo, // Asia/Tokyo
                                                                                                                                      155  &kZoneAsia_Ulaanbaatar, // Asia/Ulaanbaatar
                                                                                                                                      156  &kZoneAsia_Urumqi, // Asia/Urumqi
                                                                                                                                      157  &kZoneAsia_Yangon, // Asia/Yangon
                                                                                                                                      158  &kZoneAsia_Yerevan, // Asia/Yerevan
                                                                                                                                      159  &kZoneAtlantic_Azores, // Atlantic/Azores
                                                                                                                                      160  &kZoneAtlantic_Bermuda, // Atlantic/Bermuda
                                                                                                                                      161  &kZoneAtlantic_Canary, // Atlantic/Canary
                                                                                                                                      162  &kZoneAtlantic_Cape_Verde, // Atlantic/Cape_Verde
                                                                                                                                      163  &kZoneAtlantic_Faroe, // Atlantic/Faroe
                                                                                                                                      164  &kZoneAtlantic_Madeira, // Atlantic/Madeira
                                                                                                                                      165  &kZoneAtlantic_Reykjavik, // Atlantic/Reykjavik
                                                                                                                                      166  &kZoneAtlantic_South_Georgia, // Atlantic/South_Georgia
                                                                                                                                      167  &kZoneAustralia_Adelaide, // Australia/Adelaide
                                                                                                                                      168  &kZoneAustralia_Brisbane, // Australia/Brisbane
                                                                                                                                      169  &kZoneAustralia_Broken_Hill, // Australia/Broken_Hill
                                                                                                                                      170  &kZoneAustralia_Currie, // Australia/Currie
                                                                                                                                      171  &kZoneAustralia_Darwin, // Australia/Darwin
                                                                                                                                      172  &kZoneAustralia_Eucla, // Australia/Eucla
                                                                                                                                      173  &kZoneAustralia_Hobart, // Australia/Hobart
                                                                                                                                      174  &kZoneAustralia_Lindeman, // Australia/Lindeman
                                                                                                                                      175  &kZoneAustralia_Lord_Howe, // Australia/Lord_Howe
                                                                                                                                      176  &kZoneAustralia_Melbourne, // Australia/Melbourne
                                                                                                                                      177  &kZoneAustralia_Perth, // Australia/Perth
                                                                                                                                      178  &kZoneAustralia_Sydney, // Australia/Sydney
                                                                                                                                      179  &kZoneCET, // CET
                                                                                                                                      180  &kZoneCST6CDT, // CST6CDT
                                                                                                                                      181  &kZoneEET, // EET
                                                                                                                                      182  &kZoneEST, // EST
                                                                                                                                      183  &kZoneEST5EDT, // EST5EDT
                                                                                                                                      184  &kZoneEtc_GMT, // Etc/GMT
                                                                                                                                      185  &kZoneEtc_GMT_PLUS_1, // Etc/GMT+1
                                                                                                                                      186  &kZoneEtc_GMT_PLUS_10, // Etc/GMT+10
                                                                                                                                      187  &kZoneEtc_GMT_PLUS_11, // Etc/GMT+11
                                                                                                                                      188  &kZoneEtc_GMT_PLUS_12, // Etc/GMT+12
                                                                                                                                      189  &kZoneEtc_GMT_PLUS_2, // Etc/GMT+2
                                                                                                                                      190  &kZoneEtc_GMT_PLUS_3, // Etc/GMT+3
                                                                                                                                      191  &kZoneEtc_GMT_PLUS_4, // Etc/GMT+4
                                                                                                                                      192  &kZoneEtc_GMT_PLUS_5, // Etc/GMT+5
                                                                                                                                      193  &kZoneEtc_GMT_PLUS_6, // Etc/GMT+6
                                                                                                                                      194  &kZoneEtc_GMT_PLUS_7, // Etc/GMT+7
                                                                                                                                      195  &kZoneEtc_GMT_PLUS_8, // Etc/GMT+8
                                                                                                                                      196  &kZoneEtc_GMT_PLUS_9, // Etc/GMT+9
                                                                                                                                      197  &kZoneEtc_GMT_1, // Etc/GMT-1
                                                                                                                                      198  &kZoneEtc_GMT_10, // Etc/GMT-10
                                                                                                                                      199  &kZoneEtc_GMT_11, // Etc/GMT-11
                                                                                                                                      200  &kZoneEtc_GMT_12, // Etc/GMT-12
                                                                                                                                      201  &kZoneEtc_GMT_13, // Etc/GMT-13
                                                                                                                                      202  &kZoneEtc_GMT_14, // Etc/GMT-14
                                                                                                                                      203  &kZoneEtc_GMT_2, // Etc/GMT-2
                                                                                                                                      204  &kZoneEtc_GMT_3, // Etc/GMT-3
                                                                                                                                      205  &kZoneEtc_GMT_4, // Etc/GMT-4
                                                                                                                                      206  &kZoneEtc_GMT_5, // Etc/GMT-5
                                                                                                                                      207  &kZoneEtc_GMT_6, // Etc/GMT-6
                                                                                                                                      208  &kZoneEtc_GMT_7, // Etc/GMT-7
                                                                                                                                      209  &kZoneEtc_GMT_8, // Etc/GMT-8
                                                                                                                                      210  &kZoneEtc_GMT_9, // Etc/GMT-9
                                                                                                                                      211  &kZoneEtc_UTC, // Etc/UTC
                                                                                                                                      212  &kZoneEurope_Amsterdam, // Europe/Amsterdam
                                                                                                                                      213  &kZoneEurope_Andorra, // Europe/Andorra
                                                                                                                                      214  &kZoneEurope_Athens, // Europe/Athens
                                                                                                                                      215  &kZoneEurope_Belgrade, // Europe/Belgrade
                                                                                                                                      216  &kZoneEurope_Berlin, // Europe/Berlin
                                                                                                                                      217  &kZoneEurope_Brussels, // Europe/Brussels
                                                                                                                                      218  &kZoneEurope_Bucharest, // Europe/Bucharest
                                                                                                                                      219  &kZoneEurope_Budapest, // Europe/Budapest
                                                                                                                                      220  &kZoneEurope_Chisinau, // Europe/Chisinau
                                                                                                                                      221  &kZoneEurope_Copenhagen, // Europe/Copenhagen
                                                                                                                                      222  &kZoneEurope_Dublin, // Europe/Dublin
                                                                                                                                      223  &kZoneEurope_Gibraltar, // Europe/Gibraltar
                                                                                                                                      224  &kZoneEurope_Helsinki, // Europe/Helsinki
                                                                                                                                      225  &kZoneEurope_Kiev, // Europe/Kiev
                                                                                                                                      226  &kZoneEurope_Lisbon, // Europe/Lisbon
                                                                                                                                      227  &kZoneEurope_London, // Europe/London
                                                                                                                                      228  &kZoneEurope_Luxembourg, // Europe/Luxembourg
                                                                                                                                      229  &kZoneEurope_Madrid, // Europe/Madrid
                                                                                                                                      230  &kZoneEurope_Malta, // Europe/Malta
                                                                                                                                      231  &kZoneEurope_Monaco, // Europe/Monaco
                                                                                                                                      232  &kZoneEurope_Oslo, // Europe/Oslo
                                                                                                                                      233  &kZoneEurope_Paris, // Europe/Paris
                                                                                                                                      234  &kZoneEurope_Prague, // Europe/Prague
                                                                                                                                      235  &kZoneEurope_Rome, // Europe/Rome
                                                                                                                                      236  &kZoneEurope_Sofia, // Europe/Sofia
                                                                                                                                      237  &kZoneEurope_Stockholm, // Europe/Stockholm
                                                                                                                                      238  &kZoneEurope_Tirane, // Europe/Tirane
                                                                                                                                      239  &kZoneEurope_Uzhgorod, // Europe/Uzhgorod
                                                                                                                                      240  &kZoneEurope_Vienna, // Europe/Vienna
                                                                                                                                      241  &kZoneEurope_Warsaw, // Europe/Warsaw
                                                                                                                                      242  &kZoneEurope_Zaporozhye, // Europe/Zaporozhye
                                                                                                                                      243  &kZoneEurope_Zurich, // Europe/Zurich
                                                                                                                                      244  &kZoneHST, // HST
                                                                                                                                      245  &kZoneIndian_Chagos, // Indian/Chagos
                                                                                                                                      246  &kZoneIndian_Christmas, // Indian/Christmas
                                                                                                                                      247  &kZoneIndian_Cocos, // Indian/Cocos
                                                                                                                                      248  &kZoneIndian_Kerguelen, // Indian/Kerguelen
                                                                                                                                      249  &kZoneIndian_Mahe, // Indian/Mahe
                                                                                                                                      250  &kZoneIndian_Maldives, // Indian/Maldives
                                                                                                                                      251  &kZoneIndian_Mauritius, // Indian/Mauritius
                                                                                                                                      252  &kZoneIndian_Reunion, // Indian/Reunion
                                                                                                                                      253  &kZoneMET, // MET
                                                                                                                                      254  &kZoneMST, // MST
                                                                                                                                      255  &kZoneMST7MDT, // MST7MDT
                                                                                                                                      256  &kZonePST8PDT, // PST8PDT
                                                                                                                                      257  &kZonePacific_Auckland, // Pacific/Auckland
                                                                                                                                      258  &kZonePacific_Chatham, // Pacific/Chatham
                                                                                                                                      259  &kZonePacific_Chuuk, // Pacific/Chuuk
                                                                                                                                      260  &kZonePacific_Easter, // Pacific/Easter
                                                                                                                                      261  &kZonePacific_Efate, // Pacific/Efate
                                                                                                                                      262  &kZonePacific_Enderbury, // Pacific/Enderbury
                                                                                                                                      263  &kZonePacific_Fiji, // Pacific/Fiji
                                                                                                                                      264  &kZonePacific_Funafuti, // Pacific/Funafuti
                                                                                                                                      265  &kZonePacific_Galapagos, // Pacific/Galapagos
                                                                                                                                      266  &kZonePacific_Gambier, // Pacific/Gambier
                                                                                                                                      267  &kZonePacific_Guadalcanal, // Pacific/Guadalcanal
                                                                                                                                      268  &kZonePacific_Honolulu, // Pacific/Honolulu
                                                                                                                                      269  &kZonePacific_Kiritimati, // Pacific/Kiritimati
                                                                                                                                      270  &kZonePacific_Kosrae, // Pacific/Kosrae
                                                                                                                                      271  &kZonePacific_Kwajalein, // Pacific/Kwajalein
                                                                                                                                      272  &kZonePacific_Majuro, // Pacific/Majuro
                                                                                                                                      273  &kZonePacific_Marquesas, // Pacific/Marquesas
                                                                                                                                      274  &kZonePacific_Nauru, // Pacific/Nauru
                                                                                                                                      275  &kZonePacific_Niue, // Pacific/Niue
                                                                                                                                      276  &kZonePacific_Noumea, // Pacific/Noumea
                                                                                                                                      277  &kZonePacific_Pago_Pago, // Pacific/Pago_Pago
                                                                                                                                      278  &kZonePacific_Palau, // Pacific/Palau
                                                                                                                                      279  &kZonePacific_Pitcairn, // Pacific/Pitcairn
                                                                                                                                      280  &kZonePacific_Pohnpei, // Pacific/Pohnpei
                                                                                                                                      281  &kZonePacific_Port_Moresby, // Pacific/Port_Moresby
                                                                                                                                      282  &kZonePacific_Rarotonga, // Pacific/Rarotonga
                                                                                                                                      283  &kZonePacific_Tahiti, // Pacific/Tahiti
                                                                                                                                      284  &kZonePacific_Tarawa, // Pacific/Tarawa
                                                                                                                                      285  &kZonePacific_Tongatapu, // Pacific/Tongatapu
                                                                                                                                      286  &kZonePacific_Wake, // Pacific/Wake
                                                                                                                                      287  &kZonePacific_Wallis, // Pacific/Wallis
                                                                                                                                      288  &kZoneWET, // WET
                                                                                                                                      289 
                                                                                                                                      290 };
                                                                                                                                      291 
                                                                                                                                      292 }
                                                                                                                                      293 }
                                                                                                                                      -
                                                                                                                                      Macros and definitions that provide a consistency layer among the various Arduino boards for compatib...
                                                                                                                                      +
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      +
                                                                                                                                      2 //
                                                                                                                                      +
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      +
                                                                                                                                      4 //
                                                                                                                                      +
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      +
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020c
                                                                                                                                      +
                                                                                                                                      7 //
                                                                                                                                      +
                                                                                                                                      8 // DO NOT EDIT
                                                                                                                                      +
                                                                                                                                      9 
                                                                                                                                      +
                                                                                                                                      10 #include <ace_time/common/compat.h>
                                                                                                                                      +
                                                                                                                                      11 #include "zone_infos.h"
                                                                                                                                      +
                                                                                                                                      12 #include "zone_registry.h"
                                                                                                                                      +
                                                                                                                                      13 
                                                                                                                                      +
                                                                                                                                      14 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      15 namespace zonedb {
                                                                                                                                      +
                                                                                                                                      16 
                                                                                                                                      +
                                                                                                                                      17 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      18 // Zone registry. Sorted by zone name.
                                                                                                                                      +
                                                                                                                                      19 //---------------------------------------------------------------------------
                                                                                                                                      +
                                                                                                                                      20 const basic::ZoneInfo* const kZoneRegistry[268] ACE_TIME_PROGMEM = {
                                                                                                                                      +
                                                                                                                                      21  &kZoneAfrica_Abidjan, // Africa/Abidjan
                                                                                                                                      +
                                                                                                                                      22  &kZoneAfrica_Accra, // Africa/Accra
                                                                                                                                      +
                                                                                                                                      23  &kZoneAfrica_Algiers, // Africa/Algiers
                                                                                                                                      +
                                                                                                                                      24  &kZoneAfrica_Bissau, // Africa/Bissau
                                                                                                                                      +
                                                                                                                                      25  &kZoneAfrica_Ceuta, // Africa/Ceuta
                                                                                                                                      +
                                                                                                                                      26  &kZoneAfrica_Johannesburg, // Africa/Johannesburg
                                                                                                                                      +
                                                                                                                                      27  &kZoneAfrica_Lagos, // Africa/Lagos
                                                                                                                                      +
                                                                                                                                      28  &kZoneAfrica_Maputo, // Africa/Maputo
                                                                                                                                      +
                                                                                                                                      29  &kZoneAfrica_Monrovia, // Africa/Monrovia
                                                                                                                                      +
                                                                                                                                      30  &kZoneAfrica_Nairobi, // Africa/Nairobi
                                                                                                                                      +
                                                                                                                                      31  &kZoneAfrica_Ndjamena, // Africa/Ndjamena
                                                                                                                                      +
                                                                                                                                      32  &kZoneAfrica_Tunis, // Africa/Tunis
                                                                                                                                      +
                                                                                                                                      33  &kZoneAmerica_Adak, // America/Adak
                                                                                                                                      +
                                                                                                                                      34  &kZoneAmerica_Anchorage, // America/Anchorage
                                                                                                                                      +
                                                                                                                                      35  &kZoneAmerica_Asuncion, // America/Asuncion
                                                                                                                                      +
                                                                                                                                      36  &kZoneAmerica_Atikokan, // America/Atikokan
                                                                                                                                      +
                                                                                                                                      37  &kZoneAmerica_Barbados, // America/Barbados
                                                                                                                                      +
                                                                                                                                      38  &kZoneAmerica_Belem, // America/Belem
                                                                                                                                      +
                                                                                                                                      39  &kZoneAmerica_Blanc_Sablon, // America/Blanc-Sablon
                                                                                                                                      +
                                                                                                                                      40  &kZoneAmerica_Bogota, // America/Bogota
                                                                                                                                      +
                                                                                                                                      41  &kZoneAmerica_Boise, // America/Boise
                                                                                                                                      +
                                                                                                                                      42  &kZoneAmerica_Campo_Grande, // America/Campo_Grande
                                                                                                                                      +
                                                                                                                                      43  &kZoneAmerica_Cayenne, // America/Cayenne
                                                                                                                                      +
                                                                                                                                      44  &kZoneAmerica_Chicago, // America/Chicago
                                                                                                                                      +
                                                                                                                                      45  &kZoneAmerica_Chihuahua, // America/Chihuahua
                                                                                                                                      +
                                                                                                                                      46  &kZoneAmerica_Costa_Rica, // America/Costa_Rica
                                                                                                                                      +
                                                                                                                                      47  &kZoneAmerica_Creston, // America/Creston
                                                                                                                                      +
                                                                                                                                      48  &kZoneAmerica_Curacao, // America/Curacao
                                                                                                                                      +
                                                                                                                                      49  &kZoneAmerica_Danmarkshavn, // America/Danmarkshavn
                                                                                                                                      +
                                                                                                                                      50  &kZoneAmerica_Dawson_Creek, // America/Dawson_Creek
                                                                                                                                      +
                                                                                                                                      51  &kZoneAmerica_Denver, // America/Denver
                                                                                                                                      +
                                                                                                                                      52  &kZoneAmerica_Detroit, // America/Detroit
                                                                                                                                      +
                                                                                                                                      53  &kZoneAmerica_Edmonton, // America/Edmonton
                                                                                                                                      +
                                                                                                                                      54  &kZoneAmerica_El_Salvador, // America/El_Salvador
                                                                                                                                      +
                                                                                                                                      55  &kZoneAmerica_Glace_Bay, // America/Glace_Bay
                                                                                                                                      +
                                                                                                                                      56  &kZoneAmerica_Guatemala, // America/Guatemala
                                                                                                                                      +
                                                                                                                                      57  &kZoneAmerica_Guayaquil, // America/Guayaquil
                                                                                                                                      +
                                                                                                                                      58  &kZoneAmerica_Guyana, // America/Guyana
                                                                                                                                      +
                                                                                                                                      59  &kZoneAmerica_Halifax, // America/Halifax
                                                                                                                                      +
                                                                                                                                      60  &kZoneAmerica_Havana, // America/Havana
                                                                                                                                      +
                                                                                                                                      61  &kZoneAmerica_Hermosillo, // America/Hermosillo
                                                                                                                                      +
                                                                                                                                      62  &kZoneAmerica_Indiana_Indianapolis, // America/Indiana/Indianapolis
                                                                                                                                      +
                                                                                                                                      63  &kZoneAmerica_Indiana_Marengo, // America/Indiana/Marengo
                                                                                                                                      +
                                                                                                                                      64  &kZoneAmerica_Indiana_Vevay, // America/Indiana/Vevay
                                                                                                                                      +
                                                                                                                                      65  &kZoneAmerica_Inuvik, // America/Inuvik
                                                                                                                                      +
                                                                                                                                      66  &kZoneAmerica_Jamaica, // America/Jamaica
                                                                                                                                      +
                                                                                                                                      67  &kZoneAmerica_Juneau, // America/Juneau
                                                                                                                                      +
                                                                                                                                      68  &kZoneAmerica_Kentucky_Louisville, // America/Kentucky/Louisville
                                                                                                                                      +
                                                                                                                                      69  &kZoneAmerica_La_Paz, // America/La_Paz
                                                                                                                                      +
                                                                                                                                      70  &kZoneAmerica_Lima, // America/Lima
                                                                                                                                      +
                                                                                                                                      71  &kZoneAmerica_Los_Angeles, // America/Los_Angeles
                                                                                                                                      +
                                                                                                                                      72  &kZoneAmerica_Managua, // America/Managua
                                                                                                                                      +
                                                                                                                                      73  &kZoneAmerica_Manaus, // America/Manaus
                                                                                                                                      +
                                                                                                                                      74  &kZoneAmerica_Martinique, // America/Martinique
                                                                                                                                      +
                                                                                                                                      75  &kZoneAmerica_Matamoros, // America/Matamoros
                                                                                                                                      +
                                                                                                                                      76  &kZoneAmerica_Mazatlan, // America/Mazatlan
                                                                                                                                      +
                                                                                                                                      77  &kZoneAmerica_Menominee, // America/Menominee
                                                                                                                                      +
                                                                                                                                      78  &kZoneAmerica_Merida, // America/Merida
                                                                                                                                      +
                                                                                                                                      79  &kZoneAmerica_Miquelon, // America/Miquelon
                                                                                                                                      +
                                                                                                                                      80  &kZoneAmerica_Moncton, // America/Moncton
                                                                                                                                      +
                                                                                                                                      81  &kZoneAmerica_Monterrey, // America/Monterrey
                                                                                                                                      +
                                                                                                                                      82  &kZoneAmerica_Montevideo, // America/Montevideo
                                                                                                                                      +
                                                                                                                                      83  &kZoneAmerica_Nassau, // America/Nassau
                                                                                                                                      +
                                                                                                                                      84  &kZoneAmerica_New_York, // America/New_York
                                                                                                                                      +
                                                                                                                                      85  &kZoneAmerica_Nipigon, // America/Nipigon
                                                                                                                                      +
                                                                                                                                      86  &kZoneAmerica_Nome, // America/Nome
                                                                                                                                      +
                                                                                                                                      87  &kZoneAmerica_North_Dakota_Center, // America/North_Dakota/Center
                                                                                                                                      +
                                                                                                                                      88  &kZoneAmerica_Nuuk, // America/Nuuk
                                                                                                                                      +
                                                                                                                                      89  &kZoneAmerica_Ojinaga, // America/Ojinaga
                                                                                                                                      +
                                                                                                                                      90  &kZoneAmerica_Panama, // America/Panama
                                                                                                                                      +
                                                                                                                                      91  &kZoneAmerica_Paramaribo, // America/Paramaribo
                                                                                                                                      +
                                                                                                                                      92  &kZoneAmerica_Phoenix, // America/Phoenix
                                                                                                                                      +
                                                                                                                                      93  &kZoneAmerica_Port_au_Prince, // America/Port-au-Prince
                                                                                                                                      +
                                                                                                                                      94  &kZoneAmerica_Port_of_Spain, // America/Port_of_Spain
                                                                                                                                      +
                                                                                                                                      95  &kZoneAmerica_Porto_Velho, // America/Porto_Velho
                                                                                                                                      +
                                                                                                                                      96  &kZoneAmerica_Puerto_Rico, // America/Puerto_Rico
                                                                                                                                      +
                                                                                                                                      97  &kZoneAmerica_Rainy_River, // America/Rainy_River
                                                                                                                                      +
                                                                                                                                      98  &kZoneAmerica_Regina, // America/Regina
                                                                                                                                      +
                                                                                                                                      99  &kZoneAmerica_Santiago, // America/Santiago
                                                                                                                                      +
                                                                                                                                      100  &kZoneAmerica_Sao_Paulo, // America/Sao_Paulo
                                                                                                                                      +
                                                                                                                                      101  &kZoneAmerica_Scoresbysund, // America/Scoresbysund
                                                                                                                                      +
                                                                                                                                      102  &kZoneAmerica_Sitka, // America/Sitka
                                                                                                                                      +
                                                                                                                                      103  &kZoneAmerica_Swift_Current, // America/Swift_Current
                                                                                                                                      +
                                                                                                                                      104  &kZoneAmerica_Tegucigalpa, // America/Tegucigalpa
                                                                                                                                      +
                                                                                                                                      105  &kZoneAmerica_Thule, // America/Thule
                                                                                                                                      +
                                                                                                                                      106  &kZoneAmerica_Thunder_Bay, // America/Thunder_Bay
                                                                                                                                      +
                                                                                                                                      107  &kZoneAmerica_Toronto, // America/Toronto
                                                                                                                                      +
                                                                                                                                      108  &kZoneAmerica_Vancouver, // America/Vancouver
                                                                                                                                      +
                                                                                                                                      109  &kZoneAmerica_Winnipeg, // America/Winnipeg
                                                                                                                                      +
                                                                                                                                      110  &kZoneAmerica_Yakutat, // America/Yakutat
                                                                                                                                      +
                                                                                                                                      111  &kZoneAmerica_Yellowknife, // America/Yellowknife
                                                                                                                                      +
                                                                                                                                      112  &kZoneAntarctica_DumontDUrville, // Antarctica/DumontDUrville
                                                                                                                                      +
                                                                                                                                      113  &kZoneAntarctica_Rothera, // Antarctica/Rothera
                                                                                                                                      +
                                                                                                                                      114  &kZoneAntarctica_Syowa, // Antarctica/Syowa
                                                                                                                                      +
                                                                                                                                      115  &kZoneAntarctica_Vostok, // Antarctica/Vostok
                                                                                                                                      +
                                                                                                                                      116  &kZoneAsia_Amman, // Asia/Amman
                                                                                                                                      +
                                                                                                                                      117  &kZoneAsia_Ashgabat, // Asia/Ashgabat
                                                                                                                                      +
                                                                                                                                      118  &kZoneAsia_Baghdad, // Asia/Baghdad
                                                                                                                                      +
                                                                                                                                      119  &kZoneAsia_Baku, // Asia/Baku
                                                                                                                                      +
                                                                                                                                      120  &kZoneAsia_Bangkok, // Asia/Bangkok
                                                                                                                                      +
                                                                                                                                      121  &kZoneAsia_Beirut, // Asia/Beirut
                                                                                                                                      +
                                                                                                                                      122  &kZoneAsia_Brunei, // Asia/Brunei
                                                                                                                                      +
                                                                                                                                      123  &kZoneAsia_Damascus, // Asia/Damascus
                                                                                                                                      +
                                                                                                                                      124  &kZoneAsia_Dhaka, // Asia/Dhaka
                                                                                                                                      +
                                                                                                                                      125  &kZoneAsia_Dubai, // Asia/Dubai
                                                                                                                                      +
                                                                                                                                      126  &kZoneAsia_Dushanbe, // Asia/Dushanbe
                                                                                                                                      +
                                                                                                                                      127  &kZoneAsia_Ho_Chi_Minh, // Asia/Ho_Chi_Minh
                                                                                                                                      +
                                                                                                                                      128  &kZoneAsia_Hong_Kong, // Asia/Hong_Kong
                                                                                                                                      +
                                                                                                                                      129  &kZoneAsia_Hovd, // Asia/Hovd
                                                                                                                                      +
                                                                                                                                      130  &kZoneAsia_Jakarta, // Asia/Jakarta
                                                                                                                                      +
                                                                                                                                      131  &kZoneAsia_Jayapura, // Asia/Jayapura
                                                                                                                                      +
                                                                                                                                      132  &kZoneAsia_Jerusalem, // Asia/Jerusalem
                                                                                                                                      +
                                                                                                                                      133  &kZoneAsia_Kabul, // Asia/Kabul
                                                                                                                                      +
                                                                                                                                      134  &kZoneAsia_Karachi, // Asia/Karachi
                                                                                                                                      +
                                                                                                                                      135  &kZoneAsia_Kathmandu, // Asia/Kathmandu
                                                                                                                                      +
                                                                                                                                      136  &kZoneAsia_Kolkata, // Asia/Kolkata
                                                                                                                                      +
                                                                                                                                      137  &kZoneAsia_Kuala_Lumpur, // Asia/Kuala_Lumpur
                                                                                                                                      +
                                                                                                                                      138  &kZoneAsia_Kuching, // Asia/Kuching
                                                                                                                                      +
                                                                                                                                      139  &kZoneAsia_Macau, // Asia/Macau
                                                                                                                                      +
                                                                                                                                      140  &kZoneAsia_Makassar, // Asia/Makassar
                                                                                                                                      +
                                                                                                                                      141  &kZoneAsia_Manila, // Asia/Manila
                                                                                                                                      +
                                                                                                                                      142  &kZoneAsia_Nicosia, // Asia/Nicosia
                                                                                                                                      +
                                                                                                                                      143  &kZoneAsia_Pontianak, // Asia/Pontianak
                                                                                                                                      +
                                                                                                                                      144  &kZoneAsia_Qatar, // Asia/Qatar
                                                                                                                                      +
                                                                                                                                      145  &kZoneAsia_Riyadh, // Asia/Riyadh
                                                                                                                                      +
                                                                                                                                      146  &kZoneAsia_Samarkand, // Asia/Samarkand
                                                                                                                                      +
                                                                                                                                      147  &kZoneAsia_Seoul, // Asia/Seoul
                                                                                                                                      +
                                                                                                                                      148  &kZoneAsia_Shanghai, // Asia/Shanghai
                                                                                                                                      +
                                                                                                                                      149  &kZoneAsia_Singapore, // Asia/Singapore
                                                                                                                                      +
                                                                                                                                      150  &kZoneAsia_Taipei, // Asia/Taipei
                                                                                                                                      +
                                                                                                                                      151  &kZoneAsia_Tashkent, // Asia/Tashkent
                                                                                                                                      +
                                                                                                                                      152  &kZoneAsia_Tehran, // Asia/Tehran
                                                                                                                                      +
                                                                                                                                      153  &kZoneAsia_Thimphu, // Asia/Thimphu
                                                                                                                                      +
                                                                                                                                      154  &kZoneAsia_Tokyo, // Asia/Tokyo
                                                                                                                                      +
                                                                                                                                      155  &kZoneAsia_Ulaanbaatar, // Asia/Ulaanbaatar
                                                                                                                                      +
                                                                                                                                      156  &kZoneAsia_Urumqi, // Asia/Urumqi
                                                                                                                                      +
                                                                                                                                      157  &kZoneAsia_Yangon, // Asia/Yangon
                                                                                                                                      +
                                                                                                                                      158  &kZoneAsia_Yerevan, // Asia/Yerevan
                                                                                                                                      +
                                                                                                                                      159  &kZoneAtlantic_Azores, // Atlantic/Azores
                                                                                                                                      +
                                                                                                                                      160  &kZoneAtlantic_Bermuda, // Atlantic/Bermuda
                                                                                                                                      +
                                                                                                                                      161  &kZoneAtlantic_Canary, // Atlantic/Canary
                                                                                                                                      +
                                                                                                                                      162  &kZoneAtlantic_Cape_Verde, // Atlantic/Cape_Verde
                                                                                                                                      +
                                                                                                                                      163  &kZoneAtlantic_Faroe, // Atlantic/Faroe
                                                                                                                                      +
                                                                                                                                      164  &kZoneAtlantic_Madeira, // Atlantic/Madeira
                                                                                                                                      +
                                                                                                                                      165  &kZoneAtlantic_Reykjavik, // Atlantic/Reykjavik
                                                                                                                                      +
                                                                                                                                      166  &kZoneAtlantic_South_Georgia, // Atlantic/South_Georgia
                                                                                                                                      +
                                                                                                                                      167  &kZoneAustralia_Adelaide, // Australia/Adelaide
                                                                                                                                      +
                                                                                                                                      168  &kZoneAustralia_Brisbane, // Australia/Brisbane
                                                                                                                                      +
                                                                                                                                      169  &kZoneAustralia_Broken_Hill, // Australia/Broken_Hill
                                                                                                                                      +
                                                                                                                                      170  &kZoneAustralia_Currie, // Australia/Currie
                                                                                                                                      +
                                                                                                                                      171  &kZoneAustralia_Darwin, // Australia/Darwin
                                                                                                                                      +
                                                                                                                                      172  &kZoneAustralia_Eucla, // Australia/Eucla
                                                                                                                                      +
                                                                                                                                      173  &kZoneAustralia_Hobart, // Australia/Hobart
                                                                                                                                      +
                                                                                                                                      174  &kZoneAustralia_Lindeman, // Australia/Lindeman
                                                                                                                                      +
                                                                                                                                      175  &kZoneAustralia_Lord_Howe, // Australia/Lord_Howe
                                                                                                                                      +
                                                                                                                                      176  &kZoneAustralia_Melbourne, // Australia/Melbourne
                                                                                                                                      +
                                                                                                                                      177  &kZoneAustralia_Perth, // Australia/Perth
                                                                                                                                      +
                                                                                                                                      178  &kZoneAustralia_Sydney, // Australia/Sydney
                                                                                                                                      +
                                                                                                                                      179  &kZoneCET, // CET
                                                                                                                                      +
                                                                                                                                      180  &kZoneCST6CDT, // CST6CDT
                                                                                                                                      +
                                                                                                                                      181  &kZoneEET, // EET
                                                                                                                                      +
                                                                                                                                      182  &kZoneEST, // EST
                                                                                                                                      +
                                                                                                                                      183  &kZoneEST5EDT, // EST5EDT
                                                                                                                                      +
                                                                                                                                      184  &kZoneEtc_GMT, // Etc/GMT
                                                                                                                                      +
                                                                                                                                      185  &kZoneEtc_GMT_PLUS_1, // Etc/GMT+1
                                                                                                                                      +
                                                                                                                                      186  &kZoneEtc_GMT_PLUS_10, // Etc/GMT+10
                                                                                                                                      +
                                                                                                                                      187  &kZoneEtc_GMT_PLUS_11, // Etc/GMT+11
                                                                                                                                      +
                                                                                                                                      188  &kZoneEtc_GMT_PLUS_12, // Etc/GMT+12
                                                                                                                                      +
                                                                                                                                      189  &kZoneEtc_GMT_PLUS_2, // Etc/GMT+2
                                                                                                                                      +
                                                                                                                                      190  &kZoneEtc_GMT_PLUS_3, // Etc/GMT+3
                                                                                                                                      +
                                                                                                                                      191  &kZoneEtc_GMT_PLUS_4, // Etc/GMT+4
                                                                                                                                      +
                                                                                                                                      192  &kZoneEtc_GMT_PLUS_5, // Etc/GMT+5
                                                                                                                                      +
                                                                                                                                      193  &kZoneEtc_GMT_PLUS_6, // Etc/GMT+6
                                                                                                                                      +
                                                                                                                                      194  &kZoneEtc_GMT_PLUS_7, // Etc/GMT+7
                                                                                                                                      +
                                                                                                                                      195  &kZoneEtc_GMT_PLUS_8, // Etc/GMT+8
                                                                                                                                      +
                                                                                                                                      196  &kZoneEtc_GMT_PLUS_9, // Etc/GMT+9
                                                                                                                                      +
                                                                                                                                      197  &kZoneEtc_GMT_1, // Etc/GMT-1
                                                                                                                                      +
                                                                                                                                      198  &kZoneEtc_GMT_10, // Etc/GMT-10
                                                                                                                                      +
                                                                                                                                      199  &kZoneEtc_GMT_11, // Etc/GMT-11
                                                                                                                                      +
                                                                                                                                      200  &kZoneEtc_GMT_12, // Etc/GMT-12
                                                                                                                                      +
                                                                                                                                      201  &kZoneEtc_GMT_13, // Etc/GMT-13
                                                                                                                                      +
                                                                                                                                      202  &kZoneEtc_GMT_14, // Etc/GMT-14
                                                                                                                                      +
                                                                                                                                      203  &kZoneEtc_GMT_2, // Etc/GMT-2
                                                                                                                                      +
                                                                                                                                      204  &kZoneEtc_GMT_3, // Etc/GMT-3
                                                                                                                                      +
                                                                                                                                      205  &kZoneEtc_GMT_4, // Etc/GMT-4
                                                                                                                                      +
                                                                                                                                      206  &kZoneEtc_GMT_5, // Etc/GMT-5
                                                                                                                                      +
                                                                                                                                      207  &kZoneEtc_GMT_6, // Etc/GMT-6
                                                                                                                                      +
                                                                                                                                      208  &kZoneEtc_GMT_7, // Etc/GMT-7
                                                                                                                                      +
                                                                                                                                      209  &kZoneEtc_GMT_8, // Etc/GMT-8
                                                                                                                                      +
                                                                                                                                      210  &kZoneEtc_GMT_9, // Etc/GMT-9
                                                                                                                                      +
                                                                                                                                      211  &kZoneEtc_UTC, // Etc/UTC
                                                                                                                                      +
                                                                                                                                      212  &kZoneEurope_Amsterdam, // Europe/Amsterdam
                                                                                                                                      +
                                                                                                                                      213  &kZoneEurope_Andorra, // Europe/Andorra
                                                                                                                                      +
                                                                                                                                      214  &kZoneEurope_Athens, // Europe/Athens
                                                                                                                                      +
                                                                                                                                      215  &kZoneEurope_Belgrade, // Europe/Belgrade
                                                                                                                                      +
                                                                                                                                      216  &kZoneEurope_Berlin, // Europe/Berlin
                                                                                                                                      +
                                                                                                                                      217  &kZoneEurope_Brussels, // Europe/Brussels
                                                                                                                                      +
                                                                                                                                      218  &kZoneEurope_Bucharest, // Europe/Bucharest
                                                                                                                                      +
                                                                                                                                      219  &kZoneEurope_Budapest, // Europe/Budapest
                                                                                                                                      +
                                                                                                                                      220  &kZoneEurope_Chisinau, // Europe/Chisinau
                                                                                                                                      +
                                                                                                                                      221  &kZoneEurope_Copenhagen, // Europe/Copenhagen
                                                                                                                                      +
                                                                                                                                      222  &kZoneEurope_Dublin, // Europe/Dublin
                                                                                                                                      +
                                                                                                                                      223  &kZoneEurope_Gibraltar, // Europe/Gibraltar
                                                                                                                                      +
                                                                                                                                      224  &kZoneEurope_Helsinki, // Europe/Helsinki
                                                                                                                                      +
                                                                                                                                      225  &kZoneEurope_Kiev, // Europe/Kiev
                                                                                                                                      +
                                                                                                                                      226  &kZoneEurope_Lisbon, // Europe/Lisbon
                                                                                                                                      +
                                                                                                                                      227  &kZoneEurope_London, // Europe/London
                                                                                                                                      +
                                                                                                                                      228  &kZoneEurope_Luxembourg, // Europe/Luxembourg
                                                                                                                                      +
                                                                                                                                      229  &kZoneEurope_Madrid, // Europe/Madrid
                                                                                                                                      +
                                                                                                                                      230  &kZoneEurope_Malta, // Europe/Malta
                                                                                                                                      +
                                                                                                                                      231  &kZoneEurope_Monaco, // Europe/Monaco
                                                                                                                                      +
                                                                                                                                      232  &kZoneEurope_Oslo, // Europe/Oslo
                                                                                                                                      +
                                                                                                                                      233  &kZoneEurope_Paris, // Europe/Paris
                                                                                                                                      +
                                                                                                                                      234  &kZoneEurope_Prague, // Europe/Prague
                                                                                                                                      +
                                                                                                                                      235  &kZoneEurope_Rome, // Europe/Rome
                                                                                                                                      +
                                                                                                                                      236  &kZoneEurope_Sofia, // Europe/Sofia
                                                                                                                                      +
                                                                                                                                      237  &kZoneEurope_Stockholm, // Europe/Stockholm
                                                                                                                                      +
                                                                                                                                      238  &kZoneEurope_Tirane, // Europe/Tirane
                                                                                                                                      +
                                                                                                                                      239  &kZoneEurope_Uzhgorod, // Europe/Uzhgorod
                                                                                                                                      +
                                                                                                                                      240  &kZoneEurope_Vienna, // Europe/Vienna
                                                                                                                                      +
                                                                                                                                      241  &kZoneEurope_Warsaw, // Europe/Warsaw
                                                                                                                                      +
                                                                                                                                      242  &kZoneEurope_Zaporozhye, // Europe/Zaporozhye
                                                                                                                                      +
                                                                                                                                      243  &kZoneEurope_Zurich, // Europe/Zurich
                                                                                                                                      +
                                                                                                                                      244  &kZoneHST, // HST
                                                                                                                                      +
                                                                                                                                      245  &kZoneIndian_Chagos, // Indian/Chagos
                                                                                                                                      +
                                                                                                                                      246  &kZoneIndian_Christmas, // Indian/Christmas
                                                                                                                                      +
                                                                                                                                      247  &kZoneIndian_Cocos, // Indian/Cocos
                                                                                                                                      +
                                                                                                                                      248  &kZoneIndian_Kerguelen, // Indian/Kerguelen
                                                                                                                                      +
                                                                                                                                      249  &kZoneIndian_Mahe, // Indian/Mahe
                                                                                                                                      +
                                                                                                                                      250  &kZoneIndian_Maldives, // Indian/Maldives
                                                                                                                                      +
                                                                                                                                      251  &kZoneIndian_Mauritius, // Indian/Mauritius
                                                                                                                                      +
                                                                                                                                      252  &kZoneIndian_Reunion, // Indian/Reunion
                                                                                                                                      +
                                                                                                                                      253  &kZoneMET, // MET
                                                                                                                                      +
                                                                                                                                      254  &kZoneMST, // MST
                                                                                                                                      +
                                                                                                                                      255  &kZoneMST7MDT, // MST7MDT
                                                                                                                                      +
                                                                                                                                      256  &kZonePST8PDT, // PST8PDT
                                                                                                                                      +
                                                                                                                                      257  &kZonePacific_Auckland, // Pacific/Auckland
                                                                                                                                      +
                                                                                                                                      258  &kZonePacific_Chatham, // Pacific/Chatham
                                                                                                                                      +
                                                                                                                                      259  &kZonePacific_Chuuk, // Pacific/Chuuk
                                                                                                                                      +
                                                                                                                                      260  &kZonePacific_Easter, // Pacific/Easter
                                                                                                                                      +
                                                                                                                                      261  &kZonePacific_Efate, // Pacific/Efate
                                                                                                                                      +
                                                                                                                                      262  &kZonePacific_Enderbury, // Pacific/Enderbury
                                                                                                                                      +
                                                                                                                                      263  &kZonePacific_Fiji, // Pacific/Fiji
                                                                                                                                      +
                                                                                                                                      264  &kZonePacific_Funafuti, // Pacific/Funafuti
                                                                                                                                      +
                                                                                                                                      265  &kZonePacific_Galapagos, // Pacific/Galapagos
                                                                                                                                      +
                                                                                                                                      266  &kZonePacific_Gambier, // Pacific/Gambier
                                                                                                                                      +
                                                                                                                                      267  &kZonePacific_Guadalcanal, // Pacific/Guadalcanal
                                                                                                                                      +
                                                                                                                                      268  &kZonePacific_Honolulu, // Pacific/Honolulu
                                                                                                                                      +
                                                                                                                                      269  &kZonePacific_Kiritimati, // Pacific/Kiritimati
                                                                                                                                      +
                                                                                                                                      270  &kZonePacific_Kosrae, // Pacific/Kosrae
                                                                                                                                      +
                                                                                                                                      271  &kZonePacific_Kwajalein, // Pacific/Kwajalein
                                                                                                                                      +
                                                                                                                                      272  &kZonePacific_Majuro, // Pacific/Majuro
                                                                                                                                      +
                                                                                                                                      273  &kZonePacific_Marquesas, // Pacific/Marquesas
                                                                                                                                      +
                                                                                                                                      274  &kZonePacific_Nauru, // Pacific/Nauru
                                                                                                                                      +
                                                                                                                                      275  &kZonePacific_Niue, // Pacific/Niue
                                                                                                                                      +
                                                                                                                                      276  &kZonePacific_Noumea, // Pacific/Noumea
                                                                                                                                      +
                                                                                                                                      277  &kZonePacific_Pago_Pago, // Pacific/Pago_Pago
                                                                                                                                      +
                                                                                                                                      278  &kZonePacific_Palau, // Pacific/Palau
                                                                                                                                      +
                                                                                                                                      279  &kZonePacific_Pitcairn, // Pacific/Pitcairn
                                                                                                                                      +
                                                                                                                                      280  &kZonePacific_Pohnpei, // Pacific/Pohnpei
                                                                                                                                      +
                                                                                                                                      281  &kZonePacific_Port_Moresby, // Pacific/Port_Moresby
                                                                                                                                      +
                                                                                                                                      282  &kZonePacific_Rarotonga, // Pacific/Rarotonga
                                                                                                                                      +
                                                                                                                                      283  &kZonePacific_Tahiti, // Pacific/Tahiti
                                                                                                                                      +
                                                                                                                                      284  &kZonePacific_Tarawa, // Pacific/Tarawa
                                                                                                                                      +
                                                                                                                                      285  &kZonePacific_Tongatapu, // Pacific/Tongatapu
                                                                                                                                      +
                                                                                                                                      286  &kZonePacific_Wake, // Pacific/Wake
                                                                                                                                      +
                                                                                                                                      287  &kZonePacific_Wallis, // Pacific/Wallis
                                                                                                                                      +
                                                                                                                                      288  &kZoneWET, // WET
                                                                                                                                      +
                                                                                                                                      289 
                                                                                                                                      +
                                                                                                                                      290 };
                                                                                                                                      +
                                                                                                                                      291 
                                                                                                                                      +
                                                                                                                                      292 }
                                                                                                                                      +
                                                                                                                                      293 }
                                                                                                                                      + diff --git a/docs/html/zone__registry_8h_source.html b/docs/html/zone__registry_8h_source.html index 6dc891e30..ce42b2a50 100644 --- a/docs/html/zone__registry_8h_source.html +++ b/docs/html/zone__registry_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zonedb/zone_registry.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zonedb/zone_registry.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zone_registry.h
                                                                                                                                      -
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      2 //
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      4 //
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020a
                                                                                                                                      7 //
                                                                                                                                      8 // DO NOT EDIT
                                                                                                                                      9 
                                                                                                                                      10 #ifndef ACE_TIME_ZONEDB_ZONE_REGISTRY_H
                                                                                                                                      11 #define ACE_TIME_ZONEDB_ZONE_REGISTRY_H
                                                                                                                                      12 
                                                                                                                                      13 #include <ace_time/internal/ZoneInfo.h>
                                                                                                                                      14 
                                                                                                                                      15 namespace ace_time {
                                                                                                                                      16 namespace zonedb {
                                                                                                                                      17 
                                                                                                                                      18 const uint16_t kZoneRegistrySize = 268;
                                                                                                                                      19 
                                                                                                                                      20 extern const basic::ZoneInfo* const kZoneRegistry[268];
                                                                                                                                      21 
                                                                                                                                      22 }
                                                                                                                                      23 }
                                                                                                                                      24 #endif
                                                                                                                                      +
                                                                                                                                      1 // This file was generated by the following script:
                                                                                                                                      +
                                                                                                                                      2 //
                                                                                                                                      +
                                                                                                                                      3 // $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050
                                                                                                                                      +
                                                                                                                                      4 //
                                                                                                                                      +
                                                                                                                                      5 // using the TZ Database files from
                                                                                                                                      +
                                                                                                                                      6 // https://github.com/eggert/tz/releases/tag/2020c
                                                                                                                                      +
                                                                                                                                      7 //
                                                                                                                                      +
                                                                                                                                      8 // DO NOT EDIT
                                                                                                                                      +
                                                                                                                                      9 
                                                                                                                                      +
                                                                                                                                      10 #ifndef ACE_TIME_ZONEDB_ZONE_REGISTRY_H
                                                                                                                                      +
                                                                                                                                      11 #define ACE_TIME_ZONEDB_ZONE_REGISTRY_H
                                                                                                                                      +
                                                                                                                                      12 
                                                                                                                                      +
                                                                                                                                      13 #include <ace_time/internal/ZoneInfo.h>
                                                                                                                                      +
                                                                                                                                      14 
                                                                                                                                      +
                                                                                                                                      15 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      16 namespace zonedb {
                                                                                                                                      +
                                                                                                                                      17 
                                                                                                                                      +
                                                                                                                                      18 const uint16_t kZoneRegistrySize = 268;
                                                                                                                                      +
                                                                                                                                      19 
                                                                                                                                      +
                                                                                                                                      20 extern const basic::ZoneInfo* const kZoneRegistry[268];
                                                                                                                                      +
                                                                                                                                      21 
                                                                                                                                      +
                                                                                                                                      22 }
                                                                                                                                      +
                                                                                                                                      23 }
                                                                                                                                      +
                                                                                                                                      24 #endif
                                                                                                                                      diff --git a/docs/html/zoned__date__time__mutation_8h_source.html b/docs/html/zoned__date__time__mutation_8h_source.html index c31625268..da1a5dded 100644 --- a/docs/html/zoned__date__time__mutation_8h_source.html +++ b/docs/html/zoned__date__time__mutation_8h_source.html @@ -1,11 +1,11 @@ - + - + -AceTime: /home/brian/dev/AceTime/src/ace_time/zoned_date_time_mutation.h Source File +AceTime: /home/brian/src/AceTime/src/ace_time/zoned_date_time_mutation.h Source File @@ -22,7 +22,7 @@
                                                                                                                                      AceTime -  1.1 +  1.1.1
                                                                                                                                      Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
                                                                                                                                      @@ -31,18 +31,21 @@
                                                                                                                                      - + +/* @license-end */
                                                                                                                                      zoned_date_time_mutation.h
                                                                                                                                      -
                                                                                                                                      1 /*
                                                                                                                                      2  * MIT License
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      4  */
                                                                                                                                      5 
                                                                                                                                      6 #ifndef ACE_TIME_ZONED_DATE_TIME_MUTATION_H
                                                                                                                                      7 #define ACE_TIME_ZONED_DATE_TIME_MUTATION_H
                                                                                                                                      8 
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      10 #include "common/util.h"
                                                                                                                                      11 #include "ZonedDateTime.h"
                                                                                                                                      12 
                                                                                                                                      13 namespace ace_time {
                                                                                                                                      14 namespace zoned_date_time_mutation {
                                                                                                                                      15 
                                                                                                                                      42 inline void incrementYear(ZonedDateTime& dateTime) {
                                                                                                                                      43  int8_t yearTiny = dateTime.yearTiny();
                                                                                                                                      44  common::incrementMod(yearTiny, (int8_t) 100);
                                                                                                                                      45  dateTime.yearTiny(yearTiny);
                                                                                                                                      46 }
                                                                                                                                      47 
                                                                                                                                      49 inline void incrementMonth(ZonedDateTime& dateTime) {
                                                                                                                                      50  uint8_t month = dateTime.month();
                                                                                                                                      51  common::incrementMod(month, (uint8_t) 12, (uint8_t) 1);
                                                                                                                                      52  dateTime.month(month);
                                                                                                                                      53 }
                                                                                                                                      54 
                                                                                                                                      56 inline void incrementDay(ZonedDateTime& dateTime) {
                                                                                                                                      57  uint8_t day = dateTime.day();
                                                                                                                                      58  common::incrementMod(day, (uint8_t) 31, (uint8_t) 1);
                                                                                                                                      59  dateTime.day(day);
                                                                                                                                      60 }
                                                                                                                                      61 
                                                                                                                                      63 inline void incrementHour(ZonedDateTime& dateTime) {
                                                                                                                                      64  uint8_t hour = dateTime.hour();
                                                                                                                                      65  common::incrementMod(hour, (uint8_t) 24);
                                                                                                                                      66  dateTime.hour(hour);
                                                                                                                                      67 }
                                                                                                                                      68 
                                                                                                                                      70 inline void incrementMinute(ZonedDateTime& dateTime) {
                                                                                                                                      71  uint8_t minute = dateTime.minute();
                                                                                                                                      72  common::incrementMod(minute, (uint8_t) 60);
                                                                                                                                      73  dateTime.minute(minute);
                                                                                                                                      74 }
                                                                                                                                      75 
                                                                                                                                      76 }
                                                                                                                                      77 }
                                                                                                                                      78 
                                                                                                                                      79 #endif
                                                                                                                                      +
                                                                                                                                      1 /*
                                                                                                                                      +
                                                                                                                                      2  * MIT License
                                                                                                                                      +
                                                                                                                                      3  * Copyright (c) 2018 Brian T. Park
                                                                                                                                      +
                                                                                                                                      4  */
                                                                                                                                      +
                                                                                                                                      5 
                                                                                                                                      +
                                                                                                                                      6 #ifndef ACE_TIME_ZONED_DATE_TIME_MUTATION_H
                                                                                                                                      +
                                                                                                                                      7 #define ACE_TIME_ZONED_DATE_TIME_MUTATION_H
                                                                                                                                      +
                                                                                                                                      8 
                                                                                                                                      +
                                                                                                                                      9 #include <stdint.h>
                                                                                                                                      +
                                                                                                                                      10 #include "common/util.h"
                                                                                                                                      +
                                                                                                                                      11 #include "ZonedDateTime.h"
                                                                                                                                      +
                                                                                                                                      12 
                                                                                                                                      +
                                                                                                                                      13 namespace ace_time {
                                                                                                                                      +
                                                                                                                                      14 namespace zoned_date_time_mutation {
                                                                                                                                      +
                                                                                                                                      15 
                                                                                                                                      +
                                                                                                                                      42 inline void incrementYear(ZonedDateTime& dateTime) {
                                                                                                                                      +
                                                                                                                                      43  int8_t yearTiny = dateTime.yearTiny();
                                                                                                                                      +
                                                                                                                                      44  common::incrementMod(yearTiny, (int8_t) 100);
                                                                                                                                      +
                                                                                                                                      45  dateTime.yearTiny(yearTiny);
                                                                                                                                      +
                                                                                                                                      46 }
                                                                                                                                      +
                                                                                                                                      47 
                                                                                                                                      +
                                                                                                                                      49 inline void incrementMonth(ZonedDateTime& dateTime) {
                                                                                                                                      +
                                                                                                                                      50  uint8_t month = dateTime.month();
                                                                                                                                      +
                                                                                                                                      51  common::incrementMod(month, (uint8_t) 12, (uint8_t) 1);
                                                                                                                                      +
                                                                                                                                      52  dateTime.month(month);
                                                                                                                                      +
                                                                                                                                      53 }
                                                                                                                                      +
                                                                                                                                      54 
                                                                                                                                      +
                                                                                                                                      56 inline void incrementDay(ZonedDateTime& dateTime) {
                                                                                                                                      +
                                                                                                                                      57  uint8_t day = dateTime.day();
                                                                                                                                      +
                                                                                                                                      58  common::incrementMod(day, (uint8_t) 31, (uint8_t) 1);
                                                                                                                                      +
                                                                                                                                      59  dateTime.day(day);
                                                                                                                                      +
                                                                                                                                      60 }
                                                                                                                                      +
                                                                                                                                      61 
                                                                                                                                      +
                                                                                                                                      63 inline void incrementHour(ZonedDateTime& dateTime) {
                                                                                                                                      +
                                                                                                                                      64  uint8_t hour = dateTime.hour();
                                                                                                                                      +
                                                                                                                                      65  common::incrementMod(hour, (uint8_t) 24);
                                                                                                                                      +
                                                                                                                                      66  dateTime.hour(hour);
                                                                                                                                      +
                                                                                                                                      67 }
                                                                                                                                      +
                                                                                                                                      68 
                                                                                                                                      +
                                                                                                                                      70 inline void incrementMinute(ZonedDateTime& dateTime) {
                                                                                                                                      +
                                                                                                                                      71  uint8_t minute = dateTime.minute();
                                                                                                                                      +
                                                                                                                                      72  common::incrementMod(minute, (uint8_t) 60);
                                                                                                                                      +
                                                                                                                                      73  dateTime.minute(minute);
                                                                                                                                      +
                                                                                                                                      74 }
                                                                                                                                      +
                                                                                                                                      75 
                                                                                                                                      +
                                                                                                                                      76 }
                                                                                                                                      +
                                                                                                                                      77 }
                                                                                                                                      +
                                                                                                                                      78 
                                                                                                                                      +
                                                                                                                                      79 #endif
                                                                                                                                      diff --git a/examples/OledClock/OledClock.ino b/examples/OledClock/OledClock.ino index 37f8c4798..f0141a2f5 100644 --- a/examples/OledClock/OledClock.ino +++ b/examples/OledClock/OledClock.ino @@ -154,7 +154,7 @@ COROUTINE(checkButton) { COROUTINE_LOOP() { modeButton.check(); changeButton.check(); - COROUTINE_DELAY(10); // check button 100/sec + COROUTINE_DELAY(5); // check button every 5 ms } } diff --git a/examples/OledClock/README.md b/examples/OledClock/README.md index fcae5c9ad..cb0bb6cc6 100644 --- a/examples/OledClock/README.md +++ b/examples/OledClock/README.md @@ -1,7 +1,7 @@ # OledClock -This is a USB-powered clock that supports 3 timezones using the AceTime library. -It contains: +This is a USB-powered clock that supports at least 4 timezones +using the AceTime library. It contains: * (1) MCU (e.g Nano, Pro Micro, ESP8266, or ESP32) * (1) SSD1306 OLED display on I2C @@ -39,6 +39,209 @@ D02, D03 = GPIO pins, could be assigned to some other pins SCL, SDA = I2C pins ``` +The TimeZone can be selected by the user using the buttons. The menu of TimeZone +choices is defined at compile-time, and is limited only by the available memory +of the microcontroller. + ## Photo -![OledClock](OledClock.jpg) +![OledClock](pics/OledClock.jpg) + +## Configuation and Compiling + +You probably need to set various parameters in `config.h` match the hardware +that you assembled. The 2 important parameters are: + +* `TIME_ZONE_TYPE`: selects the TimeZone algorithm +* `TIME_SOURCE_TYPE`: defines the reference accurate time source + * `TIME_SOURCE_TYPE_NONE`: use the internal clock + * `TIME_SOURCE_TYPE_DS3231`: use a DS3231 RTC chip + * `TIME_SOURCE_TYPE_NTP`: use an NTP server (ESP8266 or ESP32) + * `TIME_SOURCE_TYPE_BOTH`: use an NPT server as the reference clock, but + use the DS3231 RTC as backup when the power goes out + +If you are using the Arduino IDE (as most people probably are), the +configuration parameters inside the following are the ones you need to change: + +```C++ +#ifndef AUNITER + // Arduino IDE in interactive mode + #define MODE_BUTTON_PIN 2 + #define CHANGE_BUTTON_PIN 3 + #define TIME_SOURCE_TYPE TIME_SOURCE_TYPE_DS3231 + #define OLED_REMAP false +``` + +All the other ones are the parameters needed by my various boards, so you can +ignore those. The various `AUNITER_xxx` symbols are defined by the +[AUniter](https://github.com/bxparks/AUniter) script, which is the tool that I +normally use for compiling and uploading. You do *not* need to use AUniter, you +can use just the normal Arduino IDE. + +## User Guide + +Once the program is uploaded and running, here is how to set and operate the +OledClock. The 2 buttons are called: + +* `Mode` +* `Change` + +Clicking on the `Mode` button cycles through the 3 main display modes: + +* Date/Time + * Shows the date, time, and day of week fields. +* TimeZone + * Shows the current selected Time Zone +* Version + * Shows the version number of this application and the TZ Database version + number which was used to generate the TimeZone information. + +The `Change` button is used only in Edit mode to change the values of various +date, time and time zone fields. + +### Setting the Date and Time + +1. Click on the `Mode` button until the date and time are shown. +1. Press-and-Hold the `Mode` button to enter Edit mode. + * The **year** field will start to blink. + * Release the `Mode` button. + * Click the `Change` button to increment the year by one. + * When the year goes to 2099, it will cycle back to 2000. + * Press-and-Hold the `Change` button to rapidly increase the year. + * Release the `Change` button to stop the automatic increment of the year. +1. When the desired year is set, press the `Mode` button. + * The **month** will start to blink. + * Click the `Change` button to increment the month by one. + * When the month goes to 12, it will cycle back to 1. + * Press-and-Hold the `Change` button to rapidly increase the month. + * Release the `Change` button to stop the automatic increment of the month. +1. When the desired month is set, press the `Mode` button. + * The **day** will start to blink. + * Use the `Change` button to set the **day**. +1. When the desired day is set, press the `Mode` button. + * The **hour** will start to blink. + * Use the `Change` button to set the hour. +1. When the desired hour is set, press the `Mode` button. + * The **minute** will start to blink. + * Use the `Change` button to set the minute. +1. When all the date and time fields are set to the desired values, +1. Press-and-Hold the `Mode` button to stop the blinking. + * This will exit the blinking Edit mode. + +![OledClock](pics/OledClock-mode-date-time.jpg) + +### Setting the Time Zone (Basic and Extended TimeZone Type) + +If `TIME_ZONE_TYPE` is set to either one of the following in `config.h`: + +```C++ +#define TIME_ZONE_TYPE TIME_ZONE_TYPE_BASIC +#define TIME_ZONE_TYPE TIME_ZONE_TYPE_EXTENDED +``` + +the UTC offset and the DST shift rules are automatically calculated +from the TZ Database. + +The time zone can be selected using the buttons on the clock from a menu of +choices which are compiled into the program as defined by the +`Controller::kZoneRegistry` in `Controller.cpp`: + +```C++ + &zonedb::kZoneAmerica_Los_Angeles, + &zonedb::kZoneAmerica_Denver, + &zonedb::kZoneAmerica_Chicago, + &zonedb::kZoneAmerica_New_York, +``` + +The menu of choices can be changed at compile-time. The number of available time +zones will often be limited by the amount of flash memory in the microcontroller +that you are using. + +1. Click on the `Mode` button until the TimeZone display is shown. +1. Press-and-Hold the `Mode` button to enter Edit mode. + * The **Zone Name** field will start blinking. +1. Click on the `Change` button to cycle through one of the following choices: + * `Los_Angeles` + * `Denver` + * `Chicago` + * `New_York` +1. When the desired zone is reached, Press-and-Hold the `Mode` button to stop + the blinking. + * This will exit the blinking Edit mode. + +![OledClock](pics/OledClock-mode-time-zone.jpg) + +### Setting the UTC Offset (Manual TimeZone Type) + +If `TIME_ZONE_TYPE` is set using the following in `config.h`: + +```C++ +#define TYPE_ZONE_TYPE TIME_ZONE_TYPE_MANUAL +``` + +the time zone determined by a fixed offset from UTC and a DST (on/off) flag, +instead of using the TZ Database rules. The following parameters can be +set using the buttons on the clock: + +* UTC Offset (e.g. `-08:00`) +* isDst flag (`on` if DST is active, `off` otherwise) + +1. Click on the `Mode` button until the TimeZone display is shown. +1. Press-and-Hold the `Mode` button to enter Edit mode. + * The **UTC** offset will start blinking. + * Click on the `Change` button to change the UTC offset in 15 minutes + increments. + * When you reach `UTC+16:00`, the UTC offset will cycle back to `UTC-16:00` + and then continue increasing in 15-minute increments. + * Press-and-Hold the `Change` button to rapidly change the UTC offset. +1. When the desired UTC offset is set, press the `Mode` button. + * The **DST** on/off setting will start blinking. + * Click on the `Change` button to toggle the settings between **on** and + * **off**. +1. When the desired on/off settings is reached, Press-and-Hold the `Mode` button + to exit the Edit mode. + +![OledClock](pics/OledClock-mode-time-zone-manual.jpg) + +### Version + +There are 2 version numbers shown: + +* TZ: The TZ Database version number (e.g. `2020a`) +* AT: The AceTime library version number (e.g. `1.1`) + +These fields cannot be editted, so Press-and-Hold on the `Mode` button will +do nothing. + +![OledClock](pics/OledClock-mode-version.jpg) + +### Persistance + +The date and time are stored on the DS3231 RTC. The chip that I am using has a +long-life supercapacitor. It seems to be able to hold enough charge to keep the +RTC running for 3-6 months. After the charge runs out, the date and time will be +reset to some early date (e.g. 1999-12-31 16:00:00). + +The time zone (e.g. `Los_Angeles` or `UTC-08:00`) is stored in the EEPROM of the +microcontroller. It will be read back when the power is restored. + +When the clock info is read from the EEPROM upon rebooting, the program performs +a CRC32 data integrity check on the information to make sure that it has not +been corrupted. If the CRC32 check fails, then the program *should* set the +various options to the factory default state (e.g. `Los_Angeles` time zone). +However it is possible that something could go wrong with this data integrity +check (or there is a bug in my program). + +### Factory Reset + +If the EEPROM state becomes corrupted, or the CRC32 check fails, or there +is a bug in my code, it is possible to do a factory reset using the following +compile-time option in `config.h`: + +```C++ +#define FORCE_INITIALIZE 1 +``` + +Recompile and upload the program to the microcontroller. This should reset +all values to their factory defaults. Afterwards, set the `FORCE_INITIALIZE` to +`0` again, and upload the program again to get the normal behavior. diff --git a/examples/OledClock/pics/OledClock-mode-date-time-blink.jpg b/examples/OledClock/pics/OledClock-mode-date-time-blink.jpg new file mode 100644 index 000000000..e031aa0dd Binary files /dev/null and b/examples/OledClock/pics/OledClock-mode-date-time-blink.jpg differ diff --git a/examples/OledClock/pics/OledClock-mode-date-time.jpg b/examples/OledClock/pics/OledClock-mode-date-time.jpg new file mode 100644 index 000000000..604cd6276 Binary files /dev/null and b/examples/OledClock/pics/OledClock-mode-date-time.jpg differ diff --git a/examples/OledClock/pics/OledClock-mode-time-zone-manual.jpg b/examples/OledClock/pics/OledClock-mode-time-zone-manual.jpg new file mode 100755 index 000000000..99464fa56 Binary files /dev/null and b/examples/OledClock/pics/OledClock-mode-time-zone-manual.jpg differ diff --git a/examples/OledClock/pics/OledClock-mode-time-zone.jpg b/examples/OledClock/pics/OledClock-mode-time-zone.jpg new file mode 100644 index 000000000..3e29d2c66 Binary files /dev/null and b/examples/OledClock/pics/OledClock-mode-time-zone.jpg differ diff --git a/examples/OledClock/pics/OledClock-mode-version.jpg b/examples/OledClock/pics/OledClock-mode-version.jpg new file mode 100644 index 000000000..e6cbf678f Binary files /dev/null and b/examples/OledClock/pics/OledClock-mode-version.jpg differ diff --git a/examples/OledClock/OledClock.jpg b/examples/OledClock/pics/OledClock.jpg similarity index 100% rename from examples/OledClock/OledClock.jpg rename to examples/OledClock/pics/OledClock.jpg diff --git a/examples/WorldClock/README.md b/examples/WorldClock/README.md index fcf97ec45..daa1e805c 100644 --- a/examples/WorldClock/README.md +++ b/examples/WorldClock/README.md @@ -53,3 +53,9 @@ SCL, SDA = I2C pins ## Photo ![WorldClock](WorldClock.jpg) + +## Installation and User Guide + +I don't have the time to write a documentation for this, but structure of the +code for WorldClock is very similar to [OledClock](../OledClock) so the notes +there will be very close to how the WorldClock works. diff --git a/library.properties b/library.properties index 2dd3eb6b0..eaa1b4370 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=AceTime -version=1.1 +version=1.1.1 author=Brian T. Park maintainer=Brian T. Park sentence=Date, time, clock, and TZ Database timezones for Arduino. diff --git a/src/AceTime.h b/src/AceTime.h index 42136a83b..d4643f2aa 100644 --- a/src/AceTime.h +++ b/src/AceTime.h @@ -55,7 +55,7 @@ #include "ace_time/clock/SystemClockCoroutine.h" // Version format: xxyyzz == "xx.yy.zz" -#define ACE_TIME_VERSION 10100 -#define ACE_TIME_VERSION_STRING "1.1" +#define ACE_TIME_VERSION 10101 +#define ACE_TIME_VERSION_STRING "1.1.1" #endif diff --git a/src/ace_time/LocalDate.h b/src/ace_time/LocalDate.h index f872f0c7c..e2dde9617 100644 --- a/src/ace_time/LocalDate.h +++ b/src/ace_time/LocalDate.h @@ -52,7 +52,7 @@ class LocalDate { /** * Sentinel yearTiny which represents the largest year, effectively - * -Infinity. + * +Infinity. */ static const int8_t kMaxYearTiny = INT8_MAX; diff --git a/src/ace_time/ZoneRegistrar.h b/src/ace_time/ZoneRegistrar.h index 5187029c9..0d2ed9249 100644 --- a/src/ace_time/ZoneRegistrar.h +++ b/src/ace_time/ZoneRegistrar.h @@ -169,8 +169,8 @@ typedef ZoneRegistrar= mRequestTimeoutMillis) { diff --git a/src/ace_time/internal/README.md b/src/ace_time/internal/README.md index dca3676f5..d51aa1709 100644 --- a/src/ace_time/internal/README.md +++ b/src/ace_time/internal/README.md @@ -8,7 +8,7 @@ directories. It is entirely possible that the internal structure of these data types may change without warning when the internal implementations change. There are 5 core data types: `ZoneContext`, `ZoneRule`, `ZonePolicy`, `ZoneEra` -and `ZoneInfo`. Currenlty, each data type is duplicated into 2 namespaces +and `ZoneInfo`. Currently, each data type is duplicated into 2 namespaces (`basic::` and `extended::`) for use with `BasicZoneProcessor` and `ExtendedZoneProcessor` respectively. It is entirely possible that future implementations may bifurcate these data types so that they are no longer diff --git a/src/ace_time/testing/BasicTransitionTest.h b/src/ace_time/testing/BasicTransitionTest.h index b37b9afd6..e04a8294e 100644 --- a/src/ace_time/testing/BasicTransitionTest.h +++ b/src/ace_time/testing/BasicTransitionTest.h @@ -9,6 +9,7 @@ #include #include #include "ValidationDataType.h" +#include "ValidationScope.h" #define BASIC_TRANSITION_TEST_DEBUG 0 @@ -17,74 +18,100 @@ namespace testing { class BasicTransitionTest: public aunit::TestOnce { protected: + /** + * Check if the data from the third party library is equal to the values + * expected from AceTime. We use custom assertion() logic instead of using + * AUnit's built-in assertEqual() methods for 2 reasons: + * + * 1) We want to test all test items in validation_data.cpp for each zone, + * instead of terminating the test after the first failure. + * 2) We want error messages with far more context information so that we + * can track down the exact test item that failed. + */ void assertValid( const basic::ZoneInfo* const zoneInfo, - const ValidationData* testData, - bool validateDst, - bool validateAbbrev) { - - if (BASIC_TRANSITION_TEST_DEBUG) { - enableVerbosity(aunit::Verbosity::kAssertionPassed); - } + const ValidationData* const testData, + ValidationScope dstValidationScope, + ValidationScope abbrevValidationScope) { BasicZoneProcessor zoneProcessor; TimeZone tz = TimeZone::forZoneInfo(zoneInfo, &zoneProcessor); + + bool passed = true; for (uint16_t i = 0; i < testData->numItems; i++) { const ValidationItem& item = testData->items[i]; acetime_t epochSeconds = item.epochSeconds; + ZonedDateTime dt = ZonedDateTime::forEpochSeconds(epochSeconds, tz); + + checkComponent(passed, i, item, "year", dt.year(), item.year); + checkComponent(passed, i, item, "month", dt.month(), item.month); + checkComponent(passed, i, item, "day", dt.day(), item.day); + checkComponent(passed, i, item, "hour", dt.hour(), item.hour); + checkComponent(passed, i, item, "minute", dt.minute(), item.minute); + checkComponent(passed, i, item, "second", dt.second(), item.second); - // Call getUtcOffset() to prime the ZoneProcessor cache, before - // zoneProcessor.log() is called. TimeOffset timeOffset = tz.getUtcOffset(epochSeconds); + checkComponent(passed, i, item, "UTC", + timeOffset.toMinutes(), item.timeOffsetMinutes); - if (BASIC_TRANSITION_TEST_DEBUG) { - printTestInfo(i, epochSeconds); - zoneProcessor.log(); + // Check the DST if correct ValidationScope is given. + if ((dstValidationScope == ValidationScope::kAll) + || ((dstValidationScope == ValidationScope::kExternal) + && (item.type == 'A' || item.type == 'B'))) { + TimeOffset deltaOffset = tz.getDeltaOffset(epochSeconds); + checkComponent(passed, i, item, "DST", + deltaOffset.toMinutes(), item.deltaOffsetMinutes); } - // Verify total UTC timeOffset - if (item.timeOffsetMinutes != timeOffset.toMinutes()) { - printTestInfo(i, epochSeconds); + // Check the Abbrev if correct ValidationScop is given. + if ((abbrevValidationScope == ValidationScope::kAll) + || ((abbrevValidationScope == ValidationScope::kExternal) + && (item.type == 'A' || item.type == 'B'))) { + checkAbbrev(passed, i, item, tz); } - assertEqual(item.timeOffsetMinutes, timeOffset.toMinutes()); + } - // Verify DST offset. - if (validateDst) { - TimeOffset deltaOffset = tz.getDeltaOffset(epochSeconds); - if (item.deltaOffsetMinutes != deltaOffset.toMinutes()) { - printTestInfo(i, epochSeconds); - } - assertEqual(item.deltaOffsetMinutes, deltaOffset.toMinutes()); + if (BASIC_TRANSITION_TEST_DEBUG) { + if (! passed) { + zoneProcessor.log(); } + } + assertTrue(passed); + } - // Verify date components - ZonedDateTime dt = ZonedDateTime::forEpochSeconds(epochSeconds, tz); - assertEqual(item.year, dt.year()); - assertEqual(item.month, dt.month()); - assertEqual(item.day, dt.day()); - assertEqual(item.hour, dt.hour()); - assertEqual(item.minute, dt.minute()); - assertEqual(item.second, dt.second()); - - // Verify abbreviation if it is defined. - if (validateAbbrev && item.abbrev != nullptr) { - if (! aunit::internal::compareEqual( - item.abbrev, tz.getAbbrev(epochSeconds))) { - printTestInfo(i, epochSeconds); - } - assertEqual(item.abbrev, tz.getAbbrev(epochSeconds)); - } + void checkComponent(bool& passed, int i, const ValidationItem& item, + const char* componentName, int aceTimeValue, int libValue) { + if (aceTimeValue != libValue) { + printFailedHeader(componentName, i, item); + logging::printf("at=%d lib=%d\n", aceTimeValue, libValue); + passed = false; } } - void printTestInfo(uint16_t i, acetime_t epochSeconds) { - ace_time::logging::printf("==== failed at index: %d; ", i); - if (sizeof(acetime_t) == sizeof(int)) { - ace_time::logging::printf("epochSeconds: %d\r\n", epochSeconds); - } else { - ace_time::logging::printf("epochSeconds: %ld\r\n", epochSeconds); + void checkAbbrev(bool& passed, int i, const ValidationItem& item, + const TimeZone& tz) { + if (item.abbrev == nullptr) return; + + acetime_t epochSeconds = item.epochSeconds; + if (! aunit::internal::compareEqual( + item.abbrev, tz.getAbbrev(epochSeconds))) { + printFailedHeader("abbrev", i, item); + logging::printf( "at=%s, lib=%s\n", + tz.getAbbrev(epochSeconds), + item.abbrev); + passed = false; } } + + void printFailedHeader(const char* tag, uint16_t i, + const ValidationItem& item) { + logging::printf( + "* failed %s: index=%d eps=%ld " + "%04d-%02d-%02dT%02d:%02d:%02d: ", + tag, i, item.epochSeconds, + item.year, item.month, item.day, + item.hour, item.minute, item.second); + } }; } diff --git a/src/ace_time/testing/ExtendedTransitionTest.h b/src/ace_time/testing/ExtendedTransitionTest.h index 4e6aaacfd..9994871be 100644 --- a/src/ace_time/testing/ExtendedTransitionTest.h +++ b/src/ace_time/testing/ExtendedTransitionTest.h @@ -9,6 +9,7 @@ #include #include #include "ValidationDataType.h" +#include "ValidationScope.h" #include "../common/logging.h" #define EXTENDED_TRANSITION_TEST_DEBUG 0 @@ -18,93 +19,111 @@ namespace testing { class ExtendedTransitionTest: public aunit::TestOnce { protected: + /** + * Check if the data from the third party library is equal to the values + * expected from AceTime. We use custom assertion() logic instead of using + * AUnit's built-in assertEqual() methods for 2 reasons: + * + * 1) We want to test all test items in validation_data.cpp for each zone, + * instead of terminating the test after the first failure. + * 2) We want error messages with far more context information so that we + * can track down the exact test item that failed. + */ void assertValid( const extended::ZoneInfo* const zoneInfo, - const ValidationData* testData, - bool validateDst, - bool validateAbbrev) { - - if (EXTENDED_TRANSITION_TEST_DEBUG) { - enableVerbosity(aunit::Verbosity::kAssertionPassed); - } + const ValidationData* const testData, + ValidationScope dstValidationScope, + ValidationScope abbrevValidationScope) { ExtendedZoneProcessor zoneProcessor; - zoneProcessor.resetTransitionHighWater(); TimeZone tz = TimeZone::forZoneInfo(zoneInfo, &zoneProcessor); - // Assert that each epoch_second produces the expected yMdhms - // components when converted through ZonedDataTime class. + bool passed = true; for (uint16_t i = 0; i < testData->numItems; i++) { const ValidationItem& item = testData->items[i]; acetime_t epochSeconds = item.epochSeconds; - if (EXTENDED_TRANSITION_TEST_DEBUG) { - printTestInfo(i, epochSeconds); - ace_time::logging::printf("; %d-%d-%dT%d:%d:%d\r\n", - item.year, - item.month, - item.day, - item.hour, - item.minute, - item.second); - } + ZonedDateTime dt = ZonedDateTime::forEpochSeconds(epochSeconds, tz); + + checkComponent(passed, i, item, "year", dt.year(), item.year); + checkComponent(passed, i, item, "month", dt.month(), item.month); + checkComponent(passed, i, item, "day", dt.day(), item.day); + checkComponent(passed, i, item, "hour", dt.hour(), item.hour); + checkComponent(passed, i, item, "minute", dt.minute(), item.minute); + checkComponent(passed, i, item, "second", dt.second(), item.second); TimeOffset timeOffset = tz.getUtcOffset(epochSeconds); - if (EXTENDED_TRANSITION_TEST_DEBUG) { - zoneProcessor.log(); - } + checkComponent(passed, i, item, "UTC", + timeOffset.toMinutes(), item.timeOffsetMinutes); - // Verify total UTC timeOffset - if (item.timeOffsetMinutes != timeOffset.toMinutes()) { - printTestInfo(i, epochSeconds); + // Check the DST if correct ValidationScope is given. + if ((dstValidationScope == ValidationScope::kAll) + || ((dstValidationScope == ValidationScope::kExternal) + && (item.type == 'A' || item.type == 'B'))) { + TimeOffset deltaOffset = tz.getDeltaOffset(epochSeconds); + checkComponent(passed, i, item, "DST", + deltaOffset.toMinutes(), item.deltaOffsetMinutes); } - assertEqual(item.timeOffsetMinutes, timeOffset.toMinutes()); - // Verify DST offset. - if (validateDst) { - TimeOffset deltaOffset = tz.getDeltaOffset(epochSeconds); - if (item.deltaOffsetMinutes != deltaOffset.toMinutes()) { - printTestInfo(i, epochSeconds); - } - assertEqual(item.deltaOffsetMinutes, deltaOffset.toMinutes()); + // Check the Abbrev if correct ValidationScope is given. + if ((abbrevValidationScope == ValidationScope::kAll) + || ((abbrevValidationScope == ValidationScope::kExternal) + && (item.type == 'A' || item.type == 'B'))) { + checkAbbrev(passed, i, item, tz); } + } - // Verify date components - ZonedDateTime dt = ZonedDateTime::forEpochSeconds(epochSeconds, tz); - assertEqual(item.year, dt.year()); - assertEqual(item.month, dt.month()); - assertEqual(item.day, dt.day()); - assertEqual(item.hour, dt.hour()); - assertEqual(item.minute, dt.minute()); - assertEqual(item.second, dt.second()); - - // Verify abbreviation if it is defined. - if (validateAbbrev && item.abbrev != nullptr) { - if (! aunit::internal::compareEqual( - item.abbrev, tz.getAbbrev(epochSeconds))) { - printTestInfo(i, epochSeconds); - } - assertEqual(item.abbrev, tz.getAbbrev(epochSeconds)); + if (EXTENDED_TRANSITION_TEST_DEBUG) { + if (! passed) { + zoneProcessor.log(); } } + assertTrue(passed); // Assert that size of the internal Transitions buffer never got // above the expected buffer size. The buffer size is only relevant for // the ExtendedZoneProcessor class. // - // TODO: In theory, this should be BasicZone(zoneInfo).transitionBufSize() - // but this code works only on Linux or MacOS, so doesn't really matter. + // TODO: In theory, we should use + // ExtendedZone(zoneInfo).transitionBufSize() for compability with + // PROGMEM but this code works only on Linux or MacOS, not on an actual + // Arduino microncontroller, so it doesn't really matter. assertLess(zoneProcessor.getTransitionHighWater(), zoneInfo->transitionBufSize); } - void printTestInfo(uint16_t i, acetime_t epochSeconds) { - ace_time::logging::printf("==== failed at index: %d; ", i); - if (sizeof(acetime_t) == sizeof(int)) { - ace_time::logging::printf("epochSeconds: %d\r\n", epochSeconds); - } else { - ace_time::logging::printf("epochSeconds: %ld\r\n", epochSeconds); + void checkComponent(bool& passed, int i, const ValidationItem& item, + const char* componentName, int aceTimeValue, int libValue) { + if (aceTimeValue != libValue) { + printFailedHeader(componentName, i, item); + logging::printf("at=%d lib=%d\n", aceTimeValue, libValue); + passed = false; } } + + void checkAbbrev(bool& passed, int i, const ValidationItem& item, + const TimeZone& tz) { + if (item.abbrev == nullptr) return; + + acetime_t epochSeconds = item.epochSeconds; + if (! aunit::internal::compareEqual( + item.abbrev, tz.getAbbrev(epochSeconds))) { + printFailedHeader("abbrev", i, item); + logging::printf( "at=%s, lib=%s\n", + tz.getAbbrev(epochSeconds), + item.abbrev); + passed = false; + } + } + + void printFailedHeader(const char* tag, uint16_t i, + const ValidationItem& item) { + logging::printf( + "* failed %s: index=%d eps=%ld " + "%04d-%02d-%02dT%02d:%02d:%02d: ", + tag, i, item.epochSeconds, + item.year, item.month, item.day, + item.hour, item.minute, item.second); + } }; } diff --git a/src/ace_time/testing/ValidationDataType.h b/src/ace_time/testing/ValidationDataType.h index a868e4ac8..3f2ef9d4c 100644 --- a/src/ace_time/testing/ValidationDataType.h +++ b/src/ace_time/testing/ValidationDataType.h @@ -12,7 +12,19 @@ namespace ace_time { namespace testing { -/** The epochSecond and the expected UTC offset and dateTime components. */ +/** + * The epochSecond and the expected UTC offset and dateTime components. + * This is the C++ representation of the 'TestItem' entry in + * validation_data.json file which is defined in tools/validation/data.py. The + * 'type' contains a single character with the following meanings: + * + * * 'A': pre-transition where the UTC offset is different + * * 'B': post-transition where the UTC offset is different + * * 'a': pre-transition where only the DST offset is different + * * 'b': post-transition where only the DST offset is different + * * 'S': a monthly test sample + * * 'Y': end of year test sample + */ struct ValidationItem { acetime_t const epochSeconds; int16_t const timeOffsetMinutes; @@ -24,11 +36,12 @@ struct ValidationItem { uint8_t const minute; uint8_t const second; const char* const abbrev; + char const type; }; /** - * Collection of ValidationItems (usually 300-500 samples over 30-50 years, - * 2000 to 2050 for example) for a particular timezone (e.g. + * Collection of ValidationItems (usually 300-500 samples, over 30-50 years, + * from year 2000 until 2050, for example) for a particular timezone (e.g. * America/Los_Angeles) generated from a third party date/time library (e.g. * Python pytz). The AceTime classes will be tested against this dataset using * the BasicTransitionTest or ExtendedTransitionTest classes. diff --git a/src/ace_time/testing/ValidationScope.h b/src/ace_time/testing/ValidationScope.h new file mode 100644 index 000000000..24d19ae68 --- /dev/null +++ b/src/ace_time/testing/ValidationScope.h @@ -0,0 +1,49 @@ +/* + * MIT License + * Copyright (c) 2020 Brian T. Park + */ + +#ifndef ACE_TIME_VALIDATION_SCOPE +#define ACE_TIME_VALIDATION_SCOPE + +namespace ace_time { +namespace testing { + +/** + * Enum that controls when a given entry from validation_data.cpp should + * trigger the DST offset or Abbreviation to be compared against AceTime's + * version. There are roughly 3 types of entries in validation_data.cpp, + * given by the 'type' field: + * + * * A, B: transitions caused by a externally-visible change in UTC offset + * * a, b: transitions caused by a change in DST offset which isn't normally + * visible to the end-user (called "internal") + * * S, Y: sample points (S), usually the first of the month) and year-end + * (Y) point at the end of the year. + */ +enum class ValidationScope { + /** Disable validation of the DST offset or the abbreviation. */ + kNone, + + /** + * Validate only the externally visible transitions where the UTC offset + * changes. These transitions are the most reliable from various datetime + * packages because these are the ones visible to the users. These are + * marked as type='A' and type='B' in validation_data.json. + */ + kExternal, + + /** + * Validate external AND internal transitions. Internal transitions are + * those where only the DST offset changes, but not the UTC offset. These + * are not normally visible to the end users, and many datetime libraries + * seem to have bugs in these. The internal only transitions are marked as + * type='a' and type='b' in validation_data.json. + */ + kAll +}; + +} +} + +#endif diff --git a/src/ace_time/zonedb/Makefile b/src/ace_time/zonedb/Makefile index c258a889c..c89083f5a 100644 --- a/src/ace_time/zonedb/Makefile +++ b/src/ace_time/zonedb/Makefile @@ -1,6 +1,6 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h -TZ_VERSION = 2020a +TZ_VERSION = 2020c START_YEAR = 2000 UNTIL_YEAR = 2050 diff --git a/src/ace_time/zonedb/zone_infos.cpp b/src/ace_time/zonedb/zone_infos.cpp index 01b20970b..d9735d9e5 100644 --- a/src/ace_time/zonedb/zone_infos.cpp +++ b/src/ace_time/zonedb/zone_infos.cpp @@ -1,9 +1,9 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // Zones: 268 // Links: 182 @@ -24,7 +24,7 @@ namespace zonedb { // ZoneContext (should not be in PROGMEM) //--------------------------------------------------------------------------- -const char kTzDatabaseVersion[] = "2020a"; +const char kTzDatabaseVersion[] = "2020c"; const basic::ZoneContext kZoneContext = { 2000 /*startYear*/, diff --git a/src/ace_time/zonedb/zone_infos.h b/src/ace_time/zonedb/zone_infos.h index 86d8ed812..94380185b 100644 --- a/src/ace_time/zonedb/zone_infos.h +++ b/src/ace_time/zonedb/zone_infos.h @@ -1,12 +1,12 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 // // using the TZ Database files // // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica // -// from https://github.com/eggert/tz/releases/tag/2020a +// from https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT @@ -555,7 +555,7 @@ extern const basic::ZoneInfo& kZoneZulu; // Zulu -> Etc/UTC // America/Whitehorse (UNTIL contains month/day/time) // Antarctica/Casey (UNTIL contains month/day/time) // Antarctica/Davis (UNTIL contains month/day/time) -// Antarctica/Macquarie (UNTIL contains month/day/time) +// Antarctica/Macquarie (offset in RULES '1:00') // Antarctica/Mawson (UNTIL contains month/day/time) // Antarctica/Palmer (UNTIL contains month/day/time) // Antarctica/Troll (UNTIL contains month/day/time) diff --git a/src/ace_time/zonedb/zone_policies.cpp b/src/ace_time/zonedb/zone_policies.cpp index b13a962f4..02cdffea4 100644 --- a/src/ace_time/zonedb/zone_policies.cpp +++ b/src/ace_time/zonedb/zone_policies.cpp @@ -1,14 +1,14 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // Policies: 65 -// Rules: 360 -// Memory (8-bit): 3630 -// Memory (32-bit): 5132 +// Rules: 362 +// Memory (8-bit): 3648 +// Memory (32-bit): 5156 // // DO NOT EDIT @@ -1976,9 +1976,9 @@ const basic::ZonePolicy kPolicyEire ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Fiji -// Rules: 11 -// Memory (8-bit): 105 -// Memory (32-bit): 144 +// Rules: 13 +// Memory (8-bit): 123 +// Memory (32-bit): 168 //--------------------------------------------------------------------------- static const basic::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = { @@ -2102,9 +2102,33 @@ static const basic::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = { 0 /*deltaCode*/, '-' /*letter*/, }, - // Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 - + // Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 - { 19 /*fromYearTiny*/, + 19 /*toYearTiny*/, + 11 /*inMonth*/, + 7 /*onDayOfWeek*/, + 8 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + basic::ZoneContext::kSuffixW /*atTimeModifier*/, + 4 /*deltaCode*/, + '-' /*letter*/, + }, + // Rule Fiji 2020 only - Dec 20 2:00 1:00 - + { + 20 /*fromYearTiny*/, + 20 /*toYearTiny*/, + 12 /*inMonth*/, + 0 /*onDayOfWeek*/, + 20 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + basic::ZoneContext::kSuffixW /*atTimeModifier*/, + 4 /*deltaCode*/, + '-' /*letter*/, + }, + // Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 - + { + 21 /*fromYearTiny*/, 126 /*toYearTiny*/, 11 /*inMonth*/, 7 /*onDayOfWeek*/, @@ -2122,7 +2146,7 @@ static const basic::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = { const basic::ZonePolicy kPolicyFiji ACE_TIME_PROGMEM = { kZoneRulesFiji /*rules*/, nullptr /* letters */, - 11 /*numRules*/, + 13 /*numRules*/, 0 /* numLetters */, }; diff --git a/src/ace_time/zonedb/zone_policies.h b/src/ace_time/zonedb/zone_policies.h index f502ef6c1..95b13bed4 100644 --- a/src/ace_time/zonedb/zone_policies.h +++ b/src/ace_time/zonedb/zone_policies.h @@ -1,12 +1,12 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 // // using the TZ Database files // // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica // -// from https://github.com/eggert/tz/releases/tag/2020a +// from https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/src/ace_time/zonedb/zone_registry.cpp b/src/ace_time/zonedb/zone_registry.cpp index 5e9ceda3b..9297e5ac2 100644 --- a/src/ace_time/zonedb/zone_registry.cpp +++ b/src/ace_time/zonedb/zone_registry.cpp @@ -1,9 +1,9 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/src/ace_time/zonedb/zone_registry.h b/src/ace_time/zonedb/zone_registry.h index e47a36fc1..1ea7e1a7c 100644 --- a/src/ace_time/zonedb/zone_registry.h +++ b/src/ace_time/zonedb/zone_registry.h @@ -1,9 +1,9 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedb --tz_version 2020a --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedb --tz_version 2020c --action zonedb --language arduino --scope basic --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/src/ace_time/zonedbx/Makefile b/src/ace_time/zonedbx/Makefile index aa34b6110..2ba91e8d9 100644 --- a/src/ace_time/zonedbx/Makefile +++ b/src/ace_time/zonedbx/Makefile @@ -1,6 +1,6 @@ TARGETS := zone_infos.cpp zone_infos.h zone_policies.cpp zone_policies.h -TZ_VERSION = 2020a +TZ_VERSION = 2020c START_YEAR = 2000 UNTIL_YEAR = 2050 diff --git a/src/ace_time/zonedbx/zone_infos.cpp b/src/ace_time/zonedbx/zone_infos.cpp index 5ea10de47..e1bf65835 100644 --- a/src/ace_time/zonedbx/zone_infos.cpp +++ b/src/ace_time/zonedbx/zone_infos.cpp @@ -1,15 +1,15 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // Zones: 387 // Links: 206 -// Strings (bytes): 9465 -// Memory (8-bit): 21457 -// Memory (32-bit): 27893 +// Strings (bytes): 9491 +// Memory (8-bit): 21549 +// Memory (32-bit): 28015 // // DO NOT EDIT @@ -24,7 +24,7 @@ namespace zonedbx { // ZoneContext (should not be in PROGMEM) //--------------------------------------------------------------------------- -const char kTzDatabaseVersion[] = "2020a"; +const char kTzDatabaseVersion[] = "2020c"; const extended::ZoneContext kZoneContext = { 2000 /*startYear*/, @@ -2999,16 +2999,16 @@ const extended::ZoneInfo kZoneAmerica_Danmarkshavn ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Dawson[] ACE_TIME_PROGMEM = { - // -8:00 Canada P%sT 2020 Mar 8 2:00 + // -8:00 Canada P%sT 2020 Nov 1 { &kPolicyCanada /*zonePolicy*/, "P%T" /*format*/, -32 /*offsetCode*/, (0 << 4) + (0 + 4) /*deltaCode*/, 20 /*untilYearTiny*/, - 3 /*untilMonth*/, - 8 /*untilDay*/, - 8 /*untilTimeCode*/, + 11 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode*/, extended::ZoneContext::kSuffixW /*untilTimeModifier*/, }, // -7:00 - MST @@ -6871,16 +6871,16 @@ const extended::ZoneInfo kZoneAmerica_Vancouver ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAmerica_Whitehorse[] ACE_TIME_PROGMEM = { - // -8:00 Canada P%sT 2020 Mar 8 2:00 + // -8:00 Canada P%sT 2020 Nov 1 { &kPolicyCanada /*zonePolicy*/, "P%T" /*format*/, -32 /*offsetCode*/, (0 << 4) + (0 + 4) /*deltaCode*/, 20 /*untilYearTiny*/, - 3 /*untilMonth*/, - 8 /*untilDay*/, - 8 /*untilTimeCode*/, + 11 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode*/, extended::ZoneContext::kSuffixW /*untilTimeModifier*/, }, // -7:00 - MST @@ -7028,14 +7028,14 @@ const extended::ZoneInfo kZoneAmerica_Yellowknife ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: Antarctica/Casey -// Zone Eras: 7 -// Strings (bytes): 45 -// Memory (8-bit): 134 -// Memory (32-bit): 177 +// Zone Eras: 12 +// Strings (bytes): 65 +// Memory (8-bit): 209 +// Memory (32-bit): 277 //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { - // 8:00 - +08 2009 Oct 18 2:00 + // 8:00 - +08 2009 Oct 18 2:00 { nullptr /*zonePolicy*/, "+08" /*format*/, @@ -7059,7 +7059,7 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 8 /*untilTimeCode*/, extended::ZoneContext::kSuffixW /*untilTimeModifier*/, }, - // 8:00 - +08 2011 Oct 28 2:00 + // 8:00 - +08 2011 Oct 28 2:00 { nullptr /*zonePolicy*/, "+08" /*format*/, @@ -7083,7 +7083,7 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 68 /*untilTimeCode*/, extended::ZoneContext::kSuffixU /*untilTimeModifier*/, }, - // 8:00 - +08 2016 Oct 22 + // 8:00 - +08 2016 Oct 22 { nullptr /*zonePolicy*/, "+08" /*format*/, @@ -7107,12 +7107,72 @@ static const extended::ZoneEra kZoneEraAntarctica_Casey[] ACE_TIME_PROGMEM = { 16 /*untilTimeCode*/, extended::ZoneContext::kSuffixW /*untilTimeModifier*/, }, - // 8:00 - +08 + // 8:00 - +08 2018 Oct 7 4:00 { nullptr /*zonePolicy*/, "+08" /*format*/, 32 /*offsetCode*/, (0 << 4) + (0 + 4) /*deltaCode*/, + 18 /*untilYearTiny*/, + 10 /*untilMonth*/, + 7 /*untilDay*/, + 16 /*untilTimeCode*/, + extended::ZoneContext::kSuffixW /*untilTimeModifier*/, + }, + // 11:00 - +11 2019 Mar 17 3:00 + { + nullptr /*zonePolicy*/, + "+11" /*format*/, + 44 /*offsetCode*/, + (0 << 4) + (0 + 4) /*deltaCode*/, + 19 /*untilYearTiny*/, + 3 /*untilMonth*/, + 17 /*untilDay*/, + 12 /*untilTimeCode*/, + extended::ZoneContext::kSuffixW /*untilTimeModifier*/, + }, + // 8:00 - +08 2019 Oct 4 3:00 + { + nullptr /*zonePolicy*/, + "+08" /*format*/, + 32 /*offsetCode*/, + (0 << 4) + (0 + 4) /*deltaCode*/, + 19 /*untilYearTiny*/, + 10 /*untilMonth*/, + 4 /*untilDay*/, + 12 /*untilTimeCode*/, + extended::ZoneContext::kSuffixW /*untilTimeModifier*/, + }, + // 11:00 - +11 2020 Mar 8 3:00 + { + nullptr /*zonePolicy*/, + "+11" /*format*/, + 44 /*offsetCode*/, + (0 << 4) + (0 + 4) /*deltaCode*/, + 20 /*untilYearTiny*/, + 3 /*untilMonth*/, + 8 /*untilDay*/, + 12 /*untilTimeCode*/, + extended::ZoneContext::kSuffixW /*untilTimeModifier*/, + }, + // 8:00 - +08 2020 Oct 4 0:01 + { + nullptr /*zonePolicy*/, + "+08" /*format*/, + 32 /*offsetCode*/, + (0 << 4) + (0 + 4) /*deltaCode*/, + 20 /*untilYearTiny*/, + 10 /*untilMonth*/, + 4 /*untilDay*/, + 0 /*untilTimeCode*/, + extended::ZoneContext::kSuffixW + 1 /*untilTimeModifier*/, + }, + // 11:00 - +11 + { + nullptr /*zonePolicy*/, + "+11" /*format*/, + 44 /*offsetCode*/, + (0 << 4) + (0 + 4) /*deltaCode*/, 127 /*untilYearTiny*/, 1 /*untilMonth*/, 1 /*untilDay*/, @@ -7128,8 +7188,8 @@ const extended::ZoneInfo kZoneAntarctica_Casey ACE_TIME_PROGMEM = { kZoneNameAntarctica_Casey /*name*/, 0xe2022583 /*zoneId*/, &kZoneContext /*zoneContext*/, - 3 /*transitionBufSize*/, - 7 /*numEras*/, + 4 /*transitionBufSize*/, + 12 /*numEras*/, kZoneEraAntarctica_Casey /*eras*/, }; @@ -7253,30 +7313,42 @@ const extended::ZoneInfo kZoneAntarctica_DumontDUrville ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Zone name: Antarctica/Macquarie -// Zone Eras: 2 -// Strings (bytes): 30 -// Memory (8-bit): 64 -// Memory (32-bit): 82 +// Zone Eras: 3 +// Strings (bytes): 36 +// Memory (8-bit): 81 +// Memory (32-bit): 104 //--------------------------------------------------------------------------- static const extended::ZoneEra kZoneEraAntarctica_Macquarie[] ACE_TIME_PROGMEM = { - // 10:00 AT AE%sT 2010 Apr 4 3:00 + // 10:00 AT AE%sT 2010 { &kPolicyAT /*zonePolicy*/, "AE%T" /*format*/, 40 /*offsetCode*/, (0 << 4) + (0 + 4) /*deltaCode*/, 10 /*untilYearTiny*/, - 4 /*untilMonth*/, - 4 /*untilDay*/, - 12 /*untilTimeCode*/, + 1 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode*/, extended::ZoneContext::kSuffixW /*untilTimeModifier*/, }, - // 11:00 - +11 + // 10:00 1:00 AEDT 2011 { nullptr /*zonePolicy*/, - "+11" /*format*/, - 44 /*offsetCode*/, + "AEDT" /*format*/, + 40 /*offsetCode*/, + (0 << 4) + (4 + 4) /*deltaCode*/, + 11 /*untilYearTiny*/, + 1 /*untilMonth*/, + 1 /*untilDay*/, + 0 /*untilTimeCode*/, + extended::ZoneContext::kSuffixW /*untilTimeModifier*/, + }, + // 10:00 AT AE%sT + { + &kPolicyAT /*zonePolicy*/, + "AE%T" /*format*/, + 40 /*offsetCode*/, (0 << 4) + (0 + 4) /*deltaCode*/, 127 /*untilYearTiny*/, 1 /*untilMonth*/, @@ -7294,7 +7366,7 @@ const extended::ZoneInfo kZoneAntarctica_Macquarie ACE_TIME_PROGMEM = { 0x92f47626 /*zoneId*/, &kZoneContext /*zoneContext*/, 5 /*transitionBufSize*/, - 2 /*numEras*/, + 3 /*numEras*/, kZoneEraAntarctica_Macquarie /*eras*/, }; diff --git a/src/ace_time/zonedbx/zone_infos.h b/src/ace_time/zonedbx/zone_infos.h index cd3519bb7..5fac14a43 100644 --- a/src/ace_time/zonedbx/zone_infos.h +++ b/src/ace_time/zonedbx/zone_infos.h @@ -1,12 +1,12 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 // // using the TZ Database files // // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica // -// from https://github.com/eggert/tz/releases/tag/2020a +// from https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/src/ace_time/zonedbx/zone_policies.cpp b/src/ace_time/zonedbx/zone_policies.cpp index 4fa71c62d..e475b616c 100644 --- a/src/ace_time/zonedbx/zone_policies.cpp +++ b/src/ace_time/zonedbx/zone_policies.cpp @@ -1,14 +1,14 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // Policies: 84 -// Rules: 545 -// Memory (8-bit): 5444 -// Memory (32-bit): 7627 +// Rules: 547 +// Memory (8-bit): 5462 +// Memory (32-bit): 7651 // // DO NOT EDIT @@ -2428,9 +2428,9 @@ const extended::ZonePolicy kPolicyFalk ACE_TIME_PROGMEM = { //--------------------------------------------------------------------------- // Policy name: Fiji -// Rules: 11 -// Memory (8-bit): 105 -// Memory (32-bit): 144 +// Rules: 13 +// Memory (8-bit): 123 +// Memory (32-bit): 168 //--------------------------------------------------------------------------- static const extended::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = { @@ -2554,9 +2554,33 @@ static const extended::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = { (0 + 4) /*deltaCode*/, '-' /*letter*/, }, - // Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 - + // Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 - { 19 /*fromYearTiny*/, + 19 /*toYearTiny*/, + 11 /*inMonth*/, + 7 /*onDayOfWeek*/, + 8 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + extended::ZoneContext::kSuffixW /*atTimeModifier*/, + (4 + 4) /*deltaCode*/, + '-' /*letter*/, + }, + // Rule Fiji 2020 only - Dec 20 2:00 1:00 - + { + 20 /*fromYearTiny*/, + 20 /*toYearTiny*/, + 12 /*inMonth*/, + 0 /*onDayOfWeek*/, + 20 /*onDayOfMonth*/, + 8 /*atTimeCode*/, + extended::ZoneContext::kSuffixW /*atTimeModifier*/, + (4 + 4) /*deltaCode*/, + '-' /*letter*/, + }, + // Rule Fiji 2021 max - Nov Sun>=8 2:00 1:00 - + { + 21 /*fromYearTiny*/, 126 /*toYearTiny*/, 11 /*inMonth*/, 7 /*onDayOfWeek*/, @@ -2574,7 +2598,7 @@ static const extended::ZoneRule kZoneRulesFiji[] ACE_TIME_PROGMEM = { const extended::ZonePolicy kPolicyFiji ACE_TIME_PROGMEM = { kZoneRulesFiji /*rules*/, nullptr /* letters */, - 11 /*numRules*/, + 13 /*numRules*/, 0 /* numLetters */, }; @@ -4974,13 +4998,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { (-4 + 4) /*deltaCode*/, '-' /*letter*/, }, - // Rule Morocco 2023 only - Apr 23 2:00 0 - + // Rule Morocco 2023 only - Apr 30 2:00 0 - { 23 /*fromYearTiny*/, 23 /*toYearTiny*/, 4 /*inMonth*/, 0 /*onDayOfWeek*/, - 23 /*onDayOfMonth*/, + 30 /*onDayOfMonth*/, 8 /*atTimeCode*/, extended::ZoneContext::kSuffixW /*atTimeModifier*/, (0 + 4) /*deltaCode*/, @@ -5166,13 +5190,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { (-4 + 4) /*deltaCode*/, '-' /*letter*/, }, - // Rule Morocco 2031 only - Jan 26 2:00 0 - + // Rule Morocco 2031 only - Feb 2 2:00 0 - { 31 /*fromYearTiny*/, 31 /*toYearTiny*/, - 1 /*inMonth*/, + 2 /*inMonth*/, 0 /*onDayOfWeek*/, - 26 /*onDayOfMonth*/, + 2 /*onDayOfMonth*/, 8 /*atTimeCode*/, extended::ZoneContext::kSuffixW /*atTimeModifier*/, (0 + 4) /*deltaCode*/, @@ -5358,13 +5382,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { (-4 + 4) /*deltaCode*/, '-' /*letter*/, }, - // Rule Morocco 2038 only - Oct 31 2:00 0 - + // Rule Morocco 2038 only - Nov 7 2:00 0 - { 38 /*fromYearTiny*/, 38 /*toYearTiny*/, - 10 /*inMonth*/, + 11 /*inMonth*/, 0 /*onDayOfWeek*/, - 31 /*onDayOfMonth*/, + 7 /*onDayOfMonth*/, 8 /*atTimeCode*/, extended::ZoneContext::kSuffixW /*atTimeModifier*/, (0 + 4) /*deltaCode*/, @@ -5550,13 +5574,13 @@ static const extended::ZoneRule kZoneRulesMorocco[] ACE_TIME_PROGMEM = { (-4 + 4) /*deltaCode*/, '-' /*letter*/, }, - // Rule Morocco 2046 only - Aug 5 2:00 0 - + // Rule Morocco 2046 only - Aug 12 2:00 0 - { 46 /*fromYearTiny*/, 46 /*toYearTiny*/, 8 /*inMonth*/, 0 /*onDayOfWeek*/, - 5 /*onDayOfMonth*/, + 12 /*onDayOfMonth*/, 8 /*atTimeCode*/, extended::ZoneContext::kSuffixW /*atTimeModifier*/, (0 + 4) /*deltaCode*/, diff --git a/src/ace_time/zonedbx/zone_policies.h b/src/ace_time/zonedbx/zone_policies.h index 15619eab6..16f8152fc 100644 --- a/src/ace_time/zonedbx/zone_policies.h +++ b/src/ace_time/zonedbx/zone_policies.h @@ -1,12 +1,12 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 // // using the TZ Database files // // africa, antarctica, asia, australasia, backward, etcetera, europe, northamerica, southamerica // -// from https://github.com/eggert/tz/releases/tag/2020a +// from https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/src/ace_time/zonedbx/zone_registry.cpp b/src/ace_time/zonedbx/zone_registry.cpp index ebd4984ce..0f0e3c201 100644 --- a/src/ace_time/zonedbx/zone_registry.cpp +++ b/src/ace_time/zonedbx/zone_registry.cpp @@ -1,9 +1,9 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/src/ace_time/zonedbx/zone_registry.h b/src/ace_time/zonedbx/zone_registry.h index a46f0abc0..3816145fc 100644 --- a/src/ace_time/zonedbx/zone_registry.h +++ b/src/ace_time/zonedbx/zone_registry.h @@ -1,9 +1,9 @@ // This file was generated by the following script: // -// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/dev/AceTime/src/ace_time/zonedbx --tz_version 2020a --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 +// $ ../../../tools/tzcompiler.py --input_dir ../../../tools/../../tz --output_dir /home/brian/src/AceTime/src/ace_time/zonedbx --tz_version 2020c --action zonedb --language arduino --scope extended --start_year 2000 --until_year 2050 // // using the TZ Database files from -// https://github.com/eggert/tz/releases/tag/2020a +// https://github.com/eggert/tz/releases/tag/2020c // // DO NOT EDIT diff --git a/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino b/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino index 3550d1a10..978d4b8f8 100644 --- a/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino +++ b/tests/BasicZoneProcessorTest/BasicZoneProcessorTest.ino @@ -117,7 +117,7 @@ static const basic::ZoneInfo kZonePacific_Galapagos ACE_TIME_PROGMEM = { // -------------------------------------------------------------------------- test(BasicZoneProcessorTest, tzVersion) { - assertEqual("2020a", zonedb::kTzDatabaseVersion); + assertEqual("2020c", zonedb::kTzDatabaseVersion); } test(BasicZoneProcessorTest, operatorEqualEqual) { diff --git a/tests/ExtendedZoneProcessorTest/ExtendedZoneProcessorTest.ino b/tests/ExtendedZoneProcessorTest/ExtendedZoneProcessorTest.ino index 03107031b..9b5f7a547 100644 --- a/tests/ExtendedZoneProcessorTest/ExtendedZoneProcessorTest.ino +++ b/tests/ExtendedZoneProcessorTest/ExtendedZoneProcessorTest.ino @@ -169,7 +169,7 @@ static const ZoneInfo kZoneTestLos_Angeles ACE_TIME_PROGMEM = { // -------------------------------------------------------------------------- test(ExtendedZoneProcessorTest, tzVersion) { - assertEqual("2020a", zonedbx::kTzDatabaseVersion); + assertEqual("2020c", zonedbx::kTzDatabaseVersion); } static const ZoneEra era ACE_TIME_PROGMEM = diff --git a/tests/README.md b/tests/README.md index 9ca4170bf..67dc0b19d 100644 --- a/tests/README.md +++ b/tests/README.md @@ -19,10 +19,10 @@ them on a Linux or MacOS machine using this installed. 1. Install [AUnit](https://github.com/bxparks/AUnit) as a sibling project to AceTime. - * `$ (cd ../../..; git clone https://github.com/bxparks/AUnit)` + * `$ (cd ../../..; git clone https://github.com/bxparks/AUnit)` 1. Install [UnixHostDuino](https://github.com/bxparks/UnixHostDuino) as a sibling to AceTime - * `$ (cd ../../..; git clone https://github.com/bxparks/UnixHostDuino)` + * `$ (cd ../../..; git clone https://github.com/bxparks/UnixHostDuino)` Compile the unit test programs using the following `make` commands (or run the equivalent one-line shell commands shown in the `Makefile`): @@ -40,3 +40,7 @@ this: TestRunner summary: 231 passed, 0 failed, 0 skipped, 0 timed out, out of 231 test(s). ``` + +An efficient way to detect failures is to grep for the word `failed`: + +* `$ make runtests | grep failed` diff --git a/tests/TimeZoneTest/Makefile b/tests/TimeZoneTest/Makefile index 57430a5b7..975880d44 100644 --- a/tests/TimeZoneTest/Makefile +++ b/tests/TimeZoneTest/Makefile @@ -2,5 +2,5 @@ # Makefile to compile and run Arduino programs natively on Linux or MacOS. APP_NAME := TimeZoneTest -ARDUINO_LIBS := AUnit AceTime +ARDUINO_LIBS := AUnit AceTime AceUtils include ../../../UnixHostDuino/UnixHostDuino.mk diff --git a/tests/TimeZoneTest/TimeZoneTest.ino b/tests/TimeZoneTest/TimeZoneTest.ino index f34be4425..577d3adf9 100644 --- a/tests/TimeZoneTest/TimeZoneTest.ino +++ b/tests/TimeZoneTest/TimeZoneTest.ino @@ -1,11 +1,11 @@ #line 2 "TimeZoneTest.ino" #include -#include +#include #include using namespace aunit; -using namespace aunit::fake; +using namespace print_str; using namespace ace_time; // -------------------------------------------------------------------------- @@ -76,11 +76,11 @@ ExtendedZoneManager<2> extendedZoneManager( // -------------------------------------------------------------------------- test(TimeZoneTest, error) { - FakePrint fakePrint; + PrintStr<16> printStr; auto tz = TimeZone::forError(); assertEqual(TimeZone::kTypeError, tz.getType()); - tz.printTo(fakePrint); - assertEqual(F(""), fakePrint.getBuffer()); + tz.printTo(printStr); + assertEqual(F(""), printStr.getCstr()); } // -------------------------------------------------------------------------- @@ -88,7 +88,7 @@ test(TimeZoneTest, error) { // -------------------------------------------------------------------------- test(TimeZoneTest, manual_utc) { - FakePrint fakePrint; + PrintStr<16> printStr; auto tz = TimeZone::forUtc(); assertEqual(0, tz.getUtcOffset(0).toMinutes()); @@ -98,17 +98,17 @@ test(TimeZoneTest, manual_utc) { assertTrue(tz.isUtc()); assertEqual(F("UTC"), tz.getAbbrev(0)); - tz.printTo(fakePrint); - assertEqual(F("UTC"), fakePrint.getBuffer()); - fakePrint.flush(); + tz.printTo(printStr); + assertEqual(F("UTC"), printStr.getCstr()); + printStr.flush(); - tz.printShortTo(fakePrint); - assertEqual(F("UTC"), fakePrint.getBuffer()); - fakePrint.flush(); + tz.printShortTo(printStr); + assertEqual(F("UTC"), printStr.getCstr()); + printStr.flush(); } test(TimeZoneTest, manual_no_dst) { - FakePrint fakePrint; + PrintStr<16> printStr; TimeZone tz = TimeZone::forTimeOffset(TimeOffset::forHours(-8)); assertEqual(TimeZone::kTypeManual, tz.getType()); @@ -118,17 +118,17 @@ test(TimeZoneTest, manual_no_dst) { assertEqual(0, tz.getDstOffset().toMinutes()); assertEqual(F("STD"), tz.getAbbrev(0)); - tz.printTo(fakePrint); - assertEqual(F("-08:00+00:00"), fakePrint.getBuffer()); - fakePrint.flush(); + tz.printTo(printStr); + assertEqual(F("-08:00+00:00"), printStr.getCstr()); + printStr.flush(); - tz.printShortTo(fakePrint); - assertEqual(F("-08:00(STD)"), fakePrint.getBuffer()); - fakePrint.flush(); + tz.printShortTo(printStr); + assertEqual(F("-08:00(STD)"), printStr.getCstr()); + printStr.flush(); } test(TimeZoneTest, manual_dst) { - FakePrint fakePrint; + PrintStr<16> printStr; TimeZone tz = TimeZone::forTimeOffset(TimeOffset::forHours(-8), TimeOffset::forHours(1)); @@ -139,13 +139,13 @@ test(TimeZoneTest, manual_dst) { assertEqual(60, tz.getDstOffset().toMinutes()); assertEqual(F("DST"), tz.getAbbrev(0)); - tz.printTo(fakePrint); - assertEqual(F("-08:00+01:00"), fakePrint.getBuffer()); - fakePrint.flush(); + tz.printTo(printStr); + assertEqual(F("-08:00+01:00"), printStr.getCstr()); + printStr.flush(); - tz.printShortTo(fakePrint); - assertEqual(F("-07:00(DST)"), fakePrint.getBuffer()); - fakePrint.flush(); + tz.printShortTo(printStr); + assertEqual(F("-07:00(DST)"), printStr.getCstr()); + printStr.flush(); } // -------------------------------------------------------------------------- diff --git a/tests/ZonedDateTimeExtendedTest/ZonedDateTimeExtendedTest.ino b/tests/ZonedDateTimeExtendedTest/ZonedDateTimeExtendedTest.ino index a5571fce5..4c40bb422 100644 --- a/tests/ZonedDateTimeExtendedTest/ZonedDateTimeExtendedTest.ino +++ b/tests/ZonedDateTimeExtendedTest/ZonedDateTimeExtendedTest.ino @@ -120,6 +120,91 @@ test(ZonedDateTimeExtendedTest, linked_zones) { (intptr_t) &zonedbx::kZoneUS_Pacific); } +// -------------------------------------------------------------------------- +// Validate some changes in tzdb 2020a +// -------------------------------------------------------------------------- + +// Morocco springs forward on 2020-05-31, not on 2020-05-24 as originally +// scheduled. At 02:00 -> 03:00, the UTC offset goes from UTC+00:00 to +// UTC+01:00. +test(ZonedDateTimeExtendedTest, Morocco2020) { + TimeZone tz = extendedZoneManager.createForZoneInfo( + &zonedbx::kZoneAfrica_Casablanca); + + auto dt = ZonedDateTime::forComponents(2020, 5, 25, 3, 0, 0, tz); + assertEqual(TimeOffset::forHours(0).toMinutes(), + dt.timeOffset().toMinutes()); + acetime_t epoch = dt.toEpochSeconds(); + assertEqual("+00", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(-1).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); + + dt = ZonedDateTime::forComponents(2020, 5, 31, 1, 59, 59, tz); + assertEqual(TimeOffset::forHours(0).toMinutes(), + dt.timeOffset().toMinutes()); + epoch = dt.toEpochSeconds(); + assertEqual("+00", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(-1).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); + + dt = ZonedDateTime::forComponents(2020, 5, 31, 3, 0, 0, tz); + assertEqual(TimeOffset::forHours(1).toMinutes(), + dt.timeOffset().toMinutes()); + epoch = dt.toEpochSeconds(); + assertEqual("+01", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(0).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); +} + +// -------------------------------------------------------------------------- +// Validate some changes in tzdb 2020c +// -------------------------------------------------------------------------- + +// Yukon (e.g. America/Whitehorse) goes to permanent daylight saving time +// starting on 2020-11-01T00:00. It goes from PDT (UTC-07:00) to permanent MST +// (UTC-07:00) at 2020-11-01 00:00. +test(ZonedDateTimeExtendedTest, Yukon2020) { + TimeZone tz = extendedZoneManager.createForZoneInfo( + &zonedbx::kZoneAmerica_Whitehorse); + + auto dt = ZonedDateTime::forComponents(2020, 3, 8, 1, 59, 59, tz); + assertEqual(TimeOffset::forHours(-8).toMinutes(), + dt.timeOffset().toMinutes()); + acetime_t epoch = dt.toEpochSeconds(); + assertEqual("PST", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(0).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); + + // Time in the 2:00->3:00 transition gap. Gets normalized to 03:00. + dt = ZonedDateTime::forComponents(2020, 3, 8, 2, 0, 0, tz); + assertEqual(TimeOffset::forHours(-7).toMinutes(), + dt.timeOffset().toMinutes()); + auto expected = LocalDateTime::forComponents(2020, 3, 8, 3, 0, 0); + assertTrue(expected == dt.localDateTime()); + epoch = dt.toEpochSeconds(); + assertEqual("PDT", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(1).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); + + // 23:59->00:00, but there's a change in abbreviation and DST offset. + dt = ZonedDateTime::forComponents(2020, 10, 31, 23, 59, 59, tz); + assertEqual(TimeOffset::forHours(-7).toMinutes(), + dt.timeOffset().toMinutes()); + epoch = dt.toEpochSeconds(); + assertEqual("PDT", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(1).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); + + // 00:00->00:00, but there's a change in abbreviation and DST offset. + dt = ZonedDateTime::forComponents(2020, 11, 1, 0, 0, 0, tz); + assertEqual(TimeOffset::forHours(-7).toMinutes(), + dt.timeOffset().toMinutes()); + epoch = dt.toEpochSeconds(); + assertEqual("MST", tz.getAbbrev(epoch)); + assertEqual(TimeOffset::forHours(0).toMinutes(), + tz.getDeltaOffset(epoch).toMinutes()); +} + // -------------------------------------------------------------------------- void setup() { diff --git a/tests/auniter.ini b/tests/auniter.ini index e523543f2..7167b5992 100644 --- a/tests/auniter.ini +++ b/tests/auniter.ini @@ -1,3 +1,14 @@ +# ---------------------------------------------------------------------------- +# AUniter top level configs. +# ---------------------------------------------------------------------------- + +# Recognized parameters: +# * monitor +# * port_timeout (default 120) +# * baud (default 115200) +[auniter] + monitor = picocom -b $baud --omap crlf --imap lfcrlf --echo $port + # Board aliases [boards] # "Arduino/Genuino Uno" diff --git a/tests/validation/BasicDateUtilTest/Makefile b/tests/validation/BasicDateUtilTest/Makefile index 8ddd55641..2b3694ef9 100644 --- a/tests/validation/BasicDateUtilTest/Makefile +++ b/tests/validation/BasicDateUtilTest/Makefile @@ -29,9 +29,14 @@ runtests: ./$(APP_NAME).out # Define the scope of the test data. -# dateutil (2.8.1) uses 2019c. -# dateutil works through 2037, then fails the DST offsets -# in 2038 for the following zones: +# +# dateutil (2.8.1) intially ships with 2019c, but when the 'tzdata' on +# Ubuntu 20.04 is updated to 2020a, it uses the new version instead of the +# internal version. I wish there was a way to peg the tzdata version +# used by dateutil to make unit testing more predictable. +# +# dateutil works until 2037, then fails the DST offsets in 2037 for the +# following zones: # Australia_Adelaide failed. # Australia_Broken_Hill failed. # Australia_Currie failed. @@ -41,7 +46,7 @@ runtests: # Europe_Dublin failed. # Pacific_Auckland failed. SCOPE = basic -TZ_VERSION = 2019c +TZ_VERSION = 2020a START_YEAR = 2000 UNTIL_YEAR = 2037 @@ -54,6 +59,7 @@ validation_data.h: validation_data.json --tz_version $(TZ_VERSION) \ --scope $(SCOPE) \ --db_namespace $(DB_NAMESPACE) \ + --blacklist ../../../tools/compare_dateutil/blacklist.json \ < validation_data.json validation_data.json: $(DB_NAMESPACE)/zones.txt diff --git a/tests/validation/BasicHinnantDateTest/Makefile b/tests/validation/BasicHinnantDateTest/Makefile index f28012f63..8658dc454 100644 --- a/tests/validation/BasicHinnantDateTest/Makefile +++ b/tests/validation/BasicHinnantDateTest/Makefile @@ -30,7 +30,7 @@ runtests: # Define the scope of the test data. SCOPE = basic -TZ_VERSION = 2020a +TZ_VERSION = 2020c START_YEAR = 2000 UNTIL_YEAR = 2050 diff --git a/tests/validation/BasicJavaTest/Makefile b/tests/validation/BasicJavaTest/Makefile index 687360511..cde890103 100644 --- a/tests/validation/BasicJavaTest/Makefile +++ b/tests/validation/BasicJavaTest/Makefile @@ -29,9 +29,10 @@ runtests: ./$(APP_NAME).out # Define the scope of the test data. -# Validate using openjdk 11.0.6 2020-01-14 (which uses 2019c) +# * openjdk 11.0.6 2020-01-14 uses 2019c +# * openjdk 11.0.8 2020-07-14 uses 2020a SCOPE = basic -TZ_VERSION = 2019c +TZ_VERSION = 2020a START_YEAR = 2000 UNTIL_YEAR = 2050 @@ -44,6 +45,7 @@ validation_data.h: validation_data.json --tz_version $(TZ_VERSION) \ --scope $(SCOPE) \ --db_namespace $(DB_NAMESPACE) \ + --blacklist ../../../tools/compare_java/blacklist.json \ < validation_data.json validation_data.json: $(DB_NAMESPACE)/zones.txt \ diff --git a/tests/validation/BasicPythonTest/Makefile b/tests/validation/BasicPythonTest/Makefile index 3a3236bad..b456c06da 100644 --- a/tests/validation/BasicPythonTest/Makefile +++ b/tests/validation/BasicPythonTest/Makefile @@ -27,9 +27,10 @@ runtests: ./$(APP_NAME).out # Define the scope of the test data. -# pytz (2019.3) uses 2019c +# * pytz (2019.3) uses 2019c +# * pytz (2020.1) uses 2020a SCOPE = basic -TZ_VERSION = 2019c +TZ_VERSION = 2020a START_YEAR = 2000 UNTIL_YEAR = 2038 @@ -42,6 +43,7 @@ validation_data.h: validation_data.json --tz_version $(TZ_VERSION) \ --scope $(SCOPE) \ --db_namespace $(DB_NAMESPACE) \ + --blacklist ../../../tools/compare_pytz/blacklist.json \ < validation_data.json validation_data.json: $(DB_NAMESPACE)/zones.txt diff --git a/tests/validation/ExtendedDateUtilTest/Makefile b/tests/validation/ExtendedDateUtilTest/Makefile index 5d72a1cf8..128f97a17 100644 --- a/tests/validation/ExtendedDateUtilTest/Makefile +++ b/tests/validation/ExtendedDateUtilTest/Makefile @@ -29,8 +29,14 @@ runtests: ./$(APP_NAME).out # Define the scope of the test data. -# dateutil (2.8.1) uses 2019c -# dateutil works until 2037, then fails in 2038 for the following zones: +# +# dateutil (2.8.1) intially ships with 2019c, but when the 'tzdata' on +# Ubuntu 20.04 is updated to 2020a, it uses the new version instead of the +# internal version. I wish there was a way to peg the tzdata version +# used by dateutil to make unit testing more predictable. +# +# dateutil works until 2037, then fails the DST offsets in 2037 for the +# following zones: # Australia_Adelaide failed. # Australia_Broken_Hill failed. # Australia_Currie failed. @@ -40,7 +46,7 @@ runtests: # Europe_Dublin failed. # Pacific_Auckland failed. SCOPE = extended -TZ_VERSION = 2019c +TZ_VERSION = 2020a START_YEAR = 2000 UNTIL_YEAR = 2037 @@ -53,6 +59,7 @@ validation_data.h: validation_data.json --tz_version $(TZ_VERSION) \ --scope $(SCOPE) \ --db_namespace $(DB_NAMESPACE) \ + --blacklist ../../../tools/compare_dateutil/blacklist.json \ < validation_data.json validation_data.json: $(DB_NAMESPACE)/zones.txt diff --git a/tests/validation/ExtendedHinnantDateTest/Makefile b/tests/validation/ExtendedHinnantDateTest/Makefile index 264265cb6..571250756 100644 --- a/tests/validation/ExtendedHinnantDateTest/Makefile +++ b/tests/validation/ExtendedHinnantDateTest/Makefile @@ -30,7 +30,7 @@ runtests: # Define the scope of the test data. SCOPE = extended -TZ_VERSION = 2020a +TZ_VERSION = 2020c START_YEAR = 1974 UNTIL_YEAR = 2050 diff --git a/tests/validation/ExtendedJavaTest/Makefile b/tests/validation/ExtendedJavaTest/Makefile index 634bc7bcb..b2d61caf5 100644 --- a/tests/validation/ExtendedJavaTest/Makefile +++ b/tests/validation/ExtendedJavaTest/Makefile @@ -29,9 +29,10 @@ runtests: ./$(APP_NAME).out # Define the scope of the test data. -# Validate using openjdk 11.0.6 2020-01-14 (which uses 2019c) +# * openjdk 11.0.6 2020-01-14 uses 2019c +# * openjdk 11.0.8 2020-07-14 uses 2020a SCOPE = extended -TZ_VERSION = 2019c +TZ_VERSION = 2020a START_YEAR = 2000 UNTIL_YEAR = 2050 @@ -44,6 +45,7 @@ validation_data.h: validation_data.json --tz_version $(TZ_VERSION) \ --scope $(SCOPE) \ --db_namespace $(DB_NAMESPACE) \ + --blacklist ../../../tools/compare_java/blacklist.json \ < validation_data.json validation_data.json: $(DB_NAMESPACE)/zones.txt \ diff --git a/tests/validation/ExtendedPythonTest/Makefile b/tests/validation/ExtendedPythonTest/Makefile index fdd8e5808..f7af38931 100644 --- a/tests/validation/ExtendedPythonTest/Makefile +++ b/tests/validation/ExtendedPythonTest/Makefile @@ -23,15 +23,14 @@ ARDUINO_LIBS := AUnit AceTime MORE_CLEAN := more_clean include ../../../../UnixHostDuino/UnixHostDuino.mk -#.PHONY: $(GENERATED) - runtests: ./$(APP_NAME).out # Define the scope of the test data. -# pytz (2019.3) uses 2019c +# * pytz (2019.3) uses 2019c +# * pytz (2020.1) uses 2020a SCOPE = extended -TZ_VERSION = 2019c +TZ_VERSION = 2020a START_YEAR = 2000 UNTIL_YEAR = 2038 @@ -44,6 +43,7 @@ validation_data.h: validation_data.json --tz_version $(TZ_VERSION) \ --scope $(SCOPE) \ --db_namespace $(DB_NAMESPACE) \ + --blacklist ../../../tools/compare_pytz/blacklist.json \ < validation_data.json validation_data.json: $(DB_NAMESPACE)/zones.txt diff --git a/tests/validation/Makefile b/tests/validation/Makefile index 1f8cc6b98..f8640fcdb 100644 --- a/tests/validation/Makefile +++ b/tests/validation/Makefile @@ -1,5 +1,6 @@ SHELL=/bin/bash +# Build the validation tests in parallel for reduced waiting time. tests: (set -e; \ trap 'kill 0' SIGHUP SIGINT SIGQUIT SIGKILL SIGTERM; \ @@ -9,6 +10,22 @@ tests: done; \ wait) +# Build the validation tests in series. This was the original 'tests' target +# but as the validation tests grow slower and slower (mostly due to the new +# implementation of compare_pytz and compare_dateutil), I wrote the paralel +# version above to utilize multiple CPUs. I thought the serial version would be +# useful for GitHub Actions, but even there it seems like the workflow runners +# are allocated least 2 CPUs, and using the parallel version above reduces the +# execution time from 11 min (serial) to 6 min (parallel). So I ended up just +# using the parallel version even for Actions workflow. This target is retained +# for historical reference. +tests-serial: + set -e; \ + for i in */Makefile; do \ + echo '==== Making:' $$(dirname $$i); \ + make -C $$(dirname $$i) ; \ + done; + runtests: set -e; \ for i in */Makefile; do \ diff --git a/tests/validation/README.md b/tests/validation/README.md index 3cee5b0b0..6c6af0118 100644 --- a/tests/validation/README.md +++ b/tests/validation/README.md @@ -1,35 +1,53 @@ # Validation Tests These tests compare the algorithm implemented by `ZonedDateTime` and -`ZoneProcessor` classes with the equivalent functionalty from 3 +`ZoneProcessor` classes with the equivalent functionalty from 4 other libraries: -* Python [pytz](https://pypi.org/project/pytz/) library + +* [Python pytz](https://pypi.org/project/pytz/) library +* [Python dateutil](https://pypi.org/project/python-dateutil/) library * [Java 11 Time](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/package-summary.html) library. * [Hinnant date](https://github.com/HowardHinnant/date) C++ library These unit tests require a desktop-class machine running Linux or MacOS. They are too big to run on any Arduino microcontroller that I know of. They use the -[UnixHostDuino](https://github.com/bxparks/UnixHostDuino) emulation layer. They -also use various files (e.g. `validation_data.h`, `validation_data.cpp`, -`validation_tests.cpp`) which are *generated* dynamically by the Makefile. -(These files used to be manually generated, then checked into source control. -But after it was clear that no Arduino microcontroller would be able to run -these tests, it did not seem worth checking in the generated code.) +[UnixHostDuino](https://github.com/bxparks/UnixHostDuino) emulation layer to run +these programs on the desktop machine. They also use various files (e.g. +`validation_data.h`, `validation_data.cpp`, `validation_tests.cpp`) which are +*generated* dynamically by the various `Makefile` files. (These files used to be +manually generated, then checked into source control. But after it was clear +that no Arduino microcontroller would be able to run these tests, it did not +seem worth checking in the generated code.) ## Compiling and Running -Prerequites: - -1. The Java and C++ tools in `$ACE_TIME_DIR/tools/compare_java` and -`compare_cpp` need some setup. The best source of this information are -in the respective README.md files: - * [compare_java](../../tools/compare_java/) - * [compare_cpp](../../tools/compare_cpp/) - * (The various `Makefile` in the subdirectories here will run `make -C` in - those directories to build the Java and C++ binaries if necessary.) -1. Install [UnixHostDuino](https://github.com/bxparks/UnixHostDuino) as - a sibling project to AceTime if you have not already done so: - * `$ (cd ../../..; git clone https://github.com/bxparks/UnixHostDuino)` +### Prerequisites + +The required Python, Java and C++ tools and libraries are explained in: + +* [compare_pytz](../../tools/compare_pytz/) +* [compare_dateutil](../../tools/compare_dateutil/) +* [compare_java](../../tools/compare_java/) +* [compare_cpp](../../tools/compare_cpp/) + +The various `Makefile` files under the subdirectories here will run `make -C` in +those directories to build the Java and C++ binaries as necessary. Here is a +(potentially out of date) summary of the 3rd party prerequisites: + +1. Install UnixHostDuino as a sibling project to `AceTime`: + * `$ git clone https://github.com/bxparks/UnixHostDuino` +1. Clone the IANA TZ database as a sibling project to `AceTime`: + * `$ git clone https://github.com/eggert/tz` +1. Install the Python `pytz` and `dateutil` libraries: + * `$ pip3 install --user pytz python-dateutil` +1. Install the Java 11 JDK: + * `$ sudo apt install openjdk-11-jdk` (Ubuntu 18.04 or 20.04) +1. Clone the Hinnant date library as a sibling to the `AceTime` directory, and + install the `libcurl4` library that it requires to download the tzfiles: + * `$ git clone https://github.com/HowardHinnant/date` + * `$ sudo apt install libcurl4-openssl-dev` + +### Running the Tests You can run the tests in this directory by running the following commands: diff --git a/tools/README.md b/tools/README.md index 23f944db8..eb75dd2d1 100644 --- a/tools/README.md +++ b/tools/README.md @@ -15,6 +15,7 @@ A number of scripts are exposed at the top level: `zone_registry.{h,cpp}` files in the specified `zonedb*/` directory. * test validation data generators using third party libraries * `compare_pytz` - generate test data using `pytz` + * `compare_dateutil` - generate test data using `python-dateutil` * `compare_java` - generate test data using Java's `java.time` library * `compare_cpp` - generate test data using Howard Hinnant `date` library * `generate_validation.py` @@ -78,7 +79,7 @@ this: zonelistgenerator.py | v - zones.txt + zones.txt ``` The `[zonedb/*]` and `[zonelist]` annotations in the diagram correspond to the @@ -89,10 +90,10 @@ value of the `--action` and `--language` flags on the `tzcompiler.py` script. These programs generate a list of `TestItem` which contains the `epoch_seconds` and the date/time components from various 3rd party date/time libraries. The AceTime data/time libraries (specifically the `ZoneProcessor` classes) will be -tested against the expected results from these 3rd party libraries. Three -libraries are supported: +tested against the expected results from these 3rd party libraries: * `compare_pytz` - Python `pytz` library +* `compare_dateutil` - Python `python-dateutil` library * `compare_java` - Java JDK11 `java.time` library * `compare_cpp` - C++ Hinnant Date library @@ -125,12 +126,21 @@ zones.txt | | / | | v v | +----> compare_pytz/test_data_generator.py--> + + | | + | | + | python-dateutil | + | | | + | v | + | tdgenerator.py validation/data.py | + | | / | + | v v | + +-> compare_dateutil/test_data_generator.py-> + / / validation_data.json <----------------/ | v - generate_validation.py + generate_validation.py <-- compare*/blacklist.json | v validation_data.{h,cpp} diff --git a/tools/compare_cpp/README.md b/tools/compare_cpp/README.md index 3b6f3e851..c0da50901 100644 --- a/tools/compare_cpp/README.md +++ b/tools/compare_cpp/README.md @@ -15,7 +15,7 @@ Date](https://github.com/HowardHinnant/date) C++11/14/17 library. ## Compiling -I have tested this only on Ubuntu 18.04. Install the following: +I have tested this Ubuntu 18.04 and 20.04. Install the following: * CMake * `$ sudo apt install cmake` diff --git a/tools/compare_dateutil/Makefile b/tools/compare_dateutil/Makefile index bb4e44fe7..b26fa61ee 100644 --- a/tools/compare_dateutil/Makefile +++ b/tools/compare_dateutil/Makefile @@ -1,5 +1,8 @@ GENERATED := validation_data.json +all: + @echo 'No compilation necessary' + json: ./test_data_generator.py \ < small.txt diff --git a/tools/compare_dateutil/README.md b/tools/compare_dateutil/README.md new file mode 100644 index 000000000..fdd51363a --- /dev/null +++ b/tools/compare_dateutil/README.md @@ -0,0 +1,14 @@ +# Compare DateUtil + +Generate the test data points using the Python `dateutil` package. + +## Blacklist + +If `detect_dst_transition = False`, then dateutil has one zone with problems, +`America/Argentina/Mendoza`. The DST offset is returned as 120 minutes for the +first 3 months of 2000, but all other libraries show a DST offset of 60 minutes, +and a transition at 2000-03-03 00:00 that changed the DST offset, but not the +UTC offset. + +If `detect_dst_transition = True`, then 37 additional zones fail the validation +due to incorrect DST offsets. TODO: Add those zones into `blacklist.json`. diff --git a/tools/compare_dateutil/blacklist.json b/tools/compare_dateutil/blacklist.json new file mode 100644 index 000000000..24996beb1 --- /dev/null +++ b/tools/compare_dateutil/blacklist.json @@ -0,0 +1,40 @@ +{ + "Africa/Casablanca": "partial", + "Africa/El_Aaiun": "partial", + "Africa/Tripoli": "partial", + "America/Argentina/Mendoza": "full", + "America/Argentina/Buenos_Aires": "partial", + "America/Argentina/Catamarca": "partial", + "America/Argentina/Cordoba": "partial", + "America/Argentina/Jujuy": "partial", + "America/Argentina/La_Rioja": "partial", + "America/Argentina/Rio_Gallegos": "partial", + "America/Argentina/Salta": "partial", + "America/Argentina/San_Juan": "partial", + "America/Argentina/San_Luis": "partial", + "America/Argentina/Tucuman": "partial", + "America/Argentina/Ushuaia": "partial", + "America/Cambridge_Bay": "partial", + "America/Grand_Turk": "partial", + "America/Indiana/Petersburg": "partial", + "America/Indiana/Vincennes": "partial", + "America/Iqaluit": "partial", + "America/Kentucky/Monticello": "partial", + "America/Metlakatla": "partial", + "America/North_Dakota/Beulah": "partial", + "America/North_Dakota/New_Salem": "partial", + "America/Pangnirtung": "partial", + "America/Punta_Arenas": "partial", + "America/Rankin_Inlet": "partial", + "America/Resolute": "partial", + "Antarctica/Macquarie": "partial", + "Antarctica/Palmer": "partial", + "Asia/Aqtau": "partial", + "Asia/Atyrau": "partial", + "Asia/Bishkek": "partial", + "Asia/Famagusta": "partial", + "Asia/Oral": "partial", + "Asia/Qostanay": "partial", + "Asia/Qyzylorda": "partial", + "Europe/Istanbul": "partial" +} diff --git a/tools/compare_dateutil/list_transitions.py b/tools/compare_dateutil/list_transitions.py index 7d999c3ff..972819e5e 100755 --- a/tools/compare_dateutil/list_transitions.py +++ b/tools/compare_dateutil/list_transitions.py @@ -30,7 +30,8 @@ def find_transitions( new_loc_dt = new_dt.astimezone(tz) if new_dt.year >= until_year: break - if loc_dt.utcoffset() != new_loc_dt.utcoffset(): + if (loc_dt.utcoffset() != new_loc_dt.utcoffset() + or loc_dt.dst() != new_loc_dt.dst()): start_dt, end_dt = binary_search_transition(tz, dt, new_dt) start_loc_dt = start_dt.astimezone(tz) end_loc_dt = end_dt.astimezone(tz) @@ -59,7 +60,8 @@ def binary_search_transition( mid_dt = start_dt + timedelta(minutes=delta_minutes) mid_loc_dt = mid_dt.astimezone(tz) - if start_loc_dt.utcoffset() == mid_loc_dt.utcoffset(): + if (start_loc_dt.utcoffset() == mid_loc_dt.utcoffset() + and start_loc_dt.dst() == mid_loc_dt.dst()): start_dt = mid_dt start_loc_dt = mid_loc_dt else: diff --git a/tools/compare_dateutil/tdgenerator.py b/tools/compare_dateutil/tdgenerator.py index be6d23125..5f40c6607 100644 --- a/tools/compare_dateutil/tdgenerator.py +++ b/tools/compare_dateutil/tdgenerator.py @@ -12,35 +12,19 @@ """ import logging -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta import dateutil -from dateutil.tz import gettz -from dateutil.tz import resolve_imaginary -from dateutil.tz import UTC -from typing import Any -from typing import Tuple -from typing import List -from typing import Dict -from typing import Optional -from validation.data import (TestItem, TestData, ValidationData) +from dateutil.tz import gettz, resolve_imaginary, UTC +from typing import Any, Tuple, List, Dict, Optional +from validation.data import TestItem, TestData, ValidationData # Number of seconds from Unix Epoch (1970-01-01 00:00:00) to AceTime Epoch # (2000-01-01 00:00:00) SECONDS_SINCE_UNIX_EPOCH = 946684800 -# The [start, until) time interval used to search for DST transitions. -TransitionTimes = Tuple[datetime, datetime] - -# List of zones which have incorrect DST offset (compared to AceTime and Hinnant -# date library). Looks like dateutil has one zone with problems: For -# America/Argentina/Mendoza, dateutil shows a DST of 120 minutes for the first 3 -# months of 2000, but all other libraries show a DST offset of 60 minutes, and a -# transition at 2000-03-03 00:00 that changed the DST offset, but not the UTC -# offset. -_DST_BLACKLIST = [ - 'America/Argentina/Mendoza', -] +# The [start, until) time interval used to search for DST transitions, +# and flag that is True if ONLY the DST changed. +TransitionTimes = Tuple[datetime, datetime, bool] class TestDataGenerator(): @@ -49,10 +33,19 @@ def __init__( start_year: int, until_year: int, sampling_interval: int, + detect_dst_transition: bool = True, ): + """If detect_dst_transition is set to True, changes in the DST offset + will be considered to be a time offset transition. Enabling this will + cause additional test data points to be generated, but often they will + conflict with the DST offsets calculated by AceTime or HinnantDate + library. In other words, I think dateutil is incorrect for those DST + transitions. + """ self.start_year = start_year self.until_year = until_year self.sampling_interval = timedelta(hours=sampling_interval) + self.detect_dst_transition = detect_dst_transition def create_test_data(self, zones: List[str]) -> None: test_data: TestData = {} @@ -71,7 +64,6 @@ def get_validation_data(self) -> ValidationData: 'has_valid_abbrev': True, 'has_valid_dst': True, 'test_data': self.test_data, - 'dst_blacklist': _DST_BLACKLIST, } def _create_test_items_for_zone( @@ -104,8 +96,6 @@ def _add_test_items_for_samples( dt_local = resolve_imaginary( datetime(year, month, 1, 0, 0, 0, tzinfo=tz) ) - # dt_local = tz.localize(dt_wall) - # dt_local = tz.normalize(dt_local) item = self._create_test_item(dt_local, 'S') self._add_test_item(items_map, item) @@ -113,8 +103,6 @@ def _add_test_items_for_samples( dt_local = resolve_imaginary( datetime(year, 12, 31, 23, 59, 0, tzinfo=tz) ) - # dt_local = tz.localize(dt_wall) - # dt_local = tz.normalize(dt_local) item = self._create_test_item(dt_local, 'Y') self._add_test_item(items_map, item) @@ -126,11 +114,13 @@ def _add_test_items_for_transitions( """Add DST transitions, using 'A' and 'B' designators""" transitions = self._find_transitions(tz) - for (left, right) in transitions: - left_item = self._create_test_item(left, 'A') + for (left, right, only_dst) in transitions: + left_item = self._create_test_item( + left, 'a' if only_dst else 'A') self._add_test_item(items_map, left_item) - right_item = self._create_test_item(right, 'B') + right_item = self._create_test_item( + right, 'b' if only_dst else 'B') self._add_test_item(items_map, right_item) def _find_transitions(self, tz: Any) -> List[TransitionTimes]: @@ -150,29 +140,46 @@ def _find_transitions(self, tz: Any) -> List[TransitionTimes]: if next_dt.year >= self.until_year: break - # Check for a change in UTC offset - if dt_local.utcoffset() != next_dt_local.utcoffset(): + # Look for a UTC or DST transition. + if self.is_transition(dt_local, next_dt_local): # print(f'Transition between {dt_local} and {next_dt_local}') dt_left, dt_right = self.binary_search_transition( tz, dt, next_dt) dt_left_local = dt_left.astimezone(tz) dt_right_local = dt_right.astimezone(tz) - transitions.append((dt_left_local, dt_right_local)) + only_dst = self.only_dst(dt_left_local, dt_right_local) + transitions.append((dt_left_local, dt_right_local, only_dst)) dt = next_dt dt_local = next_dt_local return transitions - @staticmethod + def is_transition(self, dt1: datetime, dt2: datetime) -> bool: + """Determine if dt1 -> dt2 is a UTC offset transition. If + detect_dst_transition is True, then also detect DST offset transition. + """ + if dt1.utcoffset() != dt2.utcoffset(): + return True + if self.detect_dst_transition: + return dt1.dst() != dt2.dst() + return False + + def only_dst(self, dt1: datetime, dt2: datetime) -> bool: + """Determine if dt1 -> dt2 is only a DST transition.""" + if not self.detect_dst_transition: + return False + return dt1.utcoffset() == dt2.utcoffset() and dt1.dst() != dt2.dst() + def binary_search_transition( + self, tz: Any, dt_left: datetime, dt_right: datetime, ) -> Tuple[datetime, datetime]: """Do a binary search to find the exact transition times, to within 1 - minute accuracy. The dt_left and dt_right are 12 hours (720 minutes) - apart. So the binary search should take a maximum of 10 iterations to + minute accuracy. The dt_left and dt_right are 22 hours (1320 minutes) + apart. So the binary search should take a maximum of 11 iterations to find the DST transition within one adjacent minute. """ dt_left_local = dt_left.astimezone(tz) @@ -184,11 +191,11 @@ def binary_search_transition( dt_mid = dt_left + timedelta(minutes=delta_minutes) mid_dt_local = dt_mid.astimezone(tz) - if dt_left_local.utcoffset() == mid_dt_local.utcoffset(): + if self.is_transition(dt_left_local, mid_dt_local): + dt_right = dt_mid + else: dt_left = dt_mid dt_left_local = mid_dt_local - else: - dt_right = dt_mid return dt_left, dt_right diff --git a/tools/compare_dateutil/test_data_generator.py b/tools/compare_dateutil/test_data_generator.py index 353e0bcf7..1f67aa108 100755 --- a/tools/compare_dateutil/test_data_generator.py +++ b/tools/compare_dateutil/test_data_generator.py @@ -16,6 +16,10 @@ import sys from os.path import (join, dirname, abspath) +import logging +import json +from argparse import ArgumentParser +from typing import List # Insert the parent directory into the sys.path so that this script can pretend # to be running from the parent diretory and have access to all the python @@ -27,14 +31,9 @@ # hack the sys.path. See https://stackoverflow.com/questions/4383571. sys.path.insert(1, dirname(dirname(abspath(__file__)))) # noqa -import logging -import json -from argparse import ArgumentParser -from typing import List - # Can't use relative import (.tdgenerator) here because PEP 3122 got rejected # https://mail.python.org/pipermail/python-3000/2007-April/006793.html. -from compare_dateutil.tdgenerator import TestDataGenerator +from compare_dateutil.tdgenerator import TestDataGenerator # noqa class Generator: diff --git a/tools/compare_java/README.md b/tools/compare_java/README.md new file mode 100644 index 000000000..dbe7c6ed2 --- /dev/null +++ b/tools/compare_java/README.md @@ -0,0 +1,19 @@ +# Compare Java + +Generate the test data points using the `java.time` package in Java JDK 11. + +## Requirements + +You need to install the Java 11 JDK to get the `javac` compiler. + +**Ubuntu 18.04 and 20.04** + +``` +$ sudo apt install openjdk-11-jdk +``` + +## Blacklist + +The `blacklist.json` file contains zones whose DST offsets do not match AceTime +library or Hinnant date libary. I believe these are errors in the java.time +library due to the way it handles negative DST offsets. diff --git a/tools/compare_java/TestDataGenerator.java b/tools/compare_java/TestDataGenerator.java index f06737609..dd4409239 100644 --- a/tools/compare_java/TestDataGenerator.java +++ b/tools/compare_java/TestDataGenerator.java @@ -55,14 +55,6 @@ public class TestDataGenerator { // (2000-01-01T00:00:00Z). private static final int SECONDS_SINCE_UNIX_EPOCH = 946684800; - // List of zones which conflict with AceTime and Hinnant date library. - private static final String[] DST_BLACKLIST = { - "Africa/Casablanca", - "Africa/El_Aaiun", - "Africa/Windhoek", - "Europe/Dublin", - }; - public static void main(String[] argv) throws IOException { String invocation = "java TestDataGenerator " + String.join(" ", argv); @@ -351,19 +343,7 @@ private void printJson(Map> testData) throws IOException writer.printf("%s]%s\n", indent1, (zoneCount < numZones) ? "," : ""); zoneCount++; } - writer.printf("%s},\n", indent0); - - // Write out the DST blacklist - writer.printf("%s\"dst_blacklist\": [\n", indent0); - zoneCount = 1; - numZones = DST_BLACKLIST.length; - for (String zone : DST_BLACKLIST) { - String indent1 = indent0 + indentUnit; - writer.printf("%s\"%s\"%s\n", indent1, zone, - (zoneCount < numZones) ? "," : ""); - zoneCount++; - } - writer.printf("%s]\n", indent0); + writer.printf("%s}\n", indent0); writer.printf("}\n"); } diff --git a/tools/compare_java/blacklist.json b/tools/compare_java/blacklist.json new file mode 100644 index 000000000..49d1a7a26 --- /dev/null +++ b/tools/compare_java/blacklist.json @@ -0,0 +1,6 @@ +{ + "Africa/Casablanca": "full", + "Africa/El_Aaiun": "full", + "Africa/Windhoek": "full", + "Europe/Dublin": "full" +} diff --git a/tools/compare_pytz/Makefile b/tools/compare_pytz/Makefile index bb4e44fe7..b26fa61ee 100644 --- a/tools/compare_pytz/Makefile +++ b/tools/compare_pytz/Makefile @@ -1,5 +1,8 @@ GENERATED := validation_data.json +all: + @echo 'No compilation necessary' + json: ./test_data_generator.py \ < small.txt diff --git a/tools/compare_pytz/README.md b/tools/compare_pytz/README.md new file mode 100644 index 000000000..bdcfbb475 --- /dev/null +++ b/tools/compare_pytz/README.md @@ -0,0 +1,8 @@ +# Compare DateUtil + +Generate the test data points using the Python `pytz` package. + +## Blacklist + +With `detect_dst_transition = True`, 6 zones listed in `blacklist.json` show +incorrect DST offsets compared to AceTime and Hinannt libraries. diff --git a/tools/compare_pytz/blacklist.json b/tools/compare_pytz/blacklist.json new file mode 100644 index 000000000..89c15922f --- /dev/null +++ b/tools/compare_pytz/blacklist.json @@ -0,0 +1,8 @@ +{ + "America/Argentina/Buenos_Aires": "partial", + "America/Argentina/Cordoba": "partial", + "America/Argentina/Jujuy": "partial", + "America/Argentina/Salta": "partial", + "America/Bahia_Banderas": "full", + "America/Indiana/Winamac": "full" +} diff --git a/tools/compare_pytz/list_transitions.py b/tools/compare_pytz/list_transitions.py index 8cfc33189..a91412615 100755 --- a/tools/compare_pytz/list_transitions.py +++ b/tools/compare_pytz/list_transitions.py @@ -29,7 +29,8 @@ def find_transitions( new_loc_dt = new_dt.astimezone(tz) if new_dt.year >= until_year: break - if loc_dt.utcoffset() != new_loc_dt.utcoffset(): + if (loc_dt.utcoffset() != new_loc_dt.utcoffset() + or loc_dt.dst() != new_loc_dt.dst()): start_dt, end_dt = binary_search_transition(tz, dt, new_dt) start_loc_dt = start_dt.astimezone(tz) end_loc_dt = end_dt.astimezone(tz) @@ -58,7 +59,8 @@ def binary_search_transition( mid_dt = start_dt + timedelta(minutes=delta_minutes) mid_loc_dt = mid_dt.astimezone(tz) - if start_loc_dt.utcoffset() == mid_loc_dt.utcoffset(): + if (start_loc_dt.utcoffset() == mid_loc_dt.utcoffset() + and start_loc_dt.dst() == mid_loc_dt.dst()): start_dt = mid_dt start_loc_dt = mid_loc_dt else: diff --git a/tools/compare_pytz/tdgenerator.py b/tools/compare_pytz/tdgenerator.py index 18f2655f3..902d5ae99 100644 --- a/tools/compare_pytz/tdgenerator.py +++ b/tools/compare_pytz/tdgenerator.py @@ -12,33 +12,18 @@ """ import logging -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta import pytz -from typing import Any -from typing import Tuple -from typing import List -from typing import Dict -from typing import Optional -from validation.data import (TestItem, TestData, ValidationData) +from typing import Any, Tuple, List, Dict, Optional +from validation.data import TestItem, TestData, ValidationData # Number of seconds from Unix Epoch (1970-01-01 00:00:00) to AceTime Epoch # (2000-01-01 00:00:00) SECONDS_SINCE_UNIX_EPOCH = 946684800 -# The [start, until) time interval used to search for DST transitions. -TransitionTimes = Tuple[datetime, datetime] - -# List of zones which seem to have incorrect DST offset (compared to AceTime -# and Hinnant date library). -_DST_BLACKLIST = [ - 'America/Argentina/Buenos_Aires', - 'America/Argentina/Cordoba', - 'America/Argentina/Jujuy', - 'America/Argentina/Salta', - 'America/Bahia_Banderas', - 'America/Indiana/Winamac', -] +# The [start, until) time interval used to search for DST transitions, +# and flag that is True if ONLY the DST changed. +TransitionTimes = Tuple[datetime, datetime, bool] class TestDataGenerator(): @@ -47,10 +32,19 @@ def __init__( start_year: int, until_year: int, sampling_interval: int, + detect_dst_transition: bool = True, ): + """If detect_dst_transition is set to True, changes in the DST offset + will be considered to be a time offset transition. Enabling this will + cause additional test data points to be generated, but often they will + conflict with the DST offsets calculated by AceTime or HinnantDate + library. In other words, I think dateutil is incorrect for those DST + transitions. + """ self.start_year = start_year self.until_year = until_year self.sampling_interval = timedelta(hours=sampling_interval) + self.detect_dst_transition = detect_dst_transition def create_test_data(self, zones: List[str]) -> None: test_data: TestData = {} @@ -69,7 +63,6 @@ def get_validation_data(self) -> ValidationData: 'has_valid_abbrev': True, 'has_valid_dst': True, 'test_data': self.test_data, - 'dst_blacklist': _DST_BLACKLIST, } def _create_test_items_for_zone( @@ -121,11 +114,13 @@ def _add_test_items_for_transitions( """Add DST transitions, using 'A' and 'B' designators""" transitions = self._find_transitions(tz) - for (left, right) in transitions: - left_item = self._create_test_item(left, 'A') + for (left, right, only_dst) in transitions: + left_item = self._create_test_item( + left, 'a' if only_dst else 'A') self._add_test_item(items_map, left_item) - right_item = self._create_test_item(right, 'B') + right_item = self._create_test_item( + right, 'b' if only_dst else 'B') self._add_test_item(items_map, right_item) def _find_transitions(self, tz: Any) -> List[TransitionTimes]: @@ -145,29 +140,46 @@ def _find_transitions(self, tz: Any) -> List[TransitionTimes]: if next_dt.year >= self.until_year: break - # Check for a change in UTC offset - if dt_local.utcoffset() != next_dt_local.utcoffset(): + # Look for a UTC or DST transition. + if self.is_transition(dt_local, next_dt_local): # print(f'Transition between {dt_local} and {next_dt_local}') dt_left, dt_right = self.binary_search_transition( tz, dt, next_dt) dt_left_local = dt_left.astimezone(tz) dt_right_local = dt_right.astimezone(tz) - transitions.append((dt_left_local, dt_right_local)) + only_dst = self.only_dst(dt_left_local, dt_right_local) + transitions.append((dt_left_local, dt_right_local, only_dst)) dt = next_dt dt_local = next_dt_local return transitions - @staticmethod + def is_transition(self, dt1: datetime, dt2: datetime) -> bool: + """Determine if dt1 -> dt2 is a UTC offset transition. If + detect_dst_transition is True, then also detect DST offset transition. + """ + if dt1.utcoffset() != dt2.utcoffset(): + return True + if self.detect_dst_transition: + return dt1.dst() != dt2.dst() + return False + + def only_dst(self, dt1: datetime, dt2: datetime) -> bool: + """Determine if dt1 -> dt2 is only a DST transition.""" + if not self.detect_dst_transition: + return False + return dt1.utcoffset() == dt2.utcoffset() and dt1.dst() != dt2.dst() + def binary_search_transition( + self, tz: Any, dt_left: datetime, dt_right: datetime, ) -> Tuple[datetime, datetime]: """Do a binary search to find the exact transition times, to within 1 - minute accuracy. The dt_left and dt_right are 12 hours (720 minutes) - apart. So the binary search should take a maximum of 10 iterations to + minute accuracy. The dt_left and dt_right are 22 hours (1320 minutes) + apart. So the binary search should take a maximum of 11 iterations to find the DST transition within one adjacent minute. """ dt_left_local = dt_left.astimezone(tz) @@ -179,11 +191,11 @@ def binary_search_transition( dt_mid = dt_left + timedelta(minutes=delta_minutes) mid_dt_local = dt_mid.astimezone(tz) - if dt_left_local.utcoffset() == mid_dt_local.utcoffset(): + if self.is_transition(dt_left_local, mid_dt_local): + dt_right = dt_mid + else: dt_left = dt_mid dt_left_local = mid_dt_local - else: - dt_right = dt_mid return dt_left, dt_right diff --git a/tools/compare_pytz/test_data_generator.py b/tools/compare_pytz/test_data_generator.py index eb447c1c2..375e50c03 100755 --- a/tools/compare_pytz/test_data_generator.py +++ b/tools/compare_pytz/test_data_generator.py @@ -16,6 +16,10 @@ import sys from os.path import (join, dirname, abspath) +import logging +import json +from argparse import ArgumentParser +from typing import List # Insert the parent directory into the sys.path so that this script can pretend # to be running from the parent diretory and have access to all the python @@ -27,14 +31,9 @@ # hack the sys.path. See https://stackoverflow.com/questions/4383571. sys.path.insert(1, dirname(dirname(abspath(__file__)))) # noqa -import logging -import json -from argparse import ArgumentParser -from typing import List - # Can't use relative import (.tdgenerator) here because PEP 3122 got rejected # https://mail.python.org/pipermail/python-3000/2007-April/006793.html. -from compare_pytz.tdgenerator import TestDataGenerator +from compare_pytz.tdgenerator import TestDataGenerator # noqa class Generator: diff --git a/tools/copytz.sh b/tools/copytz.sh index 2cf76130e..c8aa80c2a 100755 --- a/tools/copytz.sh +++ b/tools/copytz.sh @@ -34,7 +34,7 @@ DIRNAME=$(realpath $(dirname $0)) # Default TZ git repository. SOURCE_DIR=$(realpath $DIRNAME/../../tz) -# TZ files to copy for completeness. The tzcompiler.py will not use all of them. +# TZ files to copy for consumption by extractor.py TZ_FILES="\ africa antarctica @@ -46,7 +46,6 @@ europe factory northamerica southamerica -systemv " function usage() { diff --git a/tools/generate_validation.py b/tools/generate_validation.py index c70f53453..662935291 100755 --- a/tools/generate_validation.py +++ b/tools/generate_validation.py @@ -25,11 +25,12 @@ def main() -> None: # Scope of the extracted TZ database parser.add_argument( '--scope', - # basic: 241 of the simpler time zones for BasicZoneSpecifier - # extended: all 348 time zones for ExtendedZoneSpecifier + # basic: time zones for BasicZoneSpecifier + # extended: time zones for ExtendedZoneSpecifier choices=['basic', 'extended'], help='Size of the generated database (basic|extended)', - required=True) + required=True, + ) # The tz_version does not affect any data processing. Its value is # copied into the various generated files and usually placed in the @@ -41,13 +42,13 @@ def main() -> None: required=True, ) - # For '--language arduino', the following flags are used. - # - # C++ namespace names for '--language arduino'. If not specified, it will - # automatically be set to 'zonedb' or 'zonedbx' depending on the 'scope'. + # C++ namespace and directory name where the zonedb zoneinfo files are + # located. parser.add_argument( '--db_namespace', - help='C++ namespace for the zonedb files (default: zonedb or zonedbx)') + help='C++ namespace for the zonedb files (default: zonedb or zonedbx)', + required=True, + ) # Target location of the generated files. parser.add_argument( @@ -56,6 +57,19 @@ def main() -> None: default='', ) + # DST blacklist JSON file. + parser.add_argument( + '--blacklist', + type=str, + ) + + # Ignore blacklist. Useful for debugging 3rd party timezones which have + # inconsistencies with AceTime (or Hinnant date). + parser.add_argument( + '--ignore_blacklist', + action='store_true', + ) + # Parse the command line arguments args = parser.parse_args() @@ -70,6 +84,13 @@ def main() -> None: # Read the JSON on the STDIN validation_data = json.load(sys.stdin) + # Read the DST blacklist file if given. + if args.blacklist and not args.ignore_blacklist: + with open(args.blacklist) as f: + blacklist = json.load(f) + else: + blacklist = {} + # Generate the validation_*.{h, cpp} files generator = ArduinoValidationGenerator( invocation=invocation, @@ -77,6 +98,7 @@ def main() -> None: scope=args.scope, db_namespace=args.db_namespace, validation_data=validation_data, + blacklist=blacklist, ) generator.generate_files(args.output_dir) diff --git a/tools/requirements.txt b/tools/requirements.txt new file mode 100644 index 000000000..4c3ce6717 --- /dev/null +++ b/tools/requirements.txt @@ -0,0 +1,4 @@ +mypy==0.782 +python-dateutil==2.8.1 +pytz==2020.1 +flake8==3.8.3 diff --git a/tools/tests/test_zone_specifier.py b/tools/tests/test_zone_specifier.py index 7fb4316dc..9e292b447 100755 --- a/tools/tests/test_zone_specifier.py +++ b/tools/tests/test_zone_specifier.py @@ -5,6 +5,7 @@ # MIT License import unittest +from datetime import datetime from zonedbpy import zone_infos # from zonedbpy import validation_data # reenable using zoneinfo.json? # from validation.tdgenerator import TestItem @@ -883,5 +884,20 @@ def test_Kamchatka(self) -> None: self.assertEqual(0 * 3600, transitions[1].deltaSeconds) +class TestZoneSpecifierGetTransition(unittest.TestCase): + def test_get_transition_for_datetime(self): + zone_specifier = ZoneSpecifier(zone_infos.ZONE_INFO_America_Los_Angeles) + + # Just after a DST transition + dt = datetime(2000, 4, 2, 3, 0, 0) + transition = zone_specifier.get_transition_for_datetime(dt) + self.assertIsNotNone(transition) + + # DST gap does not exist, but a transition should be returned. + dt = datetime(2000, 4, 2, 2, 59, 59) + transition = zone_specifier.get_transition_for_datetime(dt) + self.assertIsNotNone(transition) + + if __name__ == '__main__': unittest.main() diff --git a/tools/tzdb/extractor.py b/tools/tzdb/extractor.py index 9b3531af2..4dadd88b3 100644 --- a/tools/tzdb/extractor.py +++ b/tools/tzdb/extractor.py @@ -363,7 +363,7 @@ def print_summary(self) -> None: logging.info('-------- Extractor Summary') logging.info( - f'Line count (Rule, Zone, Link): (' + 'Line count (Rule, Zone, Link): (' + f'{len(self.rule_lines)}, ' + f'{len(self.zone_lines)}, ' + f'{len(self.link_lines)})') @@ -372,10 +372,10 @@ def print_summary(self) -> None: + f'{len(self.rules_map)}, ' + f'{len(self.zones_map)}, ' + f'{len(self.links_map)})') - logging.info('Rule entry count: %s' % rule_entry_count) - logging.info('Zone entry count: %s' % zone_entry_count) + logging.info(f'Rule entry count: {rule_entry_count}') + logging.info(f'Zone entry count: {zone_entry_count}') logging.info( - f'Ignored lines (Rule, Zone, Link): (' + 'Ignored lines (Rule, Zone, Link): (' + f'{self.ignored_rule_lines}, ' + f'{self.ignored_zone_lines}, ' + f'{self.ignored_link_lines})') diff --git a/tools/tzdb/transformer.py b/tools/tzdb/transformer.py index c5a95ac19..a75d53f6c 100644 --- a/tools/tzdb/transformer.py +++ b/tools/tzdb/transformer.py @@ -468,7 +468,7 @@ def _create_zones_with_expanded_until_time( valid = False _add_reason( removed_zones, name, - f"invalid UNTIL time '%until_time'") + f"invalid UNTIL time '{until_time}'") break if until_seconds < 0: valid = False diff --git a/tools/validation/arvalgenerator.py b/tools/validation/arvalgenerator.py index aa044821f..a34c32a95 100644 --- a/tools/validation/arvalgenerator.py +++ b/tools/validation/arvalgenerator.py @@ -3,21 +3,36 @@ # MIT License """ -Generate the Arduino validation data (validation_data.h and validation_data.cpp) -files for unit tests from the 'validation_data' (or its JSON representation). +Generate the Arduino validation data files (validation_data.h and +validation_data.cpp) files and the AUnit unit test file (validation_tests.cpp) +from the 'validation_data.json' file on the STDIN. """ import logging import os -from typing import List -from typing import Set -from tzdb.transformer import div_to_zero -from tzdb.transformer import normalize_name -from .data import (TestItem, TestData, ValidationData) +from typing import List, Dict, Tuple, Optional +from tzdb.transformer import div_to_zero, normalize_name +from .data import TestItem, TestData, ValidationData class ArduinoValidationGenerator: """Generate Arduino data files for BasicPythonTest and ExtendedPythonTest. + + The blacklist is a dict of {zonename -> blacklist_policy}, where the + blacklist_policy can be one of the following: + + * "full": the DST offsets from the given library returns incorrect + results so the DST offset should be ignored and not validated. This is + implemented by passing ValidationScope::kNone into the assertValid() + method. + * "partial": the DST offset returned by the library for 'A' and 'B' + transitions are correct, but the DST only transitions indicated by 'a' + and'b' are incorrect and should be ignored. This is implemented by + passing ValidationScope::kExternal into the assertValid() method. + * "" or no entry: If the policy is given as "", or the zone name is + completely missing from the dictionary, then all DST offsets are + checked. This is implemented by passing ValidationScope::kAll into + the assertValid() method. """ def __init__( @@ -27,11 +42,13 @@ def __init__( scope: str, db_namespace: str, validation_data: ValidationData, + blacklist: Dict[str, str], ): self.invocation = invocation self.tz_version = tz_version self.db_namespace = db_namespace self.validation_data = validation_data + self.blacklist = blacklist self.test_data = validation_data['test_data'] self.file_base = 'validation' @@ -148,7 +165,7 @@ def _generate_validation_data_cpp_items(self, test_data: TestData) -> str: //--------------------------------------------------------------------------- static const testing::ValidationItem kValidationItems{normalized_name}[] = {{ - // epoch, utc, dst, y, m, d, h, m, s, abbrev + // epoch, utc, dst, y, m, d, h, m, s, abbrev, type {test_items_string} }}; @@ -181,12 +198,12 @@ def _generate_validation_data_cpp_test_items( second = test_item['s'] abbrev_value = test_item['abbrev'] abbrev = f'"{abbrev_value}"' if abbrev_value else 'nullptr' - tag = test_item['type'] + type = test_item['type'] test_item_code = f"""\ {{ {epoch_seconds:10}, {total_offset_minutes:4}, {delta_offset_minutes:4}, \ -{year:4}, {month:2}, {day:2}, {hour:2}, {minute:2}, {second:2}, {abbrev} }}, \ -// type={tag} +{year:4}, {month:2}, {day:2}, {hour:2}, {minute:2}, {second:2}, {abbrev:>7}, \ +'{type}' }}, """ s += test_item_code return s @@ -223,34 +240,56 @@ def _generate_tests_cpp(self) -> str: """ def _generate_test_cases(self, test_data: TestData) -> str: - dst_blacklist: Set[str] = ( - set(self.validation_data.get('dst_blacklist') or []) - ) has_valid_abbrev = self.validation_data['has_valid_abbrev'] has_valid_dst = self.validation_data['has_valid_dst'] test_cases = '' for zone_name, _ in sorted(test_data.items()): normalized_name = normalize_name(zone_name) - test_dst = ( - 'true' - if has_valid_dst and (zone_name not in dst_blacklist) - else 'false' + + ( + dst_validation_scope, + dst_validation_comment, + ) = _get_validation_scope( + has_valid_dst, + self.blacklist.get(zone_name), ) - test_dst_comment = ( - ' BLACKLISTED' - if has_valid_dst and (zone_name in dst_blacklist) - else '' + ( + abbrev_validation_scope, + abbrev_validation_comment, + ) = _get_validation_scope( + has_valid_abbrev, + self.blacklist.get(zone_name), ) - test_abbrev = 'true' if has_valid_abbrev else 'false' test_case = f"""\ testF({self.test_class}, {normalized_name}) {{ assertValid( &kZone{normalized_name}, &kValidationData{normalized_name}, - {test_dst} /*validateDst{test_dst_comment}*/, - {test_abbrev} /*validateAbbrev*/); + {dst_validation_scope} /*dstValidationScope{dst_validation_comment}*/, + {abbrev_validation_scope} \ +/*abbrevValidationScope{abbrev_validation_comment}*/); }} """ test_cases += test_case return test_cases + + +def _get_validation_scope( + is_valid: bool, + blacklist_policy: Optional[str], +) -> Tuple[str, str]: + """Determine the validationScope for DST and abbreviations.""" + if not is_valid: + return 'ValidationScope::kNone', ' INVALID' + + if not blacklist_policy: + return 'ValidationScope::kAll', '' + + if blacklist_policy == 'partial': + return 'ValidationScope::kExternal', ' BLACKLISTED' + + if blacklist_policy == 'full': + return 'ValidationScope::kNone', ' BLACKLISTED' + + raise Exception(f"Unrecognized blacklist policy '{blacklist_policy}'") diff --git a/tools/validation/data.py b/tools/validation/data.py index 22240682b..99db58fec 100644 --- a/tools/validation/data.py +++ b/tools/validation/data.py @@ -31,22 +31,18 @@ ], [...] }, - 'dst_blacklist': [ - '{zone_name}', - ... - ] } """ -from typing import List -from typing import Dict -from typing import Optional +from typing import List, Dict, Optional from typing_extensions import TypedDict # An entry in the test data set. # Each TestData is annotated with a 'type' as: -# * 'A': pre-transition -# * 'B': post-transition +# * 'A': pre-transition where the UTC offset is different +# * 'B': post-transition where the UTC offset is different +# * 'a': pre-transition where only the DST offset is different +# * 'b': post-transition where only the DST offset is different # * 'S': a monthly test sample # * 'Y': end of year test sample TestItem = TypedDict("TestItem", { @@ -75,5 +71,4 @@ 'has_valid_abbrev': bool, # 'abbrev' values are reliable 'has_valid_dst': bool, # DST offsets are reliable 'test_data': TestData, - 'dst_blacklist': List[str], }) diff --git a/tools/validator/validator.py b/tools/validator/validator.py index b3b6db0e7..2a383a8f9 100644 --- a/tools/validator/validator.py +++ b/tools/validator/validator.py @@ -136,7 +136,6 @@ def validate_test_data(self) -> None: """ logging.info('Creating test data') data_generator = TestDataGenerator( - 'basic', self.zone_infos, self.zone_policies, self.start_year, @@ -221,14 +220,3 @@ def _validate_test_data_for_zone( def _test_item_to_string(i: TestItem) -> str: return '%04d-%02d-%02dT%02d:%02d:%02d' % (i.y, i.M, i.d, i.h, i.m, i.s) - - -# List of zones where the Python DST offset is incorrect. -TIME_ZONES_BLACKLIST = { - 'America/Argentina/Buenos_Aires', # Python is wrong - 'America/Argentina/Cordoba', # Python is wrong - 'America/Argentina/Jujuy', # Python is wrong - 'America/Argentina/Salta', # Python is wrong - 'America/Bahia_Banderas', # Python is wrong - 'America/Indiana/Winamac', # Python is wrong -} diff --git a/tools/validator/zstdgenerator.py b/tools/validator/zstdgenerator.py index 115e49567..53293eb04 100644 --- a/tools/validator/zstdgenerator.py +++ b/tools/validator/zstdgenerator.py @@ -16,6 +16,7 @@ class (hence the name 'zstdgenerator', 'Zone Specifier Test Data Generator') to import logging import datetime +from datetime import tzinfo import pytz from zonedb.zone_specifier import ZoneSpecifier from zonedb.zone_specifier import SECONDS_SINCE_UNIX_EPOCH @@ -61,7 +62,6 @@ class TestDataGenerator: def __init__( self, - scope: str, zone_infos: ZoneInfoMap, zone_policies: ZonePolicyMap, start_year: int, @@ -69,18 +69,16 @@ def __init__( ): """ Args: - scope: 'basic' or 'extended' - zone_infos (dict): {zone_name -> zone_info{} } - zone_policies (dict): {zone_name ->zone_policy{} } + zone_infos: { zone_name -> zone_info{} } + zone_policies: { zone_name ->zone_policy{} } """ - self.scope = scope self.zone_infos = zone_infos self.zone_policies = zone_policies + self.start_year = start_year + self.until_year = until_year self.zone_name = '' self.viewing_months = 14 - self.start_year = start_year - self.until_year = until_year def create_test_data(self) -> Tuple[TestData, int]: """Create a map of { @@ -140,7 +138,7 @@ def _add_test_item(items_map: Dict[int, TestItem], item: TestItem) -> None: def _create_transition_test_items( self, zone_name: str, - tz: Any, # TODO: Figure out correct typing info for pytz.timezone + tz: tzinfo, zone_specifier: ZoneSpecifier ) -> List[TestItem]: """Create a TestItem for the tz for each zone, for each year from @@ -215,7 +213,7 @@ def _create_transition_test_items( def _create_test_item_from_datetime( self, - tz: Any, # TODO: Figure out correct typing info for pytz.timezone + tz: Any, # Cannot be 'tzinfo' due to pytz-specific localize() below tt: DateTuple, type: str, ) -> TestItem: @@ -232,7 +230,7 @@ def _create_test_item_from_datetime( def _create_test_item_from_epoch_seconds( self, - tz: Any, + tz: tzinfo, epoch_seconds: int, type: str, ) -> TestItem: diff --git a/tools/zonedb/zone_specifier.py b/tools/zonedb/zone_specifier.py index d6143735f..7cd3e7d11 100644 --- a/tools/zonedb/zone_specifier.py +++ b/tools/zonedb/zone_specifier.py @@ -575,16 +575,18 @@ def __init__( self.debug = debug def get_transition_for_seconds( - self, - epoch_seconds: int, + self, + epoch_seconds: int, ) -> Optional[Transition]: """Return Transition for the given epoch_seconds. """ self._init_for_second(epoch_seconds) return self._find_transition_for_seconds(epoch_seconds) - def get_transition_for_datetime(self, - dt: datetime) -> Optional[Transition]: + def get_transition_for_datetime( + self, + dt: datetime, + ) -> Optional[Transition]: """Return Transition for the given datetime. """ self.init_for_year(dt.year) @@ -601,17 +603,14 @@ def get_timezone_info_for_seconds(self, epoch_seconds: int) -> OffsetInfo: return transition.to_timezone_tuple() def get_timezone_info_for_datetime( - self, - dt: datetime, + self, + dt: datetime, ) -> Optional[OffsetInfo]: """Return the OffsetInfo of the Transition for a given datetime. """ self.init_for_year(dt.year) transition = self._find_transition_for_datetime(dt) - if transition: - return transition.to_timezone_tuple() - else: - return None + return transition.to_timezone_tuple() if transition else None def init_for_year(self, year: int) -> None: """Initialize the Matches and Transitions for the year. Call this @@ -689,9 +688,9 @@ def init_for_year(self, year: int) -> None: print_transitions(self.transitions) def get_buffer_sizes( - self, - start_year: int, - until_year: int, + self, + start_year: int, + until_year: int, ) -> Tuple[Tuple[int, int], Tuple[int, int]]: """Find the maximum number of actual transitions and the maximum number of candidate transitions across the given start_year and until_year. @@ -721,8 +720,8 @@ def get_buffer_sizes( # The following methods are designed to be used internally. def _update_transition_buffer_size( - self, - candidate_transitions: List[Transition], + self, + candidate_transitions: List[Transition], ) -> None: """Update the statistics on the number of active Transitions and the size of the Transition buffer that may be required in the C++ @@ -764,8 +763,8 @@ def _init_for_second(self, epoch_seconds: int) -> None: self.init_for_year(year) def _find_transition_for_seconds( - self, - epoch_seconds: int, + self, + epoch_seconds: int, ) -> Optional[Transition]: """Return the matching transition, or None if not found. """ @@ -777,24 +776,39 @@ def _find_transition_for_seconds( break return matching_transition - def _find_transition_for_datetime(self, - dt: datetime) -> Optional[Transition]: - """Return the matching transition matching the local datetime 'dt', - or None if not found. + def _find_transition_for_datetime( + self, + dt: datetime, + ) -> Optional[Transition]: + """Return the best matching transition matching the local datetime 'dt'. + This method can return None if no transition is found. The algorithm + matches the one implemented by + ExtendedZoneProcessor::findTransitionForDateTime(): + + 1) If the 'dt' falls in a DST gap, the transition just before the + DST gap is returned. + + 2) If the 'dt' falls within a DST overlap, there are 2 matching + transitions. The algorithm returns the later transition. + + The method can return None if the 'dt' is earlier than any known + transition. """ secs = hms_to_seconds(dt.hour, dt.minute, dt.second) dt_time = DateTuple(y=dt.year, M=dt.month, d=dt.day, ss=secs, f='w') + + match = None for transition in self.transitions: start_time = transition.startDateTime - until_time = transition.untilDateTime - if start_time <= dt_time and dt_time < until_time: - return transition - return None + if start_time > dt_time: + break + match = transition + return match def _find_matches( - self, - start_ym: YearMonthTuple, - until_ym: YearMonthTuple, + self, + start_ym: YearMonthTuple, + until_ym: YearMonthTuple, ) -> List[ZoneMatch]: """Find the Zone Eras which overlap [start_ym, until_ym), ignoring day, time and timeSuffix. The start and until fields are truncated at @@ -853,8 +867,10 @@ def _find_transitions(self, matches: List[ZoneMatch]) -> None: transitions_for_match = self._find_transitions_for_match(match) self.transitions.extend(transitions_for_match) - def _find_transitions_for_match(self, - match: ZoneMatch) -> List[Transition]: + def _find_transitions_for_match( + self, + match: ZoneMatch, + ) -> List[Transition]: """Determine if the given ZoneMatch is a simple ZoneMatch (contains an explicit DST offset) or named (references a named ZonePolicy to determine the DST offset). Then find the Transitions of the given match @@ -871,8 +887,8 @@ def _find_transitions_for_match(self, return self._find_transitions_from_named_match(match) def _find_transitions_from_simple_match( - self, - match: ZoneMatch, + self, + match: ZoneMatch, ) -> List[Transition]: """The zonePolicy is '-' or ':' then the Zone Era itself defines the UTC offset and the abbreviation. Returns a list of one Transition object, @@ -890,8 +906,8 @@ def _find_transitions_from_simple_match( return transitions def _find_transitions_from_named_match( - self, - match: ZoneMatch, + self, + match: ZoneMatch, ) -> List[Transition]: """Find the transitions of the named ZoneMatch. The search for the relevant Transition occurs in 2 passes: @@ -1009,10 +1025,10 @@ def _check_transitions_sorted(transitions: List[Transition]) -> None: @staticmethod def _create_match( - prev_era: ZoneEraCooked, - zone_era: ZoneEraCooked, - start_ym: YearMonthTuple, - until_ym: YearMonthTuple, + prev_era: ZoneEraCooked, + zone_era: ZoneEraCooked, + start_ym: YearMonthTuple, + until_ym: YearMonthTuple, ) -> ZoneMatch: """Create the Zone Match object for the given Zone Era, truncated at the low and high end by start_ym and until_ym: @@ -1161,9 +1177,9 @@ def _fix_transition_times(transitions: List[Transition]) -> None: @staticmethod def _expand_date_tuple( - dt: DateTuple, - offset_seconds: int, - delta_seconds: int, + dt: DateTuple, + offset_seconds: int, + delta_seconds: int, ) -> Tuple[DateTuple, DateTuple, DateTuple]: """Convert 's', 'u', or 'w' time into the other 2 versions using the given base UTC offset and the delta DST offset. Return a tuple of @@ -1252,10 +1268,10 @@ def _calc_abbrev(transitions: List[Transition]) -> None: @staticmethod def _era_overlaps_interval( - prev_era: ZoneEraCooked, - era: ZoneEraCooked, - start_ym: YearMonthTuple, - until_ym: YearMonthTuple, + prev_era: ZoneEraCooked, + era: ZoneEraCooked, + start_ym: YearMonthTuple, + until_ym: YearMonthTuple, ) -> bool: """Determines if era overlaps the interval [start_ym, until_ym), ignoring the day, time and timeSuffix. The start date of the current @@ -1270,9 +1286,9 @@ def _era_overlaps_interval( @staticmethod def _compare_era_to_year_month( - era: ZoneEraCooked, - year: int, - month: int, + era: ZoneEraCooked, + year: int, + month: int, ) -> int: """Compare the zone_era with year, returning -1, 0 or 1. The day of month is implicitly 1. Ignore the untilTimeSuffix suffix. Maybe it's @@ -1301,9 +1317,9 @@ class CandidateFinder(Protocol): """ def find_candidate_transitions( - self, - match: ZoneMatch, - rules: List[ZoneRuleCooked], + self, + match: ZoneMatch, + rules: List[ZoneRuleCooked], ) -> List[Transition]: ... @@ -1313,9 +1329,9 @@ def __init__(self, debug: bool): self.debug = debug def find_candidate_transitions( - self, - match: ZoneMatch, - rules: List[ZoneRuleCooked], + self, + match: ZoneMatch, + rules: List[ZoneRuleCooked], ) -> List[Transition]: """Get the list of candidate transitions from the 'rules' which overlap the whole years [start_y, end_y] (inclusive)) defined by the given @@ -1349,10 +1365,10 @@ def find_candidate_transitions( @staticmethod def get_candidate_years( - from_year: int, - to_year: int, - start_year: int, - end_year: int, + from_year: int, + to_year: int, + start_year: int, + end_year: int, ) -> List[int]: """Return the array of years within the Rule's [from_year, to_year] range which should be evaluated to obtain the transitions necessary for @@ -1381,9 +1397,9 @@ def __init__(self, debug: bool): self.debug = debug def find_candidate_transitions( - self, - match: ZoneMatch, - rules: List[ZoneRuleCooked], + self, + match: ZoneMatch, + rules: List[ZoneRuleCooked], ) -> List[Transition]: """Similar to CandidateFinderBasic.find_candidate_transitions() except that prior Transitions which are obviously non-candidates are filtered @@ -1437,8 +1453,8 @@ def find_candidate_transitions( @staticmethod def _calc_prior_transition( - prior_transition: Optional[Transition], - transition: Transition, + prior_transition: Optional[Transition], + transition: Transition, ) -> Transition: """Return the latest prior transition. """ @@ -1457,9 +1473,9 @@ class ActiveSelector(Protocol): """ def select_active_transitions( - self, - transitions: List[Transition], - match: ZoneMatch, + self, + transitions: List[Transition], + match: ZoneMatch, ) -> List[Transition]: ... @@ -1469,9 +1485,9 @@ def __init__(self, debug: bool): self.debug = debug def select_active_transitions( - self, - transitions: List[Transition], - match: ZoneMatch, + self, + transitions: List[Transition], + match: ZoneMatch, ) -> List[Transition]: """Select those Transitions which overlap with the ZoneMatch interval which may not be at year boundary. Also select the latest prior @@ -1515,9 +1531,9 @@ def select_active_transitions( @staticmethod def _process_transition( - match: ZoneMatch, - transition: Transition, - results: Dict[str, Any], + match: ZoneMatch, + transition: Transition, + results: Dict[str, Any], ) -> None: """Compare the given transition to the given match, checking the following situations: @@ -1583,9 +1599,9 @@ def __init__(self, debug: bool): self.debug = debug def select_active_transitions( - self, - transitions: List[Transition], - match: ZoneMatch, + self, + transitions: List[Transition], + match: ZoneMatch, ) -> List[Transition]: """Similar to ActiveSelectorBasic.select_active_transitions() except that it does not use any additional dynamically allocated array of @@ -1611,9 +1627,9 @@ def select_active_transitions( @staticmethod def _process_transition( - match: ZoneMatch, - transition: Transition, - prior: Optional[Transition], + match: ZoneMatch, + transition: Transition, + prior: Optional[Transition], ) -> Optional[Transition]: """A version of ActiveSelectorBasic._process_transition() that does not allocate new array members, rather uses an internal flag. This @@ -1680,9 +1696,9 @@ def _compare_date_tuple(a: DateTuple, b: DateTuple) -> int: def _create_transition_for_year( - year: int, - rule: ZoneRuleCooked, - match: ZoneMatch, + year: int, + rule: ZoneRuleCooked, + match: ZoneMatch, ) -> Transition: """Create the transition from the given 'rule' for the given 'year'. Return None if 'year' does not overlap with the [from, to] of the rule. The @@ -1699,10 +1715,10 @@ def _create_transition_for_year( def _get_interior_years( - from_year: int, - to_year: int, - start_year: int, - end_year: int, + from_year: int, + to_year: int, + start_year: int, + end_year: int, ) -> List[int]: """Return the Rule years that overlap with the Match[start_year, end_year]. """ @@ -1714,10 +1730,10 @@ def _get_interior_years( def _get_most_recent_prior_year( - from_year: int, - to_year: int, - start_year: int, - end_year: int, + from_year: int, + to_year: int, + start_year: int, + end_year: int, ) -> int: """Return the most recent prior year of the rule[from_year, to_year]. Return -1 if the rule[from_year, to_year] has no prior year to the @@ -1733,8 +1749,8 @@ def _get_most_recent_prior_year( def _compare_transition_to_match( - transition: Transition, - match: ZoneMatch, + transition: Transition, + match: ZoneMatch, ) -> int: """Determine if transition_time applies to given range of the match. To compare the Transition time to the ZoneMatch time properly, the @@ -1779,8 +1795,8 @@ def _compare_transition_to_match( def _compare_transition_to_match_fuzzy( - transition: Transition, - match: ZoneMatch, + transition: Transition, + match: ZoneMatch, ) -> int: """Like _compare_transition_to_match() except perform a fuzzy match within at least one-month of the match.start or match.until.